diff --git a/.next/BUILD_ID b/.next/BUILD_ID index 6904390c2eb82c5c958f11ad2344273feb4b7d10..4c6c74f162b6732eedf8de178aa29d010e819f3f 100644 --- a/.next/BUILD_ID +++ b/.next/BUILD_ID @@ -1 +1 @@ -xkp8mz91_6FWpRLiD8FMK \ No newline at end of file +xIN9K7b8Zi-Lclq3jrJRM \ No newline at end of file diff --git a/.next/app-build-manifest.json b/.next/app-build-manifest.json index 27a1dfbf9052ae721bed3f5b3033a6a9c41d4631..01c534fae761d21a844c01c142905b0bbe78082e 100644 --- a/.next/app-build-manifest.json +++ b/.next/app-build-manifest.json @@ -1,66 +1,389 @@ { "pages": { "/_not-found/page": [ - "static/chunks/webpack-5d4f0cacdd7dc40f.js", - "static/chunks/4bd1b696-3c15e5f54330ea53.js", - "static/chunks/684-83d67de51b1d51a2.js", - "static/chunks/main-app-f3f767ad51e50725.js", - "static/chunks/app/_not-found/page-b63df5a8d3225455.js" + "static/chunks/webpack-b73df567612e9890.js", + "static/chunks/4bd1b696-2683f5a71cc09935.js", + "static/chunks/1684-94ae6109893bd411.js", + "static/chunks/main-app-eac23abd81400eeb.js", + "static/chunks/app/_not-found/page-ba71488e719cbee5.js" ], "/layout": [ - "static/chunks/webpack-5d4f0cacdd7dc40f.js", - "static/chunks/4bd1b696-3c15e5f54330ea53.js", - "static/chunks/684-83d67de51b1d51a2.js", - "static/chunks/main-app-f3f767ad51e50725.js", - "static/css/fd087a0139b3b65e.css", - "static/chunks/671-f7ad2a6bc6db0f05.js", - "static/chunks/138-9f738090dc749a6c.js", - "static/chunks/app/layout-4145df182a98063f.js" + "static/chunks/webpack-b73df567612e9890.js", + "static/chunks/4bd1b696-2683f5a71cc09935.js", + "static/chunks/1684-94ae6109893bd411.js", + "static/chunks/main-app-eac23abd81400eeb.js", + "static/css/e420bcf6619594d2.css", + "static/chunks/6671-cfa51652ff77a475.js", + "static/chunks/2138-18d4ca002a920f5d.js", + "static/chunks/app/layout-cf67cd20b30ce4c8.js" + ], + "/api/admin/run-migrations/route": [ + "static/chunks/webpack-b73df567612e9890.js", + "static/chunks/4bd1b696-2683f5a71cc09935.js", + "static/chunks/1684-94ae6109893bd411.js", + "static/chunks/main-app-eac23abd81400eeb.js", + "static/chunks/app/api/admin/run-migrations/route-e741162ddd1b498c.js" + ], + "/api/analytics/[siteId]/export/route": [ + "static/chunks/webpack-b73df567612e9890.js", + "static/chunks/4bd1b696-2683f5a71cc09935.js", + "static/chunks/1684-94ae6109893bd411.js", + "static/chunks/main-app-eac23abd81400eeb.js", + "static/chunks/app/api/analytics/[siteId]/export/route-a9db4047f839db83.js" + ], + "/api/analytics/[siteId]/clear/route": [ + "static/chunks/webpack-b73df567612e9890.js", + "static/chunks/4bd1b696-2683f5a71cc09935.js", + "static/chunks/1684-94ae6109893bd411.js", + "static/chunks/main-app-eac23abd81400eeb.js", + "static/chunks/app/api/analytics/[siteId]/clear/route-75c095f314a0f6b6.js" + ], + "/api/analytics/[siteId]/overview/route": [ + "static/chunks/webpack-b73df567612e9890.js", + "static/chunks/4bd1b696-2683f5a71cc09935.js", + "static/chunks/1684-94ae6109893bd411.js", + "static/chunks/main-app-eac23abd81400eeb.js", + "static/chunks/app/api/analytics/[siteId]/overview/route-2017e34a75c4fa1c.js" + ], + "/api/analytics/[siteId]/engagement/route": [ + "static/chunks/webpack-b73df567612e9890.js", + "static/chunks/4bd1b696-2683f5a71cc09935.js", + "static/chunks/1684-94ae6109893bd411.js", + "static/chunks/main-app-eac23abd81400eeb.js", + "static/chunks/app/api/analytics/[siteId]/engagement/route-38b872d0029c96ed.js" + ], + "/api/analytics/[siteId]/route": [ + "static/chunks/webpack-b73df567612e9890.js", + "static/chunks/4bd1b696-2683f5a71cc09935.js", + "static/chunks/1684-94ae6109893bd411.js", + "static/chunks/main-app-eac23abd81400eeb.js", + "static/chunks/app/api/analytics/[siteId]/route-c777cf9b2604ff50.js" + ], + "/api/analytics/[siteId]/storage/route": [ + "static/chunks/webpack-b73df567612e9890.js", + "static/chunks/4bd1b696-2683f5a71cc09935.js", + "static/chunks/1684-94ae6109893bd411.js", + "static/chunks/main-app-eac23abd81400eeb.js", + "static/chunks/app/api/analytics/[siteId]/storage/route-c13fa53c123cd682.js" + ], + "/api/analytics/interaction/route": [ + "static/chunks/webpack-b73df567612e9890.js", + "static/chunks/4bd1b696-2683f5a71cc09935.js", + "static/chunks/1684-94ae6109893bd411.js", + "static/chunks/main-app-eac23abd81400eeb.js", + "static/chunks/app/api/analytics/interaction/route-e566da886ede4702.js" + ], + "/api/analytics/[siteId]/heatmap/route": [ + "static/chunks/webpack-b73df567612e9890.js", + "static/chunks/4bd1b696-2683f5a71cc09935.js", + "static/chunks/1684-94ae6109893bd411.js", + "static/chunks/main-app-eac23abd81400eeb.js", + "static/chunks/app/api/analytics/[siteId]/heatmap/route-90dce6f44f617486.js" + ], + "/api/auth/check/route": [ + "static/chunks/webpack-b73df567612e9890.js", + "static/chunks/4bd1b696-2683f5a71cc09935.js", + "static/chunks/1684-94ae6109893bd411.js", + "static/chunks/main-app-eac23abd81400eeb.js", + "static/chunks/app/api/auth/check/route-f275250275e921b1.js" + ], + "/api/analytics/[siteId]/sessions/route": [ + "static/chunks/webpack-b73df567612e9890.js", + "static/chunks/4bd1b696-2683f5a71cc09935.js", + "static/chunks/1684-94ae6109893bd411.js", + "static/chunks/main-app-eac23abd81400eeb.js", + "static/chunks/app/api/analytics/[siteId]/sessions/route-2bd30c4dd9c8d6b1.js" + ], + "/api/docs/[...path]/route": [ + "static/chunks/webpack-b73df567612e9890.js", + "static/chunks/4bd1b696-2683f5a71cc09935.js", + "static/chunks/1684-94ae6109893bd411.js", + "static/chunks/main-app-eac23abd81400eeb.js", + "static/chunks/app/api/docs/[...path]/route-2d42360545b1440e.js" + ], + "/api/analytics/track/route": [ + "static/chunks/webpack-b73df567612e9890.js", + "static/chunks/4bd1b696-2683f5a71cc09935.js", + "static/chunks/1684-94ae6109893bd411.js", + "static/chunks/main-app-eac23abd81400eeb.js", + "static/chunks/app/api/analytics/track/route-4777f22e224faa99.js" + ], + "/api/auth/login/route": [ + "static/chunks/webpack-b73df567612e9890.js", + "static/chunks/4bd1b696-2683f5a71cc09935.js", + "static/chunks/1684-94ae6109893bd411.js", + "static/chunks/main-app-eac23abd81400eeb.js", + "static/chunks/app/api/auth/login/route-7113156e06768755.js" + ], + "/api/auth/me/route": [ + "static/chunks/webpack-b73df567612e9890.js", + "static/chunks/4bd1b696-2683f5a71cc09935.js", + "static/chunks/1684-94ae6109893bd411.js", + "static/chunks/main-app-eac23abd81400eeb.js", + "static/chunks/app/api/auth/me/route-ab76da8216df46da.js" + ], + "/api/auth/logout/route": [ + "static/chunks/webpack-b73df567612e9890.js", + "static/chunks/4bd1b696-2683f5a71cc09935.js", + "static/chunks/1684-94ae6109893bd411.js", + "static/chunks/main-app-eac23abd81400eeb.js", + "static/chunks/app/api/auth/logout/route-512d17b44ef501f6.js" + ], + "/api/projects/route": [ + "static/chunks/webpack-b73df567612e9890.js", + "static/chunks/4bd1b696-2683f5a71cc09935.js", + "static/chunks/1684-94ae6109893bd411.js", + "static/chunks/main-app-eac23abd81400eeb.js", + "static/chunks/app/api/projects/route-66503018c643b3a4.js" ], "/api/generate/route": [ - "static/chunks/webpack-5d4f0cacdd7dc40f.js", - "static/chunks/4bd1b696-3c15e5f54330ea53.js", - "static/chunks/684-83d67de51b1d51a2.js", - "static/chunks/main-app-f3f767ad51e50725.js", - "static/chunks/app/api/generate/route-4ca54e3249fc55c9.js" + "static/chunks/webpack-b73df567612e9890.js", + "static/chunks/4bd1b696-2683f5a71cc09935.js", + "static/chunks/1684-94ae6109893bd411.js", + "static/chunks/main-app-eac23abd81400eeb.js", + "static/chunks/app/api/generate/route-9d79e6a93679eca7.js" + ], + "/api/sites/[id]/route": [ + "static/chunks/webpack-b73df567612e9890.js", + "static/chunks/4bd1b696-2683f5a71cc09935.js", + "static/chunks/1684-94ae6109893bd411.js", + "static/chunks/main-app-eac23abd81400eeb.js", + "static/chunks/app/api/sites/[id]/route-2e6f450f28132b4f.js" + ], + "/api/sites/[id]/settings/route": [ + "static/chunks/webpack-b73df567612e9890.js", + "static/chunks/4bd1b696-2683f5a71cc09935.js", + "static/chunks/1684-94ae6109893bd411.js", + "static/chunks/main-app-eac23abd81400eeb.js", + "static/chunks/app/api/sites/[id]/settings/route-424ac9ffafb55c98.js" ], "/api/models/route": [ - "static/chunks/webpack-5d4f0cacdd7dc40f.js", - "static/chunks/4bd1b696-3c15e5f54330ea53.js", - "static/chunks/684-83d67de51b1d51a2.js", - "static/chunks/main-app-f3f767ad51e50725.js", - "static/chunks/app/api/models/route-6b7195d4ae75cf3b.js" + "static/chunks/webpack-b73df567612e9890.js", + "static/chunks/4bd1b696-2683f5a71cc09935.js", + "static/chunks/1684-94ae6109893bd411.js", + "static/chunks/main-app-eac23abd81400eeb.js", + "static/chunks/app/api/models/route-79593fb9affa81e5.js" + ], + "/api/sync/files/route": [ + "static/chunks/webpack-b73df567612e9890.js", + "static/chunks/4bd1b696-2683f5a71cc09935.js", + "static/chunks/1684-94ae6109893bd411.js", + "static/chunks/main-app-eac23abd81400eeb.js", + "static/chunks/app/api/sync/files/route-261ec449d2616617.js" + ], + "/api/sites/[id]/publish/route": [ + "static/chunks/webpack-b73df567612e9890.js", + "static/chunks/4bd1b696-2683f5a71cc09935.js", + "static/chunks/1684-94ae6109893bd411.js", + "static/chunks/main-app-eac23abd81400eeb.js", + "static/chunks/app/api/sites/[id]/publish/route-2007a37aa45034ce.js" + ], + "/api/sites/route": [ + "static/chunks/webpack-b73df567612e9890.js", + "static/chunks/4bd1b696-2683f5a71cc09935.js", + "static/chunks/1684-94ae6109893bd411.js", + "static/chunks/main-app-eac23abd81400eeb.js", + "static/chunks/app/api/sites/route-5bd4feb8288cf296.js" + ], + "/api/sites/[id]/thumbnail/route": [ + "static/chunks/webpack-b73df567612e9890.js", + "static/chunks/4bd1b696-2683f5a71cc09935.js", + "static/chunks/1684-94ae6109893bd411.js", + "static/chunks/main-app-eac23abd81400eeb.js", + "static/chunks/app/api/sites/[id]/thumbnail/route-942f4f73d82f5aa9.js" + ], + "/api/sync/projects/route": [ + "static/chunks/webpack-b73df567612e9890.js", + "static/chunks/4bd1b696-2683f5a71cc09935.js", + "static/chunks/1684-94ae6109893bd411.js", + "static/chunks/main-app-eac23abd81400eeb.js", + "static/chunks/app/api/sync/projects/route-8c61e1592a1197f7.js" + ], + "/sites/[id]/[...path]/route": [ + "static/chunks/webpack-b73df567612e9890.js", + "static/chunks/4bd1b696-2683f5a71cc09935.js", + "static/chunks/1684-94ae6109893bd411.js", + "static/chunks/main-app-eac23abd81400eeb.js", + "static/chunks/app/sites/[id]/[...path]/route-cfcd68790237b632.js" + ], + "/api/sync/status/route": [ + "static/chunks/webpack-b73df567612e9890.js", + "static/chunks/4bd1b696-2683f5a71cc09935.js", + "static/chunks/1684-94ae6109893bd411.js", + "static/chunks/main-app-eac23abd81400eeb.js", + "static/chunks/app/api/sync/status/route-de40e4f08567ad31.js" ], "/api/validate-key/route": [ - "static/chunks/webpack-5d4f0cacdd7dc40f.js", - "static/chunks/4bd1b696-3c15e5f54330ea53.js", - "static/chunks/684-83d67de51b1d51a2.js", - "static/chunks/main-app-f3f767ad51e50725.js", - "static/chunks/app/api/validate-key/route-ed909a12c49a8b41.js" + "static/chunks/webpack-b73df567612e9890.js", + "static/chunks/4bd1b696-2683f5a71cc09935.js", + "static/chunks/1684-94ae6109893bd411.js", + "static/chunks/main-app-eac23abd81400eeb.js", + "static/chunks/app/api/validate-key/route-880802045ad6b79f.js" ], - "/page": [ - "static/chunks/webpack-5d4f0cacdd7dc40f.js", - "static/chunks/4bd1b696-3c15e5f54330ea53.js", - "static/chunks/684-83d67de51b1d51a2.js", - "static/chunks/main-app-f3f767ad51e50725.js", - "static/chunks/06bf0ff1-f728958255a9b8b2.js", - "static/chunks/ad2866b8-eb5f2e8eab9b0b0c.js", - "static/chunks/671-f7ad2a6bc6db0f05.js", - "static/chunks/543-48a1c5f1f67a3b29.js", - "static/chunks/525-4e767ea62b4b7b1e.js", - "static/chunks/361-0bdc2b83974d9545.js", - "static/chunks/app/page-05cb2cd5b350e411.js" + "/sites/[id]/route": [ + "static/chunks/webpack-b73df567612e9890.js", + "static/chunks/4bd1b696-2683f5a71cc09935.js", + "static/chunks/1684-94ae6109893bd411.js", + "static/chunks/main-app-eac23abd81400eeb.js", + "static/chunks/app/sites/[id]/route-b2c668a4c16105f9.js" + ], + "/api/sync/projects/[id]/route": [ + "static/chunks/webpack-b73df567612e9890.js", + "static/chunks/4bd1b696-2683f5a71cc09935.js", + "static/chunks/1684-94ae6109893bd411.js", + "static/chunks/main-app-eac23abd81400eeb.js", + "static/chunks/app/api/sync/projects/[id]/route-95edb8239b40aede.js" + ], + "/admin/docs/page": [ + "static/chunks/webpack-b73df567612e9890.js", + "static/chunks/4bd1b696-2683f5a71cc09935.js", + "static/chunks/1684-94ae6109893bd411.js", + "static/chunks/main-app-eac23abd81400eeb.js", + "static/chunks/06bf0ff1-2f6b5dbae626a171.js", + "static/chunks/ad2866b8-a4659a388c5e0680.js", + "static/chunks/6671-cfa51652ff77a475.js", + "static/chunks/189-4f09a71b91c59be3.js", + "static/chunks/5370-dad62d5f4907e0f9.js", + "static/chunks/4750-b402a0050286a424.js", + "static/chunks/5375-a5738c494d0f24e9.js", + "static/chunks/app/admin/docs/page-eb61a40526263f2b.js" + ], + "/admin/settings/application/page": [ + "static/chunks/webpack-b73df567612e9890.js", + "static/chunks/4bd1b696-2683f5a71cc09935.js", + "static/chunks/1684-94ae6109893bd411.js", + "static/chunks/main-app-eac23abd81400eeb.js", + "static/chunks/06bf0ff1-2f6b5dbae626a171.js", + "static/chunks/ad2866b8-a4659a388c5e0680.js", + "static/chunks/6671-cfa51652ff77a475.js", + "static/chunks/189-4f09a71b91c59be3.js", + "static/chunks/5370-dad62d5f4907e0f9.js", + "static/chunks/4750-b402a0050286a424.js", + "static/chunks/5375-a5738c494d0f24e9.js", + "static/chunks/app/admin/settings/application/page-ba49d25861eeadd7.js" + ], + "/admin/settings/model/page": [ + "static/chunks/webpack-b73df567612e9890.js", + "static/chunks/4bd1b696-2683f5a71cc09935.js", + "static/chunks/1684-94ae6109893bd411.js", + "static/chunks/main-app-eac23abd81400eeb.js", + "static/chunks/06bf0ff1-2f6b5dbae626a171.js", + "static/chunks/ad2866b8-a4659a388c5e0680.js", + "static/chunks/6671-cfa51652ff77a475.js", + "static/chunks/189-4f09a71b91c59be3.js", + "static/chunks/5370-dad62d5f4907e0f9.js", + "static/chunks/4750-b402a0050286a424.js", + "static/chunks/5375-a5738c494d0f24e9.js", + "static/chunks/app/admin/settings/model/page-cacb6bb0766dc8ac.js" + ], + "/admin/page": [ + "static/chunks/webpack-b73df567612e9890.js", + "static/chunks/4bd1b696-2683f5a71cc09935.js", + "static/chunks/1684-94ae6109893bd411.js", + "static/chunks/main-app-eac23abd81400eeb.js", + "static/chunks/app/admin/page-e57627a1ade3c2ac.js" + ], + "/admin/templates/page": [ + "static/chunks/webpack-b73df567612e9890.js", + "static/chunks/4bd1b696-2683f5a71cc09935.js", + "static/chunks/1684-94ae6109893bd411.js", + "static/chunks/main-app-eac23abd81400eeb.js", + "static/chunks/06bf0ff1-2f6b5dbae626a171.js", + "static/chunks/ad2866b8-a4659a388c5e0680.js", + "static/chunks/6671-cfa51652ff77a475.js", + "static/chunks/189-4f09a71b91c59be3.js", + "static/chunks/5370-dad62d5f4907e0f9.js", + "static/chunks/4750-b402a0050286a424.js", + "static/chunks/5375-a5738c494d0f24e9.js", + "static/chunks/app/admin/templates/page-e6c70b1d2b0d67de.js" + ], + "/admin/sites/page": [ + "static/chunks/webpack-b73df567612e9890.js", + "static/chunks/4bd1b696-2683f5a71cc09935.js", + "static/chunks/1684-94ae6109893bd411.js", + "static/chunks/main-app-eac23abd81400eeb.js", + "static/chunks/06bf0ff1-2f6b5dbae626a171.js", + "static/chunks/ad2866b8-a4659a388c5e0680.js", + "static/chunks/6671-cfa51652ff77a475.js", + "static/chunks/189-4f09a71b91c59be3.js", + "static/chunks/5370-dad62d5f4907e0f9.js", + "static/chunks/4750-b402a0050286a424.js", + "static/chunks/5375-a5738c494d0f24e9.js", + "static/chunks/app/admin/sites/page-b2b212c975199133.js" + ], + "/admin/projects/page": [ + "static/chunks/webpack-b73df567612e9890.js", + "static/chunks/4bd1b696-2683f5a71cc09935.js", + "static/chunks/1684-94ae6109893bd411.js", + "static/chunks/main-app-eac23abd81400eeb.js", + "static/chunks/06bf0ff1-2f6b5dbae626a171.js", + "static/chunks/ad2866b8-a4659a388c5e0680.js", + "static/chunks/6671-cfa51652ff77a475.js", + "static/chunks/189-4f09a71b91c59be3.js", + "static/chunks/5370-dad62d5f4907e0f9.js", + "static/chunks/4750-b402a0050286a424.js", + "static/chunks/5375-a5738c494d0f24e9.js", + "static/chunks/app/admin/projects/page-aa26dd3814535cd7.js" + ], + "/admin/skills/page": [ + "static/chunks/webpack-b73df567612e9890.js", + "static/chunks/4bd1b696-2683f5a71cc09935.js", + "static/chunks/1684-94ae6109893bd411.js", + "static/chunks/main-app-eac23abd81400eeb.js", + "static/chunks/06bf0ff1-2f6b5dbae626a171.js", + "static/chunks/ad2866b8-a4659a388c5e0680.js", + "static/chunks/6671-cfa51652ff77a475.js", + "static/chunks/189-4f09a71b91c59be3.js", + "static/chunks/5370-dad62d5f4907e0f9.js", + "static/chunks/4750-b402a0050286a424.js", + "static/chunks/5375-a5738c494d0f24e9.js", + "static/chunks/app/admin/skills/page-fda1518c47f773ec.js" + ], + "/admin/settings/page": [ + "static/chunks/webpack-b73df567612e9890.js", + "static/chunks/4bd1b696-2683f5a71cc09935.js", + "static/chunks/1684-94ae6109893bd411.js", + "static/chunks/main-app-eac23abd81400eeb.js", + "static/chunks/06bf0ff1-2f6b5dbae626a171.js", + "static/chunks/ad2866b8-a4659a388c5e0680.js", + "static/chunks/6671-cfa51652ff77a475.js", + "static/chunks/189-4f09a71b91c59be3.js", + "static/chunks/5370-dad62d5f4907e0f9.js", + "static/chunks/4750-b402a0050286a424.js", + "static/chunks/5375-a5738c494d0f24e9.js", + "static/chunks/app/admin/settings/page-24b2afeabd11f21e.js" ], "/test-generation/page": [ - "static/chunks/webpack-5d4f0cacdd7dc40f.js", - "static/chunks/4bd1b696-3c15e5f54330ea53.js", - "static/chunks/684-83d67de51b1d51a2.js", - "static/chunks/main-app-f3f767ad51e50725.js", - "static/chunks/06bf0ff1-f728958255a9b8b2.js", - "static/chunks/671-f7ad2a6bc6db0f05.js", - "static/chunks/543-48a1c5f1f67a3b29.js", - "static/chunks/361-0bdc2b83974d9545.js", - "static/chunks/app/test-generation/page-6d3cc765a1451265.js" + "static/chunks/webpack-b73df567612e9890.js", + "static/chunks/4bd1b696-2683f5a71cc09935.js", + "static/chunks/1684-94ae6109893bd411.js", + "static/chunks/main-app-eac23abd81400eeb.js", + "static/chunks/06bf0ff1-2f6b5dbae626a171.js", + "static/chunks/6671-cfa51652ff77a475.js", + "static/chunks/189-4f09a71b91c59be3.js", + "static/chunks/4750-b402a0050286a424.js", + "static/chunks/app/test-generation/page-22772d4e0c97f685.js" + ], + "/page": [ + "static/chunks/webpack-b73df567612e9890.js", + "static/chunks/4bd1b696-2683f5a71cc09935.js", + "static/chunks/1684-94ae6109893bd411.js", + "static/chunks/main-app-eac23abd81400eeb.js", + "static/chunks/06bf0ff1-2f6b5dbae626a171.js", + "static/chunks/ad2866b8-a4659a388c5e0680.js", + "static/chunks/6671-cfa51652ff77a475.js", + "static/chunks/189-4f09a71b91c59be3.js", + "static/chunks/5370-dad62d5f4907e0f9.js", + "static/chunks/4750-b402a0050286a424.js", + "static/chunks/5375-a5738c494d0f24e9.js", + "static/chunks/app/page-79207d5f775baf7d.js" + ], + "/admin/login/page": [ + "static/chunks/webpack-b73df567612e9890.js", + "static/chunks/4bd1b696-2683f5a71cc09935.js", + "static/chunks/1684-94ae6109893bd411.js", + "static/chunks/main-app-eac23abd81400eeb.js", + "static/chunks/app/admin/login/page-5470d9718e2ee0e3.js" ] } } \ No newline at end of file diff --git a/.next/app-path-routes-manifest.json b/.next/app-path-routes-manifest.json index c9b94271afda6bc987f080f9cf335a7b8222cfba..0742e5fe3e288f84302374321b3a90b23e889814 100644 --- a/.next/app-path-routes-manifest.json +++ b/.next/app-path-routes-manifest.json @@ -1,8 +1,46 @@ { "/_not-found/page": "/_not-found", + "/api/admin/run-migrations/route": "/api/admin/run-migrations", + "/api/analytics/[siteId]/export/route": "/api/analytics/[siteId]/export", + "/api/analytics/[siteId]/clear/route": "/api/analytics/[siteId]/clear", + "/api/analytics/[siteId]/overview/route": "/api/analytics/[siteId]/overview", + "/api/analytics/[siteId]/engagement/route": "/api/analytics/[siteId]/engagement", + "/api/analytics/[siteId]/route": "/api/analytics/[siteId]", + "/api/analytics/[siteId]/storage/route": "/api/analytics/[siteId]/storage", + "/api/analytics/interaction/route": "/api/analytics/interaction", + "/api/analytics/[siteId]/heatmap/route": "/api/analytics/[siteId]/heatmap", + "/api/auth/check/route": "/api/auth/check", + "/api/analytics/[siteId]/sessions/route": "/api/analytics/[siteId]/sessions", + "/api/docs/[...path]/route": "/api/docs/[...path]", + "/api/analytics/track/route": "/api/analytics/track", + "/api/auth/login/route": "/api/auth/login", + "/api/auth/me/route": "/api/auth/me", + "/api/auth/logout/route": "/api/auth/logout", + "/api/projects/route": "/api/projects", "/api/generate/route": "/api/generate", + "/api/sites/[id]/route": "/api/sites/[id]", + "/api/sites/[id]/settings/route": "/api/sites/[id]/settings", "/api/models/route": "/api/models", + "/api/sync/files/route": "/api/sync/files", + "/api/sites/[id]/publish/route": "/api/sites/[id]/publish", + "/api/sites/route": "/api/sites", + "/api/sites/[id]/thumbnail/route": "/api/sites/[id]/thumbnail", + "/api/sync/projects/route": "/api/sync/projects", + "/sites/[id]/[...path]/route": "/sites/[id]/[...path]", + "/api/sync/status/route": "/api/sync/status", "/api/validate-key/route": "/api/validate-key", + "/sites/[id]/route": "/sites/[id]", + "/api/sync/projects/[id]/route": "/api/sync/projects/[id]", + "/admin/docs/page": "/admin/docs", + "/admin/settings/application/page": "/admin/settings/application", + "/admin/settings/model/page": "/admin/settings/model", + "/admin/page": "/admin", + "/admin/templates/page": "/admin/templates", + "/admin/sites/page": "/admin/sites", + "/admin/projects/page": "/admin/projects", + "/admin/skills/page": "/admin/skills", + "/admin/settings/page": "/admin/settings", + "/test-generation/page": "/test-generation", "/page": "/", - "/test-generation/page": "/test-generation" + "/admin/login/page": "/admin/login" } \ No newline at end of file diff --git a/.next/build-manifest.json b/.next/build-manifest.json index 2fe9ee4f740264e43ef95a85e90b1b5578eef2d2..92e7d6a3b9784334927f2ff9f4c20a31538ff2f1 100644 --- a/.next/build-manifest.json +++ b/.next/build-manifest.json @@ -5,28 +5,28 @@ "devFiles": [], "ampDevFiles": [], "lowPriorityFiles": [ - "static/xkp8mz91_6FWpRLiD8FMK/_buildManifest.js", - "static/xkp8mz91_6FWpRLiD8FMK/_ssgManifest.js" + "static/xIN9K7b8Zi-Lclq3jrJRM/_buildManifest.js", + "static/xIN9K7b8Zi-Lclq3jrJRM/_ssgManifest.js" ], "rootMainFiles": [ - "static/chunks/webpack-5d4f0cacdd7dc40f.js", - "static/chunks/4bd1b696-3c15e5f54330ea53.js", - "static/chunks/684-83d67de51b1d51a2.js", - "static/chunks/main-app-f3f767ad51e50725.js" + "static/chunks/webpack-b73df567612e9890.js", + "static/chunks/4bd1b696-2683f5a71cc09935.js", + "static/chunks/1684-94ae6109893bd411.js", + "static/chunks/main-app-eac23abd81400eeb.js" ], "rootMainFilesTree": {}, "pages": { "/_app": [ - "static/chunks/webpack-5d4f0cacdd7dc40f.js", - "static/chunks/framework-2d12aff0ba6f0c95.js", - "static/chunks/main-cd66bd6da89f9c26.js", - "static/chunks/pages/_app-da15c11dea942c36.js" + "static/chunks/webpack-b73df567612e9890.js", + "static/chunks/framework-744b75979ac08316.js", + "static/chunks/main-f85875a95a0f07d0.js", + "static/chunks/pages/_app-5d1abe03d322390c.js" ], "/_error": [ - "static/chunks/webpack-5d4f0cacdd7dc40f.js", - "static/chunks/framework-2d12aff0ba6f0c95.js", - "static/chunks/main-cd66bd6da89f9c26.js", - "static/chunks/pages/_error-cc3f077a18ea1793.js" + "static/chunks/webpack-b73df567612e9890.js", + "static/chunks/framework-744b75979ac08316.js", + "static/chunks/main-f85875a95a0f07d0.js", + "static/chunks/pages/_error-3b2a1d523de49635.js" ] }, "ampFirstPages": [] diff --git a/.next/prerender-manifest.json b/.next/prerender-manifest.json index 06c4ca4afb6fc0c7d2975d7bf52c32d4853c6730..754a35ad76f43c5f1a2b9c2fa22dd9be33c52d91 100644 --- a/.next/prerender-manifest.json +++ b/.next/prerender-manifest.json @@ -1,6 +1,150 @@ { "version": 4, "routes": { + "/admin": { + "experimentalBypassFor": [ + { + "type": "header", + "key": "Next-Action" + }, + { + "type": "header", + "key": "content-type", + "value": "multipart/form-data;.*" + } + ], + "initialRevalidateSeconds": false, + "srcRoute": "/admin", + "dataRoute": "/admin.rsc", + "allowHeader": [ + "host", + "x-matched-path", + "x-prerender-revalidate", + "x-prerender-revalidate-if-generated", + "x-next-revalidated-tags", + "x-next-revalidate-tag-token" + ] + }, + "/admin/login": { + "experimentalBypassFor": [ + { + "type": "header", + "key": "Next-Action" + }, + { + "type": "header", + "key": "content-type", + "value": "multipart/form-data;.*" + } + ], + "initialRevalidateSeconds": false, + "srcRoute": "/admin/login", + "dataRoute": "/admin/login.rsc", + "allowHeader": [ + "host", + "x-matched-path", + "x-prerender-revalidate", + "x-prerender-revalidate-if-generated", + "x-next-revalidated-tags", + "x-next-revalidate-tag-token" + ] + }, + "/admin/templates": { + "experimentalBypassFor": [ + { + "type": "header", + "key": "Next-Action" + }, + { + "type": "header", + "key": "content-type", + "value": "multipart/form-data;.*" + } + ], + "initialRevalidateSeconds": false, + "srcRoute": "/admin/templates", + "dataRoute": "/admin/templates.rsc", + "allowHeader": [ + "host", + "x-matched-path", + "x-prerender-revalidate", + "x-prerender-revalidate-if-generated", + "x-next-revalidated-tags", + "x-next-revalidate-tag-token" + ] + }, + "/admin/projects": { + "experimentalBypassFor": [ + { + "type": "header", + "key": "Next-Action" + }, + { + "type": "header", + "key": "content-type", + "value": "multipart/form-data;.*" + } + ], + "initialRevalidateSeconds": false, + "srcRoute": "/admin/projects", + "dataRoute": "/admin/projects.rsc", + "allowHeader": [ + "host", + "x-matched-path", + "x-prerender-revalidate", + "x-prerender-revalidate-if-generated", + "x-next-revalidated-tags", + "x-next-revalidate-tag-token" + ] + }, + "/admin/sites": { + "experimentalBypassFor": [ + { + "type": "header", + "key": "Next-Action" + }, + { + "type": "header", + "key": "content-type", + "value": "multipart/form-data;.*" + } + ], + "initialRevalidateSeconds": false, + "srcRoute": "/admin/sites", + "dataRoute": "/admin/sites.rsc", + "allowHeader": [ + "host", + "x-matched-path", + "x-prerender-revalidate", + "x-prerender-revalidate-if-generated", + "x-next-revalidated-tags", + "x-next-revalidate-tag-token" + ] + }, + "/admin/settings/application": { + "experimentalBypassFor": [ + { + "type": "header", + "key": "Next-Action" + }, + { + "type": "header", + "key": "content-type", + "value": "multipart/form-data;.*" + } + ], + "initialRevalidateSeconds": false, + "srcRoute": "/admin/settings/application", + "dataRoute": "/admin/settings/application.rsc", + "allowHeader": [ + "host", + "x-matched-path", + "x-prerender-revalidate", + "x-prerender-revalidate-if-generated", + "x-next-revalidated-tags", + "x-next-revalidate-tag-token" + ] + }, "/": { "experimentalBypassFor": [ { @@ -48,13 +192,109 @@ "x-next-revalidated-tags", "x-next-revalidate-tag-token" ] + }, + "/admin/settings/model": { + "experimentalBypassFor": [ + { + "type": "header", + "key": "Next-Action" + }, + { + "type": "header", + "key": "content-type", + "value": "multipart/form-data;.*" + } + ], + "initialRevalidateSeconds": false, + "srcRoute": "/admin/settings/model", + "dataRoute": "/admin/settings/model.rsc", + "allowHeader": [ + "host", + "x-matched-path", + "x-prerender-revalidate", + "x-prerender-revalidate-if-generated", + "x-next-revalidated-tags", + "x-next-revalidate-tag-token" + ] + }, + "/admin/skills": { + "experimentalBypassFor": [ + { + "type": "header", + "key": "Next-Action" + }, + { + "type": "header", + "key": "content-type", + "value": "multipart/form-data;.*" + } + ], + "initialRevalidateSeconds": false, + "srcRoute": "/admin/skills", + "dataRoute": "/admin/skills.rsc", + "allowHeader": [ + "host", + "x-matched-path", + "x-prerender-revalidate", + "x-prerender-revalidate-if-generated", + "x-next-revalidated-tags", + "x-next-revalidate-tag-token" + ] + }, + "/admin/settings": { + "experimentalBypassFor": [ + { + "type": "header", + "key": "Next-Action" + }, + { + "type": "header", + "key": "content-type", + "value": "multipart/form-data;.*" + } + ], + "initialRevalidateSeconds": false, + "srcRoute": "/admin/settings", + "dataRoute": "/admin/settings.rsc", + "allowHeader": [ + "host", + "x-matched-path", + "x-prerender-revalidate", + "x-prerender-revalidate-if-generated", + "x-next-revalidated-tags", + "x-next-revalidate-tag-token" + ] + }, + "/admin/docs": { + "experimentalBypassFor": [ + { + "type": "header", + "key": "Next-Action" + }, + { + "type": "header", + "key": "content-type", + "value": "multipart/form-data;.*" + } + ], + "initialRevalidateSeconds": false, + "srcRoute": "/admin/docs", + "dataRoute": "/admin/docs.rsc", + "allowHeader": [ + "host", + "x-matched-path", + "x-prerender-revalidate", + "x-prerender-revalidate-if-generated", + "x-next-revalidated-tags", + "x-next-revalidate-tag-token" + ] } }, "dynamicRoutes": {}, "notFoundRoutes": [], "preview": { - "previewModeId": "026c5a23c5c875dd3d0a6b3920d250bc", - "previewModeSigningKey": "17087e74a03fb2a20e58130f306fc52099d1fe0dd685933891162a393567bc57", - "previewModeEncryptionKey": "f0accdd5a78b76e82168930390fc435c08a772f8bfed1e384edb6b419d843c25" + "previewModeId": "2022980952b035a2c74c87674caa294f", + "previewModeSigningKey": "103cd56ee02bd79a7200489a2004aba07aaaa46cdbf5ccfcbf3853cd7d75aae4", + "previewModeEncryptionKey": "7aaded936d8ad3269d7522430a73e4fafcd225f2ade693f3f2cf1f5e26755ca8" } } \ No newline at end of file diff --git a/.next/react-loadable-manifest.json b/.next/react-loadable-manifest.json index 4fab40330af8e3e0d458ff8fb8a63d06c74e6139..e931d3b5c958e4f53962b5660817746fd1336d47 100644 --- a/.next/react-loadable-manifest.json +++ b/.next/react-loadable-manifest.json @@ -1,18 +1,42 @@ { "components/file-explorer/index.tsx -> @/lib/vfs/skills": { - "id": 1360, + "id": 90726, "files": [] }, "components/guided-tour/context.tsx -> @/lib/vfs": { - "id": 9396, + "id": 14250, + "files": [] + }, + "components/guided-tour/context.tsx -> @/lib/vfs/project-templates": { + "id": 18555, + "files": [] + }, + "components/heatmap-viewer/index.tsx -> @/lib/utils/screenshot": { + "id": 37940, "files": [] }, "lib/llm/debug-events-state.ts -> @/lib/vfs": { - "id": 9396, + "id": 14250, "files": [] }, + "lib/vfs/adapters/factory.ts -> ./postgres-adapter": { + "id": 69098, + "files": [ + "static/chunks/9098.af508ebec0ecf841.js" + ] + }, "lib/vfs/backup-service.ts -> @/lib/vfs": { - "id": 9396, + "id": 14250, + "files": [] + }, + "lib/vfs/cli-shell.ts -> ./index": { + "id": 14250, "files": [] + }, + "lib/vfs/index.ts -> ./auto-sync": { + "id": 27709, + "files": [ + "static/chunks/7709.92147350b725dece.js" + ] } } \ No newline at end of file diff --git a/.next/required-server-files.json b/.next/required-server-files.json index 9cbdaba14fb255bdd8586aee875f36dca544abc7..0486deccc6a1c62f3da6c2259380d9a771381aaf 100644 --- a/.next/required-server-files.json +++ b/.next/required-server-files.json @@ -2,7 +2,6 @@ "version": 1, "config": { "env": {}, - "webpack": null, "eslint": { "ignoreDuringBuilds": true }, @@ -61,9 +60,7 @@ "remotePatterns": [], "unoptimized": false }, - "devIndicators": { - "position": "bottom-left" - }, + "devIndicators": false, "onDemandEntries": { "maxInactiveAge": 60000, "pagesBufferLength": 5 @@ -281,6 +278,24 @@ "configFileName": "next.config.ts", "turbopack": { "root": "/Users/otto/Desktop/deepstudio/osw-studio-git" + }, + "_originalRewrites": { + "beforeFiles": [], + "afterFiles": [ + { + "source": "/sites/:projectId", + "destination": "/sites/:projectId/index.html" + }, + { + "source": "/sites/:projectId/", + "destination": "/sites/:projectId/index.html" + }, + { + "source": "/sites/:projectId/:path([^.]+)", + "destination": "/sites/:projectId/:path.html" + } + ], + "fallback": [] } }, "appDir": "/Users/otto/Desktop/deepstudio/osw-studio-git", diff --git a/.next/routes-manifest.json b/.next/routes-manifest.json index 4b133d43eddecc495b0216132dbb19cc366728ad..eed23dca276ee13017c66bd91bf473dcebce06b2 100644 --- a/.next/routes-manifest.json +++ b/.next/routes-manifest.json @@ -13,7 +13,137 @@ } ], "headers": [], - "dynamicRoutes": [], + "dynamicRoutes": [ + { + "page": "/api/analytics/[siteId]", + "regex": "^/api/analytics/([^/]+?)(?:/)?$", + "routeKeys": { + "nxtPsiteId": "nxtPsiteId" + }, + "namedRegex": "^/api/analytics/(?[^/]+?)(?:/)?$" + }, + { + "page": "/api/analytics/[siteId]/clear", + "regex": "^/api/analytics/([^/]+?)/clear(?:/)?$", + "routeKeys": { + "nxtPsiteId": "nxtPsiteId" + }, + "namedRegex": "^/api/analytics/(?[^/]+?)/clear(?:/)?$" + }, + { + "page": "/api/analytics/[siteId]/engagement", + "regex": "^/api/analytics/([^/]+?)/engagement(?:/)?$", + "routeKeys": { + "nxtPsiteId": "nxtPsiteId" + }, + "namedRegex": "^/api/analytics/(?[^/]+?)/engagement(?:/)?$" + }, + { + "page": "/api/analytics/[siteId]/export", + "regex": "^/api/analytics/([^/]+?)/export(?:/)?$", + "routeKeys": { + "nxtPsiteId": "nxtPsiteId" + }, + "namedRegex": "^/api/analytics/(?[^/]+?)/export(?:/)?$" + }, + { + "page": "/api/analytics/[siteId]/heatmap", + "regex": "^/api/analytics/([^/]+?)/heatmap(?:/)?$", + "routeKeys": { + "nxtPsiteId": "nxtPsiteId" + }, + "namedRegex": "^/api/analytics/(?[^/]+?)/heatmap(?:/)?$" + }, + { + "page": "/api/analytics/[siteId]/overview", + "regex": "^/api/analytics/([^/]+?)/overview(?:/)?$", + "routeKeys": { + "nxtPsiteId": "nxtPsiteId" + }, + "namedRegex": "^/api/analytics/(?[^/]+?)/overview(?:/)?$" + }, + { + "page": "/api/analytics/[siteId]/sessions", + "regex": "^/api/analytics/([^/]+?)/sessions(?:/)?$", + "routeKeys": { + "nxtPsiteId": "nxtPsiteId" + }, + "namedRegex": "^/api/analytics/(?[^/]+?)/sessions(?:/)?$" + }, + { + "page": "/api/analytics/[siteId]/storage", + "regex": "^/api/analytics/([^/]+?)/storage(?:/)?$", + "routeKeys": { + "nxtPsiteId": "nxtPsiteId" + }, + "namedRegex": "^/api/analytics/(?[^/]+?)/storage(?:/)?$" + }, + { + "page": "/api/docs/[...path]", + "regex": "^/api/docs/(.+?)(?:/)?$", + "routeKeys": { + "nxtPpath": "nxtPpath" + }, + "namedRegex": "^/api/docs/(?.+?)(?:/)?$" + }, + { + "page": "/api/sites/[id]", + "regex": "^/api/sites/([^/]+?)(?:/)?$", + "routeKeys": { + "nxtPid": "nxtPid" + }, + "namedRegex": "^/api/sites/(?[^/]+?)(?:/)?$" + }, + { + "page": "/api/sites/[id]/publish", + "regex": "^/api/sites/([^/]+?)/publish(?:/)?$", + "routeKeys": { + "nxtPid": "nxtPid" + }, + "namedRegex": "^/api/sites/(?[^/]+?)/publish(?:/)?$" + }, + { + "page": "/api/sites/[id]/settings", + "regex": "^/api/sites/([^/]+?)/settings(?:/)?$", + "routeKeys": { + "nxtPid": "nxtPid" + }, + "namedRegex": "^/api/sites/(?[^/]+?)/settings(?:/)?$" + }, + { + "page": "/api/sites/[id]/thumbnail", + "regex": "^/api/sites/([^/]+?)/thumbnail(?:/)?$", + "routeKeys": { + "nxtPid": "nxtPid" + }, + "namedRegex": "^/api/sites/(?[^/]+?)/thumbnail(?:/)?$" + }, + { + "page": "/api/sync/projects/[id]", + "regex": "^/api/sync/projects/([^/]+?)(?:/)?$", + "routeKeys": { + "nxtPid": "nxtPid" + }, + "namedRegex": "^/api/sync/projects/(?[^/]+?)(?:/)?$" + }, + { + "page": "/sites/[id]", + "regex": "^/sites/([^/]+?)(?:/)?$", + "routeKeys": { + "nxtPid": "nxtPid" + }, + "namedRegex": "^/sites/(?[^/]+?)(?:/)?$" + }, + { + "page": "/sites/[id]/[...path]", + "regex": "^/sites/([^/]+?)/(.+?)(?:/)?$", + "routeKeys": { + "nxtPid": "nxtPid", + "nxtPpath": "nxtPpath" + }, + "namedRegex": "^/sites/(?[^/]+?)/(?.+?)(?:/)?$" + } + ], "staticRoutes": [ { "page": "/", @@ -27,6 +157,66 @@ "routeKeys": {}, "namedRegex": "^/_not\\-found(?:/)?$" }, + { + "page": "/admin", + "regex": "^/admin(?:/)?$", + "routeKeys": {}, + "namedRegex": "^/admin(?:/)?$" + }, + { + "page": "/admin/docs", + "regex": "^/admin/docs(?:/)?$", + "routeKeys": {}, + "namedRegex": "^/admin/docs(?:/)?$" + }, + { + "page": "/admin/login", + "regex": "^/admin/login(?:/)?$", + "routeKeys": {}, + "namedRegex": "^/admin/login(?:/)?$" + }, + { + "page": "/admin/projects", + "regex": "^/admin/projects(?:/)?$", + "routeKeys": {}, + "namedRegex": "^/admin/projects(?:/)?$" + }, + { + "page": "/admin/settings", + "regex": "^/admin/settings(?:/)?$", + "routeKeys": {}, + "namedRegex": "^/admin/settings(?:/)?$" + }, + { + "page": "/admin/settings/application", + "regex": "^/admin/settings/application(?:/)?$", + "routeKeys": {}, + "namedRegex": "^/admin/settings/application(?:/)?$" + }, + { + "page": "/admin/settings/model", + "regex": "^/admin/settings/model(?:/)?$", + "routeKeys": {}, + "namedRegex": "^/admin/settings/model(?:/)?$" + }, + { + "page": "/admin/sites", + "regex": "^/admin/sites(?:/)?$", + "routeKeys": {}, + "namedRegex": "^/admin/sites(?:/)?$" + }, + { + "page": "/admin/skills", + "regex": "^/admin/skills(?:/)?$", + "routeKeys": {}, + "namedRegex": "^/admin/skills(?:/)?$" + }, + { + "page": "/admin/templates", + "regex": "^/admin/templates(?:/)?$", + "routeKeys": {}, + "namedRegex": "^/admin/templates(?:/)?$" + }, { "page": "/test-generation", "regex": "^/test\\-generation(?:/)?$", @@ -51,5 +241,21 @@ "pathHeader": "x-nextjs-rewritten-path", "queryHeader": "x-nextjs-rewritten-query" }, - "rewrites": [] + "rewrites": [ + { + "source": "/sites/:projectId", + "destination": "/sites/:projectId/index.html", + "regex": "^/sites(?:/([^/]+?))(?:/)?$" + }, + { + "source": "/sites/:projectId/", + "destination": "/sites/:projectId/index.html", + "regex": "^/sites(?:/([^/]+?))/(?:/)?$" + }, + { + "source": "/sites/:projectId/:path([^.]+)", + "destination": "/sites/:projectId/:path.html", + "regex": "^/sites(?:/([^/]+?))(?:/([^.]+))(?:/)?$" + } + ] } \ No newline at end of file diff --git a/.next/server/app-paths-manifest.json b/.next/server/app-paths-manifest.json index 50149f6b6af76218fa9350c64841ae2c8f610702..92e76d2889222643181e7fe2574b217e40a7344c 100644 --- a/.next/server/app-paths-manifest.json +++ b/.next/server/app-paths-manifest.json @@ -1,8 +1,46 @@ { "/_not-found/page": "app/_not-found/page.js", + "/api/admin/run-migrations/route": "app/api/admin/run-migrations/route.js", + "/api/analytics/[siteId]/export/route": "app/api/analytics/[siteId]/export/route.js", + "/api/analytics/[siteId]/clear/route": "app/api/analytics/[siteId]/clear/route.js", + "/api/analytics/[siteId]/overview/route": "app/api/analytics/[siteId]/overview/route.js", + "/api/analytics/[siteId]/engagement/route": "app/api/analytics/[siteId]/engagement/route.js", + "/api/analytics/[siteId]/route": "app/api/analytics/[siteId]/route.js", + "/api/analytics/[siteId]/storage/route": "app/api/analytics/[siteId]/storage/route.js", + "/api/analytics/interaction/route": "app/api/analytics/interaction/route.js", + "/api/analytics/[siteId]/heatmap/route": "app/api/analytics/[siteId]/heatmap/route.js", + "/api/auth/check/route": "app/api/auth/check/route.js", + "/api/analytics/[siteId]/sessions/route": "app/api/analytics/[siteId]/sessions/route.js", + "/api/docs/[...path]/route": "app/api/docs/[...path]/route.js", + "/api/analytics/track/route": "app/api/analytics/track/route.js", + "/api/auth/login/route": "app/api/auth/login/route.js", + "/api/auth/me/route": "app/api/auth/me/route.js", + "/api/auth/logout/route": "app/api/auth/logout/route.js", + "/api/projects/route": "app/api/projects/route.js", "/api/generate/route": "app/api/generate/route.js", + "/api/sites/[id]/route": "app/api/sites/[id]/route.js", + "/api/sites/[id]/settings/route": "app/api/sites/[id]/settings/route.js", "/api/models/route": "app/api/models/route.js", + "/api/sync/files/route": "app/api/sync/files/route.js", + "/api/sites/[id]/publish/route": "app/api/sites/[id]/publish/route.js", + "/api/sites/route": "app/api/sites/route.js", + "/api/sites/[id]/thumbnail/route": "app/api/sites/[id]/thumbnail/route.js", + "/api/sync/projects/route": "app/api/sync/projects/route.js", + "/sites/[id]/[...path]/route": "app/sites/[id]/[...path]/route.js", + "/api/sync/status/route": "app/api/sync/status/route.js", "/api/validate-key/route": "app/api/validate-key/route.js", + "/sites/[id]/route": "app/sites/[id]/route.js", + "/api/sync/projects/[id]/route": "app/api/sync/projects/[id]/route.js", + "/admin/docs/page": "app/admin/docs/page.js", + "/admin/settings/application/page": "app/admin/settings/application/page.js", + "/admin/settings/model/page": "app/admin/settings/model/page.js", + "/admin/page": "app/admin/page.js", + "/admin/templates/page": "app/admin/templates/page.js", + "/admin/sites/page": "app/admin/sites/page.js", + "/admin/projects/page": "app/admin/projects/page.js", + "/admin/skills/page": "app/admin/skills/page.js", + "/admin/settings/page": "app/admin/settings/page.js", + "/test-generation/page": "app/test-generation/page.js", "/page": "app/page.js", - "/test-generation/page": "app/test-generation/page.js" + "/admin/login/page": "app/admin/login/page.js" } \ No newline at end of file diff --git a/.next/server/app/_not-found.html b/.next/server/app/_not-found.html index 34e60556174010375ac547430baf5f214b25398d..1ec2938f6792995be28328468a78b83dfd78c5d5 100644 --- a/.next/server/app/_not-found.html +++ b/.next/server/app/_not-found.html @@ -1 +1 @@ -404: This page could not be found.Open Source Web Studio | Agentic AI Development 🎨

404

This page could not be found.

\ No newline at end of file +404: This page could not be found.Open Source Web Studio | Agentic AI Development 🎨

404

This page could not be found.

\ No newline at end of file diff --git a/.next/server/app/_not-found.rsc b/.next/server/app/_not-found.rsc index f6467c9e603c2f2ec0916aec979086f0449b0618..b1be644108a464f60180aa3bf83724b214b08b7f 100644 --- a/.next/server/app/_not-found.rsc +++ b/.next/server/app/_not-found.rsc @@ -1,21 +1,21 @@ 1:"$Sreact.fragment" -2:I[1321,["671","static/chunks/671-f7ad2a6bc6db0f05.js","138","static/chunks/138-9f738090dc749a6c.js","177","static/chunks/app/layout-4145df182a98063f.js"],"ThemeProvider"] -3:I[5851,["671","static/chunks/671-f7ad2a6bc6db0f05.js","138","static/chunks/138-9f738090dc749a6c.js","177","static/chunks/app/layout-4145df182a98063f.js"],"Toaster"] -4:I[5388,["671","static/chunks/671-f7ad2a6bc6db0f05.js","138","static/chunks/138-9f738090dc749a6c.js","177","static/chunks/app/layout-4145df182a98063f.js"],"default"] -5:I[7555,[],""] -6:I[1295,[],""] -7:I[9665,[],"MetadataBoundary"] -9:I[9665,[],"OutletBoundary"] -c:I[4911,[],"AsyncMetadataOutlet"] -e:I[9665,[],"ViewportBoundary"] -10:I[6614,[],""] +2:I[61321,["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"ThemeProvider"] +3:I[15851,["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"Toaster"] +4:I[25388,["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"default"] +5:I[87555,[],""] +6:I[31295,[],""] +7:I[59665,[],"MetadataBoundary"] +9:I[59665,[],"OutletBoundary"] +c:I[74911,[],"AsyncMetadataOutlet"] +e:I[59665,[],"ViewportBoundary"] +10:I[26614,[],""] :HL["/_next/static/media/58f662ed5ba12a72-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["/_next/static/media/c3f6eb667c0186c5-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["/_next/static/media/e4af272ccee01ff0-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}] -:HL["/_next/static/css/fd087a0139b3b65e.css","style"] -0:{"P":null,"b":"xkp8mz91_6FWpRLiD8FMK","p":"","c":["","_not-found"],"i":false,"f":[[["",{"children":["/_not-found",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/fd087a0139b3b65e.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":"__variable_f367f3 __variable_438d47 antialiased bg-background h-[100dvh] overflow-hidden","suppressHydrationWarning":true,"children":["$","$L2",null,{"children":[["$","$L3",null,{"richColors":true,"position":"bottom-center"}],["$","$L4",null,{"children":["$","$L5",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]]}]}]}]]}],{"children":["/_not-found",["$","$1","c",{"children":[null,["$","$L5",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":"$0:f:0:1:1:props:children:1:props:children:props:children:props:children:1:props:children:props:notFound:0:1:props:style","children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":"$0:f:0:1:1:props:children:1:props:children:props:children:props:children:1:props:children:props:notFound:0:1:props:children:props:children:1:props:style","children":404}],["$","div",null,{"style":"$0:f:0:1:1:props:children:1:props:children:props:children:props:children:1:props:children:props:notFound:0:1:props:children:props:children:2:props:style","children":["$","h2",null,{"style":"$0:f:0:1:1:props:children:1:props:children:props:children:props:children:1:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style","children":"This page could not be found."}]}]]}]}]],["$","$L7",null,{"children":"$L8"}],null,["$","$L9",null,{"children":["$La","$Lb",["$","$Lc",null,{"promise":"$@d"}]]}]]}],{},null,false]},null,false]},null,false],["$","$1","h",{"children":[["$","meta",null,{"name":"robots","content":"noindex"}],["$","$1","AmHhb8jdBstqbefWPr46P",{"children":[["$","$Le",null,{"children":"$Lf"}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],null]}],false]],"m":"$undefined","G":["$10","$undefined"],"s":false,"S":true} +:HL["/_next/static/css/e420bcf6619594d2.css","style"] +0:{"P":null,"b":"xIN9K7b8Zi-Lclq3jrJRM","p":"","c":["","_not-found"],"i":false,"f":[[["",{"children":["/_not-found",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/e420bcf6619594d2.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":"__variable_f367f3 __variable_438d47 antialiased bg-background h-[100dvh] overflow-hidden","suppressHydrationWarning":true,"children":["$","$L2",null,{"children":[["$","$L3",null,{"richColors":true,"position":"bottom-center"}],["$","$L4",null,{"children":["$","$L5",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]]}]}]}]]}],{"children":["/_not-found",["$","$1","c",{"children":[null,["$","$L5",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":"$0:f:0:1:1:props:children:1:props:children:props:children:props:children:1:props:children:props:notFound:0:1:props:style","children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":"$0:f:0:1:1:props:children:1:props:children:props:children:props:children:1:props:children:props:notFound:0:1:props:children:props:children:1:props:style","children":404}],["$","div",null,{"style":"$0:f:0:1:1:props:children:1:props:children:props:children:props:children:1:props:children:props:notFound:0:1:props:children:props:children:2:props:style","children":["$","h2",null,{"style":"$0:f:0:1:1:props:children:1:props:children:props:children:props:children:1:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style","children":"This page could not be found."}]}]]}]}]],["$","$L7",null,{"children":"$L8"}],null,["$","$L9",null,{"children":["$La","$Lb",["$","$Lc",null,{"promise":"$@d"}]]}]]}],{},null,false]},null,false]},null,false],["$","$1","h",{"children":[["$","meta",null,{"name":"robots","content":"noindex"}],["$","$1","oWD_OTd4ZaEos8qv6BMO7",{"children":[["$","$Le",null,{"children":"$Lf"}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],null]}],false]],"m":"$undefined","G":["$10","$undefined"],"s":false,"S":true} 11:"$Sreact.suspense" -12:I[4911,[],"AsyncMetadata"] +12:I[74911,[],"AsyncMetadata"] 8:["$","$11",null,{"fallback":null,"children":["$","$L12",null,{"promise":"$@13"}]}] b:null f:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1, maximum-scale=1"}],["$","meta","2",{"name":"theme-color","content":"#000000"}]] diff --git a/.next/server/app/_not-found/page.js b/.next/server/app/_not-found/page.js index 6c7f8fa44620b954c9ff88ef639922eb6e56f532..3e3b0e7faf79c90a0150b3941570154ff4635a7d 100644 --- a/.next/server/app/_not-found/page.js +++ b/.next/server/app/_not-found/page.js @@ -1 +1 @@ -(()=>{var e={};e.id=492,e.ids=[492],e.modules={363:(e,t,o)=>{"use strict";o.d(t,{Toaster:()=>r});let r=(0,o(2907).registerClientReference)(function(){throw Error("Attempted to call Toaster() from the server but Toaster is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/ui/sonner.tsx","Toaster")},716:(e,t,o)=>{Promise.resolve().then(o.t.bind(o,6346,23)),Promise.resolve().then(o.t.bind(o,7924,23)),Promise.resolve().then(o.t.bind(o,5656,23)),Promise.resolve().then(o.t.bind(o,99,23)),Promise.resolve().then(o.t.bind(o,8243,23)),Promise.resolve().then(o.t.bind(o,8827,23)),Promise.resolve().then(o.t.bind(o,2763,23)),Promise.resolve().then(o.t.bind(o,7173,23))},846:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},1368:(e,t,o)=>{Promise.resolve().then(o.bind(o,1900)),Promise.resolve().then(o.bind(o,9035)),Promise.resolve().then(o.bind(o,363))},1900:(e,t,o)=>{"use strict";o.d(t,{default:()=>r});let r=(0,o(2907).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/tanstack-query-provider.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/tanstack-query-provider.tsx","default")},2572:(e,t,o)=>{Promise.resolve().then(o.t.bind(o,6444,23)),Promise.resolve().then(o.t.bind(o,6042,23)),Promise.resolve().then(o.t.bind(o,8170,23)),Promise.resolve().then(o.t.bind(o,9477,23)),Promise.resolve().then(o.t.bind(o,9345,23)),Promise.resolve().then(o.t.bind(o,2089,23)),Promise.resolve().then(o.t.bind(o,6577,23)),Promise.resolve().then(o.t.bind(o,1307,23))},3014:(e,t,o)=>{"use strict";o.d(t,{default:()=>i});var r=o(687),n=o(6553),s=o(8693);function i({children:e}){let t=new n.E;return(0,r.jsx)(s.Ht,{client:t,children:e})}},3033:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},3295:e=>{"use strict";e.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},3873:e=>{"use strict";e.exports=require("path")},4348:()=>{},4593:(e,t,o)=>{"use strict";o.d(t,{Toaster:()=>i});var r=o(687),n=o(218),s=o(2581);let i=({...e})=>{let{theme:t}=(0,n.D)();return(0,r.jsx)(s.l$,{theme:t,className:"toaster group",style:{"--normal-bg":"var(--popover)","--normal-text":"var(--popover-foreground)","--normal-border":"var(--border)"},...e})}},4675:(e,t,o)=>{"use strict";o.r(t),o.d(t,{GlobalError:()=>i.a,__next_app__:()=>p,pages:()=>u,routeModule:()=>c,tree:()=>d});var r=o(5239),n=o(8088),s=o(8170),i=o.n(s),a=o(893),l={};for(let e in a)0>["default","tree","pages","GlobalError","__next_app__","routeModule"].indexOf(e)&&(l[e]=()=>a[e]);o.d(t,l);let d={children:["",{children:["/_not-found",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(o.t.bind(o,7398,23)),"next/dist/client/components/not-found-error"]}]},{}]},{layout:[()=>Promise.resolve().then(o.bind(o,8014)),"/Users/otto/Desktop/deepstudio/osw-studio-git/app/layout.tsx"],"not-found":[()=>Promise.resolve().then(o.t.bind(o,7398,23)),"next/dist/client/components/not-found-error"],forbidden:[()=>Promise.resolve().then(o.t.bind(o,9999,23)),"next/dist/client/components/forbidden-error"],unauthorized:[()=>Promise.resolve().then(o.t.bind(o,5284,23)),"next/dist/client/components/unauthorized-error"]}]}.children,u=[],p={require:o,loadChunk:()=>Promise.resolve()},c=new r.AppPageRouteModule({definition:{kind:n.RouteKind.APP_PAGE,page:"/_not-found/page",pathname:"/_not-found",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:d}})},4920:(e,t,o)=>{Promise.resolve().then(o.bind(o,3014)),Promise.resolve().then(o.bind(o,9197)),Promise.resolve().then(o.bind(o,4593))},8014:(e,t,o)=>{"use strict";o.r(t),o.d(t,{default:()=>m,metadata:()=>p,viewport:()=>c});var r=o(7413),n=o(5474),s=o.n(n),i=o(1015),a=o.n(i),l=o(1900),d=o(9035);o(4348);var u=o(363);let p={title:"Open Source Web Studio | Agentic AI Development \uD83C\uDFA8",description:"Open Source Web Studio is an AI-powered development environment that enables autonomous multi-file development through intelligent tool usage. Build complete applications with natural language.",openGraph:{title:"Open Source Web Studio | Agentic AI Development \uD83C\uDFA8",description:"Open Source Web Studio is an AI-powered development environment that enables autonomous multi-file development through intelligent tool usage. Build complete applications with natural language.",url:"https://huggingface.co/spaces/otst/osw-studio",siteName:"Open Source Web Studio",images:[{url:"https://huggingface.co/spaces/otst/osw-studio/resolve/main/banner.png",width:1200,height:630,alt:"Open Source Web Studio - Agentic AI Development"}]},twitter:{card:"summary_large_image",title:"OSW-Studio | Agentic AI Development \uD83C\uDFA8",description:"OSW-Studio is an AI-powered development environment that enables autonomous multi-file development through intelligent tool usage. Build complete applications with natural language.",images:["https://huggingface.co/spaces/otst/osw-studio/resolve/main/banner.png"]},appleWebApp:{capable:!0,title:"OSW-Studio",statusBarStyle:"black-translucent"},icons:{icon:"/osw-studio-logo.svg",shortcut:"/osw-studio-logo.svg",apple:"/osw-studio-logo.svg"}},c={initialScale:1,maximumScale:1,themeColor:"#000000"};function m({children:e}){return(0,r.jsx)("html",{lang:"en",suppressHydrationWarning:!0,children:(0,r.jsx)("body",{className:`${s().variable} ${a().variable} antialiased bg-background h-[100dvh] overflow-hidden`,suppressHydrationWarning:!0,children:(0,r.jsxs)(d.ThemeProvider,{children:[(0,r.jsx)(u.Toaster,{richColors:!0,position:"bottom-center"}),(0,r.jsx)(l.default,{children:e})]})})})}},9035:(e,t,o)=>{"use strict";o.d(t,{ThemeProvider:()=>r});let r=(0,o(2907).registerClientReference)(function(){throw Error("Attempted to call ThemeProvider() from the server but ThemeProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/theme-provider.tsx","ThemeProvider")},9121:e=>{"use strict";e.exports=require("next/dist/server/app-render/action-async-storage.external.js")},9197:(e,t,o)=>{"use strict";o.d(t,{ThemeProvider:()=>s});var r=o(687);o(3210);var n=o(218);function s({children:e,attribute:t="class",defaultTheme:o="dark",enableSystem:s=!0,storageKey:i="osw-studio-theme",...a}){return(0,r.jsx)(n.N,{attribute:t,defaultTheme:o,enableSystem:s,storageKey:i,disableTransitionOnChange:!0,...a,children:e})}},9294:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-async-storage.external.js")}};var t=require("../../webpack-runtime.js");t.C(e);var o=e=>t(t.s=e),r=t.X(0,[447,55],()=>o(4675));module.exports=r})(); \ No newline at end of file +(()=>{var e={};e.id=9492,e.ids=[9492],e.modules={3295:e=>{"use strict";e.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10716:(e,t,o)=>{Promise.resolve().then(o.t.bind(o,86346,23)),Promise.resolve().then(o.t.bind(o,27924,23)),Promise.resolve().then(o.t.bind(o,35656,23)),Promise.resolve().then(o.t.bind(o,40099,23)),Promise.resolve().then(o.t.bind(o,38243,23)),Promise.resolve().then(o.t.bind(o,28827,23)),Promise.resolve().then(o.t.bind(o,62763,23)),Promise.resolve().then(o.t.bind(o,97173,23))},10846:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19121:e=>{"use strict";e.exports=require("next/dist/server/app-render/action-async-storage.external.js")},29294:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:e=>{"use strict";e.exports=require("path")},39035:(e,t,o)=>{"use strict";o.d(t,{ThemeProvider:()=>r});let r=(0,o(12907).registerClientReference)(function(){throw Error("Attempted to call ThemeProvider() from the server but ThemeProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/theme-provider.tsx","ThemeProvider")},41900:(e,t,o)=>{"use strict";o.d(t,{default:()=>r});let r=(0,o(12907).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/tanstack-query-provider.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/tanstack-query-provider.tsx","default")},52572:(e,t,o)=>{Promise.resolve().then(o.t.bind(o,16444,23)),Promise.resolve().then(o.t.bind(o,16042,23)),Promise.resolve().then(o.t.bind(o,88170,23)),Promise.resolve().then(o.t.bind(o,49477,23)),Promise.resolve().then(o.t.bind(o,29345,23)),Promise.resolve().then(o.t.bind(o,12089,23)),Promise.resolve().then(o.t.bind(o,46577,23)),Promise.resolve().then(o.t.bind(o,31307,23))},53014:(e,t,o)=>{"use strict";o.d(t,{default:()=>i});var r=o(60687),n=o(26553),s=o(8693);function i({children:e}){let t=new n.E;return(0,r.jsx)(s.Ht,{client:t,children:e})}},54920:(e,t,o)=>{Promise.resolve().then(o.bind(o,53014)),Promise.resolve().then(o.bind(o,99197)),Promise.resolve().then(o.bind(o,94593))},58014:(e,t,o)=>{"use strict";o.r(t),o.d(t,{default:()=>m,metadata:()=>p,viewport:()=>c});var r=o(37413),n=o(95474),s=o.n(n),i=o(31015),a=o.n(i),l=o(41900),d=o(39035);o(94348);var u=o(80363);let p={title:"Open Source Web Studio | Agentic AI Development \uD83C\uDFA8",description:"Open Source Web Studio is an AI-powered development environment that enables autonomous multi-file development through intelligent tool usage. Build complete applications with natural language.",openGraph:{title:"Open Source Web Studio | Agentic AI Development \uD83C\uDFA8",description:"Open Source Web Studio is an AI-powered development environment that enables autonomous multi-file development through intelligent tool usage. Build complete applications with natural language.",url:"https://huggingface.co/spaces/otst/osw-studio",siteName:"Open Source Web Studio",images:[{url:"https://huggingface.co/spaces/otst/osw-studio/resolve/main/banner.png",width:1200,height:630,alt:"Open Source Web Studio - Agentic AI Development"}]},twitter:{card:"summary_large_image",title:"OSW-Studio | Agentic AI Development \uD83C\uDFA8",description:"OSW-Studio is an AI-powered development environment that enables autonomous multi-file development through intelligent tool usage. Build complete applications with natural language.",images:["https://huggingface.co/spaces/otst/osw-studio/resolve/main/banner.png"]},appleWebApp:{capable:!0,title:"OSW-Studio",statusBarStyle:"black-translucent"},icons:{icon:"/osw-studio-logo.svg",shortcut:"/osw-studio-logo.svg",apple:"/osw-studio-logo.svg"}},c={initialScale:1,maximumScale:1,themeColor:"#000000"};function m({children:e}){return(0,r.jsx)("html",{lang:"en",suppressHydrationWarning:!0,children:(0,r.jsx)("body",{className:`${s().variable} ${a().variable} antialiased bg-background h-[100dvh] overflow-hidden`,suppressHydrationWarning:!0,children:(0,r.jsxs)(d.ThemeProvider,{children:[(0,r.jsx)(u.Toaster,{richColors:!0,position:"bottom-center"}),(0,r.jsx)(l.default,{children:e})]})})})}},63033:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},80363:(e,t,o)=>{"use strict";o.d(t,{Toaster:()=>r});let r=(0,o(12907).registerClientReference)(function(){throw Error("Attempted to call Toaster() from the server but Toaster is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/ui/sonner.tsx","Toaster")},84675:(e,t,o)=>{"use strict";o.r(t),o.d(t,{GlobalError:()=>i.a,__next_app__:()=>p,pages:()=>u,routeModule:()=>c,tree:()=>d});var r=o(65239),n=o(48088),s=o(88170),i=o.n(s),a=o(30893),l={};for(let e in a)0>["default","tree","pages","GlobalError","__next_app__","routeModule"].indexOf(e)&&(l[e]=()=>a[e]);o.d(t,l);let d={children:["",{children:["/_not-found",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(o.t.bind(o,57398,23)),"next/dist/client/components/not-found-error"]}]},{}]},{layout:[()=>Promise.resolve().then(o.bind(o,58014)),"/Users/otto/Desktop/deepstudio/osw-studio-git/app/layout.tsx"],"not-found":[()=>Promise.resolve().then(o.t.bind(o,57398,23)),"next/dist/client/components/not-found-error"],forbidden:[()=>Promise.resolve().then(o.t.bind(o,89999,23)),"next/dist/client/components/forbidden-error"],unauthorized:[()=>Promise.resolve().then(o.t.bind(o,65284,23)),"next/dist/client/components/unauthorized-error"]}]}.children,u=[],p={require:o,loadChunk:()=>Promise.resolve()},c=new r.AppPageRouteModule({definition:{kind:n.RouteKind.APP_PAGE,page:"/_not-found/page",pathname:"/_not-found",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:d}})},91368:(e,t,o)=>{Promise.resolve().then(o.bind(o,41900)),Promise.resolve().then(o.bind(o,39035)),Promise.resolve().then(o.bind(o,80363))},94348:()=>{},94593:(e,t,o)=>{"use strict";o.d(t,{Toaster:()=>i});var r=o(60687),n=o(10218),s=o(52581);let i=({...e})=>{let{theme:t}=(0,n.D)();return(0,r.jsx)(s.l$,{theme:t,className:"toaster group",style:{"--normal-bg":"var(--popover)","--normal-text":"var(--popover-foreground)","--normal-border":"var(--border)"},...e})}},99197:(e,t,o)=>{"use strict";o.d(t,{ThemeProvider:()=>s});var r=o(60687);o(43210);var n=o(10218);function s({children:e,attribute:t="class",defaultTheme:o="dark",enableSystem:s=!0,storageKey:i="osw-studio-theme",...a}){return(0,r.jsx)(n.N,{attribute:t,defaultTheme:o,enableSystem:s,storageKey:i,disableTransitionOnChange:!0,...a,children:e})}}};var t=require("../../webpack-runtime.js");t.C(e);var o=e=>t(t.s=e),r=t.X(0,[4447,8055],()=>o(84675));module.exports=r})(); \ No newline at end of file diff --git a/.next/server/app/_not-found/page.js.nft.json b/.next/server/app/_not-found/page.js.nft.json index e7879d5596f364ef26a1877ab2bd40029e9836f4..99a9c00592ebcfd9966fb119f30779d09806bd21 100644 --- a/.next/server/app/_not-found/page.js.nft.json +++ b/.next/server/app/_not-found/page.js.nft.json @@ -1 +1 @@ -{"version":1,"files":["../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../node_modules/next/dist/server/app-render/clean-async-snapshot-instance.js","../../../../node_modules/next/dist/server/app-render/clean-async-snapshot.external.js","../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../node_modules/next/package.json","../../../package.json","../../chunks/447.js","../../chunks/55.js","../../webpack-runtime.js","page_client-reference-manifest.js"]} \ No newline at end of file +{"version":1,"files":["../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../node_modules/next/dist/server/app-render/clean-async-snapshot-instance.js","../../../../node_modules/next/dist/server/app-render/clean-async-snapshot.external.js","../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../node_modules/next/package.json","../../../package.json","../../chunks/4447.js","../../chunks/8055.js","../../webpack-runtime.js","page_client-reference-manifest.js"]} \ No newline at end of file diff --git a/.next/server/app/_not-found/page_client-reference-manifest.js b/.next/server/app/_not-found/page_client-reference-manifest.js index 181a36e2155a2d7ee9a16a34c6dd6f2b9542007b..e6b43c59145919d1f93a21a63420178676a49683 100644 --- a/.next/server/app/_not-found/page_client-reference-manifest.js +++ b/.next/server/app/_not-found/page_client-reference-manifest.js @@ -1 +1 @@ -globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/_not-found/page"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"894":{"*":{"id":"6346","name":"*","chunks":[],"async":false}},"1295":{"*":{"id":"7173","name":"*","chunks":[],"async":false}},"1321":{"*":{"id":"9197","name":"*","chunks":[],"async":false}},"2715":{"*":{"id":"8287","name":"*","chunks":[],"async":false}},"4911":{"*":{"id":"8827","name":"*","chunks":[],"async":false}},"4970":{"*":{"id":"7924","name":"*","chunks":[],"async":false}},"5388":{"*":{"id":"3014","name":"*","chunks":[],"async":false}},"5851":{"*":{"id":"4593","name":"*","chunks":[],"async":false}},"6614":{"*":{"id":"5656","name":"*","chunks":[],"async":false}},"6910":{"*":{"id":"4628","name":"*","chunks":[],"async":false}},"6975":{"*":{"id":"99","name":"*","chunks":[],"async":false}},"7555":{"*":{"id":"8243","name":"*","chunks":[],"async":false}},"9665":{"*":{"id":"2763","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-page.js":{"id":894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-page.js":{"id":894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-segment.js":{"id":4970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-segment.js":{"id":4970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/error-boundary.js":{"id":6614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":6614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":6975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":6975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/layout-router.js":{"id":7555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/layout-router.js":{"id":7555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/async-metadata.js":{"id":4911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/async-metadata.js":{"id":4911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/metadata-boundary.js":{"id":9665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/metadata-boundary.js":{"id":9665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/render-from-template-context.js":{"id":1295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":1295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/tanstack-query-provider.tsx":{"id":5388,"name":"*","chunks":["671","static/chunks/671-f7ad2a6bc6db0f05.js","138","static/chunks/138-9f738090dc749a6c.js","177","static/chunks/app/layout-4145df182a98063f.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/theme-provider.tsx":{"id":1321,"name":"*","chunks":["671","static/chunks/671-f7ad2a6bc6db0f05.js","138","static/chunks/138-9f738090dc749a6c.js","177","static/chunks/app/layout-4145df182a98063f.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/ui/sonner.tsx":{"id":5851,"name":"*","chunks":["671","static/chunks/671-f7ad2a6bc6db0f05.js","138","static/chunks/138-9f738090dc749a6c.js","177","static/chunks/app/layout-4145df182a98063f.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"variable\":\"--font-inter-sans\",\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"}":{"id":9755,"name":"*","chunks":["671","static/chunks/671-f7ad2a6bc6db0f05.js","138","static/chunks/138-9f738090dc749a6c.js","177","static/chunks/app/layout-4145df182a98063f.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"PT_Sans\",\"arguments\":[{\"variable\":\"--font-ptSans-mono\",\"subsets\":[\"latin\"],\"weight\":[\"400\",\"700\"]}],\"variableName\":\"ptSans\"}":{"id":6382,"name":"*","chunks":["671","static/chunks/671-f7ad2a6bc6db0f05.js","138","static/chunks/138-9f738090dc749a6c.js","177","static/chunks/app/layout-4145df182a98063f.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/assets/globals.css":{"id":5410,"name":"*","chunks":["671","static/chunks/671-f7ad2a6bc6db0f05.js","138","static/chunks/138-9f738090dc749a6c.js","177","static/chunks/app/layout-4145df182a98063f.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page.tsx":{"id":2715,"name":"*","chunks":["948","static/chunks/06bf0ff1-f728958255a9b8b2.js","316","static/chunks/ad2866b8-eb5f2e8eab9b0b0c.js","671","static/chunks/671-f7ad2a6bc6db0f05.js","543","static/chunks/543-48a1c5f1f67a3b29.js","525","static/chunks/525-4e767ea62b4b7b1e.js","361","static/chunks/361-0bdc2b83974d9545.js","974","static/chunks/app/page-05cb2cd5b350e411.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/test-generation/page.tsx":{"id":6910,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/otto/Desktop/deepstudio/osw-studio-git/":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/layout":[{"inlined":false,"path":"static/css/fd087a0139b3b65e.css"}],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/_not-found/page":[]},"rscModuleMapping":{"894":{"*":{"id":"6444","name":"*","chunks":[],"async":false}},"1295":{"*":{"id":"1307","name":"*","chunks":[],"async":false}},"1321":{"*":{"id":"9035","name":"*","chunks":[],"async":false}},"2715":{"*":{"id":"597","name":"*","chunks":[],"async":false}},"4911":{"*":{"id":"2089","name":"*","chunks":[],"async":false}},"4970":{"*":{"id":"6042","name":"*","chunks":[],"async":false}},"5388":{"*":{"id":"1900","name":"*","chunks":[],"async":false}},"5410":{"*":{"id":"4348","name":"*","chunks":[],"async":false}},"5851":{"*":{"id":"363","name":"*","chunks":[],"async":false}},"6614":{"*":{"id":"8170","name":"*","chunks":[],"async":false}},"6910":{"*":{"id":"5004","name":"*","chunks":[],"async":false}},"6975":{"*":{"id":"9477","name":"*","chunks":[],"async":false}},"7555":{"*":{"id":"9345","name":"*","chunks":[],"async":false}},"9665":{"*":{"id":"6577","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}} \ No newline at end of file +globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/_not-found/page"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"3727":{"*":{"id":"12913","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"94593","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"69001","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"53014","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"35656","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"64628","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"97173","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"43555","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"40099","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"20435","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"62763","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"99197","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"28827","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"38243","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"86346","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"27924","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/tanstack-query-provider.tsx":{"id":25388,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/theme-provider.tsx":{"id":61321,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/ui/sonner.tsx":{"id":15851,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"variable\":\"--font-inter-sans\",\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"}":{"id":9755,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"PT_Sans\",\"arguments\":[{\"variable\":\"--font-ptSans-mono\",\"subsets\":[\"latin\"],\"weight\":[\"400\",\"700\"]}],\"variableName\":\"ptSans\"}":{"id":56382,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/assets/globals.css":{"id":85410,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/page-wrapper/index.tsx":{"id":19009,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/page.tsx":{"id":57161,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/test-generation/page.tsx":{"id":26910,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page.tsx":{"id":40796,"name":"*","chunks":["5948","static/chunks/06bf0ff1-2f6b5dbae626a171.js","4316","static/chunks/ad2866b8-a4659a388c5e0680.js","6671","static/chunks/6671-cfa51652ff77a475.js","189","static/chunks/189-4f09a71b91c59be3.js","5370","static/chunks/5370-dad62d5f4907e0f9.js","4750","static/chunks/4750-b402a0050286a424.js","5375","static/chunks/5375-a5738c494d0f24e9.js","8974","static/chunks/app/page-79207d5f775baf7d.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/login/page.tsx":{"id":3727,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/otto/Desktop/deepstudio/osw-studio-git/":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/layout":[{"inlined":false,"path":"static/css/e420bcf6619594d2.css"}],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/_not-found/page":[]},"rscModuleMapping":{"3727":{"*":{"id":"9911","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"80363","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"36903","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"41900","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"88170","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"82623","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"31307","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"90597","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"49477","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"49441","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"46577","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"39035","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"12089","name":"*","chunks":[],"async":false}},"85410":{"*":{"id":"94348","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"29345","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"16444","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"16042","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}} \ No newline at end of file diff --git a/.next/server/app/admin.html b/.next/server/app/admin.html new file mode 100644 index 0000000000000000000000000000000000000000..a25c2d5247df71e8d2c1693570d0ad3bd7286b2f --- /dev/null +++ b/.next/server/app/admin.html @@ -0,0 +1 @@ +Open Source Web Studio | Agentic AI Development 🎨

Redirecting...

\ No newline at end of file diff --git a/.next/server/app/admin.meta b/.next/server/app/admin.meta new file mode 100644 index 0000000000000000000000000000000000000000..f8f67934b28c7652709e80a6d5067177d8746264 --- /dev/null +++ b/.next/server/app/admin.meta @@ -0,0 +1,7 @@ +{ + "headers": { + "x-nextjs-stale-time": "300", + "x-nextjs-prerender": "1", + "x-next-cache-tags": "_N_T_/layout,_N_T_/admin/layout,_N_T_/admin/page,_N_T_/admin" + } +} \ No newline at end of file diff --git a/.next/server/app/admin.rsc b/.next/server/app/admin.rsc new file mode 100644 index 0000000000000000000000000000000000000000..e387ab329c049063b2f60d0ab2d4d57471fce58f --- /dev/null +++ b/.next/server/app/admin.rsc @@ -0,0 +1,28 @@ +1:"$Sreact.fragment" +2:I[61321,["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"ThemeProvider"] +3:I[15851,["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"Toaster"] +4:I[25388,["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"default"] +5:I[87555,[],""] +6:I[31295,[],""] +7:I[90894,[],"ClientPageRoot"] +8:I[57161,["3698","static/chunks/app/admin/page-e57627a1ade3c2ac.js"],"default"] +b:I[59665,[],"MetadataBoundary"] +d:I[59665,[],"OutletBoundary"] +10:I[74911,[],"AsyncMetadataOutlet"] +12:I[59665,[],"ViewportBoundary"] +14:I[26614,[],""] +:HL["/_next/static/media/58f662ed5ba12a72-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/c3f6eb667c0186c5-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/e4af272ccee01ff0-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/css/e420bcf6619594d2.css","style"] +0:{"P":null,"b":"xIN9K7b8Zi-Lclq3jrJRM","p":"","c":["","admin"],"i":false,"f":[[["",{"children":["admin",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/e420bcf6619594d2.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":"__variable_f367f3 __variable_438d47 antialiased bg-background h-[100dvh] overflow-hidden","suppressHydrationWarning":true,"children":["$","$L2",null,{"children":[["$","$L3",null,{"richColors":true,"position":"bottom-center"}],["$","$L4",null,{"children":["$","$L5",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]]}]}]}]]}],{"children":["admin",["$","$1","c",{"children":[null,["$","$L5",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$L7",null,{"Component":"$8","searchParams":{},"params":{},"promises":["$@9","$@a"]}],["$","$Lb",null,{"children":"$Lc"}],null,["$","$Ld",null,{"children":["$Le","$Lf",["$","$L10",null,{"promise":"$@11"}]]}]]}],{},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","GsXrlBQ3O2r-rQPA5grbv",{"children":[["$","$L12",null,{"children":"$L13"}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],null]}],false]],"m":"$undefined","G":["$14","$undefined"],"s":false,"S":true} +15:"$Sreact.suspense" +16:I[74911,[],"AsyncMetadata"] +9:{} +a:{} +c:["$","$15",null,{"fallback":null,"children":["$","$L16",null,{"promise":"$@17"}]}] +f:null +13:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1, maximum-scale=1"}],["$","meta","2",{"name":"theme-color","content":"#000000"}]] +e:null +17:{"metadata":[["$","title","0",{"children":"Open Source Web Studio | Agentic AI Development 🎨"}],["$","meta","1",{"name":"description","content":"Open Source Web Studio is an AI-powered development environment that enables autonomous multi-file development through intelligent tool usage. Build complete applications with natural language."}],["$","meta","2",{"name":"mobile-web-app-capable","content":"yes"}],["$","meta","3",{"name":"apple-mobile-web-app-title","content":"OSW-Studio"}],["$","meta","4",{"name":"apple-mobile-web-app-status-bar-style","content":"black-translucent"}],["$","meta","5",{"property":"og:title","content":"Open Source Web Studio | Agentic AI Development 🎨"}],["$","meta","6",{"property":"og:description","content":"Open Source Web Studio is an AI-powered development environment that enables autonomous multi-file development through intelligent tool usage. Build complete applications with natural language."}],["$","meta","7",{"property":"og:url","content":"https://huggingface.co/spaces/otst/osw-studio"}],["$","meta","8",{"property":"og:site_name","content":"Open Source Web Studio"}],["$","meta","9",{"property":"og:image","content":"https://huggingface.co/spaces/otst/osw-studio/resolve/main/banner.png"}],["$","meta","10",{"property":"og:image:width","content":"1200"}],["$","meta","11",{"property":"og:image:height","content":"630"}],["$","meta","12",{"property":"og:image:alt","content":"Open Source Web Studio - Agentic AI Development"}],["$","meta","13",{"name":"twitter:card","content":"summary_large_image"}],["$","meta","14",{"name":"twitter:title","content":"OSW-Studio | Agentic AI Development 🎨"}],["$","meta","15",{"name":"twitter:description","content":"OSW-Studio is an AI-powered development environment that enables autonomous multi-file development through intelligent tool usage. Build complete applications with natural language."}],["$","meta","16",{"name":"twitter:image","content":"https://huggingface.co/spaces/otst/osw-studio/resolve/main/banner.png"}],["$","link","17",{"rel":"shortcut icon","href":"/osw-studio-logo.svg"}],["$","link","18",{"rel":"icon","href":"/osw-studio-logo.svg"}],["$","link","19",{"rel":"apple-touch-icon","href":"/osw-studio-logo.svg"}]],"error":null,"digest":"$undefined"} +11:{"metadata":"$17:metadata","error":null,"digest":"$undefined"} diff --git a/.next/server/app/admin/docs.html b/.next/server/app/admin/docs.html new file mode 100644 index 0000000000000000000000000000000000000000..c19341384f4d0cde8d760294467f6fbd40f8b631 --- /dev/null +++ b/.next/server/app/admin/docs.html @@ -0,0 +1,39 @@ +Open Source Web Studio | Agentic AI Development 🎨
+ + + + + + + +
Docs
Loading documentation...
\ No newline at end of file diff --git a/.next/server/app/admin/docs.meta b/.next/server/app/admin/docs.meta new file mode 100644 index 0000000000000000000000000000000000000000..84b624fef4e878fb6f1633db2779a153d9ca1a2c --- /dev/null +++ b/.next/server/app/admin/docs.meta @@ -0,0 +1,7 @@ +{ + "headers": { + "x-nextjs-stale-time": "300", + "x-nextjs-prerender": "1", + "x-next-cache-tags": "_N_T_/layout,_N_T_/admin/layout,_N_T_/admin/docs/layout,_N_T_/admin/docs/page,_N_T_/admin/docs" + } +} \ No newline at end of file diff --git a/.next/server/app/admin/docs.rsc b/.next/server/app/admin/docs.rsc new file mode 100644 index 0000000000000000000000000000000000000000..ac6c3afd427c74420c71bec6c9c9dd1d3ef49daf --- /dev/null +++ b/.next/server/app/admin/docs.rsc @@ -0,0 +1,25 @@ +1:"$Sreact.fragment" +2:I[61321,["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"ThemeProvider"] +3:I[15851,["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"Toaster"] +4:I[25388,["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"default"] +5:I[87555,[],""] +6:I[31295,[],""] +7:I[19009,["5948","static/chunks/06bf0ff1-2f6b5dbae626a171.js","4316","static/chunks/ad2866b8-a4659a388c5e0680.js","6671","static/chunks/6671-cfa51652ff77a475.js","189","static/chunks/189-4f09a71b91c59be3.js","5370","static/chunks/5370-dad62d5f4907e0f9.js","4750","static/chunks/4750-b402a0050286a424.js","5375","static/chunks/5375-a5738c494d0f24e9.js","4004","static/chunks/app/admin/docs/page-eb61a40526263f2b.js"],"PageWrapper"] +8:I[59665,[],"MetadataBoundary"] +a:I[59665,[],"OutletBoundary"] +d:I[74911,[],"AsyncMetadataOutlet"] +f:I[59665,[],"ViewportBoundary"] +11:I[26614,[],""] +:HL["/_next/static/media/58f662ed5ba12a72-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/c3f6eb667c0186c5-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/e4af272ccee01ff0-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/css/e420bcf6619594d2.css","style"] +0:{"P":null,"b":"xIN9K7b8Zi-Lclq3jrJRM","p":"","c":["","admin","docs"],"i":false,"f":[[["",{"children":["admin",{"children":["docs",{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/e420bcf6619594d2.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":"__variable_f367f3 __variable_438d47 antialiased bg-background h-[100dvh] overflow-hidden","suppressHydrationWarning":true,"children":["$","$L2",null,{"children":[["$","$L3",null,{"richColors":true,"position":"bottom-center"}],["$","$L4",null,{"children":["$","$L5",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]]}]}]}]]}],{"children":["admin",["$","$1","c",{"children":[null,["$","$L5",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["docs",["$","$1","c",{"children":[null,["$","$L5",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$L7",null,{"view":"docs"}],["$","$L8",null,{"children":"$L9"}],null,["$","$La",null,{"children":["$Lb","$Lc",["$","$Ld",null,{"promise":"$@e"}]]}]]}],{},null,false]},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","nu5_KZOkoyMzD7KJ3962W",{"children":[["$","$Lf",null,{"children":"$L10"}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],null]}],false]],"m":"$undefined","G":["$11","$undefined"],"s":false,"S":true} +12:"$Sreact.suspense" +13:I[74911,[],"AsyncMetadata"] +9:["$","$12",null,{"fallback":null,"children":["$","$L13",null,{"promise":"$@14"}]}] +c:null +10:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1, maximum-scale=1"}],["$","meta","2",{"name":"theme-color","content":"#000000"}]] +b:null +14:{"metadata":[["$","title","0",{"children":"Open Source Web Studio | Agentic AI Development 🎨"}],["$","meta","1",{"name":"description","content":"Open Source Web Studio is an AI-powered development environment that enables autonomous multi-file development through intelligent tool usage. Build complete applications with natural language."}],["$","meta","2",{"name":"mobile-web-app-capable","content":"yes"}],["$","meta","3",{"name":"apple-mobile-web-app-title","content":"OSW-Studio"}],["$","meta","4",{"name":"apple-mobile-web-app-status-bar-style","content":"black-translucent"}],["$","meta","5",{"property":"og:title","content":"Open Source Web Studio | Agentic AI Development 🎨"}],["$","meta","6",{"property":"og:description","content":"Open Source Web Studio is an AI-powered development environment that enables autonomous multi-file development through intelligent tool usage. Build complete applications with natural language."}],["$","meta","7",{"property":"og:url","content":"https://huggingface.co/spaces/otst/osw-studio"}],["$","meta","8",{"property":"og:site_name","content":"Open Source Web Studio"}],["$","meta","9",{"property":"og:image","content":"https://huggingface.co/spaces/otst/osw-studio/resolve/main/banner.png"}],["$","meta","10",{"property":"og:image:width","content":"1200"}],["$","meta","11",{"property":"og:image:height","content":"630"}],["$","meta","12",{"property":"og:image:alt","content":"Open Source Web Studio - Agentic AI Development"}],["$","meta","13",{"name":"twitter:card","content":"summary_large_image"}],["$","meta","14",{"name":"twitter:title","content":"OSW-Studio | Agentic AI Development 🎨"}],["$","meta","15",{"name":"twitter:description","content":"OSW-Studio is an AI-powered development environment that enables autonomous multi-file development through intelligent tool usage. Build complete applications with natural language."}],["$","meta","16",{"name":"twitter:image","content":"https://huggingface.co/spaces/otst/osw-studio/resolve/main/banner.png"}],["$","link","17",{"rel":"shortcut icon","href":"/osw-studio-logo.svg"}],["$","link","18",{"rel":"icon","href":"/osw-studio-logo.svg"}],["$","link","19",{"rel":"apple-touch-icon","href":"/osw-studio-logo.svg"}]],"error":null,"digest":"$undefined"} +e:{"metadata":"$14:metadata","error":null,"digest":"$undefined"} diff --git a/.next/server/app/admin/docs/page.js b/.next/server/app/admin/docs/page.js new file mode 100644 index 0000000000000000000000000000000000000000..ca18e0c50a80a4ae9cf7f7ee1462ffd7879a4c0f --- /dev/null +++ b/.next/server/app/admin/docs/page.js @@ -0,0 +1 @@ +(()=>{var e={};e.id=4004,e.ids=[4004],e.modules={1708:e=>{"use strict";e.exports=require("node:process")},3295:e=>{"use strict";e.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19121:e=>{"use strict";e.exports=require("next/dist/server/app-render/action-async-storage.external.js")},21820:e=>{"use strict";e.exports=require("os")},27910:e=>{"use strict";e.exports=require("stream")},28354:e=>{"use strict";e.exports=require("util")},29021:e=>{"use strict";e.exports=require("fs")},29294:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:e=>{"use strict";e.exports=require("path")},34631:e=>{"use strict";e.exports=require("tls")},36167:(e,r,t)=>{Promise.resolve().then(t.bind(t,36903))},36271:(e,r,t)=>{"use strict";t.r(r),t.d(r,{default:()=>i});var s=t(37413),o=t(36903);function i(){return(0,s.jsx)(o.PageWrapper,{view:"docs"})}},36903:(e,r,t)=>{"use strict";t.d(r,{PageWrapper:()=>s});let s=(0,t(12907).registerClientReference)(function(){throw Error("Attempted to call PageWrapper() from the server but PageWrapper is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/page-wrapper/index.tsx","PageWrapper")},55511:e=>{"use strict";e.exports=require("crypto")},63033:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},66431:(e,r,t)=>{Promise.resolve().then(t.bind(t,69001))},69001:(e,r,t)=>{"use strict";t.d(r,{PageWrapper:()=>l});var s=t(60687),o=t(43210),i=t(46800),n=t(53975),a=t(76277),p=t(2565),u=t(13265),d=t(96597);function c({view:e,settingsTab:r}){let[t,p]=(0,o.useState)(null),[c,l]=(0,o.useState)(!1),x=t?(0,s.jsx)(a.a,{project:t,onBack:()=>p(null)}):(0,s.jsx)(n.f,{view:e,onProjectSelect:p,settingsTab:r});return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(i.M,{currentView:e,onNavigate:()=>{},onProjectSelect:p,onOpenAbout:()=>l(!0),showSidebar:!t,children:x}),(0,s.jsx)(u.V,{location:"global"}),(0,s.jsx)(d.V,{open:c,onOpenChange:l})]})}function l({view:e,settingsTab:r}){return(0,s.jsx)(p.g,{children:(0,s.jsx)(c,{view:e,settingsTab:r})})}},73136:e=>{"use strict";e.exports=require("node:url")},74998:e=>{"use strict";e.exports=require("perf_hooks")},76760:e=>{"use strict";e.exports=require("node:path")},79428:e=>{"use strict";e.exports=require("buffer")},91645:e=>{"use strict";e.exports=require("net")},94735:e=>{"use strict";e.exports=require("events")},98339:(e,r,t)=>{"use strict";t.r(r),t.d(r,{GlobalError:()=>n.a,__next_app__:()=>c,pages:()=>d,routeModule:()=>l,tree:()=>u});var s=t(65239),o=t(48088),i=t(88170),n=t.n(i),a=t(30893),p={};for(let e in a)0>["default","tree","pages","GlobalError","__next_app__","routeModule"].indexOf(e)&&(p[e]=()=>a[e]);t.d(r,p);let u={children:["",{children:["admin",{children:["docs",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(t.bind(t,36271)),"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/docs/page.tsx"]}]},{}]},{}]},{layout:[()=>Promise.resolve().then(t.bind(t,58014)),"/Users/otto/Desktop/deepstudio/osw-studio-git/app/layout.tsx"],"not-found":[()=>Promise.resolve().then(t.t.bind(t,57398,23)),"next/dist/client/components/not-found-error"],forbidden:[()=>Promise.resolve().then(t.t.bind(t,89999,23)),"next/dist/client/components/forbidden-error"],unauthorized:[()=>Promise.resolve().then(t.t.bind(t,65284,23)),"next/dist/client/components/unauthorized-error"]}]}.children,d=["/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/docs/page.tsx"],c={require:t,loadChunk:()=>Promise.resolve()},l=new s.AppPageRouteModule({definition:{kind:o.RouteKind.APP_PAGE,page:"/admin/docs/page",pathname:"/admin/docs",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:u}})}};var r=require("../../../webpack-runtime.js");r.C(e);var t=e=>r(r.s=e),s=r.X(0,[4447,8055,2168,32,9243,2437,5504],()=>t(98339));module.exports=s})(); \ No newline at end of file diff --git a/.next/server/app/admin/docs/page.js.nft.json b/.next/server/app/admin/docs/page.js.nft.json new file mode 100644 index 0000000000000000000000000000000000000000..2d9a23d86a9517a9d7e44b19a92d779d8aa1a91c --- /dev/null +++ b/.next/server/app/admin/docs/page.js.nft.json @@ -0,0 +1 @@ +{"version":1,"files":["../../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot-instance.js","../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot.external.js","../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../node_modules/next/package.json","../../../../../package.json","../../../../package.json","../../../chunks/1519.js","../../../chunks/2168.js","../../../chunks/2437.js","../../../chunks/32.js","../../../chunks/4447.js","../../../chunks/5504.js","../../../chunks/8055.js","../../../chunks/9243.js","../../../chunks/9579.js","../../../webpack-runtime.js","page_client-reference-manifest.js"]} \ No newline at end of file diff --git a/.next/server/app/admin/docs/page_client-reference-manifest.js b/.next/server/app/admin/docs/page_client-reference-manifest.js new file mode 100644 index 0000000000000000000000000000000000000000..7653a61655590a844b40fc5583e862b0e4801216 --- /dev/null +++ b/.next/server/app/admin/docs/page_client-reference-manifest.js @@ -0,0 +1 @@ +globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/admin/docs/page"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"3727":{"*":{"id":"12913","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"94593","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"69001","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"53014","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"35656","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"64628","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"97173","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"43555","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"40099","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"20435","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"62763","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"99197","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"28827","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"38243","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"86346","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"27924","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/tanstack-query-provider.tsx":{"id":25388,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/theme-provider.tsx":{"id":61321,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/ui/sonner.tsx":{"id":15851,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"variable\":\"--font-inter-sans\",\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"}":{"id":9755,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"PT_Sans\",\"arguments\":[{\"variable\":\"--font-ptSans-mono\",\"subsets\":[\"latin\"],\"weight\":[\"400\",\"700\"]}],\"variableName\":\"ptSans\"}":{"id":56382,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/assets/globals.css":{"id":85410,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/page-wrapper/index.tsx":{"id":19009,"name":"*","chunks":["5948","static/chunks/06bf0ff1-2f6b5dbae626a171.js","4316","static/chunks/ad2866b8-a4659a388c5e0680.js","6671","static/chunks/6671-cfa51652ff77a475.js","189","static/chunks/189-4f09a71b91c59be3.js","5370","static/chunks/5370-dad62d5f4907e0f9.js","4750","static/chunks/4750-b402a0050286a424.js","5375","static/chunks/5375-a5738c494d0f24e9.js","4004","static/chunks/app/admin/docs/page-eb61a40526263f2b.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/page.tsx":{"id":57161,"name":"*","chunks":["3698","static/chunks/app/admin/page-e57627a1ade3c2ac.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/test-generation/page.tsx":{"id":26910,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page.tsx":{"id":40796,"name":"*","chunks":["5948","static/chunks/06bf0ff1-2f6b5dbae626a171.js","4316","static/chunks/ad2866b8-a4659a388c5e0680.js","6671","static/chunks/6671-cfa51652ff77a475.js","189","static/chunks/189-4f09a71b91c59be3.js","5370","static/chunks/5370-dad62d5f4907e0f9.js","4750","static/chunks/4750-b402a0050286a424.js","5375","static/chunks/5375-a5738c494d0f24e9.js","8974","static/chunks/app/page-79207d5f775baf7d.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/login/page.tsx":{"id":3727,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/otto/Desktop/deepstudio/osw-studio-git/":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/layout":[{"inlined":false,"path":"static/css/e420bcf6619594d2.css"}],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/page":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/docs/page":[]},"rscModuleMapping":{"3727":{"*":{"id":"9911","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"80363","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"36903","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"41900","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"88170","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"82623","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"31307","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"90597","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"49477","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"49441","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"46577","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"39035","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"12089","name":"*","chunks":[],"async":false}},"85410":{"*":{"id":"94348","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"29345","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"16444","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"16042","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}} \ No newline at end of file diff --git a/.next/server/app/admin/login.html b/.next/server/app/admin/login.html new file mode 100644 index 0000000000000000000000000000000000000000..5e41fe758ff75171f5e104bc9ca0d36d7d2b1cfd --- /dev/null +++ b/.next/server/app/admin/login.html @@ -0,0 +1 @@ +Open Source Web Studio | Agentic AI Development 🎨

OSW Studio Admin

Enter your password to continue

Powered byOSW Studio
\ No newline at end of file diff --git a/.next/server/app/admin/login.meta b/.next/server/app/admin/login.meta new file mode 100644 index 0000000000000000000000000000000000000000..2afbcc8f8f4aba63a2105bb19b46b5445eb9755f --- /dev/null +++ b/.next/server/app/admin/login.meta @@ -0,0 +1,7 @@ +{ + "headers": { + "x-nextjs-stale-time": "300", + "x-nextjs-prerender": "1", + "x-next-cache-tags": "_N_T_/layout,_N_T_/admin/layout,_N_T_/admin/login/layout,_N_T_/admin/login/page,_N_T_/admin/login" + } +} \ No newline at end of file diff --git a/.next/server/app/admin/login.rsc b/.next/server/app/admin/login.rsc new file mode 100644 index 0000000000000000000000000000000000000000..eb8bef6144f303d7fb1537f69f6aac1c4118244e --- /dev/null +++ b/.next/server/app/admin/login.rsc @@ -0,0 +1,28 @@ +1:"$Sreact.fragment" +2:I[61321,["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"ThemeProvider"] +3:I[15851,["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"Toaster"] +4:I[25388,["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"default"] +5:I[87555,[],""] +6:I[31295,[],""] +7:I[90894,[],"ClientPageRoot"] +8:I[3727,["2116","static/chunks/app/admin/login/page-5470d9718e2ee0e3.js"],"default"] +b:I[59665,[],"MetadataBoundary"] +d:I[59665,[],"OutletBoundary"] +10:I[74911,[],"AsyncMetadataOutlet"] +12:I[59665,[],"ViewportBoundary"] +14:I[26614,[],""] +:HL["/_next/static/media/58f662ed5ba12a72-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/c3f6eb667c0186c5-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/e4af272ccee01ff0-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/css/e420bcf6619594d2.css","style"] +0:{"P":null,"b":"xIN9K7b8Zi-Lclq3jrJRM","p":"","c":["","admin","login"],"i":false,"f":[[["",{"children":["admin",{"children":["login",{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/e420bcf6619594d2.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":"__variable_f367f3 __variable_438d47 antialiased bg-background h-[100dvh] overflow-hidden","suppressHydrationWarning":true,"children":["$","$L2",null,{"children":[["$","$L3",null,{"richColors":true,"position":"bottom-center"}],["$","$L4",null,{"children":["$","$L5",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]]}]}]}]]}],{"children":["admin",["$","$1","c",{"children":[null,["$","$L5",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["login",["$","$1","c",{"children":[null,["$","$L5",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$L7",null,{"Component":"$8","searchParams":{},"params":{},"promises":["$@9","$@a"]}],["$","$Lb",null,{"children":"$Lc"}],null,["$","$Ld",null,{"children":["$Le","$Lf",["$","$L10",null,{"promise":"$@11"}]]}]]}],{},null,false]},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","KqAL5KTr7KP088tYuEttt",{"children":[["$","$L12",null,{"children":"$L13"}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],null]}],false]],"m":"$undefined","G":["$14","$undefined"],"s":false,"S":true} +15:"$Sreact.suspense" +16:I[74911,[],"AsyncMetadata"] +9:{} +a:{} +c:["$","$15",null,{"fallback":null,"children":["$","$L16",null,{"promise":"$@17"}]}] +f:null +13:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1, maximum-scale=1"}],["$","meta","2",{"name":"theme-color","content":"#000000"}]] +e:null +17:{"metadata":[["$","title","0",{"children":"Open Source Web Studio | Agentic AI Development 🎨"}],["$","meta","1",{"name":"description","content":"Open Source Web Studio is an AI-powered development environment that enables autonomous multi-file development through intelligent tool usage. Build complete applications with natural language."}],["$","meta","2",{"name":"mobile-web-app-capable","content":"yes"}],["$","meta","3",{"name":"apple-mobile-web-app-title","content":"OSW-Studio"}],["$","meta","4",{"name":"apple-mobile-web-app-status-bar-style","content":"black-translucent"}],["$","meta","5",{"property":"og:title","content":"Open Source Web Studio | Agentic AI Development 🎨"}],["$","meta","6",{"property":"og:description","content":"Open Source Web Studio is an AI-powered development environment that enables autonomous multi-file development through intelligent tool usage. Build complete applications with natural language."}],["$","meta","7",{"property":"og:url","content":"https://huggingface.co/spaces/otst/osw-studio"}],["$","meta","8",{"property":"og:site_name","content":"Open Source Web Studio"}],["$","meta","9",{"property":"og:image","content":"https://huggingface.co/spaces/otst/osw-studio/resolve/main/banner.png"}],["$","meta","10",{"property":"og:image:width","content":"1200"}],["$","meta","11",{"property":"og:image:height","content":"630"}],["$","meta","12",{"property":"og:image:alt","content":"Open Source Web Studio - Agentic AI Development"}],["$","meta","13",{"name":"twitter:card","content":"summary_large_image"}],["$","meta","14",{"name":"twitter:title","content":"OSW-Studio | Agentic AI Development 🎨"}],["$","meta","15",{"name":"twitter:description","content":"OSW-Studio is an AI-powered development environment that enables autonomous multi-file development through intelligent tool usage. Build complete applications with natural language."}],["$","meta","16",{"name":"twitter:image","content":"https://huggingface.co/spaces/otst/osw-studio/resolve/main/banner.png"}],["$","link","17",{"rel":"shortcut icon","href":"/osw-studio-logo.svg"}],["$","link","18",{"rel":"icon","href":"/osw-studio-logo.svg"}],["$","link","19",{"rel":"apple-touch-icon","href":"/osw-studio-logo.svg"}]],"error":null,"digest":"$undefined"} +11:{"metadata":"$17:metadata","error":null,"digest":"$undefined"} diff --git a/.next/server/app/admin/login/page.js b/.next/server/app/admin/login/page.js new file mode 100644 index 0000000000000000000000000000000000000000..32a82a6f801cd6a3e7eaf272784150af8f5ce8e8 --- /dev/null +++ b/.next/server/app/admin/login/page.js @@ -0,0 +1 @@ +(()=>{var e={};e.id=2116,e.ids=[2116],e.modules={3295:e=>{"use strict";e.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},9911:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>r});let r=(0,s(12907).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/login/page.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/login/page.tsx","default")},10716:(e,t,s)=>{Promise.resolve().then(s.t.bind(s,86346,23)),Promise.resolve().then(s.t.bind(s,27924,23)),Promise.resolve().then(s.t.bind(s,35656,23)),Promise.resolve().then(s.t.bind(s,40099,23)),Promise.resolve().then(s.t.bind(s,38243,23)),Promise.resolve().then(s.t.bind(s,28827,23)),Promise.resolve().then(s.t.bind(s,62763,23)),Promise.resolve().then(s.t.bind(s,97173,23))},10846:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},12913:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>l});var r=s(60687),n=s(76180),o=s.n(n),i=s(43210),a=s(16189);function l(){let e=(0,a.useRouter)(),[t,s]=(0,i.useState)(""),[n,l]=(0,i.useState)(!1),[c,d]=(0,i.useState)(""),u=async s=>{s.preventDefault(),d(""),l(!0);try{let s=await fetch("/api/auth/login",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({password:t})}),r=await s.json();if(!s.ok)return void d(r.error||"Login failed");e.push("/admin")}catch(e){d("An error occurred. Please try again."),console.error("Login error:",e)}finally{l(!1)}};return(0,r.jsxs)("div",{className:"jsx-301ec7a03a062a2c min-h-screen bg-[#0a0a0a] text-white flex items-center justify-center p-4 animate-fadeIn",children:[(0,r.jsx)(o(),{id:"301ec7a03a062a2c",children:"@-webkit-keyframes fadeIn{from{opacity:0}to{opacity:1}}@-moz-keyframes fadeIn{from{opacity:0}to{opacity:1}}@-o-keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@-webkit-keyframes float{0%,100%{-webkit-transform:translatey(0px);transform:translatey(0px)}50%{-webkit-transform:translatey(-10px);transform:translatey(-10px)}}@-moz-keyframes float{0%,100%{-moz-transform:translatey(0px);transform:translatey(0px)}50%{-moz-transform:translatey(-10px);transform:translatey(-10px)}}@-o-keyframes float{0%,100%{-o-transform:translatey(0px);transform:translatey(0px)}50%{-o-transform:translatey(-10px);transform:translatey(-10px)}}@keyframes float{0%,100%{-webkit-transform:translatey(0px);-moz-transform:translatey(0px);-o-transform:translatey(0px);transform:translatey(0px)}50%{-webkit-transform:translatey(-10px);-moz-transform:translatey(-10px);-o-transform:translatey(-10px);transform:translatey(-10px)}}.animate-fadeIn.jsx-301ec7a03a062a2c{-webkit-animation:fadeIn.6s ease-in;-moz-animation:fadeIn.6s ease-in;-o-animation:fadeIn.6s ease-in;animation:fadeIn.6s ease-in}.animate-float.jsx-301ec7a03a062a2c{-webkit-animation:float 3s ease-in-out infinite;-moz-animation:float 3s ease-in-out infinite;-o-animation:float 3s ease-in-out infinite;animation:float 3s ease-in-out infinite}"}),(0,r.jsxs)("div",{className:"jsx-301ec7a03a062a2c max-w-md w-full text-center",children:[(0,r.jsx)("div",{className:"jsx-301ec7a03a062a2c mb-8 animate-float",children:(0,r.jsxs)("svg",{version:"1.0",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 256 256",preserveAspectRatio:"xMidYMid meet",className:"jsx-301ec7a03a062a2c w-24 h-24 mx-auto",children:[(0,r.jsx)("rect",{x:"0",y:"0",width:"256",height:"256",rx:"20",ry:"20",fill:"#000000",className:"jsx-301ec7a03a062a2c"}),(0,r.jsxs)("g",{transform:"translate(0,256) scale(0.0476,-0.0476)",fill:"#ffffff",stroke:"none",className:"jsx-301ec7a03a062a2c",children:[(0,r.jsx)("path",{d:"M725 4825 c-50 -18 -100 -71 -114 -122 -15 -54 -15 -1573 0 -1628 16 -55 44 -92 89 -115 38 -19 62 -20 855 -20 781 0 817 1 853 19 46 23 67 46 87 94 13 32 15 138 15 830 0 566 -3 804 -11 828 -16 45 -55 87 -104 110 -38 18 -82 19 -835 18 -659 0 -802 -2 -835 -14z m1351 -371 c15 -11 37 -33 48 -48 21 -27 21 -38 21 -520 0 -547 3 -523 -68 -566 -31 -19 -54 -20 -521 -20 -483 0 -489 0 -524 22 -20 12 -42 38 -53 62 -17 38 -19 74 -19 504 0 496 1 503 51 548 46 41 66 43 561 41 464 -2 477 -3 504 -23z",className:"jsx-301ec7a03a062a2c"}),(0,r.jsx)("path",{d:"M3058 4830 c-44 -13 -87 -49 -108 -90 -19 -37 -20 -61 -20 -471 0 -428 0 -432 22 -471 13 -22 41 -51 64 -64 41 -24 41 -24 685 -24 645 0 645 0 689 -22 63 -33 80 -71 80 -183 0 -101 -15 -144 -63 -179 -28 -21 -41 -21 -695 -26 -666 -5 -667 -5 -702 -27 -109 -68 -106 -247 5 -310 40 -23 40 -23 858 -23 664 0 824 3 850 14 43 17 95 78 102 118 3 18 5 225 3 459 -3 426 -3 426 -31 462 -58 76 -15 71 -757 77 -620 5 -667 6 -692 23 -44 30 -58 74 -58 179 0 116 16 153 80 186 44 22 44 22 693 22 710 0 678 -3 731 60 80 96 41 240 -79 287 -35 14 -1612 17 -1657 3z",className:"jsx-301ec7a03a062a2c"}),(0,r.jsx)("path",{d:"M702 2509 c-48 -24 -75 -57 -91 -114 -9 -29 -11 -253 -9 -840 3 -779 4 -801 23 -834 11 -19 37 -48 58 -65 39 -31 39 -31 380 -31 342 0 342 0 399 28 31 15 63 39 73 53 16 25 16 25 62 -16 77 -67 104 -71 470 -68 320 3 320 3 360 30 24 16 49 44 62 70 21 44 21 49 21 854 0 773 -1 811 -19 851 -35 76 -135 120 -215 93 -41 -13 -90 -51 -109 -84 -9 -16 -13 -187 -17 -688 -5 -654 -5 -667 -26 -694 -43 -58 -68 -69 -169 -72 -82 -3 -99 -1 -133 18 -22 12 -49 39 -61 60 -21 37 -21 45 -21 664 0 439 -3 641 -11 673 -32 123 -190 174 -285 91 -73 -64 -69 -20 -70 -743 0 -721 3 -687 -66 -737 -28 -20 -47 -23 -133 -26 -91 -3 -103 -2 -134 20 -19 13 -44 36 -55 51 -21 28 -21 38 -26 695 -4 481 -8 673 -17 687 -50 87 -152 118 -241 74z",className:"jsx-301ec7a03a062a2c"}),(0,r.jsx)("path",{d:"M3047 2515 c-47 -16 -81 -46 -101 -90 -14 -28 -16 -95 -16 -463 0 -281 4 -440 11 -459 15 -40 48 -73 94 -94 38 -17 79 -19 685 -19 626 0 646 -1 678 -20 58 -35 72 -72 72 -185 0 -110 -14 -147 -67 -182 -25 -17 -73 -18 -698 -23 -672 -5 -672 -5 -708 -33 -20 -15 -44 -42 -53 -60 -21 -39 -21 -125 -1 -163 20 -38 65 -80 100 -93 19 -8 289 -11 833 -11 701 0 809 2 841 15 48 20 71 41 94 88 19 35 19 60 17 480 -3 444 -3 444 -30 479 -54 71 -23 68 -740 68 -612 0 -645 1 -685 20 -67 30 -83 66 -83 183 0 116 14 156 68 189 35 21 35 21 691 22 606 1 658 2 688 19 137 74 130 264 -12 328 -38 18 -85 19 -840 18 -652 0 -807 -2 -838 -14z",className:"jsx-301ec7a03a062a2c"})]})]})}),(0,r.jsx)("h1",{className:"jsx-301ec7a03a062a2c text-3xl font-semibold mb-2 tracking-tight",children:"OSW Studio Admin"}),(0,r.jsx)("p",{className:"jsx-301ec7a03a062a2c text-zinc-400 mb-8",children:"Enter your password to continue"}),(0,r.jsxs)("form",{onSubmit:u,className:"jsx-301ec7a03a062a2c space-y-4",children:[(0,r.jsxs)("div",{className:"jsx-301ec7a03a062a2c text-left",children:[(0,r.jsx)("label",{htmlFor:"password",className:"jsx-301ec7a03a062a2c block text-sm font-medium text-zinc-400 mb-2",children:"Password"}),(0,r.jsx)("input",{id:"password",type:"password",value:t,onChange:e=>s(e.target.value),placeholder:"Enter your password",required:!0,autoFocus:!0,className:"jsx-301ec7a03a062a2c w-full px-4 py-3 bg-zinc-900 border border-zinc-800 rounded-lg text-white placeholder-zinc-500 focus:outline-none focus:ring-2 focus:ring-orange-500 focus:border-transparent transition-all"})]}),c&&(0,r.jsx)("div",{className:"jsx-301ec7a03a062a2c p-3 bg-red-900/20 border border-red-800 text-red-400 rounded-lg text-sm",children:c}),(0,r.jsx)("button",{type:"submit",disabled:n,className:"jsx-301ec7a03a062a2c w-full bg-orange-600 hover:bg-orange-700 text-white font-medium py-3 px-4 rounded-lg transition-colors disabled:bg-zinc-700 disabled:text-zinc-500 disabled:cursor-not-allowed",children:n?"Logging in...":"Login"})]}),(0,r.jsxs)("div",{className:"jsx-301ec7a03a062a2c mt-12 pt-6 border-t border-zinc-800 flex items-center justify-center gap-2 text-sm text-zinc-500",children:[(0,r.jsx)("span",{className:"jsx-301ec7a03a062a2c",children:"Powered by"}),(0,r.jsxs)("svg",{version:"1.0",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 256 256",preserveAspectRatio:"xMidYMid meet",className:"jsx-301ec7a03a062a2c w-5 h-5 opacity-80",children:[(0,r.jsx)("rect",{x:"0",y:"0",width:"256",height:"256",rx:"20",ry:"20",fill:"#52525b",className:"jsx-301ec7a03a062a2c"}),(0,r.jsxs)("g",{transform:"translate(0,256) scale(0.0476,-0.0476)",fill:"#ffffff",stroke:"none",className:"jsx-301ec7a03a062a2c",children:[(0,r.jsx)("path",{d:"M725 4825 c-50 -18 -100 -71 -114 -122 -15 -54 -15 -1573 0 -1628 16 -55 44 -92 89 -115 38 -19 62 -20 855 -20 781 0 817 1 853 19 46 23 67 46 87 94 13 32 15 138 15 830 0 566 -3 804 -11 828 -16 45 -55 87 -104 110 -38 18 -82 19 -835 18 -659 0 -802 -2 -835 -14z m1351 -371 c15 -11 37 -33 48 -48 21 -27 21 -38 21 -520 0 -547 3 -523 -68 -566 -31 -19 -54 -20 -521 -20 -483 0 -489 0 -524 22 -20 12 -42 38 -53 62 -17 38 -19 74 -19 504 0 496 1 503 51 548 46 41 66 43 561 41 464 -2 477 -3 504 -23z",className:"jsx-301ec7a03a062a2c"}),(0,r.jsx)("path",{d:"M3058 4830 c-44 -13 -87 -49 -108 -90 -19 -37 -20 -61 -20 -471 0 -428 0 -432 22 -471 13 -22 41 -51 64 -64 41 -24 41 -24 685 -24 645 0 645 0 689 -22 63 -33 80 -71 80 -183 0 -101 -15 -144 -63 -179 -28 -21 -41 -21 -695 -26 -666 -5 -667 -5 -702 -27 -109 -68 -106 -247 5 -310 40 -23 40 -23 858 -23 664 0 824 3 850 14 43 17 95 78 102 118 3 18 5 225 3 459 -3 426 -3 426 -31 462 -58 76 -15 71 -757 77 -620 5 -667 6 -692 23 -44 30 -58 74 -58 179 0 116 16 153 80 186 44 22 44 22 693 22 710 0 678 -3 731 60 80 96 41 240 -79 287 -35 14 -1612 17 -1657 3z",className:"jsx-301ec7a03a062a2c"}),(0,r.jsx)("path",{d:"M702 2509 c-48 -24 -75 -57 -91 -114 -9 -29 -11 -253 -9 -840 3 -779 4 -801 23 -834 11 -19 37 -48 58 -65 39 -31 39 -31 380 -31 342 0 342 0 399 28 31 15 63 39 73 53 16 25 16 25 62 -16 77 -67 104 -71 470 -68 320 3 320 3 360 30 24 16 49 44 62 70 21 44 21 49 21 854 0 773 -1 811 -19 851 -35 76 -135 120 -215 93 -41 -13 -90 -51 -109 -84 -9 -16 -13 -187 -17 -688 -5 -654 -5 -667 -26 -694 -43 -58 -68 -69 -169 -72 -82 -3 -99 -1 -133 18 -22 12 -49 39 -61 60 -21 37 -21 45 -21 664 0 439 -3 641 -11 673 -32 123 -190 174 -285 91 -73 -64 -69 -20 -70 -743 0 -721 3 -687 -66 -737 -28 -20 -47 -23 -133 -26 -91 -3 -103 -2 -134 20 -19 13 -44 36 -55 51 -21 28 -21 38 -26 695 -4 481 -8 673 -17 687 -50 87 -152 118 -241 74z",className:"jsx-301ec7a03a062a2c"}),(0,r.jsx)("path",{d:"M3047 2515 c-47 -16 -81 -46 -101 -90 -14 -28 -16 -95 -16 -463 0 -281 4 -440 11 -459 15 -40 48 -73 94 -94 38 -17 79 -19 685 -19 626 0 646 -1 678 -20 58 -35 72 -72 72 -185 0 -110 -14 -147 -67 -182 -25 -17 -73 -18 -698 -23 -672 -5 -672 -5 -708 -33 -20 -15 -44 -42 -53 -60 -21 -39 -21 -125 -1 -163 20 -38 65 -80 100 -93 19 -8 289 -11 833 -11 701 0 809 2 841 15 48 20 71 41 94 88 19 35 19 60 17 480 -3 444 -3 444 -30 479 -54 71 -23 68 -740 68 -612 0 -645 1 -685 20 -67 30 -83 66 -83 183 0 116 14 156 68 189 35 21 35 21 691 22 606 1 658 2 688 19 137 74 130 264 -12 328 -38 18 -85 19 -840 18 -652 0 -807 -2 -838 -14z",className:"jsx-301ec7a03a062a2c"})]})]}),(0,r.jsx)("span",{className:"jsx-301ec7a03a062a2c",children:"OSW Studio"})]})]})]})}},16189:(e,t,s)=>{"use strict";var r=s(65773);s.o(r,"useRouter")&&s.d(t,{useRouter:function(){return r.useRouter}}),s.o(r,"useSearchParams")&&s.d(t,{useSearchParams:function(){return r.useSearchParams}})},17841:(e,t,s)=>{Promise.resolve().then(s.bind(s,12913))},19121:e=>{"use strict";e.exports=require("next/dist/server/app-render/action-async-storage.external.js")},29294:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:e=>{"use strict";e.exports=require("path")},39035:(e,t,s)=>{"use strict";s.d(t,{ThemeProvider:()=>r});let r=(0,s(12907).registerClientReference)(function(){throw Error("Attempted to call ThemeProvider() from the server but ThemeProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/theme-provider.tsx","ThemeProvider")},41900:(e,t,s)=>{"use strict";s.d(t,{default:()=>r});let r=(0,s(12907).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/tanstack-query-provider.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/tanstack-query-provider.tsx","default")},52572:(e,t,s)=>{Promise.resolve().then(s.t.bind(s,16444,23)),Promise.resolve().then(s.t.bind(s,16042,23)),Promise.resolve().then(s.t.bind(s,88170,23)),Promise.resolve().then(s.t.bind(s,49477,23)),Promise.resolve().then(s.t.bind(s,29345,23)),Promise.resolve().then(s.t.bind(s,12089,23)),Promise.resolve().then(s.t.bind(s,46577,23)),Promise.resolve().then(s.t.bind(s,31307,23))},52689:(e,t,s)=>{Promise.resolve().then(s.bind(s,9911))},53014:(e,t,s)=>{"use strict";s.d(t,{default:()=>i});var r=s(60687),n=s(26553),o=s(8693);function i({children:e}){let t=new n.E;return(0,r.jsx)(o.Ht,{client:t,children:e})}},54261:(e,t,s)=>{"use strict";s.r(t),s.d(t,{GlobalError:()=>i.a,__next_app__:()=>u,pages:()=>d,routeModule:()=>p,tree:()=>c});var r=s(65239),n=s(48088),o=s(88170),i=s.n(o),a=s(30893),l={};for(let e in a)0>["default","tree","pages","GlobalError","__next_app__","routeModule"].indexOf(e)&&(l[e]=()=>a[e]);s.d(t,l);let c={children:["",{children:["admin",{children:["login",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(s.bind(s,9911)),"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/login/page.tsx"]}]},{}]},{}]},{layout:[()=>Promise.resolve().then(s.bind(s,58014)),"/Users/otto/Desktop/deepstudio/osw-studio-git/app/layout.tsx"],"not-found":[()=>Promise.resolve().then(s.t.bind(s,57398,23)),"next/dist/client/components/not-found-error"],forbidden:[()=>Promise.resolve().then(s.t.bind(s,89999,23)),"next/dist/client/components/forbidden-error"],unauthorized:[()=>Promise.resolve().then(s.t.bind(s,65284,23)),"next/dist/client/components/unauthorized-error"]}]}.children,d=["/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/login/page.tsx"],u={require:s,loadChunk:()=>Promise.resolve()},p=new r.AppPageRouteModule({definition:{kind:n.RouteKind.APP_PAGE,page:"/admin/login/page",pathname:"/admin/login",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:c}})},54920:(e,t,s)=>{Promise.resolve().then(s.bind(s,53014)),Promise.resolve().then(s.bind(s,99197)),Promise.resolve().then(s.bind(s,94593))},56397:()=>{},58014:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>m,metadata:()=>u,viewport:()=>p});var r=s(37413),n=s(95474),o=s.n(n),i=s(31015),a=s.n(i),l=s(41900),c=s(39035);s(94348);var d=s(80363);let u={title:"Open Source Web Studio | Agentic AI Development \uD83C\uDFA8",description:"Open Source Web Studio is an AI-powered development environment that enables autonomous multi-file development through intelligent tool usage. Build complete applications with natural language.",openGraph:{title:"Open Source Web Studio | Agentic AI Development \uD83C\uDFA8",description:"Open Source Web Studio is an AI-powered development environment that enables autonomous multi-file development through intelligent tool usage. Build complete applications with natural language.",url:"https://huggingface.co/spaces/otst/osw-studio",siteName:"Open Source Web Studio",images:[{url:"https://huggingface.co/spaces/otst/osw-studio/resolve/main/banner.png",width:1200,height:630,alt:"Open Source Web Studio - Agentic AI Development"}]},twitter:{card:"summary_large_image",title:"OSW-Studio | Agentic AI Development \uD83C\uDFA8",description:"OSW-Studio is an AI-powered development environment that enables autonomous multi-file development through intelligent tool usage. Build complete applications with natural language.",images:["https://huggingface.co/spaces/otst/osw-studio/resolve/main/banner.png"]},appleWebApp:{capable:!0,title:"OSW-Studio",statusBarStyle:"black-translucent"},icons:{icon:"/osw-studio-logo.svg",shortcut:"/osw-studio-logo.svg",apple:"/osw-studio-logo.svg"}},p={initialScale:1,maximumScale:1,themeColor:"#000000"};function m({children:e}){return(0,r.jsx)("html",{lang:"en",suppressHydrationWarning:!0,children:(0,r.jsx)("body",{className:`${o().variable} ${a().variable} antialiased bg-background h-[100dvh] overflow-hidden`,suppressHydrationWarning:!0,children:(0,r.jsxs)(c.ThemeProvider,{children:[(0,r.jsx)(d.Toaster,{richColors:!0,position:"bottom-center"}),(0,r.jsx)(l.default,{children:e})]})})})}},63033:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},75913:(e,t,s)=>{"use strict";s(56397);var r=s(43210),n=function(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}(r),o="undefined"!=typeof process&&process.env&&!0,i=function(e){return"[object String]"===Object.prototype.toString.call(e)},a=function(){function e(e){var t=void 0===e?{}:e,s=t.name,r=void 0===s?"stylesheet":s,n=t.optimizeForSpeed,a=void 0===n?o:n;l(i(r),"`name` must be a string"),this._name=r,this._deletedRulePlaceholder="#"+r+"-deleted-rule____{}",l("boolean"==typeof a,"`optimizeForSpeed` must be a boolean"),this._optimizeForSpeed=a,this._serverSheet=void 0,this._tags=[],this._injected=!1,this._rulesCount=0,this._nonce=null}var t,s=e.prototype;return s.setOptimizeForSpeed=function(e){l("boolean"==typeof e,"`setOptimizeForSpeed` accepts a boolean"),l(0===this._rulesCount,"optimizeForSpeed cannot be when rules have already been inserted"),this.flush(),this._optimizeForSpeed=e,this.inject()},s.isOptimizeForSpeed=function(){return this._optimizeForSpeed},s.inject=function(){var e=this;l(!this._injected,"sheet already injected"),this._injected=!0,this._serverSheet={cssRules:[],insertRule:function(t,s){return"number"==typeof s?e._serverSheet.cssRules[s]={cssText:t}:e._serverSheet.cssRules.push({cssText:t}),s},deleteRule:function(t){e._serverSheet.cssRules[t]=null}}},s.getSheetForTag=function(e){if(e.sheet)return e.sheet;for(var t=0;t>>0},d={};function u(e,t){if(!t)return"jsx-"+e;var s=String(t),r=e+s;return d[r]||(d[r]="jsx-"+c(e+"-"+s)),d[r]}function p(e,t){var s=e+(t=t.replace(/\/style/gi,"\\/style"));return d[s]||(d[s]=t.replace(/__jsx-style-dynamic-selector/g,e)),d[s]}var m=function(){function e(e){var t=void 0===e?{}:e,s=t.styleSheet,r=void 0===s?null:s,n=t.optimizeForSpeed,o=void 0!==n&&n;this._sheet=r||new a({name:"styled-jsx",optimizeForSpeed:o}),this._sheet.inject(),r&&"boolean"==typeof o&&(this._sheet.setOptimizeForSpeed(o),this._optimizeForSpeed=this._sheet.isOptimizeForSpeed()),this._fromServer=void 0,this._indices={},this._instancesCounts={}}var t=e.prototype;return t.add=function(e){var t=this;void 0===this._optimizeForSpeed&&(this._optimizeForSpeed=Array.isArray(e.children),this._sheet.setOptimizeForSpeed(this._optimizeForSpeed),this._optimizeForSpeed=this._sheet.isOptimizeForSpeed());var s=this.getIdAndRules(e),r=s.styleId,n=s.rules;if(r in this._instancesCounts){this._instancesCounts[r]+=1;return}var o=n.map(function(e){return t._sheet.insertRule(e)}).filter(function(e){return -1!==e});this._indices[r]=o,this._instancesCounts[r]=1},t.remove=function(e){var t=this,s=this.getIdAndRules(e).styleId;if(function(e,t){if(!e)throw Error("StyleSheetRegistry: "+t+".")}(s in this._instancesCounts,"styleId: `"+s+"` not found"),this._instancesCounts[s]-=1,this._instancesCounts[s]<1){var r=this._fromServer&&this._fromServer[s];r?(r.parentNode.removeChild(r),delete this._fromServer[s]):(this._indices[s].forEach(function(e){return t._sheet.deleteRule(e)}),delete this._indices[s]),delete this._instancesCounts[s]}},t.update=function(e,t){this.add(t),this.remove(e)},t.flush=function(){this._sheet.flush(),this._sheet.inject(),this._fromServer=void 0,this._indices={},this._instancesCounts={}},t.cssRules=function(){var e=this,t=this._fromServer?Object.keys(this._fromServer).map(function(t){return[t,e._fromServer[t]]}):[],s=this._sheet.cssRules();return t.concat(Object.keys(this._indices).map(function(t){return[t,e._indices[t].map(function(e){return s[e].cssText}).join(e._optimizeForSpeed?"":"\n")]}).filter(function(e){return!!e[1]}))},t.styles=function(e){var t,s;return t=this.cssRules(),void 0===(s=e)&&(s={}),t.map(function(e){var t=e[0],r=e[1];return n.default.createElement("style",{id:"__"+t,key:"__"+t,nonce:s.nonce?s.nonce:void 0,dangerouslySetInnerHTML:{__html:r}})})},t.getIdAndRules=function(e){var t=e.children,s=e.dynamic,r=e.id;if(s){var n=u(r,s);return{styleId:n,rules:Array.isArray(t)?t.map(function(e){return p(n,e)}):[p(n,t)]}}return{styleId:u(r),rules:Array.isArray(t)?t:[t]}},t.selectFromServer=function(){return Array.prototype.slice.call(document.querySelectorAll('[id^="__jsx-"]')).reduce(function(e,t){return e[t.id.slice(2)]=t,e},{})},e}(),h=r.createContext(null);h.displayName="StyleSheetContext";n.default.useInsertionEffect||n.default.useLayoutEffect;var f=void 0;function v(e){var t=f||r.useContext(h);return t&&t.add(e),null}v.dynamic=function(e){return e.map(function(e){return u(e[0],e[1])}).join(" ")},t.style=v},76180:(e,t,s)=>{"use strict";e.exports=s(75913).style},80363:(e,t,s)=>{"use strict";s.d(t,{Toaster:()=>r});let r=(0,s(12907).registerClientReference)(function(){throw Error("Attempted to call Toaster() from the server but Toaster is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/ui/sonner.tsx","Toaster")},91368:(e,t,s)=>{Promise.resolve().then(s.bind(s,41900)),Promise.resolve().then(s.bind(s,39035)),Promise.resolve().then(s.bind(s,80363))},94348:()=>{},94593:(e,t,s)=>{"use strict";s.d(t,{Toaster:()=>i});var r=s(60687),n=s(10218),o=s(52581);let i=({...e})=>{let{theme:t}=(0,n.D)();return(0,r.jsx)(o.l$,{theme:t,className:"toaster group",style:{"--normal-bg":"var(--popover)","--normal-text":"var(--popover-foreground)","--normal-border":"var(--border)"},...e})}},99197:(e,t,s)=>{"use strict";s.d(t,{ThemeProvider:()=>o});var r=s(60687);s(43210);var n=s(10218);function o({children:e,attribute:t="class",defaultTheme:s="dark",enableSystem:o=!0,storageKey:i="osw-studio-theme",...a}){return(0,r.jsx)(n.N,{attribute:t,defaultTheme:s,enableSystem:o,storageKey:i,disableTransitionOnChange:!0,...a,children:e})}}};var t=require("../../../webpack-runtime.js");t.C(e);var s=e=>t(t.s=e),r=t.X(0,[4447,8055],()=>s(54261));module.exports=r})(); \ No newline at end of file diff --git a/.next/server/app/admin/login/page.js.nft.json b/.next/server/app/admin/login/page.js.nft.json new file mode 100644 index 0000000000000000000000000000000000000000..a0f6cb1d7f70a587b1138f9091917d87885d3167 --- /dev/null +++ b/.next/server/app/admin/login/page.js.nft.json @@ -0,0 +1 @@ +{"version":1,"files":["../../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot-instance.js","../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot.external.js","../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../node_modules/next/package.json","../../../../package.json","../../../chunks/4447.js","../../../chunks/8055.js","../../../webpack-runtime.js","page_client-reference-manifest.js"]} \ No newline at end of file diff --git a/.next/server/app/admin/login/page_client-reference-manifest.js b/.next/server/app/admin/login/page_client-reference-manifest.js new file mode 100644 index 0000000000000000000000000000000000000000..6fbff2f57d97a85259520821ff1e8d05d0c6c54a --- /dev/null +++ b/.next/server/app/admin/login/page_client-reference-manifest.js @@ -0,0 +1 @@ +globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/admin/login/page"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"3727":{"*":{"id":"12913","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"94593","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"69001","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"53014","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"35656","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"64628","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"97173","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"43555","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"40099","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"20435","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"62763","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"99197","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"28827","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"38243","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"86346","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"27924","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/tanstack-query-provider.tsx":{"id":25388,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/theme-provider.tsx":{"id":61321,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/ui/sonner.tsx":{"id":15851,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"variable\":\"--font-inter-sans\",\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"}":{"id":9755,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"PT_Sans\",\"arguments\":[{\"variable\":\"--font-ptSans-mono\",\"subsets\":[\"latin\"],\"weight\":[\"400\",\"700\"]}],\"variableName\":\"ptSans\"}":{"id":56382,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/assets/globals.css":{"id":85410,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/page-wrapper/index.tsx":{"id":19009,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/page.tsx":{"id":57161,"name":"*","chunks":["3698","static/chunks/app/admin/page-e57627a1ade3c2ac.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/test-generation/page.tsx":{"id":26910,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page.tsx":{"id":40796,"name":"*","chunks":["5948","static/chunks/06bf0ff1-2f6b5dbae626a171.js","4316","static/chunks/ad2866b8-a4659a388c5e0680.js","6671","static/chunks/6671-cfa51652ff77a475.js","189","static/chunks/189-4f09a71b91c59be3.js","5370","static/chunks/5370-dad62d5f4907e0f9.js","4750","static/chunks/4750-b402a0050286a424.js","5375","static/chunks/5375-a5738c494d0f24e9.js","8974","static/chunks/app/page-79207d5f775baf7d.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/login/page.tsx":{"id":3727,"name":"*","chunks":["2116","static/chunks/app/admin/login/page-5470d9718e2ee0e3.js"],"async":false}},"entryCSSFiles":{"/Users/otto/Desktop/deepstudio/osw-studio-git/":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/layout":[{"inlined":false,"path":"static/css/e420bcf6619594d2.css"}],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/page":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/login/page":[]},"rscModuleMapping":{"3727":{"*":{"id":"9911","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"80363","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"36903","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"41900","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"88170","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"82623","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"31307","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"90597","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"49477","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"49441","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"46577","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"39035","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"12089","name":"*","chunks":[],"async":false}},"85410":{"*":{"id":"94348","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"29345","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"16444","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"16042","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}} \ No newline at end of file diff --git a/.next/server/app/admin/page.js b/.next/server/app/admin/page.js new file mode 100644 index 0000000000000000000000000000000000000000..2cb834c4de0bd47b3e0fadf36035c6b2864f6785 --- /dev/null +++ b/.next/server/app/admin/page.js @@ -0,0 +1 @@ +(()=>{var e={};e.id=3698,e.ids=[3698],e.modules={3295:e=>{"use strict";e.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},8521:(e,t,r)=>{Promise.resolve().then(r.bind(r,20435))},10846:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},16189:(e,t,r)=>{"use strict";var s=r(65773);r.o(s,"useRouter")&&r.d(t,{useRouter:function(){return s.useRouter}}),r.o(s,"useSearchParams")&&r.d(t,{useSearchParams:function(){return s.useSearchParams}})},18249:(e,t,r)=>{Promise.resolve().then(r.bind(r,49441))},19121:e=>{"use strict";e.exports=require("next/dist/server/app-render/action-async-storage.external.js")},20435:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>n});var s=r(60687);r(43210);var o=r(16189);function n(){return(0,o.useRouter)(),(0,s.jsx)("div",{className:"min-h-screen flex items-center justify-center bg-[#0a0a0a]",children:(0,s.jsx)("p",{className:"text-zinc-400",children:"Redirecting..."})})}r(4950),r(30758)},29294:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-async-storage.external.js")},30758:e=>{"use strict";e.exports={rE:"1.16.0"}},33873:e=>{"use strict";e.exports=require("path")},49441:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>s});let s=(0,r(12907).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/page.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/page.tsx","default")},63033:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},86925:(e,t,r)=>{"use strict";r.r(t),r.d(t,{GlobalError:()=>i.a,__next_app__:()=>l,pages:()=>p,routeModule:()=>c,tree:()=>u});var s=r(65239),o=r(48088),n=r(88170),i=r.n(n),a=r(30893),d={};for(let e in a)0>["default","tree","pages","GlobalError","__next_app__","routeModule"].indexOf(e)&&(d[e]=()=>a[e]);r.d(t,d);let u={children:["",{children:["admin",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(r.bind(r,49441)),"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/page.tsx"]}]},{}]},{layout:[()=>Promise.resolve().then(r.bind(r,58014)),"/Users/otto/Desktop/deepstudio/osw-studio-git/app/layout.tsx"],"not-found":[()=>Promise.resolve().then(r.t.bind(r,57398,23)),"next/dist/client/components/not-found-error"],forbidden:[()=>Promise.resolve().then(r.t.bind(r,89999,23)),"next/dist/client/components/forbidden-error"],unauthorized:[()=>Promise.resolve().then(r.t.bind(r,65284,23)),"next/dist/client/components/unauthorized-error"]}]}.children,p=["/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/page.tsx"],l={require:r,loadChunk:()=>Promise.resolve()},c=new s.AppPageRouteModule({definition:{kind:o.RouteKind.APP_PAGE,page:"/admin/page",pathname:"/admin",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:u}})}};var t=require("../../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),s=t.X(0,[4447,8055,9243],()=>r(86925));module.exports=s})(); \ No newline at end of file diff --git a/.next/server/app/admin/page.js.nft.json b/.next/server/app/admin/page.js.nft.json new file mode 100644 index 0000000000000000000000000000000000000000..e22395eeffff3281eb89396efe53f5a8ffc61ac6 --- /dev/null +++ b/.next/server/app/admin/page.js.nft.json @@ -0,0 +1 @@ +{"version":1,"files":["../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../node_modules/next/dist/server/app-render/clean-async-snapshot-instance.js","../../../../node_modules/next/dist/server/app-render/clean-async-snapshot.external.js","../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../node_modules/next/package.json","../../../package.json","../../chunks/4447.js","../../chunks/8055.js","../../chunks/9243.js","../../webpack-runtime.js","page_client-reference-manifest.js"]} \ No newline at end of file diff --git a/.next/server/app/admin/page_client-reference-manifest.js b/.next/server/app/admin/page_client-reference-manifest.js new file mode 100644 index 0000000000000000000000000000000000000000..f7ee2d611c81cade1cb316437b93ccded25c806e --- /dev/null +++ b/.next/server/app/admin/page_client-reference-manifest.js @@ -0,0 +1 @@ +globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/admin/page"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"3727":{"*":{"id":"12913","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"94593","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"69001","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"53014","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"35656","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"64628","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"97173","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"43555","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"40099","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"20435","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"62763","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"99197","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"28827","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"38243","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"86346","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"27924","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/tanstack-query-provider.tsx":{"id":25388,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/theme-provider.tsx":{"id":61321,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/ui/sonner.tsx":{"id":15851,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"variable\":\"--font-inter-sans\",\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"}":{"id":9755,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"PT_Sans\",\"arguments\":[{\"variable\":\"--font-ptSans-mono\",\"subsets\":[\"latin\"],\"weight\":[\"400\",\"700\"]}],\"variableName\":\"ptSans\"}":{"id":56382,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/assets/globals.css":{"id":85410,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/page-wrapper/index.tsx":{"id":19009,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/page.tsx":{"id":57161,"name":"*","chunks":["3698","static/chunks/app/admin/page-e57627a1ade3c2ac.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/test-generation/page.tsx":{"id":26910,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page.tsx":{"id":40796,"name":"*","chunks":["5948","static/chunks/06bf0ff1-2f6b5dbae626a171.js","4316","static/chunks/ad2866b8-a4659a388c5e0680.js","6671","static/chunks/6671-cfa51652ff77a475.js","189","static/chunks/189-4f09a71b91c59be3.js","5370","static/chunks/5370-dad62d5f4907e0f9.js","4750","static/chunks/4750-b402a0050286a424.js","5375","static/chunks/5375-a5738c494d0f24e9.js","8974","static/chunks/app/page-79207d5f775baf7d.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/login/page.tsx":{"id":3727,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/otto/Desktop/deepstudio/osw-studio-git/":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/layout":[{"inlined":false,"path":"static/css/e420bcf6619594d2.css"}],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/page":[]},"rscModuleMapping":{"3727":{"*":{"id":"9911","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"80363","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"36903","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"41900","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"88170","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"82623","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"31307","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"90597","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"49477","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"49441","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"46577","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"39035","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"12089","name":"*","chunks":[],"async":false}},"85410":{"*":{"id":"94348","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"29345","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"16444","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"16042","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}} \ No newline at end of file diff --git a/.next/server/app/admin/projects.html b/.next/server/app/admin/projects.html new file mode 100644 index 0000000000000000000000000000000000000000..e2a464123e21deb501fc517b00ad592a73e7074b --- /dev/null +++ b/.next/server/app/admin/projects.html @@ -0,0 +1,39 @@ +Open Source Web Studio | Agentic AI Development 🎨
+ + + + + + + +
Projects

Loading projects...

\ No newline at end of file diff --git a/.next/server/app/admin/projects.meta b/.next/server/app/admin/projects.meta new file mode 100644 index 0000000000000000000000000000000000000000..75ab414ca8b9e1c1691aeb07e7868e1d7de6e02c --- /dev/null +++ b/.next/server/app/admin/projects.meta @@ -0,0 +1,7 @@ +{ + "headers": { + "x-nextjs-stale-time": "300", + "x-nextjs-prerender": "1", + "x-next-cache-tags": "_N_T_/layout,_N_T_/admin/layout,_N_T_/admin/projects/layout,_N_T_/admin/projects/page,_N_T_/admin/projects" + } +} \ No newline at end of file diff --git a/.next/server/app/admin/projects.rsc b/.next/server/app/admin/projects.rsc new file mode 100644 index 0000000000000000000000000000000000000000..d9a5b3b37d0cf3c5bca59776e30b7c56d8fa0a54 --- /dev/null +++ b/.next/server/app/admin/projects.rsc @@ -0,0 +1,25 @@ +1:"$Sreact.fragment" +2:I[61321,["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"ThemeProvider"] +3:I[15851,["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"Toaster"] +4:I[25388,["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"default"] +5:I[87555,[],""] +6:I[31295,[],""] +7:I[19009,["5948","static/chunks/06bf0ff1-2f6b5dbae626a171.js","4316","static/chunks/ad2866b8-a4659a388c5e0680.js","6671","static/chunks/6671-cfa51652ff77a475.js","189","static/chunks/189-4f09a71b91c59be3.js","5370","static/chunks/5370-dad62d5f4907e0f9.js","4750","static/chunks/4750-b402a0050286a424.js","5375","static/chunks/5375-a5738c494d0f24e9.js","3321","static/chunks/app/admin/projects/page-aa26dd3814535cd7.js"],"PageWrapper"] +8:I[59665,[],"MetadataBoundary"] +a:I[59665,[],"OutletBoundary"] +d:I[74911,[],"AsyncMetadataOutlet"] +f:I[59665,[],"ViewportBoundary"] +11:I[26614,[],""] +:HL["/_next/static/media/58f662ed5ba12a72-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/c3f6eb667c0186c5-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/e4af272ccee01ff0-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/css/e420bcf6619594d2.css","style"] +0:{"P":null,"b":"xIN9K7b8Zi-Lclq3jrJRM","p":"","c":["","admin","projects"],"i":false,"f":[[["",{"children":["admin",{"children":["projects",{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/e420bcf6619594d2.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":"__variable_f367f3 __variable_438d47 antialiased bg-background h-[100dvh] overflow-hidden","suppressHydrationWarning":true,"children":["$","$L2",null,{"children":[["$","$L3",null,{"richColors":true,"position":"bottom-center"}],["$","$L4",null,{"children":["$","$L5",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]]}]}]}]]}],{"children":["admin",["$","$1","c",{"children":[null,["$","$L5",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["projects",["$","$1","c",{"children":[null,["$","$L5",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$L7",null,{"view":"projects"}],["$","$L8",null,{"children":"$L9"}],null,["$","$La",null,{"children":["$Lb","$Lc",["$","$Ld",null,{"promise":"$@e"}]]}]]}],{},null,false]},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","Ts94wqOvBHr8bLExQ-QUj",{"children":[["$","$Lf",null,{"children":"$L10"}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],null]}],false]],"m":"$undefined","G":["$11","$undefined"],"s":false,"S":true} +12:"$Sreact.suspense" +13:I[74911,[],"AsyncMetadata"] +9:["$","$12",null,{"fallback":null,"children":["$","$L13",null,{"promise":"$@14"}]}] +c:null +10:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1, maximum-scale=1"}],["$","meta","2",{"name":"theme-color","content":"#000000"}]] +b:null +14:{"metadata":[["$","title","0",{"children":"Open Source Web Studio | Agentic AI Development 🎨"}],["$","meta","1",{"name":"description","content":"Open Source Web Studio is an AI-powered development environment that enables autonomous multi-file development through intelligent tool usage. Build complete applications with natural language."}],["$","meta","2",{"name":"mobile-web-app-capable","content":"yes"}],["$","meta","3",{"name":"apple-mobile-web-app-title","content":"OSW-Studio"}],["$","meta","4",{"name":"apple-mobile-web-app-status-bar-style","content":"black-translucent"}],["$","meta","5",{"property":"og:title","content":"Open Source Web Studio | Agentic AI Development 🎨"}],["$","meta","6",{"property":"og:description","content":"Open Source Web Studio is an AI-powered development environment that enables autonomous multi-file development through intelligent tool usage. Build complete applications with natural language."}],["$","meta","7",{"property":"og:url","content":"https://huggingface.co/spaces/otst/osw-studio"}],["$","meta","8",{"property":"og:site_name","content":"Open Source Web Studio"}],["$","meta","9",{"property":"og:image","content":"https://huggingface.co/spaces/otst/osw-studio/resolve/main/banner.png"}],["$","meta","10",{"property":"og:image:width","content":"1200"}],["$","meta","11",{"property":"og:image:height","content":"630"}],["$","meta","12",{"property":"og:image:alt","content":"Open Source Web Studio - Agentic AI Development"}],["$","meta","13",{"name":"twitter:card","content":"summary_large_image"}],["$","meta","14",{"name":"twitter:title","content":"OSW-Studio | Agentic AI Development 🎨"}],["$","meta","15",{"name":"twitter:description","content":"OSW-Studio is an AI-powered development environment that enables autonomous multi-file development through intelligent tool usage. Build complete applications with natural language."}],["$","meta","16",{"name":"twitter:image","content":"https://huggingface.co/spaces/otst/osw-studio/resolve/main/banner.png"}],["$","link","17",{"rel":"shortcut icon","href":"/osw-studio-logo.svg"}],["$","link","18",{"rel":"icon","href":"/osw-studio-logo.svg"}],["$","link","19",{"rel":"apple-touch-icon","href":"/osw-studio-logo.svg"}]],"error":null,"digest":"$undefined"} +e:{"metadata":"$14:metadata","error":null,"digest":"$undefined"} diff --git a/.next/server/app/admin/projects/page.js b/.next/server/app/admin/projects/page.js new file mode 100644 index 0000000000000000000000000000000000000000..7129d86a3e83d78a54b9d5787c40f7131b530271 --- /dev/null +++ b/.next/server/app/admin/projects/page.js @@ -0,0 +1 @@ +(()=>{var e={};e.id=3321,e.ids=[3321],e.modules={1708:e=>{"use strict";e.exports=require("node:process")},3295:e=>{"use strict";e.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},9063:(e,r,t)=>{"use strict";t.r(r),t.d(r,{GlobalError:()=>n.a,__next_app__:()=>c,pages:()=>d,routeModule:()=>l,tree:()=>u});var s=t(65239),o=t(48088),i=t(88170),n=t.n(i),p=t(30893),a={};for(let e in p)0>["default","tree","pages","GlobalError","__next_app__","routeModule"].indexOf(e)&&(a[e]=()=>p[e]);t.d(r,a);let u={children:["",{children:["admin",{children:["projects",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(t.bind(t,72438)),"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/projects/page.tsx"]}]},{}]},{}]},{layout:[()=>Promise.resolve().then(t.bind(t,58014)),"/Users/otto/Desktop/deepstudio/osw-studio-git/app/layout.tsx"],"not-found":[()=>Promise.resolve().then(t.t.bind(t,57398,23)),"next/dist/client/components/not-found-error"],forbidden:[()=>Promise.resolve().then(t.t.bind(t,89999,23)),"next/dist/client/components/forbidden-error"],unauthorized:[()=>Promise.resolve().then(t.t.bind(t,65284,23)),"next/dist/client/components/unauthorized-error"]}]}.children,d=["/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/projects/page.tsx"],c={require:t,loadChunk:()=>Promise.resolve()},l=new s.AppPageRouteModule({definition:{kind:o.RouteKind.APP_PAGE,page:"/admin/projects/page",pathname:"/admin/projects",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:u}})},10846:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19121:e=>{"use strict";e.exports=require("next/dist/server/app-render/action-async-storage.external.js")},21820:e=>{"use strict";e.exports=require("os")},27910:e=>{"use strict";e.exports=require("stream")},28354:e=>{"use strict";e.exports=require("util")},29021:e=>{"use strict";e.exports=require("fs")},29294:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:e=>{"use strict";e.exports=require("path")},34631:e=>{"use strict";e.exports=require("tls")},36167:(e,r,t)=>{Promise.resolve().then(t.bind(t,36903))},36903:(e,r,t)=>{"use strict";t.d(r,{PageWrapper:()=>s});let s=(0,t(12907).registerClientReference)(function(){throw Error("Attempted to call PageWrapper() from the server but PageWrapper is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/page-wrapper/index.tsx","PageWrapper")},55511:e=>{"use strict";e.exports=require("crypto")},63033:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},66431:(e,r,t)=>{Promise.resolve().then(t.bind(t,69001))},69001:(e,r,t)=>{"use strict";t.d(r,{PageWrapper:()=>l});var s=t(60687),o=t(43210),i=t(46800),n=t(53975),p=t(76277),a=t(2565),u=t(13265),d=t(96597);function c({view:e,settingsTab:r}){let[t,a]=(0,o.useState)(null),[c,l]=(0,o.useState)(!1),x=t?(0,s.jsx)(p.a,{project:t,onBack:()=>a(null)}):(0,s.jsx)(n.f,{view:e,onProjectSelect:a,settingsTab:r});return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(i.M,{currentView:e,onNavigate:()=>{},onProjectSelect:a,onOpenAbout:()=>l(!0),showSidebar:!t,children:x}),(0,s.jsx)(u.V,{location:"global"}),(0,s.jsx)(d.V,{open:c,onOpenChange:l})]})}function l({view:e,settingsTab:r}){return(0,s.jsx)(a.g,{children:(0,s.jsx)(c,{view:e,settingsTab:r})})}},72438:(e,r,t)=>{"use strict";t.r(r),t.d(r,{default:()=>i});var s=t(37413),o=t(36903);function i(){return(0,s.jsx)(o.PageWrapper,{view:"projects"})}},73136:e=>{"use strict";e.exports=require("node:url")},74998:e=>{"use strict";e.exports=require("perf_hooks")},76760:e=>{"use strict";e.exports=require("node:path")},79428:e=>{"use strict";e.exports=require("buffer")},91645:e=>{"use strict";e.exports=require("net")},94735:e=>{"use strict";e.exports=require("events")}};var r=require("../../../webpack-runtime.js");r.C(e);var t=e=>r(r.s=e),s=r.X(0,[4447,8055,2168,32,9243,2437,5504],()=>t(9063));module.exports=s})(); \ No newline at end of file diff --git a/.next/server/app/admin/projects/page.js.nft.json b/.next/server/app/admin/projects/page.js.nft.json new file mode 100644 index 0000000000000000000000000000000000000000..2d9a23d86a9517a9d7e44b19a92d779d8aa1a91c --- /dev/null +++ b/.next/server/app/admin/projects/page.js.nft.json @@ -0,0 +1 @@ +{"version":1,"files":["../../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot-instance.js","../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot.external.js","../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../node_modules/next/package.json","../../../../../package.json","../../../../package.json","../../../chunks/1519.js","../../../chunks/2168.js","../../../chunks/2437.js","../../../chunks/32.js","../../../chunks/4447.js","../../../chunks/5504.js","../../../chunks/8055.js","../../../chunks/9243.js","../../../chunks/9579.js","../../../webpack-runtime.js","page_client-reference-manifest.js"]} \ No newline at end of file diff --git a/.next/server/app/admin/projects/page_client-reference-manifest.js b/.next/server/app/admin/projects/page_client-reference-manifest.js new file mode 100644 index 0000000000000000000000000000000000000000..02afb012d0e5afd53635497a3263c764b11992bc --- /dev/null +++ b/.next/server/app/admin/projects/page_client-reference-manifest.js @@ -0,0 +1 @@ +globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/admin/projects/page"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"3727":{"*":{"id":"12913","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"94593","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"69001","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"53014","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"35656","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"64628","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"97173","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"43555","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"40099","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"20435","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"62763","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"99197","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"28827","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"38243","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"86346","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"27924","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/tanstack-query-provider.tsx":{"id":25388,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/theme-provider.tsx":{"id":61321,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/ui/sonner.tsx":{"id":15851,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"variable\":\"--font-inter-sans\",\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"}":{"id":9755,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"PT_Sans\",\"arguments\":[{\"variable\":\"--font-ptSans-mono\",\"subsets\":[\"latin\"],\"weight\":[\"400\",\"700\"]}],\"variableName\":\"ptSans\"}":{"id":56382,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/assets/globals.css":{"id":85410,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/page-wrapper/index.tsx":{"id":19009,"name":"*","chunks":["5948","static/chunks/06bf0ff1-2f6b5dbae626a171.js","4316","static/chunks/ad2866b8-a4659a388c5e0680.js","6671","static/chunks/6671-cfa51652ff77a475.js","189","static/chunks/189-4f09a71b91c59be3.js","5370","static/chunks/5370-dad62d5f4907e0f9.js","4750","static/chunks/4750-b402a0050286a424.js","5375","static/chunks/5375-a5738c494d0f24e9.js","3321","static/chunks/app/admin/projects/page-aa26dd3814535cd7.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/page.tsx":{"id":57161,"name":"*","chunks":["3698","static/chunks/app/admin/page-e57627a1ade3c2ac.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/test-generation/page.tsx":{"id":26910,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page.tsx":{"id":40796,"name":"*","chunks":["5948","static/chunks/06bf0ff1-2f6b5dbae626a171.js","4316","static/chunks/ad2866b8-a4659a388c5e0680.js","6671","static/chunks/6671-cfa51652ff77a475.js","189","static/chunks/189-4f09a71b91c59be3.js","5370","static/chunks/5370-dad62d5f4907e0f9.js","4750","static/chunks/4750-b402a0050286a424.js","5375","static/chunks/5375-a5738c494d0f24e9.js","8974","static/chunks/app/page-79207d5f775baf7d.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/login/page.tsx":{"id":3727,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/otto/Desktop/deepstudio/osw-studio-git/":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/layout":[{"inlined":false,"path":"static/css/e420bcf6619594d2.css"}],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/page":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/projects/page":[]},"rscModuleMapping":{"3727":{"*":{"id":"9911","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"80363","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"36903","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"41900","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"88170","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"82623","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"31307","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"90597","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"49477","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"49441","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"46577","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"39035","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"12089","name":"*","chunks":[],"async":false}},"85410":{"*":{"id":"94348","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"29345","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"16444","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"16042","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}} \ No newline at end of file diff --git a/.next/server/app/admin/settings.html b/.next/server/app/admin/settings.html new file mode 100644 index 0000000000000000000000000000000000000000..4907aab1a70d216873b3f11b78d2656c6652b856 --- /dev/null +++ b/.next/server/app/admin/settings.html @@ -0,0 +1,39 @@ +Open Source Web Studio | Agentic AI Development 🎨
+ + + + + + + +
Settings

Model Settings

Configure your AI model and API connection

Get your API key from OpenRouter

Loading models...

Select a separate (usually cheaper) model for chat/planning mode

\ No newline at end of file diff --git a/.next/server/app/admin/settings.meta b/.next/server/app/admin/settings.meta new file mode 100644 index 0000000000000000000000000000000000000000..b59146ead608a802b3018538e653bbb7df4dd162 --- /dev/null +++ b/.next/server/app/admin/settings.meta @@ -0,0 +1,7 @@ +{ + "headers": { + "x-nextjs-stale-time": "300", + "x-nextjs-prerender": "1", + "x-next-cache-tags": "_N_T_/layout,_N_T_/admin/layout,_N_T_/admin/settings/layout,_N_T_/admin/settings/page,_N_T_/admin/settings" + } +} \ No newline at end of file diff --git a/.next/server/app/admin/settings.rsc b/.next/server/app/admin/settings.rsc new file mode 100644 index 0000000000000000000000000000000000000000..4f4ecdf524dfac96264732bd61964f7cb72d87d6 --- /dev/null +++ b/.next/server/app/admin/settings.rsc @@ -0,0 +1,25 @@ +1:"$Sreact.fragment" +2:I[61321,["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"ThemeProvider"] +3:I[15851,["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"Toaster"] +4:I[25388,["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"default"] +5:I[87555,[],""] +6:I[31295,[],""] +7:I[19009,["5948","static/chunks/06bf0ff1-2f6b5dbae626a171.js","4316","static/chunks/ad2866b8-a4659a388c5e0680.js","6671","static/chunks/6671-cfa51652ff77a475.js","189","static/chunks/189-4f09a71b91c59be3.js","5370","static/chunks/5370-dad62d5f4907e0f9.js","4750","static/chunks/4750-b402a0050286a424.js","5375","static/chunks/5375-a5738c494d0f24e9.js","7122","static/chunks/app/admin/settings/page-24b2afeabd11f21e.js"],"PageWrapper"] +8:I[59665,[],"MetadataBoundary"] +a:I[59665,[],"OutletBoundary"] +d:I[74911,[],"AsyncMetadataOutlet"] +f:I[59665,[],"ViewportBoundary"] +11:I[26614,[],""] +:HL["/_next/static/media/58f662ed5ba12a72-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/c3f6eb667c0186c5-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/e4af272ccee01ff0-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/css/e420bcf6619594d2.css","style"] +0:{"P":null,"b":"xIN9K7b8Zi-Lclq3jrJRM","p":"","c":["","admin","settings"],"i":false,"f":[[["",{"children":["admin",{"children":["settings",{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/e420bcf6619594d2.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":"__variable_f367f3 __variable_438d47 antialiased bg-background h-[100dvh] overflow-hidden","suppressHydrationWarning":true,"children":["$","$L2",null,{"children":[["$","$L3",null,{"richColors":true,"position":"bottom-center"}],["$","$L4",null,{"children":["$","$L5",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]]}]}]}]]}],{"children":["admin",["$","$1","c",{"children":[null,["$","$L5",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["settings",["$","$1","c",{"children":[null,["$","$L5",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$L7",null,{"view":"settings"}],["$","$L8",null,{"children":"$L9"}],null,["$","$La",null,{"children":["$Lb","$Lc",["$","$Ld",null,{"promise":"$@e"}]]}]]}],{},null,false]},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","6QQOpXUsfLBLbdOR9xayq",{"children":[["$","$Lf",null,{"children":"$L10"}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],null]}],false]],"m":"$undefined","G":["$11","$undefined"],"s":false,"S":true} +12:"$Sreact.suspense" +13:I[74911,[],"AsyncMetadata"] +9:["$","$12",null,{"fallback":null,"children":["$","$L13",null,{"promise":"$@14"}]}] +c:null +10:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1, maximum-scale=1"}],["$","meta","2",{"name":"theme-color","content":"#000000"}]] +b:null +14:{"metadata":[["$","title","0",{"children":"Open Source Web Studio | Agentic AI Development 🎨"}],["$","meta","1",{"name":"description","content":"Open Source Web Studio is an AI-powered development environment that enables autonomous multi-file development through intelligent tool usage. Build complete applications with natural language."}],["$","meta","2",{"name":"mobile-web-app-capable","content":"yes"}],["$","meta","3",{"name":"apple-mobile-web-app-title","content":"OSW-Studio"}],["$","meta","4",{"name":"apple-mobile-web-app-status-bar-style","content":"black-translucent"}],["$","meta","5",{"property":"og:title","content":"Open Source Web Studio | Agentic AI Development 🎨"}],["$","meta","6",{"property":"og:description","content":"Open Source Web Studio is an AI-powered development environment that enables autonomous multi-file development through intelligent tool usage. Build complete applications with natural language."}],["$","meta","7",{"property":"og:url","content":"https://huggingface.co/spaces/otst/osw-studio"}],["$","meta","8",{"property":"og:site_name","content":"Open Source Web Studio"}],["$","meta","9",{"property":"og:image","content":"https://huggingface.co/spaces/otst/osw-studio/resolve/main/banner.png"}],["$","meta","10",{"property":"og:image:width","content":"1200"}],["$","meta","11",{"property":"og:image:height","content":"630"}],["$","meta","12",{"property":"og:image:alt","content":"Open Source Web Studio - Agentic AI Development"}],["$","meta","13",{"name":"twitter:card","content":"summary_large_image"}],["$","meta","14",{"name":"twitter:title","content":"OSW-Studio | Agentic AI Development 🎨"}],["$","meta","15",{"name":"twitter:description","content":"OSW-Studio is an AI-powered development environment that enables autonomous multi-file development through intelligent tool usage. Build complete applications with natural language."}],["$","meta","16",{"name":"twitter:image","content":"https://huggingface.co/spaces/otst/osw-studio/resolve/main/banner.png"}],["$","link","17",{"rel":"shortcut icon","href":"/osw-studio-logo.svg"}],["$","link","18",{"rel":"icon","href":"/osw-studio-logo.svg"}],["$","link","19",{"rel":"apple-touch-icon","href":"/osw-studio-logo.svg"}]],"error":null,"digest":"$undefined"} +e:{"metadata":"$14:metadata","error":null,"digest":"$undefined"} diff --git a/.next/server/app/admin/settings/application.html b/.next/server/app/admin/settings/application.html new file mode 100644 index 0000000000000000000000000000000000000000..713139e20db956d0d36f7f67157b6723924c8004 --- /dev/null +++ b/.next/server/app/admin/settings/application.html @@ -0,0 +1,39 @@ +Open Source Web Studio | Agentic AI Development 🎨
+ + + + + + + +
Settings

Configure your preferences and display options

Show cost information in messages

Warn at 80%
Lifetime Total
$0.00

Backup and restore your projects, conversations, and settings. Use this to migrate your data to OSWStudio or create backups.

Export All Data
Download a backup file containing all your projects and data
Import Data
Restore from a .osws backup file
\ No newline at end of file diff --git a/.next/server/app/admin/settings/application.meta b/.next/server/app/admin/settings/application.meta new file mode 100644 index 0000000000000000000000000000000000000000..01bf1c8b5545d17f9cd1b74e207d369550c3b08c --- /dev/null +++ b/.next/server/app/admin/settings/application.meta @@ -0,0 +1,7 @@ +{ + "headers": { + "x-nextjs-stale-time": "300", + "x-nextjs-prerender": "1", + "x-next-cache-tags": "_N_T_/layout,_N_T_/admin/layout,_N_T_/admin/settings/layout,_N_T_/admin/settings/application/layout,_N_T_/admin/settings/application/page,_N_T_/admin/settings/application" + } +} \ No newline at end of file diff --git a/.next/server/app/admin/settings/application.rsc b/.next/server/app/admin/settings/application.rsc new file mode 100644 index 0000000000000000000000000000000000000000..7b4aa89e598a2e90f70f5d9d8e24a89d9da90cff --- /dev/null +++ b/.next/server/app/admin/settings/application.rsc @@ -0,0 +1,25 @@ +1:"$Sreact.fragment" +2:I[61321,["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"ThemeProvider"] +3:I[15851,["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"Toaster"] +4:I[25388,["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"default"] +5:I[87555,[],""] +6:I[31295,[],""] +7:I[19009,["5948","static/chunks/06bf0ff1-2f6b5dbae626a171.js","4316","static/chunks/ad2866b8-a4659a388c5e0680.js","6671","static/chunks/6671-cfa51652ff77a475.js","189","static/chunks/189-4f09a71b91c59be3.js","5370","static/chunks/5370-dad62d5f4907e0f9.js","4750","static/chunks/4750-b402a0050286a424.js","5375","static/chunks/5375-a5738c494d0f24e9.js","6047","static/chunks/app/admin/settings/application/page-ba49d25861eeadd7.js"],"PageWrapper"] +8:I[59665,[],"MetadataBoundary"] +a:I[59665,[],"OutletBoundary"] +d:I[74911,[],"AsyncMetadataOutlet"] +f:I[59665,[],"ViewportBoundary"] +11:I[26614,[],""] +:HL["/_next/static/media/58f662ed5ba12a72-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/c3f6eb667c0186c5-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/e4af272ccee01ff0-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/css/e420bcf6619594d2.css","style"] +0:{"P":null,"b":"xIN9K7b8Zi-Lclq3jrJRM","p":"","c":["","admin","settings","application"],"i":false,"f":[[["",{"children":["admin",{"children":["settings",{"children":["application",{"children":["__PAGE__",{}]}]}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/e420bcf6619594d2.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":"__variable_f367f3 __variable_438d47 antialiased bg-background h-[100dvh] overflow-hidden","suppressHydrationWarning":true,"children":["$","$L2",null,{"children":[["$","$L3",null,{"richColors":true,"position":"bottom-center"}],["$","$L4",null,{"children":["$","$L5",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]]}]}]}]]}],{"children":["admin",["$","$1","c",{"children":[null,["$","$L5",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["settings",["$","$1","c",{"children":[null,["$","$L5",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["application",["$","$1","c",{"children":[null,["$","$L5",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$L7",null,{"view":"settings","settingsTab":"application"}],["$","$L8",null,{"children":"$L9"}],null,["$","$La",null,{"children":["$Lb","$Lc",["$","$Ld",null,{"promise":"$@e"}]]}]]}],{},null,false]},null,false]},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","F7lpvkFeqtjhnXrgD-FRj",{"children":[["$","$Lf",null,{"children":"$L10"}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],null]}],false]],"m":"$undefined","G":["$11","$undefined"],"s":false,"S":true} +12:"$Sreact.suspense" +13:I[74911,[],"AsyncMetadata"] +9:["$","$12",null,{"fallback":null,"children":["$","$L13",null,{"promise":"$@14"}]}] +c:null +10:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1, maximum-scale=1"}],["$","meta","2",{"name":"theme-color","content":"#000000"}]] +b:null +14:{"metadata":[["$","title","0",{"children":"Open Source Web Studio | Agentic AI Development 🎨"}],["$","meta","1",{"name":"description","content":"Open Source Web Studio is an AI-powered development environment that enables autonomous multi-file development through intelligent tool usage. Build complete applications with natural language."}],["$","meta","2",{"name":"mobile-web-app-capable","content":"yes"}],["$","meta","3",{"name":"apple-mobile-web-app-title","content":"OSW-Studio"}],["$","meta","4",{"name":"apple-mobile-web-app-status-bar-style","content":"black-translucent"}],["$","meta","5",{"property":"og:title","content":"Open Source Web Studio | Agentic AI Development 🎨"}],["$","meta","6",{"property":"og:description","content":"Open Source Web Studio is an AI-powered development environment that enables autonomous multi-file development through intelligent tool usage. Build complete applications with natural language."}],["$","meta","7",{"property":"og:url","content":"https://huggingface.co/spaces/otst/osw-studio"}],["$","meta","8",{"property":"og:site_name","content":"Open Source Web Studio"}],["$","meta","9",{"property":"og:image","content":"https://huggingface.co/spaces/otst/osw-studio/resolve/main/banner.png"}],["$","meta","10",{"property":"og:image:width","content":"1200"}],["$","meta","11",{"property":"og:image:height","content":"630"}],["$","meta","12",{"property":"og:image:alt","content":"Open Source Web Studio - Agentic AI Development"}],["$","meta","13",{"name":"twitter:card","content":"summary_large_image"}],["$","meta","14",{"name":"twitter:title","content":"OSW-Studio | Agentic AI Development 🎨"}],["$","meta","15",{"name":"twitter:description","content":"OSW-Studio is an AI-powered development environment that enables autonomous multi-file development through intelligent tool usage. Build complete applications with natural language."}],["$","meta","16",{"name":"twitter:image","content":"https://huggingface.co/spaces/otst/osw-studio/resolve/main/banner.png"}],["$","link","17",{"rel":"shortcut icon","href":"/osw-studio-logo.svg"}],["$","link","18",{"rel":"icon","href":"/osw-studio-logo.svg"}],["$","link","19",{"rel":"apple-touch-icon","href":"/osw-studio-logo.svg"}]],"error":null,"digest":"$undefined"} +e:{"metadata":"$14:metadata","error":null,"digest":"$undefined"} diff --git a/.next/server/app/admin/settings/application/page.js b/.next/server/app/admin/settings/application/page.js new file mode 100644 index 0000000000000000000000000000000000000000..43d67fa6e79f4308c219606d4a87f159b7cbe4ef --- /dev/null +++ b/.next/server/app/admin/settings/application/page.js @@ -0,0 +1 @@ +(()=>{var e={};e.id=6047,e.ids=[6047],e.modules={1708:e=>{"use strict";e.exports=require("node:process")},3295:e=>{"use strict";e.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19121:e=>{"use strict";e.exports=require("next/dist/server/app-render/action-async-storage.external.js")},21820:e=>{"use strict";e.exports=require("os")},27910:e=>{"use strict";e.exports=require("stream")},28354:e=>{"use strict";e.exports=require("util")},29021:e=>{"use strict";e.exports=require("fs")},29294:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:e=>{"use strict";e.exports=require("path")},34631:e=>{"use strict";e.exports=require("tls")},36167:(e,t,r)=>{Promise.resolve().then(r.bind(r,36903))},36903:(e,t,r)=>{"use strict";r.d(t,{PageWrapper:()=>s});let s=(0,r(12907).registerClientReference)(function(){throw Error("Attempted to call PageWrapper() from the server but PageWrapper is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/page-wrapper/index.tsx","PageWrapper")},37088:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>i});var s=r(37413),o=r(36903);function i(){return(0,s.jsx)(o.PageWrapper,{view:"settings",settingsTab:"application"})}},55511:e=>{"use strict";e.exports=require("crypto")},63033:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},66431:(e,t,r)=>{Promise.resolve().then(r.bind(r,69001))},69001:(e,t,r)=>{"use strict";r.d(t,{PageWrapper:()=>c});var s=r(60687),o=r(43210),i=r(46800),n=r(53975),a=r(76277),p=r(2565),u=r(13265),d=r(96597);function l({view:e,settingsTab:t}){let[r,p]=(0,o.useState)(null),[l,c]=(0,o.useState)(!1),x=r?(0,s.jsx)(a.a,{project:r,onBack:()=>p(null)}):(0,s.jsx)(n.f,{view:e,onProjectSelect:p,settingsTab:t});return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(i.M,{currentView:e,onNavigate:()=>{},onProjectSelect:p,onOpenAbout:()=>c(!0),showSidebar:!r,children:x}),(0,s.jsx)(u.V,{location:"global"}),(0,s.jsx)(d.V,{open:l,onOpenChange:c})]})}function c({view:e,settingsTab:t}){return(0,s.jsx)(p.g,{children:(0,s.jsx)(l,{view:e,settingsTab:t})})}},73136:e=>{"use strict";e.exports=require("node:url")},74998:e=>{"use strict";e.exports=require("perf_hooks")},76760:e=>{"use strict";e.exports=require("node:path")},79428:e=>{"use strict";e.exports=require("buffer")},89575:(e,t,r)=>{"use strict";r.r(t),r.d(t,{GlobalError:()=>n.a,__next_app__:()=>l,pages:()=>d,routeModule:()=>c,tree:()=>u});var s=r(65239),o=r(48088),i=r(88170),n=r.n(i),a=r(30893),p={};for(let e in a)0>["default","tree","pages","GlobalError","__next_app__","routeModule"].indexOf(e)&&(p[e]=()=>a[e]);r.d(t,p);let u={children:["",{children:["admin",{children:["settings",{children:["application",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(r.bind(r,37088)),"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/settings/application/page.tsx"]}]},{}]},{}]},{}]},{layout:[()=>Promise.resolve().then(r.bind(r,58014)),"/Users/otto/Desktop/deepstudio/osw-studio-git/app/layout.tsx"],"not-found":[()=>Promise.resolve().then(r.t.bind(r,57398,23)),"next/dist/client/components/not-found-error"],forbidden:[()=>Promise.resolve().then(r.t.bind(r,89999,23)),"next/dist/client/components/forbidden-error"],unauthorized:[()=>Promise.resolve().then(r.t.bind(r,65284,23)),"next/dist/client/components/unauthorized-error"]}]}.children,d=["/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/settings/application/page.tsx"],l={require:r,loadChunk:()=>Promise.resolve()},c=new s.AppPageRouteModule({definition:{kind:o.RouteKind.APP_PAGE,page:"/admin/settings/application/page",pathname:"/admin/settings/application",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:u}})},91645:e=>{"use strict";e.exports=require("net")},94735:e=>{"use strict";e.exports=require("events")}};var t=require("../../../../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),s=t.X(0,[4447,8055,2168,32,9243,2437,5504],()=>r(89575));module.exports=s})(); \ No newline at end of file diff --git a/.next/server/app/admin/settings/application/page.js.nft.json b/.next/server/app/admin/settings/application/page.js.nft.json new file mode 100644 index 0000000000000000000000000000000000000000..919da851ec8fbd1d081d919b5d7f97adc1ff48e6 --- /dev/null +++ b/.next/server/app/admin/settings/application/page.js.nft.json @@ -0,0 +1 @@ +{"version":1,"files":["../../../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot-instance.js","../../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot.external.js","../../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../../node_modules/next/package.json","../../../../../../package.json","../../../../../package.json","../../../../chunks/1519.js","../../../../chunks/2168.js","../../../../chunks/2437.js","../../../../chunks/32.js","../../../../chunks/4447.js","../../../../chunks/5504.js","../../../../chunks/8055.js","../../../../chunks/9243.js","../../../../chunks/9579.js","../../../../webpack-runtime.js","page_client-reference-manifest.js"]} \ No newline at end of file diff --git a/.next/server/app/admin/settings/application/page_client-reference-manifest.js b/.next/server/app/admin/settings/application/page_client-reference-manifest.js new file mode 100644 index 0000000000000000000000000000000000000000..04d2e05b807022e7db08901c44f42bb04d8287a8 --- /dev/null +++ b/.next/server/app/admin/settings/application/page_client-reference-manifest.js @@ -0,0 +1 @@ +globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/admin/settings/application/page"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"3727":{"*":{"id":"12913","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"94593","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"69001","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"53014","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"35656","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"64628","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"97173","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"43555","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"40099","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"20435","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"62763","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"99197","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"28827","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"38243","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"86346","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"27924","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/tanstack-query-provider.tsx":{"id":25388,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/theme-provider.tsx":{"id":61321,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/ui/sonner.tsx":{"id":15851,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"variable\":\"--font-inter-sans\",\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"}":{"id":9755,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"PT_Sans\",\"arguments\":[{\"variable\":\"--font-ptSans-mono\",\"subsets\":[\"latin\"],\"weight\":[\"400\",\"700\"]}],\"variableName\":\"ptSans\"}":{"id":56382,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/assets/globals.css":{"id":85410,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/page-wrapper/index.tsx":{"id":19009,"name":"*","chunks":["5948","static/chunks/06bf0ff1-2f6b5dbae626a171.js","4316","static/chunks/ad2866b8-a4659a388c5e0680.js","6671","static/chunks/6671-cfa51652ff77a475.js","189","static/chunks/189-4f09a71b91c59be3.js","5370","static/chunks/5370-dad62d5f4907e0f9.js","4750","static/chunks/4750-b402a0050286a424.js","5375","static/chunks/5375-a5738c494d0f24e9.js","6047","static/chunks/app/admin/settings/application/page-ba49d25861eeadd7.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/page.tsx":{"id":57161,"name":"*","chunks":["3698","static/chunks/app/admin/page-e57627a1ade3c2ac.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/test-generation/page.tsx":{"id":26910,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page.tsx":{"id":40796,"name":"*","chunks":["5948","static/chunks/06bf0ff1-2f6b5dbae626a171.js","4316","static/chunks/ad2866b8-a4659a388c5e0680.js","6671","static/chunks/6671-cfa51652ff77a475.js","189","static/chunks/189-4f09a71b91c59be3.js","5370","static/chunks/5370-dad62d5f4907e0f9.js","4750","static/chunks/4750-b402a0050286a424.js","5375","static/chunks/5375-a5738c494d0f24e9.js","8974","static/chunks/app/page-79207d5f775baf7d.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/login/page.tsx":{"id":3727,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/otto/Desktop/deepstudio/osw-studio-git/":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/layout":[{"inlined":false,"path":"static/css/e420bcf6619594d2.css"}],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/page":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/settings/page":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/settings/application/page":[]},"rscModuleMapping":{"3727":{"*":{"id":"9911","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"80363","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"36903","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"41900","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"88170","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"82623","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"31307","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"90597","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"49477","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"49441","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"46577","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"39035","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"12089","name":"*","chunks":[],"async":false}},"85410":{"*":{"id":"94348","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"29345","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"16444","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"16042","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}} \ No newline at end of file diff --git a/.next/server/app/admin/settings/model.html b/.next/server/app/admin/settings/model.html new file mode 100644 index 0000000000000000000000000000000000000000..f86f586850e6c3e83a6d4987c723fea5081fac26 --- /dev/null +++ b/.next/server/app/admin/settings/model.html @@ -0,0 +1,39 @@ +Open Source Web Studio | Agentic AI Development 🎨
+ + + + + + + +
Settings

Model Settings

Configure your AI model and API connection

Get your API key from OpenRouter

Loading models...

Select a separate (usually cheaper) model for chat/planning mode

\ No newline at end of file diff --git a/.next/server/app/admin/settings/model.meta b/.next/server/app/admin/settings/model.meta new file mode 100644 index 0000000000000000000000000000000000000000..d265ec5007d796e73c34a25d2d0fdf509e60514c --- /dev/null +++ b/.next/server/app/admin/settings/model.meta @@ -0,0 +1,7 @@ +{ + "headers": { + "x-nextjs-stale-time": "300", + "x-nextjs-prerender": "1", + "x-next-cache-tags": "_N_T_/layout,_N_T_/admin/layout,_N_T_/admin/settings/layout,_N_T_/admin/settings/model/layout,_N_T_/admin/settings/model/page,_N_T_/admin/settings/model" + } +} \ No newline at end of file diff --git a/.next/server/app/admin/settings/model.rsc b/.next/server/app/admin/settings/model.rsc new file mode 100644 index 0000000000000000000000000000000000000000..1f3f693dc0c41803a56bea976b9e99ae04454dec --- /dev/null +++ b/.next/server/app/admin/settings/model.rsc @@ -0,0 +1,25 @@ +1:"$Sreact.fragment" +2:I[61321,["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"ThemeProvider"] +3:I[15851,["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"Toaster"] +4:I[25388,["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"default"] +5:I[87555,[],""] +6:I[31295,[],""] +7:I[19009,["5948","static/chunks/06bf0ff1-2f6b5dbae626a171.js","4316","static/chunks/ad2866b8-a4659a388c5e0680.js","6671","static/chunks/6671-cfa51652ff77a475.js","189","static/chunks/189-4f09a71b91c59be3.js","5370","static/chunks/5370-dad62d5f4907e0f9.js","4750","static/chunks/4750-b402a0050286a424.js","5375","static/chunks/5375-a5738c494d0f24e9.js","3116","static/chunks/app/admin/settings/model/page-cacb6bb0766dc8ac.js"],"PageWrapper"] +8:I[59665,[],"MetadataBoundary"] +a:I[59665,[],"OutletBoundary"] +d:I[74911,[],"AsyncMetadataOutlet"] +f:I[59665,[],"ViewportBoundary"] +11:I[26614,[],""] +:HL["/_next/static/media/58f662ed5ba12a72-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/c3f6eb667c0186c5-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/e4af272ccee01ff0-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/css/e420bcf6619594d2.css","style"] +0:{"P":null,"b":"xIN9K7b8Zi-Lclq3jrJRM","p":"","c":["","admin","settings","model"],"i":false,"f":[[["",{"children":["admin",{"children":["settings",{"children":["model",{"children":["__PAGE__",{}]}]}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/e420bcf6619594d2.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":"__variable_f367f3 __variable_438d47 antialiased bg-background h-[100dvh] overflow-hidden","suppressHydrationWarning":true,"children":["$","$L2",null,{"children":[["$","$L3",null,{"richColors":true,"position":"bottom-center"}],["$","$L4",null,{"children":["$","$L5",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]]}]}]}]]}],{"children":["admin",["$","$1","c",{"children":[null,["$","$L5",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["settings",["$","$1","c",{"children":[null,["$","$L5",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["model",["$","$1","c",{"children":[null,["$","$L5",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$L7",null,{"view":"settings","settingsTab":"model"}],["$","$L8",null,{"children":"$L9"}],null,["$","$La",null,{"children":["$Lb","$Lc",["$","$Ld",null,{"promise":"$@e"}]]}]]}],{},null,false]},null,false]},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","qQaaUfM_HSKYts5_-PQmo",{"children":[["$","$Lf",null,{"children":"$L10"}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],null]}],false]],"m":"$undefined","G":["$11","$undefined"],"s":false,"S":true} +12:"$Sreact.suspense" +13:I[74911,[],"AsyncMetadata"] +9:["$","$12",null,{"fallback":null,"children":["$","$L13",null,{"promise":"$@14"}]}] +c:null +10:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1, maximum-scale=1"}],["$","meta","2",{"name":"theme-color","content":"#000000"}]] +b:null +14:{"metadata":[["$","title","0",{"children":"Open Source Web Studio | Agentic AI Development 🎨"}],["$","meta","1",{"name":"description","content":"Open Source Web Studio is an AI-powered development environment that enables autonomous multi-file development through intelligent tool usage. Build complete applications with natural language."}],["$","meta","2",{"name":"mobile-web-app-capable","content":"yes"}],["$","meta","3",{"name":"apple-mobile-web-app-title","content":"OSW-Studio"}],["$","meta","4",{"name":"apple-mobile-web-app-status-bar-style","content":"black-translucent"}],["$","meta","5",{"property":"og:title","content":"Open Source Web Studio | Agentic AI Development 🎨"}],["$","meta","6",{"property":"og:description","content":"Open Source Web Studio is an AI-powered development environment that enables autonomous multi-file development through intelligent tool usage. Build complete applications with natural language."}],["$","meta","7",{"property":"og:url","content":"https://huggingface.co/spaces/otst/osw-studio"}],["$","meta","8",{"property":"og:site_name","content":"Open Source Web Studio"}],["$","meta","9",{"property":"og:image","content":"https://huggingface.co/spaces/otst/osw-studio/resolve/main/banner.png"}],["$","meta","10",{"property":"og:image:width","content":"1200"}],["$","meta","11",{"property":"og:image:height","content":"630"}],["$","meta","12",{"property":"og:image:alt","content":"Open Source Web Studio - Agentic AI Development"}],["$","meta","13",{"name":"twitter:card","content":"summary_large_image"}],["$","meta","14",{"name":"twitter:title","content":"OSW-Studio | Agentic AI Development 🎨"}],["$","meta","15",{"name":"twitter:description","content":"OSW-Studio is an AI-powered development environment that enables autonomous multi-file development through intelligent tool usage. Build complete applications with natural language."}],["$","meta","16",{"name":"twitter:image","content":"https://huggingface.co/spaces/otst/osw-studio/resolve/main/banner.png"}],["$","link","17",{"rel":"shortcut icon","href":"/osw-studio-logo.svg"}],["$","link","18",{"rel":"icon","href":"/osw-studio-logo.svg"}],["$","link","19",{"rel":"apple-touch-icon","href":"/osw-studio-logo.svg"}]],"error":null,"digest":"$undefined"} +e:{"metadata":"$14:metadata","error":null,"digest":"$undefined"} diff --git a/.next/server/app/admin/settings/model/page.js b/.next/server/app/admin/settings/model/page.js new file mode 100644 index 0000000000000000000000000000000000000000..7bb92edb4e76b16264bd01d472ac9788c83e9e8e --- /dev/null +++ b/.next/server/app/admin/settings/model/page.js @@ -0,0 +1 @@ +(()=>{var e={};e.id=3116,e.ids=[3116],e.modules={1708:e=>{"use strict";e.exports=require("node:process")},3295:e=>{"use strict";e.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19121:e=>{"use strict";e.exports=require("next/dist/server/app-render/action-async-storage.external.js")},21820:e=>{"use strict";e.exports=require("os")},27910:e=>{"use strict";e.exports=require("stream")},28354:e=>{"use strict";e.exports=require("util")},29021:e=>{"use strict";e.exports=require("fs")},29294:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:e=>{"use strict";e.exports=require("path")},34631:e=>{"use strict";e.exports=require("tls")},36167:(e,t,r)=>{Promise.resolve().then(r.bind(r,36903))},36903:(e,t,r)=>{"use strict";r.d(t,{PageWrapper:()=>s});let s=(0,r(12907).registerClientReference)(function(){throw Error("Attempted to call PageWrapper() from the server but PageWrapper is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/page-wrapper/index.tsx","PageWrapper")},55355:(e,t,r)=>{"use strict";r.r(t),r.d(t,{GlobalError:()=>n.a,__next_app__:()=>l,pages:()=>d,routeModule:()=>c,tree:()=>u});var s=r(65239),o=r(48088),i=r(88170),n=r.n(i),a=r(30893),p={};for(let e in a)0>["default","tree","pages","GlobalError","__next_app__","routeModule"].indexOf(e)&&(p[e]=()=>a[e]);r.d(t,p);let u={children:["",{children:["admin",{children:["settings",{children:["model",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(r.bind(r,91855)),"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/settings/model/page.tsx"]}]},{}]},{}]},{}]},{layout:[()=>Promise.resolve().then(r.bind(r,58014)),"/Users/otto/Desktop/deepstudio/osw-studio-git/app/layout.tsx"],"not-found":[()=>Promise.resolve().then(r.t.bind(r,57398,23)),"next/dist/client/components/not-found-error"],forbidden:[()=>Promise.resolve().then(r.t.bind(r,89999,23)),"next/dist/client/components/forbidden-error"],unauthorized:[()=>Promise.resolve().then(r.t.bind(r,65284,23)),"next/dist/client/components/unauthorized-error"]}]}.children,d=["/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/settings/model/page.tsx"],l={require:r,loadChunk:()=>Promise.resolve()},c=new s.AppPageRouteModule({definition:{kind:o.RouteKind.APP_PAGE,page:"/admin/settings/model/page",pathname:"/admin/settings/model",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:u}})},55511:e=>{"use strict";e.exports=require("crypto")},63033:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},66431:(e,t,r)=>{Promise.resolve().then(r.bind(r,69001))},69001:(e,t,r)=>{"use strict";r.d(t,{PageWrapper:()=>c});var s=r(60687),o=r(43210),i=r(46800),n=r(53975),a=r(76277),p=r(2565),u=r(13265),d=r(96597);function l({view:e,settingsTab:t}){let[r,p]=(0,o.useState)(null),[l,c]=(0,o.useState)(!1),x=r?(0,s.jsx)(a.a,{project:r,onBack:()=>p(null)}):(0,s.jsx)(n.f,{view:e,onProjectSelect:p,settingsTab:t});return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(i.M,{currentView:e,onNavigate:()=>{},onProjectSelect:p,onOpenAbout:()=>c(!0),showSidebar:!r,children:x}),(0,s.jsx)(u.V,{location:"global"}),(0,s.jsx)(d.V,{open:l,onOpenChange:c})]})}function c({view:e,settingsTab:t}){return(0,s.jsx)(p.g,{children:(0,s.jsx)(l,{view:e,settingsTab:t})})}},73136:e=>{"use strict";e.exports=require("node:url")},74998:e=>{"use strict";e.exports=require("perf_hooks")},76760:e=>{"use strict";e.exports=require("node:path")},79428:e=>{"use strict";e.exports=require("buffer")},91645:e=>{"use strict";e.exports=require("net")},91855:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>i});var s=r(37413),o=r(36903);function i(){return(0,s.jsx)(o.PageWrapper,{view:"settings",settingsTab:"model"})}},94735:e=>{"use strict";e.exports=require("events")}};var t=require("../../../../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),s=t.X(0,[4447,8055,2168,32,9243,2437,5504],()=>r(55355));module.exports=s})(); \ No newline at end of file diff --git a/.next/server/app/admin/settings/model/page.js.nft.json b/.next/server/app/admin/settings/model/page.js.nft.json new file mode 100644 index 0000000000000000000000000000000000000000..919da851ec8fbd1d081d919b5d7f97adc1ff48e6 --- /dev/null +++ b/.next/server/app/admin/settings/model/page.js.nft.json @@ -0,0 +1 @@ +{"version":1,"files":["../../../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot-instance.js","../../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot.external.js","../../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../../node_modules/next/package.json","../../../../../../package.json","../../../../../package.json","../../../../chunks/1519.js","../../../../chunks/2168.js","../../../../chunks/2437.js","../../../../chunks/32.js","../../../../chunks/4447.js","../../../../chunks/5504.js","../../../../chunks/8055.js","../../../../chunks/9243.js","../../../../chunks/9579.js","../../../../webpack-runtime.js","page_client-reference-manifest.js"]} \ No newline at end of file diff --git a/.next/server/app/admin/settings/model/page_client-reference-manifest.js b/.next/server/app/admin/settings/model/page_client-reference-manifest.js new file mode 100644 index 0000000000000000000000000000000000000000..30ede14d216d4a4bd46b487551b00960678a4916 --- /dev/null +++ b/.next/server/app/admin/settings/model/page_client-reference-manifest.js @@ -0,0 +1 @@ +globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/admin/settings/model/page"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"3727":{"*":{"id":"12913","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"94593","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"69001","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"53014","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"35656","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"64628","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"97173","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"43555","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"40099","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"20435","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"62763","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"99197","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"28827","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"38243","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"86346","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"27924","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/tanstack-query-provider.tsx":{"id":25388,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/theme-provider.tsx":{"id":61321,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/ui/sonner.tsx":{"id":15851,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"variable\":\"--font-inter-sans\",\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"}":{"id":9755,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"PT_Sans\",\"arguments\":[{\"variable\":\"--font-ptSans-mono\",\"subsets\":[\"latin\"],\"weight\":[\"400\",\"700\"]}],\"variableName\":\"ptSans\"}":{"id":56382,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/assets/globals.css":{"id":85410,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/page-wrapper/index.tsx":{"id":19009,"name":"*","chunks":["5948","static/chunks/06bf0ff1-2f6b5dbae626a171.js","4316","static/chunks/ad2866b8-a4659a388c5e0680.js","6671","static/chunks/6671-cfa51652ff77a475.js","189","static/chunks/189-4f09a71b91c59be3.js","5370","static/chunks/5370-dad62d5f4907e0f9.js","4750","static/chunks/4750-b402a0050286a424.js","5375","static/chunks/5375-a5738c494d0f24e9.js","3116","static/chunks/app/admin/settings/model/page-cacb6bb0766dc8ac.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/page.tsx":{"id":57161,"name":"*","chunks":["3698","static/chunks/app/admin/page-e57627a1ade3c2ac.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/test-generation/page.tsx":{"id":26910,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page.tsx":{"id":40796,"name":"*","chunks":["5948","static/chunks/06bf0ff1-2f6b5dbae626a171.js","4316","static/chunks/ad2866b8-a4659a388c5e0680.js","6671","static/chunks/6671-cfa51652ff77a475.js","189","static/chunks/189-4f09a71b91c59be3.js","5370","static/chunks/5370-dad62d5f4907e0f9.js","4750","static/chunks/4750-b402a0050286a424.js","5375","static/chunks/5375-a5738c494d0f24e9.js","8974","static/chunks/app/page-79207d5f775baf7d.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/login/page.tsx":{"id":3727,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/otto/Desktop/deepstudio/osw-studio-git/":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/layout":[{"inlined":false,"path":"static/css/e420bcf6619594d2.css"}],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/page":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/settings/page":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/settings/model/page":[]},"rscModuleMapping":{"3727":{"*":{"id":"9911","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"80363","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"36903","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"41900","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"88170","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"82623","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"31307","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"90597","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"49477","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"49441","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"46577","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"39035","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"12089","name":"*","chunks":[],"async":false}},"85410":{"*":{"id":"94348","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"29345","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"16444","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"16042","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}} \ No newline at end of file diff --git a/.next/server/app/admin/settings/page.js b/.next/server/app/admin/settings/page.js new file mode 100644 index 0000000000000000000000000000000000000000..bf638ac8a09a6f8edd451f201d8faa9d77b006e2 --- /dev/null +++ b/.next/server/app/admin/settings/page.js @@ -0,0 +1 @@ +(()=>{var e={};e.id=7122,e.ids=[7122],e.modules={1708:e=>{"use strict";e.exports=require("node:process")},3295:e=>{"use strict";e.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19121:e=>{"use strict";e.exports=require("next/dist/server/app-render/action-async-storage.external.js")},21820:e=>{"use strict";e.exports=require("os")},27910:e=>{"use strict";e.exports=require("stream")},28354:e=>{"use strict";e.exports=require("util")},29021:e=>{"use strict";e.exports=require("fs")},29294:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:e=>{"use strict";e.exports=require("path")},34631:e=>{"use strict";e.exports=require("tls")},36167:(e,t,r)=>{Promise.resolve().then(r.bind(r,36903))},36903:(e,t,r)=>{"use strict";r.d(t,{PageWrapper:()=>s});let s=(0,r(12907).registerClientReference)(function(){throw Error("Attempted to call PageWrapper() from the server but PageWrapper is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/page-wrapper/index.tsx","PageWrapper")},55511:e=>{"use strict";e.exports=require("crypto")},63033:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},66431:(e,t,r)=>{Promise.resolve().then(r.bind(r,69001))},69001:(e,t,r)=>{"use strict";r.d(t,{PageWrapper:()=>c});var s=r(60687),o=r(43210),i=r(46800),n=r(53975),a=r(76277),p=r(2565),u=r(13265),d=r(96597);function l({view:e,settingsTab:t}){let[r,p]=(0,o.useState)(null),[l,c]=(0,o.useState)(!1),x=r?(0,s.jsx)(a.a,{project:r,onBack:()=>p(null)}):(0,s.jsx)(n.f,{view:e,onProjectSelect:p,settingsTab:t});return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(i.M,{currentView:e,onNavigate:()=>{},onProjectSelect:p,onOpenAbout:()=>c(!0),showSidebar:!r,children:x}),(0,s.jsx)(u.V,{location:"global"}),(0,s.jsx)(d.V,{open:l,onOpenChange:c})]})}function c({view:e,settingsTab:t}){return(0,s.jsx)(p.g,{children:(0,s.jsx)(l,{view:e,settingsTab:t})})}},73136:e=>{"use strict";e.exports=require("node:url")},74998:e=>{"use strict";e.exports=require("perf_hooks")},76760:e=>{"use strict";e.exports=require("node:path")},79428:e=>{"use strict";e.exports=require("buffer")},81881:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>i});var s=r(37413),o=r(36903);function i(){return(0,s.jsx)(o.PageWrapper,{view:"settings"})}},87371:(e,t,r)=>{"use strict";r.r(t),r.d(t,{GlobalError:()=>n.a,__next_app__:()=>l,pages:()=>d,routeModule:()=>c,tree:()=>u});var s=r(65239),o=r(48088),i=r(88170),n=r.n(i),a=r(30893),p={};for(let e in a)0>["default","tree","pages","GlobalError","__next_app__","routeModule"].indexOf(e)&&(p[e]=()=>a[e]);r.d(t,p);let u={children:["",{children:["admin",{children:["settings",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(r.bind(r,81881)),"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/settings/page.tsx"]}]},{}]},{}]},{layout:[()=>Promise.resolve().then(r.bind(r,58014)),"/Users/otto/Desktop/deepstudio/osw-studio-git/app/layout.tsx"],"not-found":[()=>Promise.resolve().then(r.t.bind(r,57398,23)),"next/dist/client/components/not-found-error"],forbidden:[()=>Promise.resolve().then(r.t.bind(r,89999,23)),"next/dist/client/components/forbidden-error"],unauthorized:[()=>Promise.resolve().then(r.t.bind(r,65284,23)),"next/dist/client/components/unauthorized-error"]}]}.children,d=["/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/settings/page.tsx"],l={require:r,loadChunk:()=>Promise.resolve()},c=new s.AppPageRouteModule({definition:{kind:o.RouteKind.APP_PAGE,page:"/admin/settings/page",pathname:"/admin/settings",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:u}})},91645:e=>{"use strict";e.exports=require("net")},94735:e=>{"use strict";e.exports=require("events")}};var t=require("../../../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),s=t.X(0,[4447,8055,2168,32,9243,2437,5504],()=>r(87371));module.exports=s})(); \ No newline at end of file diff --git a/.next/server/app/admin/settings/page.js.nft.json b/.next/server/app/admin/settings/page.js.nft.json new file mode 100644 index 0000000000000000000000000000000000000000..2d9a23d86a9517a9d7e44b19a92d779d8aa1a91c --- /dev/null +++ b/.next/server/app/admin/settings/page.js.nft.json @@ -0,0 +1 @@ +{"version":1,"files":["../../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot-instance.js","../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot.external.js","../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../node_modules/next/package.json","../../../../../package.json","../../../../package.json","../../../chunks/1519.js","../../../chunks/2168.js","../../../chunks/2437.js","../../../chunks/32.js","../../../chunks/4447.js","../../../chunks/5504.js","../../../chunks/8055.js","../../../chunks/9243.js","../../../chunks/9579.js","../../../webpack-runtime.js","page_client-reference-manifest.js"]} \ No newline at end of file diff --git a/.next/server/app/admin/settings/page_client-reference-manifest.js b/.next/server/app/admin/settings/page_client-reference-manifest.js new file mode 100644 index 0000000000000000000000000000000000000000..312109141da63dbf0b88b57ec4e40486ee6ef494 --- /dev/null +++ b/.next/server/app/admin/settings/page_client-reference-manifest.js @@ -0,0 +1 @@ +globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/admin/settings/page"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"3727":{"*":{"id":"12913","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"94593","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"69001","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"53014","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"35656","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"64628","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"97173","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"43555","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"40099","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"20435","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"62763","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"99197","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"28827","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"38243","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"86346","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"27924","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/tanstack-query-provider.tsx":{"id":25388,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/theme-provider.tsx":{"id":61321,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/ui/sonner.tsx":{"id":15851,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"variable\":\"--font-inter-sans\",\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"}":{"id":9755,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"PT_Sans\",\"arguments\":[{\"variable\":\"--font-ptSans-mono\",\"subsets\":[\"latin\"],\"weight\":[\"400\",\"700\"]}],\"variableName\":\"ptSans\"}":{"id":56382,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/assets/globals.css":{"id":85410,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/page-wrapper/index.tsx":{"id":19009,"name":"*","chunks":["5948","static/chunks/06bf0ff1-2f6b5dbae626a171.js","4316","static/chunks/ad2866b8-a4659a388c5e0680.js","6671","static/chunks/6671-cfa51652ff77a475.js","189","static/chunks/189-4f09a71b91c59be3.js","5370","static/chunks/5370-dad62d5f4907e0f9.js","4750","static/chunks/4750-b402a0050286a424.js","5375","static/chunks/5375-a5738c494d0f24e9.js","7122","static/chunks/app/admin/settings/page-24b2afeabd11f21e.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/page.tsx":{"id":57161,"name":"*","chunks":["3698","static/chunks/app/admin/page-e57627a1ade3c2ac.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/test-generation/page.tsx":{"id":26910,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page.tsx":{"id":40796,"name":"*","chunks":["5948","static/chunks/06bf0ff1-2f6b5dbae626a171.js","4316","static/chunks/ad2866b8-a4659a388c5e0680.js","6671","static/chunks/6671-cfa51652ff77a475.js","189","static/chunks/189-4f09a71b91c59be3.js","5370","static/chunks/5370-dad62d5f4907e0f9.js","4750","static/chunks/4750-b402a0050286a424.js","5375","static/chunks/5375-a5738c494d0f24e9.js","8974","static/chunks/app/page-79207d5f775baf7d.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/login/page.tsx":{"id":3727,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/otto/Desktop/deepstudio/osw-studio-git/":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/layout":[{"inlined":false,"path":"static/css/e420bcf6619594d2.css"}],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/page":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/settings/page":[]},"rscModuleMapping":{"3727":{"*":{"id":"9911","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"80363","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"36903","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"41900","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"88170","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"82623","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"31307","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"90597","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"49477","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"49441","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"46577","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"39035","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"12089","name":"*","chunks":[],"async":false}},"85410":{"*":{"id":"94348","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"29345","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"16444","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"16042","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}} \ No newline at end of file diff --git a/.next/server/app/admin/sites.html b/.next/server/app/admin/sites.html new file mode 100644 index 0000000000000000000000000000000000000000..0f5f4fef37fcd349a1cb20ee59597a925f8f49d2 --- /dev/null +++ b/.next/server/app/admin/sites.html @@ -0,0 +1,39 @@ +Open Source Web Studio | Agentic AI Development 🎨
+ + + + + + + +
Sites

Sites feature is only available in Server Mode

\ No newline at end of file diff --git a/.next/server/app/admin/sites.meta b/.next/server/app/admin/sites.meta new file mode 100644 index 0000000000000000000000000000000000000000..70a9e9313a6db1ab89ff99daee84f41a983fe5bc --- /dev/null +++ b/.next/server/app/admin/sites.meta @@ -0,0 +1,7 @@ +{ + "headers": { + "x-nextjs-stale-time": "300", + "x-nextjs-prerender": "1", + "x-next-cache-tags": "_N_T_/layout,_N_T_/admin/layout,_N_T_/admin/sites/layout,_N_T_/admin/sites/page,_N_T_/admin/sites" + } +} \ No newline at end of file diff --git a/.next/server/app/admin/sites.rsc b/.next/server/app/admin/sites.rsc new file mode 100644 index 0000000000000000000000000000000000000000..4e3968c8de4e030cae180ef4e3d9806cb033a502 --- /dev/null +++ b/.next/server/app/admin/sites.rsc @@ -0,0 +1,25 @@ +1:"$Sreact.fragment" +2:I[61321,["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"ThemeProvider"] +3:I[15851,["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"Toaster"] +4:I[25388,["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"default"] +5:I[87555,[],""] +6:I[31295,[],""] +7:I[19009,["5948","static/chunks/06bf0ff1-2f6b5dbae626a171.js","4316","static/chunks/ad2866b8-a4659a388c5e0680.js","6671","static/chunks/6671-cfa51652ff77a475.js","189","static/chunks/189-4f09a71b91c59be3.js","5370","static/chunks/5370-dad62d5f4907e0f9.js","4750","static/chunks/4750-b402a0050286a424.js","5375","static/chunks/5375-a5738c494d0f24e9.js","921","static/chunks/app/admin/sites/page-b2b212c975199133.js"],"PageWrapper"] +8:I[59665,[],"MetadataBoundary"] +a:I[59665,[],"OutletBoundary"] +d:I[74911,[],"AsyncMetadataOutlet"] +f:I[59665,[],"ViewportBoundary"] +11:I[26614,[],""] +:HL["/_next/static/media/58f662ed5ba12a72-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/c3f6eb667c0186c5-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/e4af272ccee01ff0-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/css/e420bcf6619594d2.css","style"] +0:{"P":null,"b":"xIN9K7b8Zi-Lclq3jrJRM","p":"","c":["","admin","sites"],"i":false,"f":[[["",{"children":["admin",{"children":["sites",{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/e420bcf6619594d2.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":"__variable_f367f3 __variable_438d47 antialiased bg-background h-[100dvh] overflow-hidden","suppressHydrationWarning":true,"children":["$","$L2",null,{"children":[["$","$L3",null,{"richColors":true,"position":"bottom-center"}],["$","$L4",null,{"children":["$","$L5",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]]}]}]}]]}],{"children":["admin",["$","$1","c",{"children":[null,["$","$L5",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["sites",["$","$1","c",{"children":[null,["$","$L5",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$L7",null,{"view":"sites"}],["$","$L8",null,{"children":"$L9"}],null,["$","$La",null,{"children":["$Lb","$Lc",["$","$Ld",null,{"promise":"$@e"}]]}]]}],{},null,false]},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","WjHHHJqVDhmqf9VjftYSB",{"children":[["$","$Lf",null,{"children":"$L10"}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],null]}],false]],"m":"$undefined","G":["$11","$undefined"],"s":false,"S":true} +12:"$Sreact.suspense" +13:I[74911,[],"AsyncMetadata"] +9:["$","$12",null,{"fallback":null,"children":["$","$L13",null,{"promise":"$@14"}]}] +c:null +10:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1, maximum-scale=1"}],["$","meta","2",{"name":"theme-color","content":"#000000"}]] +b:null +14:{"metadata":[["$","title","0",{"children":"Open Source Web Studio | Agentic AI Development 🎨"}],["$","meta","1",{"name":"description","content":"Open Source Web Studio is an AI-powered development environment that enables autonomous multi-file development through intelligent tool usage. Build complete applications with natural language."}],["$","meta","2",{"name":"mobile-web-app-capable","content":"yes"}],["$","meta","3",{"name":"apple-mobile-web-app-title","content":"OSW-Studio"}],["$","meta","4",{"name":"apple-mobile-web-app-status-bar-style","content":"black-translucent"}],["$","meta","5",{"property":"og:title","content":"Open Source Web Studio | Agentic AI Development 🎨"}],["$","meta","6",{"property":"og:description","content":"Open Source Web Studio is an AI-powered development environment that enables autonomous multi-file development through intelligent tool usage. Build complete applications with natural language."}],["$","meta","7",{"property":"og:url","content":"https://huggingface.co/spaces/otst/osw-studio"}],["$","meta","8",{"property":"og:site_name","content":"Open Source Web Studio"}],["$","meta","9",{"property":"og:image","content":"https://huggingface.co/spaces/otst/osw-studio/resolve/main/banner.png"}],["$","meta","10",{"property":"og:image:width","content":"1200"}],["$","meta","11",{"property":"og:image:height","content":"630"}],["$","meta","12",{"property":"og:image:alt","content":"Open Source Web Studio - Agentic AI Development"}],["$","meta","13",{"name":"twitter:card","content":"summary_large_image"}],["$","meta","14",{"name":"twitter:title","content":"OSW-Studio | Agentic AI Development 🎨"}],["$","meta","15",{"name":"twitter:description","content":"OSW-Studio is an AI-powered development environment that enables autonomous multi-file development through intelligent tool usage. Build complete applications with natural language."}],["$","meta","16",{"name":"twitter:image","content":"https://huggingface.co/spaces/otst/osw-studio/resolve/main/banner.png"}],["$","link","17",{"rel":"shortcut icon","href":"/osw-studio-logo.svg"}],["$","link","18",{"rel":"icon","href":"/osw-studio-logo.svg"}],["$","link","19",{"rel":"apple-touch-icon","href":"/osw-studio-logo.svg"}]],"error":null,"digest":"$undefined"} +e:{"metadata":"$14:metadata","error":null,"digest":"$undefined"} diff --git a/.next/server/app/admin/sites/page.js b/.next/server/app/admin/sites/page.js new file mode 100644 index 0000000000000000000000000000000000000000..458f25c1ad8cabfb4d2ef2d20bb3594699c8bc60 --- /dev/null +++ b/.next/server/app/admin/sites/page.js @@ -0,0 +1 @@ +(()=>{var e={};e.id=921,e.ids=[921],e.modules={1708:e=>{"use strict";e.exports=require("node:process")},3295:e=>{"use strict";e.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19121:e=>{"use strict";e.exports=require("next/dist/server/app-render/action-async-storage.external.js")},21820:e=>{"use strict";e.exports=require("os")},27910:e=>{"use strict";e.exports=require("stream")},28354:e=>{"use strict";e.exports=require("util")},29021:e=>{"use strict";e.exports=require("fs")},29294:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:e=>{"use strict";e.exports=require("path")},34631:e=>{"use strict";e.exports=require("tls")},36167:(e,r,t)=>{Promise.resolve().then(t.bind(t,36903))},36903:(e,r,t)=>{"use strict";t.d(r,{PageWrapper:()=>s});let s=(0,t(12907).registerClientReference)(function(){throw Error("Attempted to call PageWrapper() from the server but PageWrapper is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/page-wrapper/index.tsx","PageWrapper")},55511:e=>{"use strict";e.exports=require("crypto")},56117:(e,r,t)=>{"use strict";t.r(r),t.d(r,{GlobalError:()=>n.a,__next_app__:()=>l,pages:()=>d,routeModule:()=>c,tree:()=>u});var s=t(65239),o=t(48088),i=t(88170),n=t.n(i),a=t(30893),p={};for(let e in a)0>["default","tree","pages","GlobalError","__next_app__","routeModule"].indexOf(e)&&(p[e]=()=>a[e]);t.d(r,p);let u={children:["",{children:["admin",{children:["sites",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(t.bind(t,69862)),"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/sites/page.tsx"]}]},{}]},{}]},{layout:[()=>Promise.resolve().then(t.bind(t,58014)),"/Users/otto/Desktop/deepstudio/osw-studio-git/app/layout.tsx"],"not-found":[()=>Promise.resolve().then(t.t.bind(t,57398,23)),"next/dist/client/components/not-found-error"],forbidden:[()=>Promise.resolve().then(t.t.bind(t,89999,23)),"next/dist/client/components/forbidden-error"],unauthorized:[()=>Promise.resolve().then(t.t.bind(t,65284,23)),"next/dist/client/components/unauthorized-error"]}]}.children,d=["/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/sites/page.tsx"],l={require:t,loadChunk:()=>Promise.resolve()},c=new s.AppPageRouteModule({definition:{kind:o.RouteKind.APP_PAGE,page:"/admin/sites/page",pathname:"/admin/sites",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:u}})},63033:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},66431:(e,r,t)=>{Promise.resolve().then(t.bind(t,69001))},69001:(e,r,t)=>{"use strict";t.d(r,{PageWrapper:()=>c});var s=t(60687),o=t(43210),i=t(46800),n=t(53975),a=t(76277),p=t(2565),u=t(13265),d=t(96597);function l({view:e,settingsTab:r}){let[t,p]=(0,o.useState)(null),[l,c]=(0,o.useState)(!1),x=t?(0,s.jsx)(a.a,{project:t,onBack:()=>p(null)}):(0,s.jsx)(n.f,{view:e,onProjectSelect:p,settingsTab:r});return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(i.M,{currentView:e,onNavigate:()=>{},onProjectSelect:p,onOpenAbout:()=>c(!0),showSidebar:!t,children:x}),(0,s.jsx)(u.V,{location:"global"}),(0,s.jsx)(d.V,{open:l,onOpenChange:c})]})}function c({view:e,settingsTab:r}){return(0,s.jsx)(p.g,{children:(0,s.jsx)(l,{view:e,settingsTab:r})})}},69862:(e,r,t)=>{"use strict";t.r(r),t.d(r,{default:()=>i});var s=t(37413),o=t(36903);function i(){return(0,s.jsx)(o.PageWrapper,{view:"sites"})}},73136:e=>{"use strict";e.exports=require("node:url")},74998:e=>{"use strict";e.exports=require("perf_hooks")},76760:e=>{"use strict";e.exports=require("node:path")},79428:e=>{"use strict";e.exports=require("buffer")},91645:e=>{"use strict";e.exports=require("net")},94735:e=>{"use strict";e.exports=require("events")}};var r=require("../../../webpack-runtime.js");r.C(e);var t=e=>r(r.s=e),s=r.X(0,[4447,8055,2168,32,9243,2437,5504],()=>t(56117));module.exports=s})(); \ No newline at end of file diff --git a/.next/server/app/admin/sites/page.js.nft.json b/.next/server/app/admin/sites/page.js.nft.json new file mode 100644 index 0000000000000000000000000000000000000000..2d9a23d86a9517a9d7e44b19a92d779d8aa1a91c --- /dev/null +++ b/.next/server/app/admin/sites/page.js.nft.json @@ -0,0 +1 @@ +{"version":1,"files":["../../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot-instance.js","../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot.external.js","../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../node_modules/next/package.json","../../../../../package.json","../../../../package.json","../../../chunks/1519.js","../../../chunks/2168.js","../../../chunks/2437.js","../../../chunks/32.js","../../../chunks/4447.js","../../../chunks/5504.js","../../../chunks/8055.js","../../../chunks/9243.js","../../../chunks/9579.js","../../../webpack-runtime.js","page_client-reference-manifest.js"]} \ No newline at end of file diff --git a/.next/server/app/admin/sites/page_client-reference-manifest.js b/.next/server/app/admin/sites/page_client-reference-manifest.js new file mode 100644 index 0000000000000000000000000000000000000000..5e575d4333ce4ce099eedd82151e1b4b4f81334c --- /dev/null +++ b/.next/server/app/admin/sites/page_client-reference-manifest.js @@ -0,0 +1 @@ +globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/admin/sites/page"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"3727":{"*":{"id":"12913","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"94593","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"69001","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"53014","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"35656","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"64628","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"97173","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"43555","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"40099","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"20435","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"62763","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"99197","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"28827","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"38243","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"86346","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"27924","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/tanstack-query-provider.tsx":{"id":25388,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/theme-provider.tsx":{"id":61321,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/ui/sonner.tsx":{"id":15851,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"variable\":\"--font-inter-sans\",\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"}":{"id":9755,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"PT_Sans\",\"arguments\":[{\"variable\":\"--font-ptSans-mono\",\"subsets\":[\"latin\"],\"weight\":[\"400\",\"700\"]}],\"variableName\":\"ptSans\"}":{"id":56382,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/assets/globals.css":{"id":85410,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/page-wrapper/index.tsx":{"id":19009,"name":"*","chunks":["5948","static/chunks/06bf0ff1-2f6b5dbae626a171.js","4316","static/chunks/ad2866b8-a4659a388c5e0680.js","6671","static/chunks/6671-cfa51652ff77a475.js","189","static/chunks/189-4f09a71b91c59be3.js","5370","static/chunks/5370-dad62d5f4907e0f9.js","4750","static/chunks/4750-b402a0050286a424.js","5375","static/chunks/5375-a5738c494d0f24e9.js","921","static/chunks/app/admin/sites/page-b2b212c975199133.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/page.tsx":{"id":57161,"name":"*","chunks":["3698","static/chunks/app/admin/page-e57627a1ade3c2ac.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/test-generation/page.tsx":{"id":26910,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page.tsx":{"id":40796,"name":"*","chunks":["5948","static/chunks/06bf0ff1-2f6b5dbae626a171.js","4316","static/chunks/ad2866b8-a4659a388c5e0680.js","6671","static/chunks/6671-cfa51652ff77a475.js","189","static/chunks/189-4f09a71b91c59be3.js","5370","static/chunks/5370-dad62d5f4907e0f9.js","4750","static/chunks/4750-b402a0050286a424.js","5375","static/chunks/5375-a5738c494d0f24e9.js","8974","static/chunks/app/page-79207d5f775baf7d.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/login/page.tsx":{"id":3727,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/otto/Desktop/deepstudio/osw-studio-git/":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/layout":[{"inlined":false,"path":"static/css/e420bcf6619594d2.css"}],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/page":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/sites/page":[]},"rscModuleMapping":{"3727":{"*":{"id":"9911","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"80363","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"36903","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"41900","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"88170","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"82623","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"31307","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"90597","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"49477","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"49441","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"46577","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"39035","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"12089","name":"*","chunks":[],"async":false}},"85410":{"*":{"id":"94348","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"29345","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"16444","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"16042","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}} \ No newline at end of file diff --git a/.next/server/app/admin/skills.html b/.next/server/app/admin/skills.html new file mode 100644 index 0000000000000000000000000000000000000000..58df9b0530070ba4aa7ea5407e52e02c965be64f --- /dev/null +++ b/.next/server/app/admin/skills.html @@ -0,0 +1,39 @@ +Open Source Web Studio | Agentic AI Development 🎨
+ + + + + + + +
Skills

Loading skills...

\ No newline at end of file diff --git a/.next/server/app/admin/skills.meta b/.next/server/app/admin/skills.meta new file mode 100644 index 0000000000000000000000000000000000000000..dfdfc5591f31ac19803b80b58be66faa72e1641f --- /dev/null +++ b/.next/server/app/admin/skills.meta @@ -0,0 +1,7 @@ +{ + "headers": { + "x-nextjs-stale-time": "300", + "x-nextjs-prerender": "1", + "x-next-cache-tags": "_N_T_/layout,_N_T_/admin/layout,_N_T_/admin/skills/layout,_N_T_/admin/skills/page,_N_T_/admin/skills" + } +} \ No newline at end of file diff --git a/.next/server/app/admin/skills.rsc b/.next/server/app/admin/skills.rsc new file mode 100644 index 0000000000000000000000000000000000000000..01e471682fc109592c0834e58b45f6e4339f9c48 --- /dev/null +++ b/.next/server/app/admin/skills.rsc @@ -0,0 +1,25 @@ +1:"$Sreact.fragment" +2:I[61321,["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"ThemeProvider"] +3:I[15851,["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"Toaster"] +4:I[25388,["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"default"] +5:I[87555,[],""] +6:I[31295,[],""] +7:I[19009,["5948","static/chunks/06bf0ff1-2f6b5dbae626a171.js","4316","static/chunks/ad2866b8-a4659a388c5e0680.js","6671","static/chunks/6671-cfa51652ff77a475.js","189","static/chunks/189-4f09a71b91c59be3.js","5370","static/chunks/5370-dad62d5f4907e0f9.js","4750","static/chunks/4750-b402a0050286a424.js","5375","static/chunks/5375-a5738c494d0f24e9.js","849","static/chunks/app/admin/skills/page-fda1518c47f773ec.js"],"PageWrapper"] +8:I[59665,[],"MetadataBoundary"] +a:I[59665,[],"OutletBoundary"] +d:I[74911,[],"AsyncMetadataOutlet"] +f:I[59665,[],"ViewportBoundary"] +11:I[26614,[],""] +:HL["/_next/static/media/58f662ed5ba12a72-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/c3f6eb667c0186c5-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/e4af272ccee01ff0-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/css/e420bcf6619594d2.css","style"] +0:{"P":null,"b":"xIN9K7b8Zi-Lclq3jrJRM","p":"","c":["","admin","skills"],"i":false,"f":[[["",{"children":["admin",{"children":["skills",{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/e420bcf6619594d2.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":"__variable_f367f3 __variable_438d47 antialiased bg-background h-[100dvh] overflow-hidden","suppressHydrationWarning":true,"children":["$","$L2",null,{"children":[["$","$L3",null,{"richColors":true,"position":"bottom-center"}],["$","$L4",null,{"children":["$","$L5",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]]}]}]}]]}],{"children":["admin",["$","$1","c",{"children":[null,["$","$L5",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["skills",["$","$1","c",{"children":[null,["$","$L5",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$L7",null,{"view":"skills"}],["$","$L8",null,{"children":"$L9"}],null,["$","$La",null,{"children":["$Lb","$Lc",["$","$Ld",null,{"promise":"$@e"}]]}]]}],{},null,false]},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","yz0ERzLxZKa55g8ojfKW3",{"children":[["$","$Lf",null,{"children":"$L10"}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],null]}],false]],"m":"$undefined","G":["$11","$undefined"],"s":false,"S":true} +12:"$Sreact.suspense" +13:I[74911,[],"AsyncMetadata"] +9:["$","$12",null,{"fallback":null,"children":["$","$L13",null,{"promise":"$@14"}]}] +c:null +10:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1, maximum-scale=1"}],["$","meta","2",{"name":"theme-color","content":"#000000"}]] +b:null +14:{"metadata":[["$","title","0",{"children":"Open Source Web Studio | Agentic AI Development 🎨"}],["$","meta","1",{"name":"description","content":"Open Source Web Studio is an AI-powered development environment that enables autonomous multi-file development through intelligent tool usage. Build complete applications with natural language."}],["$","meta","2",{"name":"mobile-web-app-capable","content":"yes"}],["$","meta","3",{"name":"apple-mobile-web-app-title","content":"OSW-Studio"}],["$","meta","4",{"name":"apple-mobile-web-app-status-bar-style","content":"black-translucent"}],["$","meta","5",{"property":"og:title","content":"Open Source Web Studio | Agentic AI Development 🎨"}],["$","meta","6",{"property":"og:description","content":"Open Source Web Studio is an AI-powered development environment that enables autonomous multi-file development through intelligent tool usage. Build complete applications with natural language."}],["$","meta","7",{"property":"og:url","content":"https://huggingface.co/spaces/otst/osw-studio"}],["$","meta","8",{"property":"og:site_name","content":"Open Source Web Studio"}],["$","meta","9",{"property":"og:image","content":"https://huggingface.co/spaces/otst/osw-studio/resolve/main/banner.png"}],["$","meta","10",{"property":"og:image:width","content":"1200"}],["$","meta","11",{"property":"og:image:height","content":"630"}],["$","meta","12",{"property":"og:image:alt","content":"Open Source Web Studio - Agentic AI Development"}],["$","meta","13",{"name":"twitter:card","content":"summary_large_image"}],["$","meta","14",{"name":"twitter:title","content":"OSW-Studio | Agentic AI Development 🎨"}],["$","meta","15",{"name":"twitter:description","content":"OSW-Studio is an AI-powered development environment that enables autonomous multi-file development through intelligent tool usage. Build complete applications with natural language."}],["$","meta","16",{"name":"twitter:image","content":"https://huggingface.co/spaces/otst/osw-studio/resolve/main/banner.png"}],["$","link","17",{"rel":"shortcut icon","href":"/osw-studio-logo.svg"}],["$","link","18",{"rel":"icon","href":"/osw-studio-logo.svg"}],["$","link","19",{"rel":"apple-touch-icon","href":"/osw-studio-logo.svg"}]],"error":null,"digest":"$undefined"} +e:{"metadata":"$14:metadata","error":null,"digest":"$undefined"} diff --git a/.next/server/app/admin/skills/page.js b/.next/server/app/admin/skills/page.js new file mode 100644 index 0000000000000000000000000000000000000000..aa86e507bcc18c41c7f9d55bd064cb037e4177e6 --- /dev/null +++ b/.next/server/app/admin/skills/page.js @@ -0,0 +1 @@ +(()=>{var e={};e.id=849,e.ids=[849],e.modules={1239:(e,r,t)=>{"use strict";t.r(r),t.d(r,{GlobalError:()=>n.a,__next_app__:()=>l,pages:()=>d,routeModule:()=>c,tree:()=>u});var s=t(65239),o=t(48088),i=t(88170),n=t.n(i),a=t(30893),p={};for(let e in a)0>["default","tree","pages","GlobalError","__next_app__","routeModule"].indexOf(e)&&(p[e]=()=>a[e]);t.d(r,p);let u={children:["",{children:["admin",{children:["skills",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(t.bind(t,35110)),"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/skills/page.tsx"]}]},{}]},{}]},{layout:[()=>Promise.resolve().then(t.bind(t,58014)),"/Users/otto/Desktop/deepstudio/osw-studio-git/app/layout.tsx"],"not-found":[()=>Promise.resolve().then(t.t.bind(t,57398,23)),"next/dist/client/components/not-found-error"],forbidden:[()=>Promise.resolve().then(t.t.bind(t,89999,23)),"next/dist/client/components/forbidden-error"],unauthorized:[()=>Promise.resolve().then(t.t.bind(t,65284,23)),"next/dist/client/components/unauthorized-error"]}]}.children,d=["/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/skills/page.tsx"],l={require:t,loadChunk:()=>Promise.resolve()},c=new s.AppPageRouteModule({definition:{kind:o.RouteKind.APP_PAGE,page:"/admin/skills/page",pathname:"/admin/skills",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:u}})},1708:e=>{"use strict";e.exports=require("node:process")},3295:e=>{"use strict";e.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19121:e=>{"use strict";e.exports=require("next/dist/server/app-render/action-async-storage.external.js")},21820:e=>{"use strict";e.exports=require("os")},27910:e=>{"use strict";e.exports=require("stream")},28354:e=>{"use strict";e.exports=require("util")},29021:e=>{"use strict";e.exports=require("fs")},29294:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:e=>{"use strict";e.exports=require("path")},34631:e=>{"use strict";e.exports=require("tls")},35110:(e,r,t)=>{"use strict";t.r(r),t.d(r,{default:()=>i});var s=t(37413),o=t(36903);function i(){return(0,s.jsx)(o.PageWrapper,{view:"skills"})}},36167:(e,r,t)=>{Promise.resolve().then(t.bind(t,36903))},36903:(e,r,t)=>{"use strict";t.d(r,{PageWrapper:()=>s});let s=(0,t(12907).registerClientReference)(function(){throw Error("Attempted to call PageWrapper() from the server but PageWrapper is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/page-wrapper/index.tsx","PageWrapper")},55511:e=>{"use strict";e.exports=require("crypto")},63033:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},66431:(e,r,t)=>{Promise.resolve().then(t.bind(t,69001))},69001:(e,r,t)=>{"use strict";t.d(r,{PageWrapper:()=>c});var s=t(60687),o=t(43210),i=t(46800),n=t(53975),a=t(76277),p=t(2565),u=t(13265),d=t(96597);function l({view:e,settingsTab:r}){let[t,p]=(0,o.useState)(null),[l,c]=(0,o.useState)(!1),x=t?(0,s.jsx)(a.a,{project:t,onBack:()=>p(null)}):(0,s.jsx)(n.f,{view:e,onProjectSelect:p,settingsTab:r});return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(i.M,{currentView:e,onNavigate:()=>{},onProjectSelect:p,onOpenAbout:()=>c(!0),showSidebar:!t,children:x}),(0,s.jsx)(u.V,{location:"global"}),(0,s.jsx)(d.V,{open:l,onOpenChange:c})]})}function c({view:e,settingsTab:r}){return(0,s.jsx)(p.g,{children:(0,s.jsx)(l,{view:e,settingsTab:r})})}},73136:e=>{"use strict";e.exports=require("node:url")},74998:e=>{"use strict";e.exports=require("perf_hooks")},76760:e=>{"use strict";e.exports=require("node:path")},79428:e=>{"use strict";e.exports=require("buffer")},91645:e=>{"use strict";e.exports=require("net")},94735:e=>{"use strict";e.exports=require("events")}};var r=require("../../../webpack-runtime.js");r.C(e);var t=e=>r(r.s=e),s=r.X(0,[4447,8055,2168,32,9243,2437,5504],()=>t(1239));module.exports=s})(); \ No newline at end of file diff --git a/.next/server/app/admin/skills/page.js.nft.json b/.next/server/app/admin/skills/page.js.nft.json new file mode 100644 index 0000000000000000000000000000000000000000..2d9a23d86a9517a9d7e44b19a92d779d8aa1a91c --- /dev/null +++ b/.next/server/app/admin/skills/page.js.nft.json @@ -0,0 +1 @@ +{"version":1,"files":["../../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot-instance.js","../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot.external.js","../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../node_modules/next/package.json","../../../../../package.json","../../../../package.json","../../../chunks/1519.js","../../../chunks/2168.js","../../../chunks/2437.js","../../../chunks/32.js","../../../chunks/4447.js","../../../chunks/5504.js","../../../chunks/8055.js","../../../chunks/9243.js","../../../chunks/9579.js","../../../webpack-runtime.js","page_client-reference-manifest.js"]} \ No newline at end of file diff --git a/.next/server/app/admin/skills/page_client-reference-manifest.js b/.next/server/app/admin/skills/page_client-reference-manifest.js new file mode 100644 index 0000000000000000000000000000000000000000..1feff27fe1b0b2c75bd60cabde308806f5aa66c8 --- /dev/null +++ b/.next/server/app/admin/skills/page_client-reference-manifest.js @@ -0,0 +1 @@ +globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/admin/skills/page"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"3727":{"*":{"id":"12913","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"94593","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"69001","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"53014","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"35656","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"64628","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"97173","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"43555","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"40099","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"20435","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"62763","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"99197","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"28827","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"38243","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"86346","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"27924","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/tanstack-query-provider.tsx":{"id":25388,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/theme-provider.tsx":{"id":61321,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/ui/sonner.tsx":{"id":15851,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"variable\":\"--font-inter-sans\",\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"}":{"id":9755,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"PT_Sans\",\"arguments\":[{\"variable\":\"--font-ptSans-mono\",\"subsets\":[\"latin\"],\"weight\":[\"400\",\"700\"]}],\"variableName\":\"ptSans\"}":{"id":56382,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/assets/globals.css":{"id":85410,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/page-wrapper/index.tsx":{"id":19009,"name":"*","chunks":["5948","static/chunks/06bf0ff1-2f6b5dbae626a171.js","4316","static/chunks/ad2866b8-a4659a388c5e0680.js","6671","static/chunks/6671-cfa51652ff77a475.js","189","static/chunks/189-4f09a71b91c59be3.js","5370","static/chunks/5370-dad62d5f4907e0f9.js","4750","static/chunks/4750-b402a0050286a424.js","5375","static/chunks/5375-a5738c494d0f24e9.js","849","static/chunks/app/admin/skills/page-fda1518c47f773ec.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/page.tsx":{"id":57161,"name":"*","chunks":["3698","static/chunks/app/admin/page-e57627a1ade3c2ac.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/test-generation/page.tsx":{"id":26910,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page.tsx":{"id":40796,"name":"*","chunks":["5948","static/chunks/06bf0ff1-2f6b5dbae626a171.js","4316","static/chunks/ad2866b8-a4659a388c5e0680.js","6671","static/chunks/6671-cfa51652ff77a475.js","189","static/chunks/189-4f09a71b91c59be3.js","5370","static/chunks/5370-dad62d5f4907e0f9.js","4750","static/chunks/4750-b402a0050286a424.js","5375","static/chunks/5375-a5738c494d0f24e9.js","8974","static/chunks/app/page-79207d5f775baf7d.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/login/page.tsx":{"id":3727,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/otto/Desktop/deepstudio/osw-studio-git/":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/layout":[{"inlined":false,"path":"static/css/e420bcf6619594d2.css"}],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/page":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/skills/page":[]},"rscModuleMapping":{"3727":{"*":{"id":"9911","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"80363","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"36903","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"41900","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"88170","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"82623","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"31307","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"90597","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"49477","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"49441","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"46577","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"39035","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"12089","name":"*","chunks":[],"async":false}},"85410":{"*":{"id":"94348","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"29345","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"16444","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"16042","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}} \ No newline at end of file diff --git a/.next/server/app/admin/templates.html b/.next/server/app/admin/templates.html new file mode 100644 index 0000000000000000000000000000000000000000..04c906102eef69baff3847dc4f13ed1d6c88e142 --- /dev/null +++ b/.next/server/app/admin/templates.html @@ -0,0 +1,39 @@ +Open Source Web Studio | Agentic AI Development 🎨
+ + + + + + + +
Templates

Loading templates...

\ No newline at end of file diff --git a/.next/server/app/admin/templates.meta b/.next/server/app/admin/templates.meta new file mode 100644 index 0000000000000000000000000000000000000000..9677c630de2edb6ec6c2231ebf5412b0972b1dc4 --- /dev/null +++ b/.next/server/app/admin/templates.meta @@ -0,0 +1,7 @@ +{ + "headers": { + "x-nextjs-stale-time": "300", + "x-nextjs-prerender": "1", + "x-next-cache-tags": "_N_T_/layout,_N_T_/admin/layout,_N_T_/admin/templates/layout,_N_T_/admin/templates/page,_N_T_/admin/templates" + } +} \ No newline at end of file diff --git a/.next/server/app/admin/templates.rsc b/.next/server/app/admin/templates.rsc new file mode 100644 index 0000000000000000000000000000000000000000..801fd1e1ade773af579189511ce8decfadb8d216 --- /dev/null +++ b/.next/server/app/admin/templates.rsc @@ -0,0 +1,25 @@ +1:"$Sreact.fragment" +2:I[61321,["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"ThemeProvider"] +3:I[15851,["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"Toaster"] +4:I[25388,["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"default"] +5:I[87555,[],""] +6:I[31295,[],""] +7:I[19009,["5948","static/chunks/06bf0ff1-2f6b5dbae626a171.js","4316","static/chunks/ad2866b8-a4659a388c5e0680.js","6671","static/chunks/6671-cfa51652ff77a475.js","189","static/chunks/189-4f09a71b91c59be3.js","5370","static/chunks/5370-dad62d5f4907e0f9.js","4750","static/chunks/4750-b402a0050286a424.js","5375","static/chunks/5375-a5738c494d0f24e9.js","7698","static/chunks/app/admin/templates/page-e6c70b1d2b0d67de.js"],"PageWrapper"] +8:I[59665,[],"MetadataBoundary"] +a:I[59665,[],"OutletBoundary"] +d:I[74911,[],"AsyncMetadataOutlet"] +f:I[59665,[],"ViewportBoundary"] +11:I[26614,[],""] +:HL["/_next/static/media/58f662ed5ba12a72-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/c3f6eb667c0186c5-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/e4af272ccee01ff0-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/css/e420bcf6619594d2.css","style"] +0:{"P":null,"b":"xIN9K7b8Zi-Lclq3jrJRM","p":"","c":["","admin","templates"],"i":false,"f":[[["",{"children":["admin",{"children":["templates",{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/e420bcf6619594d2.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":"__variable_f367f3 __variable_438d47 antialiased bg-background h-[100dvh] overflow-hidden","suppressHydrationWarning":true,"children":["$","$L2",null,{"children":[["$","$L3",null,{"richColors":true,"position":"bottom-center"}],["$","$L4",null,{"children":["$","$L5",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]]}]}]}]]}],{"children":["admin",["$","$1","c",{"children":[null,["$","$L5",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["templates",["$","$1","c",{"children":[null,["$","$L5",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$L7",null,{"view":"templates"}],["$","$L8",null,{"children":"$L9"}],null,["$","$La",null,{"children":["$Lb","$Lc",["$","$Ld",null,{"promise":"$@e"}]]}]]}],{},null,false]},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","7TyUFJHroMioaGXZ_8vGV",{"children":[["$","$Lf",null,{"children":"$L10"}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],null]}],false]],"m":"$undefined","G":["$11","$undefined"],"s":false,"S":true} +12:"$Sreact.suspense" +13:I[74911,[],"AsyncMetadata"] +9:["$","$12",null,{"fallback":null,"children":["$","$L13",null,{"promise":"$@14"}]}] +c:null +10:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1, maximum-scale=1"}],["$","meta","2",{"name":"theme-color","content":"#000000"}]] +b:null +14:{"metadata":[["$","title","0",{"children":"Open Source Web Studio | Agentic AI Development 🎨"}],["$","meta","1",{"name":"description","content":"Open Source Web Studio is an AI-powered development environment that enables autonomous multi-file development through intelligent tool usage. Build complete applications with natural language."}],["$","meta","2",{"name":"mobile-web-app-capable","content":"yes"}],["$","meta","3",{"name":"apple-mobile-web-app-title","content":"OSW-Studio"}],["$","meta","4",{"name":"apple-mobile-web-app-status-bar-style","content":"black-translucent"}],["$","meta","5",{"property":"og:title","content":"Open Source Web Studio | Agentic AI Development 🎨"}],["$","meta","6",{"property":"og:description","content":"Open Source Web Studio is an AI-powered development environment that enables autonomous multi-file development through intelligent tool usage. Build complete applications with natural language."}],["$","meta","7",{"property":"og:url","content":"https://huggingface.co/spaces/otst/osw-studio"}],["$","meta","8",{"property":"og:site_name","content":"Open Source Web Studio"}],["$","meta","9",{"property":"og:image","content":"https://huggingface.co/spaces/otst/osw-studio/resolve/main/banner.png"}],["$","meta","10",{"property":"og:image:width","content":"1200"}],["$","meta","11",{"property":"og:image:height","content":"630"}],["$","meta","12",{"property":"og:image:alt","content":"Open Source Web Studio - Agentic AI Development"}],["$","meta","13",{"name":"twitter:card","content":"summary_large_image"}],["$","meta","14",{"name":"twitter:title","content":"OSW-Studio | Agentic AI Development 🎨"}],["$","meta","15",{"name":"twitter:description","content":"OSW-Studio is an AI-powered development environment that enables autonomous multi-file development through intelligent tool usage. Build complete applications with natural language."}],["$","meta","16",{"name":"twitter:image","content":"https://huggingface.co/spaces/otst/osw-studio/resolve/main/banner.png"}],["$","link","17",{"rel":"shortcut icon","href":"/osw-studio-logo.svg"}],["$","link","18",{"rel":"icon","href":"/osw-studio-logo.svg"}],["$","link","19",{"rel":"apple-touch-icon","href":"/osw-studio-logo.svg"}]],"error":null,"digest":"$undefined"} +e:{"metadata":"$14:metadata","error":null,"digest":"$undefined"} diff --git a/.next/server/app/admin/templates/page.js b/.next/server/app/admin/templates/page.js new file mode 100644 index 0000000000000000000000000000000000000000..a67637152ceea15c4cef8f6b60c21b1daa21cd8b --- /dev/null +++ b/.next/server/app/admin/templates/page.js @@ -0,0 +1 @@ +(()=>{var e={};e.id=7698,e.ids=[7698],e.modules={1708:e=>{"use strict";e.exports=require("node:process")},3295:e=>{"use strict";e.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},11849:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>i});var s=r(37413),o=r(36903);function i(){return(0,s.jsx)(o.PageWrapper,{view:"templates"})}},19121:e=>{"use strict";e.exports=require("next/dist/server/app-render/action-async-storage.external.js")},21820:e=>{"use strict";e.exports=require("os")},27910:e=>{"use strict";e.exports=require("stream")},28354:e=>{"use strict";e.exports=require("util")},29021:e=>{"use strict";e.exports=require("fs")},29294:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:e=>{"use strict";e.exports=require("path")},34631:e=>{"use strict";e.exports=require("tls")},36167:(e,t,r)=>{Promise.resolve().then(r.bind(r,36903))},36903:(e,t,r)=>{"use strict";r.d(t,{PageWrapper:()=>s});let s=(0,r(12907).registerClientReference)(function(){throw Error("Attempted to call PageWrapper() from the server but PageWrapper is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/page-wrapper/index.tsx","PageWrapper")},46125:(e,t,r)=>{"use strict";r.r(t),r.d(t,{GlobalError:()=>n.a,__next_app__:()=>l,pages:()=>d,routeModule:()=>c,tree:()=>u});var s=r(65239),o=r(48088),i=r(88170),n=r.n(i),a=r(30893),p={};for(let e in a)0>["default","tree","pages","GlobalError","__next_app__","routeModule"].indexOf(e)&&(p[e]=()=>a[e]);r.d(t,p);let u={children:["",{children:["admin",{children:["templates",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(r.bind(r,11849)),"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/templates/page.tsx"]}]},{}]},{}]},{layout:[()=>Promise.resolve().then(r.bind(r,58014)),"/Users/otto/Desktop/deepstudio/osw-studio-git/app/layout.tsx"],"not-found":[()=>Promise.resolve().then(r.t.bind(r,57398,23)),"next/dist/client/components/not-found-error"],forbidden:[()=>Promise.resolve().then(r.t.bind(r,89999,23)),"next/dist/client/components/forbidden-error"],unauthorized:[()=>Promise.resolve().then(r.t.bind(r,65284,23)),"next/dist/client/components/unauthorized-error"]}]}.children,d=["/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/templates/page.tsx"],l={require:r,loadChunk:()=>Promise.resolve()},c=new s.AppPageRouteModule({definition:{kind:o.RouteKind.APP_PAGE,page:"/admin/templates/page",pathname:"/admin/templates",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:u}})},55511:e=>{"use strict";e.exports=require("crypto")},63033:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},66431:(e,t,r)=>{Promise.resolve().then(r.bind(r,69001))},69001:(e,t,r)=>{"use strict";r.d(t,{PageWrapper:()=>c});var s=r(60687),o=r(43210),i=r(46800),n=r(53975),a=r(76277),p=r(2565),u=r(13265),d=r(96597);function l({view:e,settingsTab:t}){let[r,p]=(0,o.useState)(null),[l,c]=(0,o.useState)(!1),x=r?(0,s.jsx)(a.a,{project:r,onBack:()=>p(null)}):(0,s.jsx)(n.f,{view:e,onProjectSelect:p,settingsTab:t});return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(i.M,{currentView:e,onNavigate:()=>{},onProjectSelect:p,onOpenAbout:()=>c(!0),showSidebar:!r,children:x}),(0,s.jsx)(u.V,{location:"global"}),(0,s.jsx)(d.V,{open:l,onOpenChange:c})]})}function c({view:e,settingsTab:t}){return(0,s.jsx)(p.g,{children:(0,s.jsx)(l,{view:e,settingsTab:t})})}},73136:e=>{"use strict";e.exports=require("node:url")},74998:e=>{"use strict";e.exports=require("perf_hooks")},76760:e=>{"use strict";e.exports=require("node:path")},79428:e=>{"use strict";e.exports=require("buffer")},91645:e=>{"use strict";e.exports=require("net")},94735:e=>{"use strict";e.exports=require("events")}};var t=require("../../../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),s=t.X(0,[4447,8055,2168,32,9243,2437,5504],()=>r(46125));module.exports=s})(); \ No newline at end of file diff --git a/.next/server/app/admin/templates/page.js.nft.json b/.next/server/app/admin/templates/page.js.nft.json new file mode 100644 index 0000000000000000000000000000000000000000..2d9a23d86a9517a9d7e44b19a92d779d8aa1a91c --- /dev/null +++ b/.next/server/app/admin/templates/page.js.nft.json @@ -0,0 +1 @@ +{"version":1,"files":["../../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot-instance.js","../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot.external.js","../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../node_modules/next/package.json","../../../../../package.json","../../../../package.json","../../../chunks/1519.js","../../../chunks/2168.js","../../../chunks/2437.js","../../../chunks/32.js","../../../chunks/4447.js","../../../chunks/5504.js","../../../chunks/8055.js","../../../chunks/9243.js","../../../chunks/9579.js","../../../webpack-runtime.js","page_client-reference-manifest.js"]} \ No newline at end of file diff --git a/.next/server/app/admin/templates/page_client-reference-manifest.js b/.next/server/app/admin/templates/page_client-reference-manifest.js new file mode 100644 index 0000000000000000000000000000000000000000..e4b08dc23acd746f6581fcff6d389264aa5776ea --- /dev/null +++ b/.next/server/app/admin/templates/page_client-reference-manifest.js @@ -0,0 +1 @@ +globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/admin/templates/page"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"3727":{"*":{"id":"12913","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"94593","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"69001","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"53014","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"35656","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"64628","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"97173","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"43555","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"40099","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"20435","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"62763","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"99197","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"28827","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"38243","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"86346","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"27924","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/tanstack-query-provider.tsx":{"id":25388,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/theme-provider.tsx":{"id":61321,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/ui/sonner.tsx":{"id":15851,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"variable\":\"--font-inter-sans\",\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"}":{"id":9755,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"PT_Sans\",\"arguments\":[{\"variable\":\"--font-ptSans-mono\",\"subsets\":[\"latin\"],\"weight\":[\"400\",\"700\"]}],\"variableName\":\"ptSans\"}":{"id":56382,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/assets/globals.css":{"id":85410,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/page-wrapper/index.tsx":{"id":19009,"name":"*","chunks":["5948","static/chunks/06bf0ff1-2f6b5dbae626a171.js","4316","static/chunks/ad2866b8-a4659a388c5e0680.js","6671","static/chunks/6671-cfa51652ff77a475.js","189","static/chunks/189-4f09a71b91c59be3.js","5370","static/chunks/5370-dad62d5f4907e0f9.js","4750","static/chunks/4750-b402a0050286a424.js","5375","static/chunks/5375-a5738c494d0f24e9.js","7698","static/chunks/app/admin/templates/page-e6c70b1d2b0d67de.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/page.tsx":{"id":57161,"name":"*","chunks":["3698","static/chunks/app/admin/page-e57627a1ade3c2ac.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/test-generation/page.tsx":{"id":26910,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page.tsx":{"id":40796,"name":"*","chunks":["5948","static/chunks/06bf0ff1-2f6b5dbae626a171.js","4316","static/chunks/ad2866b8-a4659a388c5e0680.js","6671","static/chunks/6671-cfa51652ff77a475.js","189","static/chunks/189-4f09a71b91c59be3.js","5370","static/chunks/5370-dad62d5f4907e0f9.js","4750","static/chunks/4750-b402a0050286a424.js","5375","static/chunks/5375-a5738c494d0f24e9.js","8974","static/chunks/app/page-79207d5f775baf7d.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/login/page.tsx":{"id":3727,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/otto/Desktop/deepstudio/osw-studio-git/":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/layout":[{"inlined":false,"path":"static/css/e420bcf6619594d2.css"}],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/page":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/templates/page":[]},"rscModuleMapping":{"3727":{"*":{"id":"9911","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"80363","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"36903","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"41900","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"88170","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"82623","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"31307","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"90597","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"49477","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"49441","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"46577","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"39035","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"12089","name":"*","chunks":[],"async":false}},"85410":{"*":{"id":"94348","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"29345","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"16444","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"16042","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}} \ No newline at end of file diff --git a/.next/server/app/api/admin/run-migrations/route.js b/.next/server/app/api/admin/run-migrations/route.js new file mode 100644 index 0000000000000000000000000000000000000000..c7b92a5436afccfe4b056b3303424c7b58d44b28 --- /dev/null +++ b/.next/server/app/api/admin/run-migrations/route.js @@ -0,0 +1,5 @@ +"use strict";(()=>{var e={};e.id=729,e.ids=[729],e.modules={3295:e=>{e.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},21820:e=>{e.exports=require("os")},27910:e=>{e.exports=require("stream")},29021:e=>{e.exports=require("fs")},29294:e=>{e.exports=require("next/dist/server/app-render/work-async-storage.external.js")},34631:e=>{e.exports=require("tls")},44870:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},50613:(e,t,r)=>{r.d(t,{$G:()=>c,C0:()=>l,Ht:()=>d,jw:()=>u,oC:()=>x});var s=r(87806),n=r(77412),a=r(44999);let i="osw_session";function o(){let e=process.env.SESSION_SECRET;if(!e)throw Error("SESSION_SECRET environment variable not set");return new TextEncoder().encode(e)}async function u(e,t,r=!0){let n=o(),a=Math.floor((Date.now()+864e5)/1e3);return await new s.P({userId:e,email:t,isAdmin:r}).setProtectedHeader({alg:"HS256"}).setExpirationTime(a).setIssuedAt().sign(n)}async function p(e){try{let t=o(),{payload:r}=await (0,n.V)(e,t);return{userId:r.userId,email:r.email,isAdmin:r.isAdmin,exp:r.exp}}catch(e){return null}}async function d(){let e=await (0,a.UL)(),t=e.get(i)?.value;return t?p(t):null}async function c(e){(await (0,a.UL)()).set(i,e,{httpOnly:!0,secure:!0,sameSite:"lax",maxAge:86400,path:"/"})}async function l(){(await (0,a.UL)()).delete(i)}async function x(){let e=await d();if(!e)throw Error("Unauthorized");return e}},55511:e=>{e.exports=require("crypto")},63033:e=>{e.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},74998:e=>{e.exports=require("perf_hooks")},91645:e=>{e.exports=require("net")},92435:(e,t,r)=>{r.r(t),r.d(t,{patchFetch:()=>g,routeModule:()=>l,serverHooks:()=>w,workAsyncStorage:()=>x,workUnitAsyncStorage:()=>m});var s={};r.r(s),r.d(s,{POST:()=>c});var n=r(96559),a=r(48088),i=r(37719),o=r(32190),u=r(50613),p=r(9022),d=r(15351);async function c(e){try{if(!await (0,u.Ht)())return o.NextResponse.json({error:"Unauthorized"},{status:401});let{migration:t,action:r}=await e.json(),s=await (0,p.B)();if(!(s instanceof d.j))return o.NextResponse.json({error:"Migrations require Server Mode (PostgreSQL)"},{status:503});await s.init();let n=s.getSQL();if("reset"===r&&t)return await n` + DELETE FROM _migrations WHERE id = ${t} + `,await s.close?.(),o.NextResponse.json({success:!0,message:`Migration ${t} has been reset. Restart the server to re-run it.`});if("list"===r){let e=await n` + SELECT id, applied_at FROM _migrations ORDER BY applied_at DESC + `;return await s.close?.(),o.NextResponse.json({success:!0,migrations:e})}return await s.close?.(),o.NextResponse.json({error:'Invalid action. Use "reset" or "list".'},{status:400})}catch(e){return console.error("[Run Migrations API] Error:",e),o.NextResponse.json({error:"Failed to run migrations"},{status:500})}}let l=new n.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/admin/run-migrations/route",pathname:"/api/admin/run-migrations",filename:"route",bundlePath:"app/api/admin/run-migrations/route"},resolvedPagePath:"/Users/otto/Desktop/deepstudio/osw-studio-git/app/api/admin/run-migrations/route.ts",nextConfigOutput:"standalone",userland:s}),{workAsyncStorage:x,workUnitAsyncStorage:m,serverHooks:w}=l;function g(){return(0,i.patchFetch)({workAsyncStorage:x,workUnitAsyncStorage:m})}}};var t=require("../../../../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),s=t.X(0,[4447,580,3971,5155,8154],()=>r(92435));module.exports=s})(); \ No newline at end of file diff --git a/.next/server/app/api/admin/run-migrations/route.js.nft.json b/.next/server/app/api/admin/run-migrations/route.js.nft.json new file mode 100644 index 0000000000000000000000000000000000000000..c6cfcec2802ccfa58c787d9cd673a7f094c60271 --- /dev/null +++ b/.next/server/app/api/admin/run-migrations/route.js.nft.json @@ -0,0 +1 @@ +{"version":1,"files":["../../../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../../node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js","../../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot-instance.js","../../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot.external.js","../../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../../node_modules/next/package.json","../../../../../../package.json","../../../../../package.json","../../../../chunks/3971.js","../../../../chunks/4447.js","../../../../chunks/5155.js","../../../../chunks/580.js","../../../../chunks/8154.js","../../../../webpack-runtime.js","route_client-reference-manifest.js"]} \ No newline at end of file diff --git a/.next/server/app/api/admin/run-migrations/route_client-reference-manifest.js b/.next/server/app/api/admin/run-migrations/route_client-reference-manifest.js new file mode 100644 index 0000000000000000000000000000000000000000..350addc1ff8f09a52bb62f4e0c308b6249c2d7ea --- /dev/null +++ b/.next/server/app/api/admin/run-migrations/route_client-reference-manifest.js @@ -0,0 +1 @@ +globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/api/admin/run-migrations/route"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"3727":{"*":{"id":"12913","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"94593","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"69001","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"53014","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"35656","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"64628","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"97173","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"43555","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"40099","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"20435","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"62763","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"99197","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"28827","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"38243","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"86346","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"27924","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/tanstack-query-provider.tsx":{"id":25388,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/theme-provider.tsx":{"id":61321,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/ui/sonner.tsx":{"id":15851,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"variable\":\"--font-inter-sans\",\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"}":{"id":9755,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"PT_Sans\",\"arguments\":[{\"variable\":\"--font-ptSans-mono\",\"subsets\":[\"latin\"],\"weight\":[\"400\",\"700\"]}],\"variableName\":\"ptSans\"}":{"id":56382,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/assets/globals.css":{"id":85410,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/page-wrapper/index.tsx":{"id":19009,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/page.tsx":{"id":57161,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/test-generation/page.tsx":{"id":26910,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page.tsx":{"id":40796,"name":"*","chunks":["5948","static/chunks/06bf0ff1-2f6b5dbae626a171.js","4316","static/chunks/ad2866b8-a4659a388c5e0680.js","6671","static/chunks/6671-cfa51652ff77a475.js","189","static/chunks/189-4f09a71b91c59be3.js","5370","static/chunks/5370-dad62d5f4907e0f9.js","4750","static/chunks/4750-b402a0050286a424.js","5375","static/chunks/5375-a5738c494d0f24e9.js","8974","static/chunks/app/page-79207d5f775baf7d.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/login/page.tsx":{"id":3727,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/otto/Desktop/deepstudio/osw-studio-git/":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/layout":[{"inlined":false,"path":"static/css/e420bcf6619594d2.css"}],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/api/admin/run-migrations/route":[]},"rscModuleMapping":{"3727":{"*":{"id":"9911","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"80363","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"36903","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"41900","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"88170","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"82623","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"31307","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"90597","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"49477","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"49441","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"46577","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"39035","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"12089","name":"*","chunks":[],"async":false}},"85410":{"*":{"id":"94348","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"29345","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"16444","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"16042","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}} \ No newline at end of file diff --git a/.next/server/app/api/analytics/[siteId]/clear/route.js b/.next/server/app/api/analytics/[siteId]/clear/route.js new file mode 100644 index 0000000000000000000000000000000000000000..d671bc1d1766df520ac8bce8151a34de98322f0c --- /dev/null +++ b/.next/server/app/api/analytics/[siteId]/clear/route.js @@ -0,0 +1 @@ +"use strict";(()=>{var e={};e.id=1989,e.ids=[1989],e.modules={3295:e=>{e.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},21820:e=>{e.exports=require("os")},27910:e=>{e.exports=require("stream")},29021:e=>{e.exports=require("fs")},29294:e=>{e.exports=require("next/dist/server/app-render/work-async-storage.external.js")},34631:e=>{e.exports=require("tls")},44870:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},50613:(e,t,s)=>{s.d(t,{$G:()=>l,C0:()=>d,Ht:()=>c,jw:()=>u,oC:()=>E});var r=s(87806),a=s(77412),i=s(44999);let n="osw_session";function o(){let e=process.env.SESSION_SECRET;if(!e)throw Error("SESSION_SECRET environment variable not set");return new TextEncoder().encode(e)}async function u(e,t,s=!0){let a=o(),i=Math.floor((Date.now()+864e5)/1e3);return await new r.P({userId:e,email:t,isAdmin:s}).setProtectedHeader({alg:"HS256"}).setExpirationTime(i).setIssuedAt().sign(a)}async function p(e){try{let t=o(),{payload:s}=await (0,a.V)(e,t);return{userId:s.userId,email:s.email,isAdmin:s.isAdmin,exp:s.exp}}catch(e){return null}}async function c(){let e=await (0,i.UL)(),t=e.get(n)?.value;return t?p(t):null}async function l(e){(await (0,i.UL)()).set(n,e,{httpOnly:!0,secure:!0,sameSite:"lax",maxAge:86400,path:"/"})}async function d(){(await (0,i.UL)()).delete(n)}async function E(){let e=await c();if(!e)throw Error("Unauthorized");return e}},55511:e=>{e.exports=require("crypto")},63033:e=>{e.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73876:(e,t,s)=>{s.r(t),s.d(t,{patchFetch:()=>x,routeModule:()=>d,serverHooks:()=>m,workAsyncStorage:()=>E,workUnitAsyncStorage:()=>w});var r={};s.r(r),s.d(r,{DELETE:()=>l});var a=s(96559),i=s(48088),n=s(37719),o=s(32190),u=s(50613),p=s(9022),c=s(15351);async function l(e,{params:t}){try{if(!await (0,u.Ht)())return o.NextResponse.json({error:"Unauthorized"},{status:401});let{siteId:s}=await t,r=e.nextUrl.searchParams,a=r.get("type")||"all",i=r.get("dateFrom"),n=r.get("dateTo");if(!["all","pageviews","interactions","sessions"].includes(a))return o.NextResponse.json({error:"Invalid type parameter. Must be one of: all, pageviews, interactions, sessions"},{status:400});let l=await (0,p.B)();if(!(l instanceof c.j))return o.NextResponse.json({error:"Analytics requires Server Mode (PostgreSQL)"},{status:503});if(await l.init(),!await l.getSite?.(s))return await l.close?.(),o.NextResponse.json({error:"Site not found"},{status:404});let d=l.getSQL(),E={pageviews:0,interactions:0,sessions:0};if("all"===a||"pageviews"===a){let e=d`DELETE FROM pageviews WHERE site_id = ${s}`;i&&n?e=d`DELETE FROM pageviews WHERE site_id = ${s} AND timestamp >= ${i} AND timestamp <= ${n}`:i?e=d`DELETE FROM pageviews WHERE site_id = ${s} AND timestamp >= ${i}`:n&&(e=d`DELETE FROM pageviews WHERE site_id = ${s} AND timestamp <= ${n}`),E.pageviews=(await e).count||0}if("all"===a||"interactions"===a){let e=d`DELETE FROM interactions WHERE site_id = ${s}`;i&&n?e=d`DELETE FROM interactions WHERE site_id = ${s} AND timestamp >= ${i} AND timestamp <= ${n}`:i?e=d`DELETE FROM interactions WHERE site_id = ${s} AND timestamp >= ${i}`:n&&(e=d`DELETE FROM interactions WHERE site_id = ${s} AND timestamp <= ${n}`),E.interactions=(await e).count||0}if("all"===a||"sessions"===a){let e=d`DELETE FROM sessions WHERE site_id = ${s}`;i&&n?e=d`DELETE FROM sessions WHERE site_id = ${s} AND created_at >= ${i} AND created_at <= ${n}`:i?e=d`DELETE FROM sessions WHERE site_id = ${s} AND created_at >= ${i}`:n&&(e=d`DELETE FROM sessions WHERE site_id = ${s} AND created_at <= ${n}`),E.sessions=(await e).count||0}return await l.close?.(),o.NextResponse.json({success:!0,message:"Analytics data cleared successfully",deleted:E})}catch(e){return console.error("[Analytics Clear API] Error:",e),o.NextResponse.json({error:"Failed to clear analytics data"},{status:500})}}let d=new a.AppRouteRouteModule({definition:{kind:i.RouteKind.APP_ROUTE,page:"/api/analytics/[siteId]/clear/route",pathname:"/api/analytics/[siteId]/clear",filename:"route",bundlePath:"app/api/analytics/[siteId]/clear/route"},resolvedPagePath:"/Users/otto/Desktop/deepstudio/osw-studio-git/app/api/analytics/[siteId]/clear/route.ts",nextConfigOutput:"standalone",userland:r}),{workAsyncStorage:E,workUnitAsyncStorage:w,serverHooks:m}=d;function x(){return(0,n.patchFetch)({workAsyncStorage:E,workUnitAsyncStorage:w})}},74998:e=>{e.exports=require("perf_hooks")},91645:e=>{e.exports=require("net")}};var t=require("../../../../../webpack-runtime.js");t.C(e);var s=e=>t(t.s=e),r=t.X(0,[4447,580,3971,5155,8154],()=>s(73876));module.exports=r})(); \ No newline at end of file diff --git a/.next/server/app/api/analytics/[siteId]/clear/route.js.nft.json b/.next/server/app/api/analytics/[siteId]/clear/route.js.nft.json new file mode 100644 index 0000000000000000000000000000000000000000..e4978777017564242371ace4a124b9d6e7cc0eb1 --- /dev/null +++ b/.next/server/app/api/analytics/[siteId]/clear/route.js.nft.json @@ -0,0 +1 @@ +{"version":1,"files":["../../../../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../../../node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js","../../../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot-instance.js","../../../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot.external.js","../../../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../../../node_modules/next/package.json","../../../../../../../package.json","../../../../../../package.json","../../../../../chunks/3971.js","../../../../../chunks/4447.js","../../../../../chunks/5155.js","../../../../../chunks/580.js","../../../../../chunks/8154.js","../../../../../webpack-runtime.js","route_client-reference-manifest.js"]} \ No newline at end of file diff --git a/.next/server/app/api/analytics/[siteId]/clear/route_client-reference-manifest.js b/.next/server/app/api/analytics/[siteId]/clear/route_client-reference-manifest.js new file mode 100644 index 0000000000000000000000000000000000000000..03c531cb721e7a04876cb98d49e5355b7a26c012 --- /dev/null +++ b/.next/server/app/api/analytics/[siteId]/clear/route_client-reference-manifest.js @@ -0,0 +1 @@ +globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/api/analytics/[siteId]/clear/route"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"3727":{"*":{"id":"12913","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"94593","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"69001","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"53014","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"35656","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"64628","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"97173","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"43555","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"40099","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"20435","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"62763","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"99197","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"28827","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"38243","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"86346","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"27924","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/tanstack-query-provider.tsx":{"id":25388,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/theme-provider.tsx":{"id":61321,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/ui/sonner.tsx":{"id":15851,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"variable\":\"--font-inter-sans\",\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"}":{"id":9755,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"PT_Sans\",\"arguments\":[{\"variable\":\"--font-ptSans-mono\",\"subsets\":[\"latin\"],\"weight\":[\"400\",\"700\"]}],\"variableName\":\"ptSans\"}":{"id":56382,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/assets/globals.css":{"id":85410,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/page-wrapper/index.tsx":{"id":19009,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/page.tsx":{"id":57161,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/test-generation/page.tsx":{"id":26910,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page.tsx":{"id":40796,"name":"*","chunks":["5948","static/chunks/06bf0ff1-2f6b5dbae626a171.js","4316","static/chunks/ad2866b8-a4659a388c5e0680.js","6671","static/chunks/6671-cfa51652ff77a475.js","189","static/chunks/189-4f09a71b91c59be3.js","5370","static/chunks/5370-dad62d5f4907e0f9.js","4750","static/chunks/4750-b402a0050286a424.js","5375","static/chunks/5375-a5738c494d0f24e9.js","8974","static/chunks/app/page-79207d5f775baf7d.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/login/page.tsx":{"id":3727,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/otto/Desktop/deepstudio/osw-studio-git/":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/layout":[{"inlined":false,"path":"static/css/e420bcf6619594d2.css"}],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/api/analytics/[siteId]/route":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/api/analytics/[siteId]/clear/route":[]},"rscModuleMapping":{"3727":{"*":{"id":"9911","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"80363","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"36903","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"41900","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"88170","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"82623","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"31307","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"90597","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"49477","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"49441","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"46577","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"39035","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"12089","name":"*","chunks":[],"async":false}},"85410":{"*":{"id":"94348","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"29345","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"16444","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"16042","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}} \ No newline at end of file diff --git a/.next/server/app/api/analytics/[siteId]/engagement/route.js b/.next/server/app/api/analytics/[siteId]/engagement/route.js new file mode 100644 index 0000000000000000000000000000000000000000..8486bc65668f2a37af5eb6fd31e65baab87652f8 --- /dev/null +++ b/.next/server/app/api/analytics/[siteId]/engagement/route.js @@ -0,0 +1,73 @@ +"use strict";(()=>{var e={};e.id=9379,e.ids=[9379],e.modules={3295:e=>{e.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},21820:e=>{e.exports=require("os")},27910:e=>{e.exports=require("stream")},29021:e=>{e.exports=require("fs")},29294:e=>{e.exports=require("next/dist/server/app-render/work-async-storage.external.js")},34631:e=>{e.exports=require("tls")},44870:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},50613:(e,t,a)=>{a.d(t,{$G:()=>d,C0:()=>_,Ht:()=>c,jw:()=>p,oC:()=>l});var r=a(87806),i=a(77412),n=a(44999);let s="osw_session";function o(){let e=process.env.SESSION_SECRET;if(!e)throw Error("SESSION_SECRET environment variable not set");return new TextEncoder().encode(e)}async function p(e,t,a=!0){let i=o(),n=Math.floor((Date.now()+864e5)/1e3);return await new r.P({userId:e,email:t,isAdmin:a}).setProtectedHeader({alg:"HS256"}).setExpirationTime(n).setIssuedAt().sign(i)}async function u(e){try{let t=o(),{payload:a}=await (0,i.V)(e,t);return{userId:a.userId,email:a.email,isAdmin:a.isAdmin,exp:a.exp}}catch(e){return null}}async function c(){let e=await (0,n.UL)(),t=e.get(s)?.value;return t?u(t):null}async function d(e){(await (0,n.UL)()).set(s,e,{httpOnly:!0,secure:!0,sameSite:"lax",maxAge:86400,path:"/"})}async function _(){(await (0,n.UL)()).delete(s)}async function l(){let e=await c();if(!e)throw Error("Unauthorized");return e}},55152:(e,t,a)=>{a.r(t),a.d(t,{patchFetch:()=>E,routeModule:()=>_,serverHooks:()=>m,workAsyncStorage:()=>l,workUnitAsyncStorage:()=>g});var r={};a.r(r),a.d(r,{GET:()=>d});var i=a(96559),n=a(48088),s=a(37719),o=a(32190),p=a(50613),u=a(9022),c=a(15351);async function d(e,{params:t}){try{if(!await (0,p.Ht)())return o.NextResponse.json({error:"Unauthorized"},{status:401});let{siteId:a}=await t,{searchParams:r}=new URL(e.url),i=r.get("dateFrom"),n=r.get("dateTo"),s=await (0,u.B)();if(!(s instanceof c.j))return o.NextResponse.json({error:"Analytics requires Server Mode (PostgreSQL)"},{status:503});if(await s.init(),!await s.getSite?.(a))return await s.close?.(),o.NextResponse.json({error:"Site not found"},{status:404});let d=s.getSQL(),_=await d` + SELECT + page_path, + AVG(time_on_page) as avg_time, + PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY time_on_page) as median_time + FROM interactions + WHERE + site_id = ${a} + AND interaction_type = 'exit' + AND time_on_page IS NOT NULL + ${i?d`AND timestamp >= ${i}`:d``} + ${n?d`AND timestamp <= ${n}`:d``} + GROUP BY page_path + ORDER BY avg_time DESC + LIMIT 50 + `,l=await d` + SELECT + AVG(time_on_page) as avg_time, + PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY time_on_page) as median_time + FROM interactions + WHERE + site_id = ${a} + AND interaction_type = 'exit' + AND time_on_page IS NOT NULL + ${i?d`AND timestamp >= ${i}`:d``} + ${n?d`AND timestamp <= ${n}`:d``} + `,g=await d` + SELECT + scroll_depth, + COUNT(*)::integer as count + FROM interactions + WHERE + site_id = ${a} + AND interaction_type = 'scroll' + AND scroll_depth IS NOT NULL + ${i?d`AND timestamp >= ${i}`:d``} + ${n?d`AND timestamp <= ${n}`:d``} + GROUP BY scroll_depth + ORDER BY scroll_depth + `,m=await d` + SELECT + exit_page, + COUNT(*)::integer as exit_count, + COUNT(*) * 1.0 / ( + SELECT COUNT(*) FROM sessions + WHERE site_id = ${a} + ${i?d`AND created_at >= ${i}`:d``} + ${n?d`AND created_at <= ${n}`:d``} + ) as exit_rate + FROM sessions + WHERE + site_id = ${a} + AND exit_page IS NOT NULL + ${i?d`AND created_at >= ${i}`:d``} + ${n?d`AND created_at <= ${n}`:d``} + GROUP BY exit_page + ORDER BY exit_count DESC + LIMIT 20 + `,E=await d` + SELECT + entry_page, + COUNT(*)::integer as visit_count, + SUM(CASE WHEN is_bounce THEN 1 ELSE 0 END) * 1.0 / COUNT(*) as bounce_rate + FROM sessions + WHERE + site_id = ${a} + AND entry_page IS NOT NULL + ${i?d`AND created_at >= ${i}`:d``} + ${n?d`AND created_at <= ${n}`:d``} + GROUP BY entry_page + ORDER BY visit_count DESC + LIMIT 20 + `;await s.close?.();let N={timeOnPage:{average:l[0]?.avg_time||0,median:l[0]?.median_time||0,distribution:_.reduce((e,t)=>(e[t.page_path]=t.avg_time,e),{})},scrollDepth:{average:g.reduce((e,t)=>e+t.scroll_depth*t.count,0)/g.reduce((e,t)=>e+t.count,0)||0,milestones:g.reduce((e,t)=>(e[t.scroll_depth]=t.count,e),{})},exitPages:m.map(e=>({page:e.exit_page,exitCount:e.exit_count,exitRate:e.exit_rate})),topLandingPages:E.map(e=>({page:e.entry_page,visitCount:e.visit_count,bounceRate:e.bounce_rate}))};return o.NextResponse.json(N)}catch(e){return console.error("[Analytics Engagement API] Error:",e),o.NextResponse.json({error:"Failed to fetch engagement metrics"},{status:500})}}let _=new i.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/analytics/[siteId]/engagement/route",pathname:"/api/analytics/[siteId]/engagement",filename:"route",bundlePath:"app/api/analytics/[siteId]/engagement/route"},resolvedPagePath:"/Users/otto/Desktop/deepstudio/osw-studio-git/app/api/analytics/[siteId]/engagement/route.ts",nextConfigOutput:"standalone",userland:r}),{workAsyncStorage:l,workUnitAsyncStorage:g,serverHooks:m}=_;function E(){return(0,s.patchFetch)({workAsyncStorage:l,workUnitAsyncStorage:g})}},55511:e=>{e.exports=require("crypto")},63033:e=>{e.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},74998:e=>{e.exports=require("perf_hooks")},91645:e=>{e.exports=require("net")}};var t=require("../../../../../webpack-runtime.js");t.C(e);var a=e=>t(t.s=e),r=t.X(0,[4447,580,3971,5155,8154],()=>a(55152));module.exports=r})(); \ No newline at end of file diff --git a/.next/server/app/api/analytics/[siteId]/engagement/route.js.nft.json b/.next/server/app/api/analytics/[siteId]/engagement/route.js.nft.json new file mode 100644 index 0000000000000000000000000000000000000000..e4978777017564242371ace4a124b9d6e7cc0eb1 --- /dev/null +++ b/.next/server/app/api/analytics/[siteId]/engagement/route.js.nft.json @@ -0,0 +1 @@ +{"version":1,"files":["../../../../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../../../node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js","../../../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot-instance.js","../../../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot.external.js","../../../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../../../node_modules/next/package.json","../../../../../../../package.json","../../../../../../package.json","../../../../../chunks/3971.js","../../../../../chunks/4447.js","../../../../../chunks/5155.js","../../../../../chunks/580.js","../../../../../chunks/8154.js","../../../../../webpack-runtime.js","route_client-reference-manifest.js"]} \ No newline at end of file diff --git a/.next/server/app/api/analytics/[siteId]/engagement/route_client-reference-manifest.js b/.next/server/app/api/analytics/[siteId]/engagement/route_client-reference-manifest.js new file mode 100644 index 0000000000000000000000000000000000000000..f03d2aa98889b37746212a260b9b656243676303 --- /dev/null +++ b/.next/server/app/api/analytics/[siteId]/engagement/route_client-reference-manifest.js @@ -0,0 +1 @@ +globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/api/analytics/[siteId]/engagement/route"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"3727":{"*":{"id":"12913","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"94593","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"69001","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"53014","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"35656","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"64628","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"97173","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"43555","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"40099","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"20435","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"62763","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"99197","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"28827","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"38243","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"86346","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"27924","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/tanstack-query-provider.tsx":{"id":25388,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/theme-provider.tsx":{"id":61321,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/ui/sonner.tsx":{"id":15851,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"variable\":\"--font-inter-sans\",\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"}":{"id":9755,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"PT_Sans\",\"arguments\":[{\"variable\":\"--font-ptSans-mono\",\"subsets\":[\"latin\"],\"weight\":[\"400\",\"700\"]}],\"variableName\":\"ptSans\"}":{"id":56382,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/assets/globals.css":{"id":85410,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/page-wrapper/index.tsx":{"id":19009,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/page.tsx":{"id":57161,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/test-generation/page.tsx":{"id":26910,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page.tsx":{"id":40796,"name":"*","chunks":["5948","static/chunks/06bf0ff1-2f6b5dbae626a171.js","4316","static/chunks/ad2866b8-a4659a388c5e0680.js","6671","static/chunks/6671-cfa51652ff77a475.js","189","static/chunks/189-4f09a71b91c59be3.js","5370","static/chunks/5370-dad62d5f4907e0f9.js","4750","static/chunks/4750-b402a0050286a424.js","5375","static/chunks/5375-a5738c494d0f24e9.js","8974","static/chunks/app/page-79207d5f775baf7d.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/login/page.tsx":{"id":3727,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/otto/Desktop/deepstudio/osw-studio-git/":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/layout":[{"inlined":false,"path":"static/css/e420bcf6619594d2.css"}],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/api/analytics/[siteId]/route":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/api/analytics/[siteId]/engagement/route":[]},"rscModuleMapping":{"3727":{"*":{"id":"9911","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"80363","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"36903","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"41900","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"88170","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"82623","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"31307","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"90597","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"49477","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"49441","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"46577","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"39035","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"12089","name":"*","chunks":[],"async":false}},"85410":{"*":{"id":"94348","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"29345","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"16444","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"16042","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}} \ No newline at end of file diff --git a/.next/server/app/api/analytics/[siteId]/export/route.js b/.next/server/app/api/analytics/[siteId]/export/route.js new file mode 100644 index 0000000000000000000000000000000000000000..f6b9b7b5ab468fdc42f707854c4c75b348e32b9f --- /dev/null +++ b/.next/server/app/api/analytics/[siteId]/export/route.js @@ -0,0 +1,24 @@ +"use strict";(()=>{var e={};e.id=8080,e.ids=[8080],e.modules={3295:e=>{e.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},9855:(e,t,r)=>{r.r(t),r.d(t,{patchFetch:()=>f,routeModule:()=>d,serverHooks:()=>w,workAsyncStorage:()=>x,workUnitAsyncStorage:()=>m});var s={};r.r(s),r.d(s,{POST:()=>l});var a=r(96559),n=r(48088),i=r(37719),o=r(32190),p=r(50613),u=r(9022),c=r(15351);async function l(e,{params:t}){try{if(!await (0,p.Ht)())return o.NextResponse.json({error:"Unauthorized"},{status:401});let{siteId:r}=await t,{format:s="csv",type:a="all",dateFrom:n,dateTo:i}=await e.json(),l=await (0,u.B)();if(!(l instanceof c.j))return o.NextResponse.json({error:"Analytics requires Server Mode (PostgreSQL)"},{status:503});if(await l.init(),!await l.getSite?.(r))return await l.close?.(),o.NextResponse.json({error:"Site not found"},{status:404});let d=l.getSQL(),x=(e,t)=>{let s=[`${e}.site_id = ${r}`];return n&&s.push(`${e}.${t} >= '${n}'`),i&&s.push(`${e}.${t} <= '${i}'`),d.unsafe(s.join(" AND "))},m={};if(("all"===a||"pageviews"===a)&&(m.pageviews=await d` + SELECT + id, page_path, referrer, country, user_agent, session_id, + load_time, exit_time, device_type, timestamp + FROM pageviews + WHERE ${x("pageviews","timestamp")} + ORDER BY timestamp DESC + `),("all"===a||"interactions"===a)&&(m.interactions=await d` + SELECT + id, session_id, page_path, interaction_type, element_selector, + coordinates, scroll_depth, time_on_page, timestamp + FROM interactions + WHERE ${x("interactions","timestamp")} + ORDER BY timestamp DESC + `),("all"===a||"sessions"===a)&&(m.sessions=await d` + SELECT + id, session_id, entry_page, exit_page, page_count, + duration, is_bounce, created_at, ended_at + FROM sessions + WHERE ${x("sessions","created_at")} + ORDER BY created_at DESC + `),await l.close?.(),"json"===s)return o.NextResponse.json(m,{headers:{"Content-Disposition":`attachment; filename="analytics-${r}-${Date.now()}.json"`}});{let e=[];for(let[t,r]of Object.entries(m)){if(!Array.isArray(r)||0===r.length)continue;e.push(` +# ${t.toUpperCase()} +`);let s=Object.keys(r[0]);for(let t of(e.push(s.join(",")),r)){let r=s.map(e=>{let r=t[e];return null==r?"":"object"==typeof r?JSON.stringify(r):`"${String(r).replace(/"/g,'""')}"`});e.push(r.join(","))}}let t=e.join("\n");return new o.NextResponse(t,{headers:{"Content-Type":"text/csv","Content-Disposition":`attachment; filename="analytics-${r}-${Date.now()}.csv"`}})}}catch(e){return console.error("[Analytics Export API] Error:",e),o.NextResponse.json({error:"Failed to export analytics data"},{status:500})}}let d=new a.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/analytics/[siteId]/export/route",pathname:"/api/analytics/[siteId]/export",filename:"route",bundlePath:"app/api/analytics/[siteId]/export/route"},resolvedPagePath:"/Users/otto/Desktop/deepstudio/osw-studio-git/app/api/analytics/[siteId]/export/route.ts",nextConfigOutput:"standalone",userland:s}),{workAsyncStorage:x,workUnitAsyncStorage:m,serverHooks:w}=d;function f(){return(0,i.patchFetch)({workAsyncStorage:x,workUnitAsyncStorage:m})}},10846:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},21820:e=>{e.exports=require("os")},27910:e=>{e.exports=require("stream")},29021:e=>{e.exports=require("fs")},29294:e=>{e.exports=require("next/dist/server/app-render/work-async-storage.external.js")},34631:e=>{e.exports=require("tls")},44870:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},50613:(e,t,r)=>{r.d(t,{$G:()=>l,C0:()=>d,Ht:()=>c,jw:()=>p,oC:()=>x});var s=r(87806),a=r(77412),n=r(44999);let i="osw_session";function o(){let e=process.env.SESSION_SECRET;if(!e)throw Error("SESSION_SECRET environment variable not set");return new TextEncoder().encode(e)}async function p(e,t,r=!0){let a=o(),n=Math.floor((Date.now()+864e5)/1e3);return await new s.P({userId:e,email:t,isAdmin:r}).setProtectedHeader({alg:"HS256"}).setExpirationTime(n).setIssuedAt().sign(a)}async function u(e){try{let t=o(),{payload:r}=await (0,a.V)(e,t);return{userId:r.userId,email:r.email,isAdmin:r.isAdmin,exp:r.exp}}catch(e){return null}}async function c(){let e=await (0,n.UL)(),t=e.get(i)?.value;return t?u(t):null}async function l(e){(await (0,n.UL)()).set(i,e,{httpOnly:!0,secure:!0,sameSite:"lax",maxAge:86400,path:"/"})}async function d(){(await (0,n.UL)()).delete(i)}async function x(){let e=await c();if(!e)throw Error("Unauthorized");return e}},55511:e=>{e.exports=require("crypto")},63033:e=>{e.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},74998:e=>{e.exports=require("perf_hooks")},91645:e=>{e.exports=require("net")}};var t=require("../../../../../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),s=t.X(0,[4447,580,3971,5155,8154],()=>r(9855));module.exports=s})(); \ No newline at end of file diff --git a/.next/server/app/api/analytics/[siteId]/export/route.js.nft.json b/.next/server/app/api/analytics/[siteId]/export/route.js.nft.json new file mode 100644 index 0000000000000000000000000000000000000000..e4978777017564242371ace4a124b9d6e7cc0eb1 --- /dev/null +++ b/.next/server/app/api/analytics/[siteId]/export/route.js.nft.json @@ -0,0 +1 @@ +{"version":1,"files":["../../../../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../../../node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js","../../../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot-instance.js","../../../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot.external.js","../../../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../../../node_modules/next/package.json","../../../../../../../package.json","../../../../../../package.json","../../../../../chunks/3971.js","../../../../../chunks/4447.js","../../../../../chunks/5155.js","../../../../../chunks/580.js","../../../../../chunks/8154.js","../../../../../webpack-runtime.js","route_client-reference-manifest.js"]} \ No newline at end of file diff --git a/.next/server/app/api/analytics/[siteId]/export/route_client-reference-manifest.js b/.next/server/app/api/analytics/[siteId]/export/route_client-reference-manifest.js new file mode 100644 index 0000000000000000000000000000000000000000..36565f5971c4065294a73d8aaa77b21492e47779 --- /dev/null +++ b/.next/server/app/api/analytics/[siteId]/export/route_client-reference-manifest.js @@ -0,0 +1 @@ +globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/api/analytics/[siteId]/export/route"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"3727":{"*":{"id":"12913","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"94593","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"69001","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"53014","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"35656","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"64628","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"97173","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"43555","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"40099","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"20435","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"62763","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"99197","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"28827","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"38243","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"86346","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"27924","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/tanstack-query-provider.tsx":{"id":25388,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/theme-provider.tsx":{"id":61321,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/ui/sonner.tsx":{"id":15851,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"variable\":\"--font-inter-sans\",\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"}":{"id":9755,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"PT_Sans\",\"arguments\":[{\"variable\":\"--font-ptSans-mono\",\"subsets\":[\"latin\"],\"weight\":[\"400\",\"700\"]}],\"variableName\":\"ptSans\"}":{"id":56382,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/assets/globals.css":{"id":85410,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/page-wrapper/index.tsx":{"id":19009,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/page.tsx":{"id":57161,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/test-generation/page.tsx":{"id":26910,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page.tsx":{"id":40796,"name":"*","chunks":["5948","static/chunks/06bf0ff1-2f6b5dbae626a171.js","4316","static/chunks/ad2866b8-a4659a388c5e0680.js","6671","static/chunks/6671-cfa51652ff77a475.js","189","static/chunks/189-4f09a71b91c59be3.js","5370","static/chunks/5370-dad62d5f4907e0f9.js","4750","static/chunks/4750-b402a0050286a424.js","5375","static/chunks/5375-a5738c494d0f24e9.js","8974","static/chunks/app/page-79207d5f775baf7d.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/login/page.tsx":{"id":3727,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/otto/Desktop/deepstudio/osw-studio-git/":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/layout":[{"inlined":false,"path":"static/css/e420bcf6619594d2.css"}],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/api/analytics/[siteId]/route":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/api/analytics/[siteId]/export/route":[]},"rscModuleMapping":{"3727":{"*":{"id":"9911","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"80363","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"36903","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"41900","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"88170","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"82623","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"31307","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"90597","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"49477","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"49441","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"46577","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"39035","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"12089","name":"*","chunks":[],"async":false}},"85410":{"*":{"id":"94348","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"29345","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"16444","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"16042","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}} \ No newline at end of file diff --git a/.next/server/app/api/analytics/[siteId]/heatmap/route.js b/.next/server/app/api/analytics/[siteId]/heatmap/route.js new file mode 100644 index 0000000000000000000000000000000000000000..cabb4bd2c2716c4bf8ed5d16e6be47dbe8f3978a --- /dev/null +++ b/.next/server/app/api/analytics/[siteId]/heatmap/route.js @@ -0,0 +1,31 @@ +"use strict";(()=>{var e={};e.id=6758,e.ids=[6758],e.modules={3295:e=>{e.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},21820:e=>{e.exports=require("os")},24575:(e,t,r)=>{r.r(t),r.d(t,{patchFetch:()=>g,routeModule:()=>d,serverHooks:()=>x,workAsyncStorage:()=>m,workUnitAsyncStorage:()=>h});var s={};r.r(s),r.d(s,{GET:()=>u});var a=r(96559),i=r(48088),n=r(37719),o=r(32190),p=r(50613),l=r(9022),c=r(15351);async function u(e,{params:t}){try{if(!await (0,p.Ht)())return o.NextResponse.json({error:"Unauthorized"},{status:401});let{siteId:r}=await t,{searchParams:s}=new URL(e.url),a=s.get("page"),i=s.get("type")||"click",n=s.get("device"),u=s.get("dateFrom"),d=s.get("dateTo");if(!a)return o.NextResponse.json({error:"Missing required parameter: page"},{status:400});let m=await (0,l.B)();if(!(m instanceof c.j))return o.NextResponse.json({error:"Analytics requires Server Mode (PostgreSQL)"},{status:503});if(await m.init(),!await m.getSite?.(r))return await m.close?.(),o.NextResponse.json({error:"Site not found"},{status:404});let h=m.getSQL(),x=[];if("click"===i){let e=h` + SELECT + coordinates, + element_selector, + timestamp + FROM interactions + WHERE + site_id = ${r} + AND page_path = ${a} + AND interaction_type = 'click' + AND coordinates IS NOT NULL + ${u?h`AND timestamp >= ${u}`:h``} + ${d?h`AND timestamp <= ${d}`:h``} + ORDER BY timestamp DESC + LIMIT 10000 + `;x=await e,n&&"all"!==n&&(x=x.filter(e=>{try{let t=("string"==typeof e.coordinates?JSON.parse(e.coordinates):e.coordinates).viewportWidth;if("mobile"===n)return t<768;if("tablet"===n)return t>=768&&t<1024;if("desktop"===n)return t>=1024;return!0}catch{return!1}}))}else if("scroll"===i){let e=h` + SELECT + scroll_depth, + time_on_page, + timestamp + FROM interactions + WHERE + site_id = ${r} + AND page_path = ${a} + AND interaction_type = 'scroll' + AND scroll_depth IS NOT NULL + ${u?h`AND timestamp >= ${u}`:h``} + ${d?h`AND timestamp <= ${d}`:h``} + ORDER BY timestamp DESC + LIMIT 10000 + `;x=await e}if(await m.close?.(),"click"===i){let e=x.map(e=>{try{let t="string"==typeof e.coordinates?JSON.parse(e.coordinates):e.coordinates;return{x:t.x,y:t.y,scrollY:t.scrollY||0,viewportWidth:t.viewportWidth,viewportHeight:t.viewportHeight,documentHeight:t.documentHeight,elementSelector:e.element_selector,timestamp:e.timestamp}}catch{return null}}).filter(e=>null!==e);return o.NextResponse.json({type:"click",page:a,sampleSize:e.length,points:e})}if("scroll"===i){let e=x.reduce((e,t)=>{let r=t.scroll_depth;return e[r]=(e[r]||0)+1,e},{});return o.NextResponse.json({type:"scroll",page:a,sampleSize:x.length,depthDistribution:e,rawData:x.map(e=>({scrollDepth:e.scroll_depth,timeOnPage:e.time_on_page,timestamp:e.timestamp}))})}return o.NextResponse.json({error:"Invalid type"},{status:400})}catch(e){return console.error("[Analytics Heatmap API] Error:",e),o.NextResponse.json({error:"Failed to fetch heatmap data"},{status:500})}}let d=new a.AppRouteRouteModule({definition:{kind:i.RouteKind.APP_ROUTE,page:"/api/analytics/[siteId]/heatmap/route",pathname:"/api/analytics/[siteId]/heatmap",filename:"route",bundlePath:"app/api/analytics/[siteId]/heatmap/route"},resolvedPagePath:"/Users/otto/Desktop/deepstudio/osw-studio-git/app/api/analytics/[siteId]/heatmap/route.ts",nextConfigOutput:"standalone",userland:s}),{workAsyncStorage:m,workUnitAsyncStorage:h,serverHooks:x}=d;function g(){return(0,n.patchFetch)({workAsyncStorage:m,workUnitAsyncStorage:h})}},27910:e=>{e.exports=require("stream")},29021:e=>{e.exports=require("fs")},29294:e=>{e.exports=require("next/dist/server/app-render/work-async-storage.external.js")},34631:e=>{e.exports=require("tls")},44870:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},50613:(e,t,r)=>{r.d(t,{$G:()=>u,C0:()=>d,Ht:()=>c,jw:()=>p,oC:()=>m});var s=r(87806),a=r(77412),i=r(44999);let n="osw_session";function o(){let e=process.env.SESSION_SECRET;if(!e)throw Error("SESSION_SECRET environment variable not set");return new TextEncoder().encode(e)}async function p(e,t,r=!0){let a=o(),i=Math.floor((Date.now()+864e5)/1e3);return await new s.P({userId:e,email:t,isAdmin:r}).setProtectedHeader({alg:"HS256"}).setExpirationTime(i).setIssuedAt().sign(a)}async function l(e){try{let t=o(),{payload:r}=await (0,a.V)(e,t);return{userId:r.userId,email:r.email,isAdmin:r.isAdmin,exp:r.exp}}catch(e){return null}}async function c(){let e=await (0,i.UL)(),t=e.get(n)?.value;return t?l(t):null}async function u(e){(await (0,i.UL)()).set(n,e,{httpOnly:!0,secure:!0,sameSite:"lax",maxAge:86400,path:"/"})}async function d(){(await (0,i.UL)()).delete(n)}async function m(){let e=await c();if(!e)throw Error("Unauthorized");return e}},55511:e=>{e.exports=require("crypto")},63033:e=>{e.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},74998:e=>{e.exports=require("perf_hooks")},91645:e=>{e.exports=require("net")}};var t=require("../../../../../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),s=t.X(0,[4447,580,3971,5155,8154],()=>r(24575));module.exports=s})(); \ No newline at end of file diff --git a/.next/server/app/api/analytics/[siteId]/heatmap/route.js.nft.json b/.next/server/app/api/analytics/[siteId]/heatmap/route.js.nft.json new file mode 100644 index 0000000000000000000000000000000000000000..e4978777017564242371ace4a124b9d6e7cc0eb1 --- /dev/null +++ b/.next/server/app/api/analytics/[siteId]/heatmap/route.js.nft.json @@ -0,0 +1 @@ +{"version":1,"files":["../../../../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../../../node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js","../../../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot-instance.js","../../../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot.external.js","../../../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../../../node_modules/next/package.json","../../../../../../../package.json","../../../../../../package.json","../../../../../chunks/3971.js","../../../../../chunks/4447.js","../../../../../chunks/5155.js","../../../../../chunks/580.js","../../../../../chunks/8154.js","../../../../../webpack-runtime.js","route_client-reference-manifest.js"]} \ No newline at end of file diff --git a/.next/server/app/api/analytics/[siteId]/heatmap/route_client-reference-manifest.js b/.next/server/app/api/analytics/[siteId]/heatmap/route_client-reference-manifest.js new file mode 100644 index 0000000000000000000000000000000000000000..71fd9f56067fa2542e95df83a66c53f2511069b2 --- /dev/null +++ b/.next/server/app/api/analytics/[siteId]/heatmap/route_client-reference-manifest.js @@ -0,0 +1 @@ +globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/api/analytics/[siteId]/heatmap/route"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"3727":{"*":{"id":"12913","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"94593","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"69001","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"53014","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"35656","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"64628","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"97173","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"43555","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"40099","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"20435","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"62763","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"99197","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"28827","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"38243","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"86346","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"27924","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/tanstack-query-provider.tsx":{"id":25388,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/theme-provider.tsx":{"id":61321,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/ui/sonner.tsx":{"id":15851,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"variable\":\"--font-inter-sans\",\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"}":{"id":9755,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"PT_Sans\",\"arguments\":[{\"variable\":\"--font-ptSans-mono\",\"subsets\":[\"latin\"],\"weight\":[\"400\",\"700\"]}],\"variableName\":\"ptSans\"}":{"id":56382,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/assets/globals.css":{"id":85410,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/page-wrapper/index.tsx":{"id":19009,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/page.tsx":{"id":57161,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/test-generation/page.tsx":{"id":26910,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page.tsx":{"id":40796,"name":"*","chunks":["5948","static/chunks/06bf0ff1-2f6b5dbae626a171.js","4316","static/chunks/ad2866b8-a4659a388c5e0680.js","6671","static/chunks/6671-cfa51652ff77a475.js","189","static/chunks/189-4f09a71b91c59be3.js","5370","static/chunks/5370-dad62d5f4907e0f9.js","4750","static/chunks/4750-b402a0050286a424.js","5375","static/chunks/5375-a5738c494d0f24e9.js","8974","static/chunks/app/page-79207d5f775baf7d.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/login/page.tsx":{"id":3727,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/otto/Desktop/deepstudio/osw-studio-git/":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/layout":[{"inlined":false,"path":"static/css/e420bcf6619594d2.css"}],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/api/analytics/[siteId]/route":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/api/analytics/[siteId]/heatmap/route":[]},"rscModuleMapping":{"3727":{"*":{"id":"9911","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"80363","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"36903","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"41900","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"88170","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"82623","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"31307","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"90597","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"49477","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"49441","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"46577","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"39035","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"12089","name":"*","chunks":[],"async":false}},"85410":{"*":{"id":"94348","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"29345","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"16444","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"16042","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}} \ No newline at end of file diff --git a/.next/server/app/api/analytics/[siteId]/overview/route.js b/.next/server/app/api/analytics/[siteId]/overview/route.js new file mode 100644 index 0000000000000000000000000000000000000000..c2bd1d2124ad2de095a77da020926d424c118aeb --- /dev/null +++ b/.next/server/app/api/analytics/[siteId]/overview/route.js @@ -0,0 +1,66 @@ +"use strict";(()=>{var e={};e.id=7715,e.ids=[7715],e.modules={3295:e=>{e.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},21820:e=>{e.exports=require("os")},27910:e=>{e.exports=require("stream")},28895:(e,t,r)=>{r.r(t),r.d(t,{patchFetch:()=>m,routeModule:()=>E,serverHooks:()=>v,workAsyncStorage:()=>w,workUnitAsyncStorage:()=>l});var a={};r.r(a),r.d(a,{GET:()=>d});var s=r(96559),i=r(48088),n=r(37719),o=r(32190),u=r(50613),p=r(9022),c=r(15351);async function d(e,{params:t}){try{if(!await (0,u.Ht)())return o.NextResponse.json({error:"Unauthorized"},{status:401});let{siteId:r}=await t,{searchParams:a}=new URL(e.url),s=a.get("dateFrom"),i=a.get("dateTo"),n=await (0,p.B)();if(!(n instanceof c.j))return o.NextResponse.json({error:"Analytics requires Server Mode (PostgreSQL)"},{status:503});if(await n.init(),!await n.getSite?.(r))return await n.close?.(),o.NextResponse.json({error:"Site not found"},{status:404});let d=n.getSQL(),E=await d` + SELECT COUNT(*)::integer as count + FROM pageviews + WHERE site_id = ${r} + ${s?d`AND timestamp >= ${s}`:d``} + ${i?d`AND timestamp <= ${i}`:d``} + `,w=await d` + SELECT COUNT(DISTINCT session_id)::integer as count + FROM pageviews + WHERE site_id = ${r} + ${s?d`AND timestamp >= ${s}`:d``} + ${i?d`AND timestamp <= ${i}`:d``} + `,l=await d` + SELECT AVG(duration) as avg_duration + FROM sessions + WHERE + site_id = ${r} + AND duration IS NOT NULL + ${s?d`AND created_at >= ${s}`:d``} + ${i?d`AND created_at <= ${i}`:d``} + `,v=await d` + SELECT + SUM(CASE WHEN is_bounce THEN 1 ELSE 0 END) * 1.0 / COUNT(*) as rate + FROM sessions + WHERE site_id = ${r} + ${s?d`AND created_at >= ${s}`:d``} + ${i?d`AND created_at <= ${i}`:d``} + `,m=await d` + SELECT page_path, COUNT(*)::integer as views + FROM pageviews + WHERE site_id = ${r} + ${s?d`AND timestamp >= ${s}`:d``} + ${i?d`AND timestamp <= ${i}`:d``} + GROUP BY page_path + ORDER BY views DESC + LIMIT 20 + `,N=await d` + SELECT referrer, COUNT(*)::integer as count + FROM pageviews + WHERE site_id = ${r} + ${s?d`AND timestamp >= ${s}`:d``} + ${i?d`AND timestamp <= ${i}`:d``} + GROUP BY referrer + ORDER BY count DESC + LIMIT 20 + `,$=await d` + SELECT device_type, COUNT(*)::integer as count + FROM pageviews + WHERE + site_id = ${r} + AND device_type IS NOT NULL + ${s?d`AND timestamp >= ${s}`:d``} + ${i?d`AND timestamp <= ${i}`:d``} + GROUP BY device_type + `,g=await d` + SELECT country, COUNT(*)::integer as count + FROM pageviews + WHERE + site_id = ${r} + AND country IS NOT NULL + ${s?d`AND timestamp >= ${s}`:d``} + ${i?d`AND timestamp <= ${i}`:d``} + GROUP BY country + ORDER BY count DESC + LIMIT 20 + `;await n.close?.();let R={totalPageviews:parseInt(E[0]?.count||"0",10),uniqueVisitors:parseInt(w[0]?.count||"0",10),averageTimeOnSite:l[0]?.avg_duration||0,bounceRate:v[0]?.rate||0,topPages:m.map(e=>({page:e.page_path,views:parseInt(e.views,10)})),topReferrers:N.map(e=>({referrer:e.referrer,count:parseInt(e.count,10)})),deviceBreakdown:$.reduce((e,t)=>(e[t.device_type]=parseInt(t.count,10),e),{}),countryBreakdown:g.reduce((e,t)=>(e[t.country]=parseInt(t.count,10),e),{})};return o.NextResponse.json(R)}catch(e){return console.error("[Analytics Overview API] Error:",e),o.NextResponse.json({error:"Failed to fetch analytics overview"},{status:500})}}let E=new s.AppRouteRouteModule({definition:{kind:i.RouteKind.APP_ROUTE,page:"/api/analytics/[siteId]/overview/route",pathname:"/api/analytics/[siteId]/overview",filename:"route",bundlePath:"app/api/analytics/[siteId]/overview/route"},resolvedPagePath:"/Users/otto/Desktop/deepstudio/osw-studio-git/app/api/analytics/[siteId]/overview/route.ts",nextConfigOutput:"standalone",userland:a}),{workAsyncStorage:w,workUnitAsyncStorage:l,serverHooks:v}=E;function m(){return(0,n.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:l})}},29021:e=>{e.exports=require("fs")},29294:e=>{e.exports=require("next/dist/server/app-render/work-async-storage.external.js")},34631:e=>{e.exports=require("tls")},44870:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},50613:(e,t,r)=>{r.d(t,{$G:()=>d,C0:()=>E,Ht:()=>c,jw:()=>u,oC:()=>w});var a=r(87806),s=r(77412),i=r(44999);let n="osw_session";function o(){let e=process.env.SESSION_SECRET;if(!e)throw Error("SESSION_SECRET environment variable not set");return new TextEncoder().encode(e)}async function u(e,t,r=!0){let s=o(),i=Math.floor((Date.now()+864e5)/1e3);return await new a.P({userId:e,email:t,isAdmin:r}).setProtectedHeader({alg:"HS256"}).setExpirationTime(i).setIssuedAt().sign(s)}async function p(e){try{let t=o(),{payload:r}=await (0,s.V)(e,t);return{userId:r.userId,email:r.email,isAdmin:r.isAdmin,exp:r.exp}}catch(e){return null}}async function c(){let e=await (0,i.UL)(),t=e.get(n)?.value;return t?p(t):null}async function d(e){(await (0,i.UL)()).set(n,e,{httpOnly:!0,secure:!0,sameSite:"lax",maxAge:86400,path:"/"})}async function E(){(await (0,i.UL)()).delete(n)}async function w(){let e=await c();if(!e)throw Error("Unauthorized");return e}},55511:e=>{e.exports=require("crypto")},63033:e=>{e.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},74998:e=>{e.exports=require("perf_hooks")},91645:e=>{e.exports=require("net")}};var t=require("../../../../../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),a=t.X(0,[4447,580,3971,5155,8154],()=>r(28895));module.exports=a})(); \ No newline at end of file diff --git a/.next/server/app/api/analytics/[siteId]/overview/route.js.nft.json b/.next/server/app/api/analytics/[siteId]/overview/route.js.nft.json new file mode 100644 index 0000000000000000000000000000000000000000..e4978777017564242371ace4a124b9d6e7cc0eb1 --- /dev/null +++ b/.next/server/app/api/analytics/[siteId]/overview/route.js.nft.json @@ -0,0 +1 @@ +{"version":1,"files":["../../../../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../../../node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js","../../../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot-instance.js","../../../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot.external.js","../../../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../../../node_modules/next/package.json","../../../../../../../package.json","../../../../../../package.json","../../../../../chunks/3971.js","../../../../../chunks/4447.js","../../../../../chunks/5155.js","../../../../../chunks/580.js","../../../../../chunks/8154.js","../../../../../webpack-runtime.js","route_client-reference-manifest.js"]} \ No newline at end of file diff --git a/.next/server/app/api/analytics/[siteId]/overview/route_client-reference-manifest.js b/.next/server/app/api/analytics/[siteId]/overview/route_client-reference-manifest.js new file mode 100644 index 0000000000000000000000000000000000000000..f0fd376ba873455d9dd26a6a0623b55916389db7 --- /dev/null +++ b/.next/server/app/api/analytics/[siteId]/overview/route_client-reference-manifest.js @@ -0,0 +1 @@ +globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/api/analytics/[siteId]/overview/route"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"3727":{"*":{"id":"12913","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"94593","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"69001","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"53014","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"35656","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"64628","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"97173","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"43555","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"40099","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"20435","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"62763","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"99197","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"28827","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"38243","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"86346","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"27924","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/tanstack-query-provider.tsx":{"id":25388,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/theme-provider.tsx":{"id":61321,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/ui/sonner.tsx":{"id":15851,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"variable\":\"--font-inter-sans\",\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"}":{"id":9755,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"PT_Sans\",\"arguments\":[{\"variable\":\"--font-ptSans-mono\",\"subsets\":[\"latin\"],\"weight\":[\"400\",\"700\"]}],\"variableName\":\"ptSans\"}":{"id":56382,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/assets/globals.css":{"id":85410,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/page-wrapper/index.tsx":{"id":19009,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/page.tsx":{"id":57161,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/test-generation/page.tsx":{"id":26910,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page.tsx":{"id":40796,"name":"*","chunks":["5948","static/chunks/06bf0ff1-2f6b5dbae626a171.js","4316","static/chunks/ad2866b8-a4659a388c5e0680.js","6671","static/chunks/6671-cfa51652ff77a475.js","189","static/chunks/189-4f09a71b91c59be3.js","5370","static/chunks/5370-dad62d5f4907e0f9.js","4750","static/chunks/4750-b402a0050286a424.js","5375","static/chunks/5375-a5738c494d0f24e9.js","8974","static/chunks/app/page-79207d5f775baf7d.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/login/page.tsx":{"id":3727,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/otto/Desktop/deepstudio/osw-studio-git/":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/layout":[{"inlined":false,"path":"static/css/e420bcf6619594d2.css"}],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/api/analytics/[siteId]/route":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/api/analytics/[siteId]/overview/route":[]},"rscModuleMapping":{"3727":{"*":{"id":"9911","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"80363","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"36903","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"41900","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"88170","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"82623","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"31307","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"90597","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"49477","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"49441","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"46577","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"39035","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"12089","name":"*","chunks":[],"async":false}},"85410":{"*":{"id":"94348","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"29345","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"16444","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"16042","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}} \ No newline at end of file diff --git a/.next/server/app/api/analytics/[siteId]/route.js b/.next/server/app/api/analytics/[siteId]/route.js new file mode 100644 index 0000000000000000000000000000000000000000..9b64c7fa29a5c3f610cfded1f8f2d16efd1c1d49 --- /dev/null +++ b/.next/server/app/api/analytics/[siteId]/route.js @@ -0,0 +1,47 @@ +"use strict";(()=>{var e={};e.id=4975,e.ids=[4975],e.modules={3295:e=>{e.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},21820:e=>{e.exports=require("os")},27910:e=>{e.exports=require("stream")},29021:e=>{e.exports=require("fs")},29294:e=>{e.exports=require("next/dist/server/app-render/work-async-storage.external.js")},34631:e=>{e.exports=require("tls")},44870:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},55511:e=>{e.exports=require("crypto")},63033:e=>{e.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},69532:(e,t,r)=>{r.r(t),r.d(t,{patchFetch:()=>g,routeModule:()=>d,serverHooks:()=>R,workAsyncStorage:()=>E,workUnitAsyncStorage:()=>l});var s={};r.r(s),r.d(s,{GET:()=>c});var a=r(96559),i=r(48088),n=r(37719),o=r(32190),p=r(9022),u=r(15351);async function c(e,{params:t}){try{let{siteId:r}=await t,s=e.nextUrl.searchParams,a=parseInt(s.get("days")||"30",10),i=await (0,p.B)();if(!(i instanceof u.j))return o.NextResponse.json({error:"Analytics requires Server Mode (PostgreSQL)"},{status:503});if(await i.init(),!await i.getSite?.(r))return await i.close?.(),o.NextResponse.json({error:"Site not found"},{status:404});let n=i.getSQL(),c=new Date;c.setDate(c.getDate()-a);let d=await n` + SELECT COUNT(*)::integer as count + FROM pageviews + WHERE site_id = ${r} + AND timestamp >= ${c} + `,E=parseInt(d[0]?.count||"0",10),l=await n` + SELECT COUNT(DISTINCT session_id)::integer as count + FROM pageviews + WHERE site_id = ${r} + AND timestamp >= ${c} + `,R=parseInt(l[0]?.count||"0",10),g=(await n` + SELECT page_path, COUNT(*)::integer as count + FROM pageviews + WHERE site_id = ${r} + AND timestamp >= ${c} + GROUP BY page_path + ORDER BY count DESC + LIMIT 10 + `).map(e=>({path:e.page_path,views:parseInt(e.count,10)})),m=(await n` + SELECT referrer, COUNT(*)::integer as count + FROM pageviews + WHERE site_id = ${r} + AND timestamp >= ${c} + AND referrer IS NOT NULL + AND referrer != '' + GROUP BY referrer + ORDER BY count DESC + LIMIT 10 + `).map(e=>({referrer:e.referrer,views:parseInt(e.count,10)})),w=(await n` + SELECT country, COUNT(*)::integer as count + FROM pageviews + WHERE site_id = ${r} + AND timestamp >= ${c} + AND country IS NOT NULL + GROUP BY country + ORDER BY count DESC + LIMIT 10 + `).map(e=>({country:e.country,views:parseInt(e.count,10)})),x=(await n` + SELECT + DATE(timestamp) as date, + COUNT(*)::integer as count + FROM pageviews + WHERE site_id = ${r} + AND timestamp >= ${c} + GROUP BY DATE(timestamp) + ORDER BY date ASC + `).map(e=>({date:e.date,views:parseInt(e.count,10)}));return await i.close?.(),o.NextResponse.json({totalPageviews:E,uniqueVisitors:R,topPages:g,topReferrers:m,countries:w,pageviewsOverTime:x})}catch(e){return console.error("[Analytics API] Error fetching analytics:",e),o.NextResponse.json({error:"Failed to fetch analytics"},{status:500})}}let d=new a.AppRouteRouteModule({definition:{kind:i.RouteKind.APP_ROUTE,page:"/api/analytics/[siteId]/route",pathname:"/api/analytics/[siteId]",filename:"route",bundlePath:"app/api/analytics/[siteId]/route"},resolvedPagePath:"/Users/otto/Desktop/deepstudio/osw-studio-git/app/api/analytics/[siteId]/route.ts",nextConfigOutput:"standalone",userland:s}),{workAsyncStorage:E,workUnitAsyncStorage:l,serverHooks:R}=d;function g(){return(0,n.patchFetch)({workAsyncStorage:E,workUnitAsyncStorage:l})}},74998:e=>{e.exports=require("perf_hooks")},91645:e=>{e.exports=require("net")}};var t=require("../../../../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),s=t.X(0,[4447,580,3971,8154],()=>r(69532));module.exports=s})(); \ No newline at end of file diff --git a/.next/server/app/api/analytics/[siteId]/route.js.nft.json b/.next/server/app/api/analytics/[siteId]/route.js.nft.json new file mode 100644 index 0000000000000000000000000000000000000000..72204136649cd765f606b74fa9a9f743d534b3c7 --- /dev/null +++ b/.next/server/app/api/analytics/[siteId]/route.js.nft.json @@ -0,0 +1 @@ +{"version":1,"files":["../../../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../../node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js","../../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot-instance.js","../../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot.external.js","../../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../../node_modules/next/package.json","../../../../../../package.json","../../../../../package.json","../../../../chunks/3971.js","../../../../chunks/4447.js","../../../../chunks/580.js","../../../../chunks/8154.js","../../../../webpack-runtime.js","route_client-reference-manifest.js"]} \ No newline at end of file diff --git a/.next/server/app/api/analytics/[siteId]/route_client-reference-manifest.js b/.next/server/app/api/analytics/[siteId]/route_client-reference-manifest.js new file mode 100644 index 0000000000000000000000000000000000000000..6a291f155589c9fffc97660de983ea870d9dae53 --- /dev/null +++ b/.next/server/app/api/analytics/[siteId]/route_client-reference-manifest.js @@ -0,0 +1 @@ +globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/api/analytics/[siteId]/route"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"3727":{"*":{"id":"12913","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"94593","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"69001","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"53014","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"35656","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"64628","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"97173","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"43555","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"40099","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"20435","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"62763","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"99197","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"28827","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"38243","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"86346","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"27924","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/tanstack-query-provider.tsx":{"id":25388,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/theme-provider.tsx":{"id":61321,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/ui/sonner.tsx":{"id":15851,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"variable\":\"--font-inter-sans\",\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"}":{"id":9755,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"PT_Sans\",\"arguments\":[{\"variable\":\"--font-ptSans-mono\",\"subsets\":[\"latin\"],\"weight\":[\"400\",\"700\"]}],\"variableName\":\"ptSans\"}":{"id":56382,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/assets/globals.css":{"id":85410,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/page-wrapper/index.tsx":{"id":19009,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/page.tsx":{"id":57161,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/test-generation/page.tsx":{"id":26910,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page.tsx":{"id":40796,"name":"*","chunks":["5948","static/chunks/06bf0ff1-2f6b5dbae626a171.js","4316","static/chunks/ad2866b8-a4659a388c5e0680.js","6671","static/chunks/6671-cfa51652ff77a475.js","189","static/chunks/189-4f09a71b91c59be3.js","5370","static/chunks/5370-dad62d5f4907e0f9.js","4750","static/chunks/4750-b402a0050286a424.js","5375","static/chunks/5375-a5738c494d0f24e9.js","8974","static/chunks/app/page-79207d5f775baf7d.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/login/page.tsx":{"id":3727,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/otto/Desktop/deepstudio/osw-studio-git/":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/layout":[{"inlined":false,"path":"static/css/e420bcf6619594d2.css"}],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/api/analytics/[siteId]/route":[]},"rscModuleMapping":{"3727":{"*":{"id":"9911","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"80363","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"36903","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"41900","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"88170","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"82623","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"31307","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"90597","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"49477","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"49441","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"46577","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"39035","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"12089","name":"*","chunks":[],"async":false}},"85410":{"*":{"id":"94348","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"29345","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"16444","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"16042","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}} \ No newline at end of file diff --git a/.next/server/app/api/analytics/[siteId]/sessions/route.js b/.next/server/app/api/analytics/[siteId]/sessions/route.js new file mode 100644 index 0000000000000000000000000000000000000000..ec619b9ba3f4c355abf11476b6daae1df1de52df --- /dev/null +++ b/.next/server/app/api/analytics/[siteId]/sessions/route.js @@ -0,0 +1,20 @@ +"use strict";(()=>{var e={};e.id=2133,e.ids=[2133],e.modules={3295:e=>{e.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},21820:e=>{e.exports=require("os")},27910:e=>{e.exports=require("stream")},29021:e=>{e.exports=require("fs")},29294:e=>{e.exports=require("next/dist/server/app-render/work-async-storage.external.js")},34631:e=>{e.exports=require("tls")},44870:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},50613:(e,t,s)=>{s.d(t,{$G:()=>l,C0:()=>c,Ht:()=>d,jw:()=>u,oC:()=>g});var r=s(87806),a=s(77412),n=s(44999);let i="osw_session";function o(){let e=process.env.SESSION_SECRET;if(!e)throw Error("SESSION_SECRET environment variable not set");return new TextEncoder().encode(e)}async function u(e,t,s=!0){let a=o(),n=Math.floor((Date.now()+864e5)/1e3);return await new r.P({userId:e,email:t,isAdmin:s}).setProtectedHeader({alg:"HS256"}).setExpirationTime(n).setIssuedAt().sign(a)}async function p(e){try{let t=o(),{payload:s}=await (0,a.V)(e,t);return{userId:s.userId,email:s.email,isAdmin:s.isAdmin,exp:s.exp}}catch(e){return null}}async function d(){let e=await (0,n.UL)(),t=e.get(i)?.value;return t?p(t):null}async function l(e){(await (0,n.UL)()).set(i,e,{httpOnly:!0,secure:!0,sameSite:"lax",maxAge:86400,path:"/"})}async function c(){(await (0,n.UL)()).delete(i)}async function g(){let e=await d();if(!e)throw Error("Unauthorized");return e}},55511:e=>{e.exports=require("crypto")},63033:e=>{e.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},74998:e=>{e.exports=require("perf_hooks")},82658:(e,t,s)=>{s.r(t),s.d(t,{patchFetch:()=>x,routeModule:()=>c,serverHooks:()=>h,workAsyncStorage:()=>g,workUnitAsyncStorage:()=>m});var r={};s.r(r),s.d(r,{GET:()=>l});var a=s(96559),n=s(48088),i=s(37719),o=s(32190),u=s(50613),p=s(9022),d=s(15351);async function l(e,{params:t}){try{if(!await (0,u.Ht)())return o.NextResponse.json({error:"Unauthorized"},{status:401});let{siteId:s}=await t,{searchParams:r}=new URL(e.url),a=r.get("dateFrom"),n=r.get("dateTo"),i=Math.min(parseInt(r.get("limit")||"100",10),1e3),l=await (0,p.B)();if(!(l instanceof d.j))return o.NextResponse.json({error:"Analytics requires Server Mode (PostgreSQL)"},{status:503});if(await l.init(),!await l.getSite?.(s))return await l.close?.(),o.NextResponse.json({error:"Site not found"},{status:404});let c=l.getSQL(),g=await c` + SELECT + id, session_id, entry_page, exit_page, page_count, + duration, is_bounce, created_at, ended_at + FROM sessions + WHERE + site_id = ${s} + ${a?c`AND created_at >= ${a}`:c``} + ${n?c`AND created_at <= ${n}`:c``} + ORDER BY created_at DESC + LIMIT ${i} + `,m=g.map(e=>e.session_id),h=(m.length>0?await c` + SELECT + session_id, page_path, timestamp, load_time, exit_time + FROM pageviews + WHERE + site_id = ${s} + AND session_id IN ${c(m)} + ORDER BY session_id, timestamp ASC + `:[]).reduce((e,t)=>(e[t.session_id]||(e[t.session_id]=[]),e[t.session_id].push(t),e),{}),x=g.map(e=>{let t=h[e.session_id]||[];return{sessionId:e.session_id,pages:t.map((e,s)=>({path:e.page_path,timestamp:e.timestamp,duration:s{e.pages.forEach((r,a)=>{if(s.set(r.path,(s.get(r.path)||0)+1),a({id:e,label:"/"===e?"Home":e,value:t})).sort((e,t)=>t.value-e.value).slice(0,20),a=new Set(r.map(e=>e.id));return{nodes:r,links:Array.from(t.entries()).map(([e,t])=>{let[s,r]=e.split("::");return{source:s,target:r,value:t}}).filter(e=>a.has(e.source)&&a.has(e.target)).sort((e,t)=>t.value-e.value)}}(x);return await l.close?.(),o.NextResponse.json({sessions:x,flowData:_,summary:{totalSessions:g.length,bounceRate:g.filter(e=>e.is_bounce).length/g.length,averageDuration:g.reduce((e,t)=>e+(t.duration||0),0)/g.length,averagePageCount:g.reduce((e,t)=>e+t.page_count,0)/g.length}})}catch(e){return console.error("[Analytics Sessions API] Error:",e),o.NextResponse.json({error:"Failed to fetch session data"},{status:500})}}let c=new a.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/analytics/[siteId]/sessions/route",pathname:"/api/analytics/[siteId]/sessions",filename:"route",bundlePath:"app/api/analytics/[siteId]/sessions/route"},resolvedPagePath:"/Users/otto/Desktop/deepstudio/osw-studio-git/app/api/analytics/[siteId]/sessions/route.ts",nextConfigOutput:"standalone",userland:r}),{workAsyncStorage:g,workUnitAsyncStorage:m,serverHooks:h}=c;function x(){return(0,i.patchFetch)({workAsyncStorage:g,workUnitAsyncStorage:m})}},91645:e=>{e.exports=require("net")}};var t=require("../../../../../webpack-runtime.js");t.C(e);var s=e=>t(t.s=e),r=t.X(0,[4447,580,3971,5155,8154],()=>s(82658));module.exports=r})(); \ No newline at end of file diff --git a/.next/server/app/api/analytics/[siteId]/sessions/route.js.nft.json b/.next/server/app/api/analytics/[siteId]/sessions/route.js.nft.json new file mode 100644 index 0000000000000000000000000000000000000000..e4978777017564242371ace4a124b9d6e7cc0eb1 --- /dev/null +++ b/.next/server/app/api/analytics/[siteId]/sessions/route.js.nft.json @@ -0,0 +1 @@ +{"version":1,"files":["../../../../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../../../node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js","../../../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot-instance.js","../../../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot.external.js","../../../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../../../node_modules/next/package.json","../../../../../../../package.json","../../../../../../package.json","../../../../../chunks/3971.js","../../../../../chunks/4447.js","../../../../../chunks/5155.js","../../../../../chunks/580.js","../../../../../chunks/8154.js","../../../../../webpack-runtime.js","route_client-reference-manifest.js"]} \ No newline at end of file diff --git a/.next/server/app/api/analytics/[siteId]/sessions/route_client-reference-manifest.js b/.next/server/app/api/analytics/[siteId]/sessions/route_client-reference-manifest.js new file mode 100644 index 0000000000000000000000000000000000000000..1b2b5012557ca9291ee5f15e753904a5ce1c44f5 --- /dev/null +++ b/.next/server/app/api/analytics/[siteId]/sessions/route_client-reference-manifest.js @@ -0,0 +1 @@ +globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/api/analytics/[siteId]/sessions/route"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"3727":{"*":{"id":"12913","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"94593","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"69001","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"53014","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"35656","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"64628","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"97173","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"43555","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"40099","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"20435","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"62763","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"99197","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"28827","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"38243","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"86346","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"27924","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/tanstack-query-provider.tsx":{"id":25388,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/theme-provider.tsx":{"id":61321,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/ui/sonner.tsx":{"id":15851,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"variable\":\"--font-inter-sans\",\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"}":{"id":9755,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"PT_Sans\",\"arguments\":[{\"variable\":\"--font-ptSans-mono\",\"subsets\":[\"latin\"],\"weight\":[\"400\",\"700\"]}],\"variableName\":\"ptSans\"}":{"id":56382,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/assets/globals.css":{"id":85410,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/page-wrapper/index.tsx":{"id":19009,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/page.tsx":{"id":57161,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/test-generation/page.tsx":{"id":26910,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page.tsx":{"id":40796,"name":"*","chunks":["5948","static/chunks/06bf0ff1-2f6b5dbae626a171.js","4316","static/chunks/ad2866b8-a4659a388c5e0680.js","6671","static/chunks/6671-cfa51652ff77a475.js","189","static/chunks/189-4f09a71b91c59be3.js","5370","static/chunks/5370-dad62d5f4907e0f9.js","4750","static/chunks/4750-b402a0050286a424.js","5375","static/chunks/5375-a5738c494d0f24e9.js","8974","static/chunks/app/page-79207d5f775baf7d.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/login/page.tsx":{"id":3727,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/otto/Desktop/deepstudio/osw-studio-git/":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/layout":[{"inlined":false,"path":"static/css/e420bcf6619594d2.css"}],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/api/analytics/[siteId]/route":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/api/analytics/[siteId]/sessions/route":[]},"rscModuleMapping":{"3727":{"*":{"id":"9911","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"80363","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"36903","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"41900","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"88170","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"82623","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"31307","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"90597","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"49477","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"49441","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"46577","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"39035","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"12089","name":"*","chunks":[],"async":false}},"85410":{"*":{"id":"94348","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"29345","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"16444","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"16042","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}} \ No newline at end of file diff --git a/.next/server/app/api/analytics/[siteId]/storage/route.js b/.next/server/app/api/analytics/[siteId]/storage/route.js new file mode 100644 index 0000000000000000000000000000000000000000..b4bf59ffdaa735c192b33aeb0d738dacac72b8de --- /dev/null +++ b/.next/server/app/api/analytics/[siteId]/storage/route.js @@ -0,0 +1,19 @@ +"use strict";(()=>{var e={};e.id=1497,e.ids=[1497],e.modules={3295:e=>{e.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},21820:e=>{e.exports=require("os")},27910:e=>{e.exports=require("stream")},29021:e=>{e.exports=require("fs")},29294:e=>{e.exports=require("next/dist/server/app-render/work-async-storage.external.js")},34631:e=>{e.exports=require("tls")},44870:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},50613:(e,t,r)=>{r.d(t,{$G:()=>c,C0:()=>d,Ht:()=>l,jw:()=>u,oC:()=>x});var s=r(87806),a=r(77412),o=r(44999);let n="osw_session";function i(){let e=process.env.SESSION_SECRET;if(!e)throw Error("SESSION_SECRET environment variable not set");return new TextEncoder().encode(e)}async function u(e,t,r=!0){let a=i(),o=Math.floor((Date.now()+864e5)/1e3);return await new s.P({userId:e,email:t,isAdmin:r}).setProtectedHeader({alg:"HS256"}).setExpirationTime(o).setIssuedAt().sign(a)}async function p(e){try{let t=i(),{payload:r}=await (0,a.V)(e,t);return{userId:r.userId,email:r.email,isAdmin:r.isAdmin,exp:r.exp}}catch(e){return null}}async function l(){let e=await (0,o.UL)(),t=e.get(n)?.value;return t?p(t):null}async function c(e){(await (0,o.UL)()).set(n,e,{httpOnly:!0,secure:!0,sameSite:"lax",maxAge:86400,path:"/"})}async function d(){(await (0,o.UL)()).delete(n)}async function x(){let e=await l();if(!e)throw Error("Unauthorized");return e}},55511:e=>{e.exports=require("crypto")},63033:e=>{e.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},74998:e=>{e.exports=require("perf_hooks")},91645:e=>{e.exports=require("net")},96286:(e,t,r)=>{r.r(t),r.d(t,{patchFetch:()=>y,routeModule:()=>d,serverHooks:()=>w,workAsyncStorage:()=>x,workUnitAsyncStorage:()=>g});var s={};r.r(s),r.d(s,{GET:()=>c});var a=r(96559),o=r(48088),n=r(37719),i=r(32190),u=r(50613),p=r(9022),l=r(15351);async function c(e,{params:t}){try{if(!await (0,u.Ht)())return i.NextResponse.json({error:"Unauthorized"},{status:401});let{siteId:e}=await t,r=await (0,p.B)();if(!(r instanceof l.j))return i.NextResponse.json({error:"Analytics requires Server Mode (PostgreSQL)"},{status:503});if(await r.init(),!await r.getSite?.(e))return await r.close?.(),i.NextResponse.json({error:"Site not found"},{status:404});let s=r.getSQL(),a=await s` + SELECT + COUNT(*)::integer as count, + pg_total_relation_size('pageviews') as total_bytes + FROM pageviews + WHERE site_id = ${e} + `,o=await s` + SELECT + COUNT(*)::integer as count, + pg_total_relation_size('interactions') as total_bytes + FROM interactions + WHERE site_id = ${e} + `,n=await s` + SELECT + COUNT(*)::integer as count, + pg_total_relation_size('sessions') as total_bytes + FROM sessions + WHERE site_id = ${e} + `;await r.close?.();let c=parseInt(a[0]?.count||"0"),d=parseInt(o[0]?.count||"0"),x=parseInt(n[0]?.count||"0"),g=300*c/1048576,w=500*d/1048576,y=200*x/1048576,E=g+w+y,f={totalMB:parseFloat(E.toFixed(2)),breakdown:{pageviews:{count:c,sizeMB:parseFloat(g.toFixed(2))},interactions:{count:d,sizeMB:parseFloat(w.toFixed(2))},sessions:{count:x,sizeMB:parseFloat(y.toFixed(2))}}};return i.NextResponse.json(f)}catch(e){return console.error("[Analytics Storage API] Error:",e),i.NextResponse.json({error:"Failed to get storage usage"},{status:500})}}let d=new a.AppRouteRouteModule({definition:{kind:o.RouteKind.APP_ROUTE,page:"/api/analytics/[siteId]/storage/route",pathname:"/api/analytics/[siteId]/storage",filename:"route",bundlePath:"app/api/analytics/[siteId]/storage/route"},resolvedPagePath:"/Users/otto/Desktop/deepstudio/osw-studio-git/app/api/analytics/[siteId]/storage/route.ts",nextConfigOutput:"standalone",userland:s}),{workAsyncStorage:x,workUnitAsyncStorage:g,serverHooks:w}=d;function y(){return(0,n.patchFetch)({workAsyncStorage:x,workUnitAsyncStorage:g})}}};var t=require("../../../../../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),s=t.X(0,[4447,580,3971,5155,8154],()=>r(96286));module.exports=s})(); \ No newline at end of file diff --git a/.next/server/app/api/analytics/[siteId]/storage/route.js.nft.json b/.next/server/app/api/analytics/[siteId]/storage/route.js.nft.json new file mode 100644 index 0000000000000000000000000000000000000000..e4978777017564242371ace4a124b9d6e7cc0eb1 --- /dev/null +++ b/.next/server/app/api/analytics/[siteId]/storage/route.js.nft.json @@ -0,0 +1 @@ +{"version":1,"files":["../../../../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../../../node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js","../../../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot-instance.js","../../../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot.external.js","../../../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../../../node_modules/next/package.json","../../../../../../../package.json","../../../../../../package.json","../../../../../chunks/3971.js","../../../../../chunks/4447.js","../../../../../chunks/5155.js","../../../../../chunks/580.js","../../../../../chunks/8154.js","../../../../../webpack-runtime.js","route_client-reference-manifest.js"]} \ No newline at end of file diff --git a/.next/server/app/api/analytics/[siteId]/storage/route_client-reference-manifest.js b/.next/server/app/api/analytics/[siteId]/storage/route_client-reference-manifest.js new file mode 100644 index 0000000000000000000000000000000000000000..4783da18ce2a6df7c95ff9b7d4242622828c2ccb --- /dev/null +++ b/.next/server/app/api/analytics/[siteId]/storage/route_client-reference-manifest.js @@ -0,0 +1 @@ +globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/api/analytics/[siteId]/storage/route"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"3727":{"*":{"id":"12913","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"94593","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"69001","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"53014","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"35656","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"64628","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"97173","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"43555","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"40099","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"20435","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"62763","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"99197","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"28827","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"38243","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"86346","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"27924","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/tanstack-query-provider.tsx":{"id":25388,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/theme-provider.tsx":{"id":61321,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/ui/sonner.tsx":{"id":15851,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"variable\":\"--font-inter-sans\",\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"}":{"id":9755,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"PT_Sans\",\"arguments\":[{\"variable\":\"--font-ptSans-mono\",\"subsets\":[\"latin\"],\"weight\":[\"400\",\"700\"]}],\"variableName\":\"ptSans\"}":{"id":56382,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/assets/globals.css":{"id":85410,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/page-wrapper/index.tsx":{"id":19009,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/page.tsx":{"id":57161,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/test-generation/page.tsx":{"id":26910,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page.tsx":{"id":40796,"name":"*","chunks":["5948","static/chunks/06bf0ff1-2f6b5dbae626a171.js","4316","static/chunks/ad2866b8-a4659a388c5e0680.js","6671","static/chunks/6671-cfa51652ff77a475.js","189","static/chunks/189-4f09a71b91c59be3.js","5370","static/chunks/5370-dad62d5f4907e0f9.js","4750","static/chunks/4750-b402a0050286a424.js","5375","static/chunks/5375-a5738c494d0f24e9.js","8974","static/chunks/app/page-79207d5f775baf7d.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/login/page.tsx":{"id":3727,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/otto/Desktop/deepstudio/osw-studio-git/":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/layout":[{"inlined":false,"path":"static/css/e420bcf6619594d2.css"}],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/api/analytics/[siteId]/route":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/api/analytics/[siteId]/storage/route":[]},"rscModuleMapping":{"3727":{"*":{"id":"9911","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"80363","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"36903","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"41900","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"88170","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"82623","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"31307","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"90597","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"49477","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"49441","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"46577","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"39035","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"12089","name":"*","chunks":[],"async":false}},"85410":{"*":{"id":"94348","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"29345","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"16444","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"16042","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}} \ No newline at end of file diff --git a/.next/server/app/api/analytics/interaction/route.js b/.next/server/app/api/analytics/interaction/route.js new file mode 100644 index 0000000000000000000000000000000000000000..1307b5c7ed305f1a9fcd9e81ea8628042721cc55 --- /dev/null +++ b/.next/server/app/api/analytics/interaction/route.js @@ -0,0 +1,45 @@ +"use strict";(()=>{var e={};e.id=8687,e.ids=[8687],e.modules={3295:e=>{e.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},14938:(e,t,r)=>{r.d(t,{Cm:()=>o,F7:()=>i,fi:()=>n,iH:()=>a});class s{check(e,t){let r=Date.now();r-this.lastCleanup>this.CLEANUP_INTERVAL&&this.cleanup(t.windowMs);let s=(this.requests.get(e)||[]).filter(e=>r-e=t.limit)return!1;if(s.push(r),this.requests.set(e,s),this.requests.size>this.MAX_KEYS){let e=this.requests.keys().next().value;void 0!==e&&this.requests.delete(e)}return!0}getCount(e,t){let r=Date.now();return(this.requests.get(e)||[]).filter(e=>r-es-et-r{e.exports=require("os")},27910:e=>{e.exports=require("stream")},29021:e=>{e.exports=require("fs")},29294:e=>{e.exports=require("next/dist/server/app-render/work-async-storage.external.js")},34631:e=>{e.exports=require("tls")},44870:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},55511:e=>{e.exports=require("crypto")},63033:e=>{e.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},74551:(e,t,r)=>{r.d(t,{H6:()=>a,In:()=>i,TB:()=>s,iJ:()=>n}),r(55511);function s(e,t){let r=e.headers.get("origin")||"",s=e.headers.get("referer")||"";return t.some(e=>r.startsWith(e)||s.startsWith(e))}function i(e,t){let r=process.env.NEXT_PUBLIC_APP_URL||"http://localhost:3000",s=[`${r}/sites/${e}`];return t&&(s.push(`https://${t}`),s.push(`http://${t}`)),s}function n(e){if(!e)return!0;let t=e.toLowerCase();return["bot","crawl","spider","scrape","curl","wget","python","java","http","go-http-client","axios","fetch","node-fetch","requests","urllib","headless","phantom","selenium","puppeteer","playwright"].some(e=>t.includes(e))}function a(e){if(e.pagePath&&e.pagePath.length>500||e.referrer&&e.referrer.length>500||e.userAgent&&e.userAgent.length>500)return!0;let t=/(union|select|insert|update|delete|drop|create|alter)/i;return!!(e.pagePath&&t.test(e.pagePath)||e.referrer&&t.test(e.referrer))}},74998:e=>{e.exports=require("perf_hooks")},77026:(e,t,r)=>{r.r(t),r.d(t,{patchFetch:()=>y,routeModule:()=>m,serverHooks:()=>R,workAsyncStorage:()=>w,workUnitAsyncStorage:()=>x});var s={};r.r(s),r.d(s,{POST:()=>d});var i=r(96559),n=r(48088),a=r(37719),o=r(32190),l=r(9022),u=r(15351),c=r(14938),p=r(74551);async function d(e){try{let t=await e.json();if("batch"in t&&!0===t.batch)return f(e,t);let{siteId:r,pagePath:s,interactionType:i,elementSelector:n,coordinates:a,scrollDepth:d,timeOnPage:m,customData:w,userAgent:x}=t,R=(0,c.Cm)(e);if(!c.fi.check(R,c.iH.interaction)){let e=c.fi.getResetTime(R,c.iH.interaction);return o.NextResponse.json({error:"Rate limit exceeded"},{status:429,headers:{"Retry-After":e.toString(),"X-RateLimit-Limit":c.iH.interaction.limit.toString(),"X-RateLimit-Remaining":"0"}})}if(!r||!s||!i)return o.NextResponse.json({error:"Missing required fields: siteId, pagePath, interactionType"},{status:400});if((0,p.H6)({pagePath:s,userAgent:x}))return console.warn("[Analytics Interaction] Suspicious request detected:",{siteId:r,pagePath:s,ip:R}),o.NextResponse.json({error:"Invalid request"},{status:400});if(x&&(0,p.iJ)(x))return o.NextResponse.json({success:!0});let y=await (0,l.B)();if(!(y instanceof u.j))return o.NextResponse.json({error:"Analytics requires Server Mode (PostgreSQL)"},{status:503});await y.init();let j=await y.getSite?.(r);if(!j)return await y.close?.(),o.NextResponse.json({error:"Site not found"},{status:404});if(!j.analytics.enabled||"builtin"!==j.analytics.provider)return await y.close?.(),o.NextResponse.json({error:"Built-in analytics not enabled for this site"},{status:403});let N=j.analytics.features||{};if("click"===i&&!N.heatmaps)return await y.close?.(),o.NextResponse.json({error:"Heatmaps feature not enabled"},{status:403});if("scroll"===i&&!N.engagementTracking&&!N.heatmaps||"exit"===i&&!N.engagementTracking)return await y.close?.(),o.NextResponse.json({error:"Engagement tracking not enabled"},{status:403});let q=(0,p.In)(r,j.customDomain);if(!(0,p.TB)(e,q))return await y.close?.(),console.warn("[Analytics Interaction] Invalid origin (rejected):",{origin:e.headers.get("origin"),referer:e.headers.get("referer"),allowedOrigins:q,siteId:r,ip:R}),o.NextResponse.json({error:"Origin not allowed"},{status:403});let A=h(x||e.headers.get("user-agent")||"",e),S=g(s),v=y.getSQL();return await v` + INSERT INTO interactions ( + site_id, + session_id, + page_path, + interaction_type, + element_selector, + coordinates, + scroll_depth, + time_on_page, + timestamp + ) VALUES ( + ${r}, + ${A}, + ${S}, + ${i}, + ${n||null}, + ${a?JSON.stringify(a):null}, + ${d||null}, + ${m||null}, + NOW() + ) + `,await y.close?.(),o.NextResponse.json({success:!0})}catch(e){return console.error("[Analytics Interaction API] Error:",e),o.NextResponse.json({error:"Failed to track interaction"},{status:500})}}function h(e,t){var r;let s=t.headers.get("x-forwarded-for"),i=(r=s?s.split(",")[0]:"")?r.includes(":")?r.split(":").slice(0,4).join(":")+"::":r.split(".").slice(0,2).join(".")+".0.0":"",n=`${e}|${i}|${new Date().toDateString()}`,a=0;for(let e=0;e100)return o.NextResponse.json({error:"Batch size exceeds maximum of 100 interactions"},{status:400});let s=(0,c.Cm)(e);if(!c.fi.check(s,c.iH.interaction)){let e=c.fi.getResetTime(s,c.iH.interaction);return o.NextResponse.json({error:"Rate limit exceeded"},{status:429,headers:{"Retry-After":e.toString(),"X-RateLimit-Limit":c.iH.interaction.limit.toString(),"X-RateLimit-Remaining":"0"}})}let{siteId:i,userAgent:n}=r[0];if(!i)return o.NextResponse.json({error:"Missing required field: siteId"},{status:400});if(n&&(0,p.iJ)(n))return o.NextResponse.json({success:!0});let a=await (0,l.B)();if(!(a instanceof u.j))return o.NextResponse.json({error:"Analytics requires Server Mode (PostgreSQL)"},{status:503});await a.init();try{let t=await a.getSite?.(i);if(!t)return await a.close?.(),o.NextResponse.json({error:"Site not found"},{status:404});if(!t.analytics.enabled||"builtin"!==t.analytics.provider)return await a.close?.(),o.NextResponse.json({error:"Built-in analytics not enabled for this site"},{status:403});let n=(0,p.In)(i,t.customDomain);if(!(0,p.TB)(e,n))return await a.close?.(),console.warn("[Analytics Batch] Invalid origin (rejected):",{origin:e.headers.get("origin"),referer:e.headers.get("referer"),allowedOrigins:n,siteId:i,ip:s}),o.NextResponse.json({error:"Origin not allowed"},{status:403});let l=a.getSQL(),u=e.headers.get("user-agent")||"",c=0,d=0;for(let s of r){let{pagePath:r,interactionType:n,elementSelector:a,coordinates:o,scrollDepth:f,timeOnPage:m,userAgent:w}=s;if(!r||!n){d++;continue}let x=t.analytics.features||{};if("click"===n&&!x.heatmaps||"scroll"===n&&!x.engagementTracking&&!x.heatmaps||"exit"===n&&!x.engagementTracking||(0,p.H6)({pagePath:r,userAgent:w})){d++;continue}let R=h(w||u,e),y=g(r);try{await l` + INSERT INTO interactions ( + site_id, + session_id, + page_path, + interaction_type, + element_selector, + coordinates, + scroll_depth, + time_on_page, + timestamp + ) VALUES ( + ${i}, + ${R}, + ${y}, + ${n}, + ${a||null}, + ${o?JSON.stringify(o):null}, + ${f||null}, + ${m||null}, + NOW() + ) + `,c++}catch(e){console.error("[Analytics Batch] Error inserting interaction:",e),d++}}return await a.close?.(),o.NextResponse.json({success:!0,processed:c,skipped:d,total:r.length})}catch(e){return console.error("[Analytics Batch] Error processing batch:",e),await a.close?.(),o.NextResponse.json({error:"Failed to process batch interactions"},{status:500})}}let m=new i.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/analytics/interaction/route",pathname:"/api/analytics/interaction",filename:"route",bundlePath:"app/api/analytics/interaction/route"},resolvedPagePath:"/Users/otto/Desktop/deepstudio/osw-studio-git/app/api/analytics/interaction/route.ts",nextConfigOutput:"standalone",userland:s}),{workAsyncStorage:w,workUnitAsyncStorage:x,serverHooks:R}=m;function y(){return(0,a.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:x})}},91645:e=>{e.exports=require("net")}};var t=require("../../../../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),s=t.X(0,[4447,580,3971,8154],()=>r(77026));module.exports=s})(); \ No newline at end of file diff --git a/.next/server/app/api/analytics/interaction/route.js.nft.json b/.next/server/app/api/analytics/interaction/route.js.nft.json new file mode 100644 index 0000000000000000000000000000000000000000..72204136649cd765f606b74fa9a9f743d534b3c7 --- /dev/null +++ b/.next/server/app/api/analytics/interaction/route.js.nft.json @@ -0,0 +1 @@ +{"version":1,"files":["../../../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../../node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js","../../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot-instance.js","../../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot.external.js","../../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../../node_modules/next/package.json","../../../../../../package.json","../../../../../package.json","../../../../chunks/3971.js","../../../../chunks/4447.js","../../../../chunks/580.js","../../../../chunks/8154.js","../../../../webpack-runtime.js","route_client-reference-manifest.js"]} \ No newline at end of file diff --git a/.next/server/app/api/analytics/interaction/route_client-reference-manifest.js b/.next/server/app/api/analytics/interaction/route_client-reference-manifest.js new file mode 100644 index 0000000000000000000000000000000000000000..462fcebb888cd1b32e1780cfdcda3fdd1aa9416f --- /dev/null +++ b/.next/server/app/api/analytics/interaction/route_client-reference-manifest.js @@ -0,0 +1 @@ +globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/api/analytics/interaction/route"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"3727":{"*":{"id":"12913","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"94593","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"69001","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"53014","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"35656","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"64628","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"97173","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"43555","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"40099","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"20435","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"62763","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"99197","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"28827","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"38243","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"86346","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"27924","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/tanstack-query-provider.tsx":{"id":25388,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/theme-provider.tsx":{"id":61321,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/ui/sonner.tsx":{"id":15851,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"variable\":\"--font-inter-sans\",\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"}":{"id":9755,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"PT_Sans\",\"arguments\":[{\"variable\":\"--font-ptSans-mono\",\"subsets\":[\"latin\"],\"weight\":[\"400\",\"700\"]}],\"variableName\":\"ptSans\"}":{"id":56382,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/assets/globals.css":{"id":85410,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/page-wrapper/index.tsx":{"id":19009,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/page.tsx":{"id":57161,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/test-generation/page.tsx":{"id":26910,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page.tsx":{"id":40796,"name":"*","chunks":["5948","static/chunks/06bf0ff1-2f6b5dbae626a171.js","4316","static/chunks/ad2866b8-a4659a388c5e0680.js","6671","static/chunks/6671-cfa51652ff77a475.js","189","static/chunks/189-4f09a71b91c59be3.js","5370","static/chunks/5370-dad62d5f4907e0f9.js","4750","static/chunks/4750-b402a0050286a424.js","5375","static/chunks/5375-a5738c494d0f24e9.js","8974","static/chunks/app/page-79207d5f775baf7d.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/login/page.tsx":{"id":3727,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/otto/Desktop/deepstudio/osw-studio-git/":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/layout":[{"inlined":false,"path":"static/css/e420bcf6619594d2.css"}],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/api/analytics/interaction/route":[]},"rscModuleMapping":{"3727":{"*":{"id":"9911","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"80363","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"36903","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"41900","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"88170","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"82623","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"31307","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"90597","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"49477","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"49441","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"46577","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"39035","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"12089","name":"*","chunks":[],"async":false}},"85410":{"*":{"id":"94348","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"29345","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"16444","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"16042","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}} \ No newline at end of file diff --git a/.next/server/app/api/analytics/track/route.js b/.next/server/app/api/analytics/track/route.js new file mode 100644 index 0000000000000000000000000000000000000000..cd317a0a785fbcecb579a22a57e2d3d00099e3d2 --- /dev/null +++ b/.next/server/app/api/analytics/track/route.js @@ -0,0 +1,41 @@ +"use strict";(()=>{var e={};e.id=3618,e.ids=[3618],e.modules={3295:e=>{e.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},14938:(e,t,r)=>{r.d(t,{Cm:()=>o,F7:()=>i,fi:()=>n,iH:()=>a});class s{check(e,t){let r=Date.now();r-this.lastCleanup>this.CLEANUP_INTERVAL&&this.cleanup(t.windowMs);let s=(this.requests.get(e)||[]).filter(e=>r-e=t.limit)return!1;if(s.push(r),this.requests.set(e,s),this.requests.size>this.MAX_KEYS){let e=this.requests.keys().next().value;void 0!==e&&this.requests.delete(e)}return!0}getCount(e,t){let r=Date.now();return(this.requests.get(e)||[]).filter(e=>r-es-et-r{e.exports=require("os")},27910:e=>{e.exports=require("stream")},29021:e=>{e.exports=require("fs")},29294:e=>{e.exports=require("next/dist/server/app-render/work-async-storage.external.js")},34631:e=>{e.exports=require("tls")},44870:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},55511:e=>{e.exports=require("crypto")},63033:e=>{e.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},74551:(e,t,r)=>{r.d(t,{H6:()=>a,In:()=>i,TB:()=>s,iJ:()=>n}),r(55511);function s(e,t){let r=e.headers.get("origin")||"",s=e.headers.get("referer")||"";return t.some(e=>r.startsWith(e)||s.startsWith(e))}function i(e,t){let r=process.env.NEXT_PUBLIC_APP_URL||"http://localhost:3000",s=[`${r}/sites/${e}`];return t&&(s.push(`https://${t}`),s.push(`http://${t}`)),s}function n(e){if(!e)return!0;let t=e.toLowerCase();return["bot","crawl","spider","scrape","curl","wget","python","java","http","go-http-client","axios","fetch","node-fetch","requests","urllib","headless","phantom","selenium","puppeteer","playwright"].some(e=>t.includes(e))}function a(e){if(e.pagePath&&e.pagePath.length>500||e.referrer&&e.referrer.length>500||e.userAgent&&e.userAgent.length>500)return!0;let t=/(union|select|insert|update|delete|drop|create|alter)/i;return!!(e.pagePath&&t.test(e.pagePath)||e.referrer&&t.test(e.referrer))}},74998:e=>{e.exports=require("perf_hooks")},91645:e=>{e.exports=require("net")},93988:(e,t,r)=>{r.r(t),r.d(t,{patchFetch:()=>m,routeModule:()=>g,serverHooks:()=>x,workAsyncStorage:()=>f,workUnitAsyncStorage:()=>w});var s={};r.r(s),r.d(s,{POST:()=>d});var i=r(96559),n=r(48088),a=r(37719),o=r(32190),u=r(9022),l=r(15351),p=r(14938),c=r(74551);async function d(e){try{let{siteId:t,pagePath:r,referrer:s,userAgent:i,deviceType:n}=await e.json(),a=(0,p.Cm)(e);if(!p.F7.check(a,p.iH.pageview)){let e=p.F7.getResetTime(a,p.iH.pageview);return o.NextResponse.json({error:"Rate limit exceeded"},{status:429,headers:{"Retry-After":e.toString(),"X-RateLimit-Limit":p.iH.pageview.limit.toString(),"X-RateLimit-Remaining":"0"}})}if(!t||!r)return o.NextResponse.json({error:"Missing required fields: siteId, pagePath"},{status:400});if((0,c.H6)({pagePath:r,referrer:s,userAgent:i}))return console.warn("[Analytics] Suspicious request detected:",{siteId:t,pagePath:r,ip:a}),o.NextResponse.json({error:"Invalid request"},{status:400});if((0,c.iJ)(i))return o.NextResponse.json({success:!0});let d=await (0,u.B)();if(!(d instanceof l.j))return o.NextResponse.json({error:"Analytics requires Server Mode (PostgreSQL)"},{status:503});await d.init();let g=await d.getSite?.(t);if(!g)return await d.close?.(),o.NextResponse.json({error:"Site not found"},{status:404});if(!g.analytics.enabled||"builtin"!==g.analytics.provider)return await d.close?.(),o.NextResponse.json({error:"Built-in analytics not enabled for this site"},{status:403});let f=(0,c.In)(t,g.customDomain);if(!(0,c.TB)(e,f))return await d.close?.(),console.warn("[Analytics] Invalid origin (rejected):",{origin:e.headers.get("origin"),referer:e.headers.get("referer"),allowedOrigins:f,siteId:t,ip:a}),o.NextResponse.json({error:"Origin not allowed"},{status:403});let w=function(e,t){var r;let s=t.headers.get("x-forwarded-for"),i=(r=s?s.split(",")[0]:"")?r.includes(":")?r.split(":").slice(0,4).join(":")+"::":r.split(".").slice(0,2).join(".")+".0.0":"",n=`${e}|${i}|${new Date().toDateString()}`,a=0;for(let e=0;et(t.s=e),s=t.X(0,[4447,580,3971,8154],()=>r(93988));module.exports=s})(); \ No newline at end of file diff --git a/.next/server/app/api/analytics/track/route.js.nft.json b/.next/server/app/api/analytics/track/route.js.nft.json new file mode 100644 index 0000000000000000000000000000000000000000..72204136649cd765f606b74fa9a9f743d534b3c7 --- /dev/null +++ b/.next/server/app/api/analytics/track/route.js.nft.json @@ -0,0 +1 @@ +{"version":1,"files":["../../../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../../node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js","../../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot-instance.js","../../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot.external.js","../../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../../node_modules/next/package.json","../../../../../../package.json","../../../../../package.json","../../../../chunks/3971.js","../../../../chunks/4447.js","../../../../chunks/580.js","../../../../chunks/8154.js","../../../../webpack-runtime.js","route_client-reference-manifest.js"]} \ No newline at end of file diff --git a/.next/server/app/api/analytics/track/route_client-reference-manifest.js b/.next/server/app/api/analytics/track/route_client-reference-manifest.js new file mode 100644 index 0000000000000000000000000000000000000000..b2eb1d8d96a8a40eecfe61b183aef7fadc29930f --- /dev/null +++ b/.next/server/app/api/analytics/track/route_client-reference-manifest.js @@ -0,0 +1 @@ +globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/api/analytics/track/route"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"3727":{"*":{"id":"12913","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"94593","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"69001","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"53014","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"35656","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"64628","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"97173","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"43555","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"40099","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"20435","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"62763","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"99197","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"28827","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"38243","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"86346","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"27924","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/tanstack-query-provider.tsx":{"id":25388,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/theme-provider.tsx":{"id":61321,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/ui/sonner.tsx":{"id":15851,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"variable\":\"--font-inter-sans\",\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"}":{"id":9755,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"PT_Sans\",\"arguments\":[{\"variable\":\"--font-ptSans-mono\",\"subsets\":[\"latin\"],\"weight\":[\"400\",\"700\"]}],\"variableName\":\"ptSans\"}":{"id":56382,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/assets/globals.css":{"id":85410,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/page-wrapper/index.tsx":{"id":19009,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/page.tsx":{"id":57161,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/test-generation/page.tsx":{"id":26910,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page.tsx":{"id":40796,"name":"*","chunks":["5948","static/chunks/06bf0ff1-2f6b5dbae626a171.js","4316","static/chunks/ad2866b8-a4659a388c5e0680.js","6671","static/chunks/6671-cfa51652ff77a475.js","189","static/chunks/189-4f09a71b91c59be3.js","5370","static/chunks/5370-dad62d5f4907e0f9.js","4750","static/chunks/4750-b402a0050286a424.js","5375","static/chunks/5375-a5738c494d0f24e9.js","8974","static/chunks/app/page-79207d5f775baf7d.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/login/page.tsx":{"id":3727,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/otto/Desktop/deepstudio/osw-studio-git/":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/layout":[{"inlined":false,"path":"static/css/e420bcf6619594d2.css"}],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/api/analytics/track/route":[]},"rscModuleMapping":{"3727":{"*":{"id":"9911","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"80363","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"36903","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"41900","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"88170","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"82623","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"31307","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"90597","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"49477","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"49441","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"46577","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"39035","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"12089","name":"*","chunks":[],"async":false}},"85410":{"*":{"id":"94348","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"29345","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"16444","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"16042","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}} \ No newline at end of file diff --git a/.next/server/app/api/auth/check/route.js b/.next/server/app/api/auth/check/route.js new file mode 100644 index 0000000000000000000000000000000000000000..9b2c9792c8253a28cde0c6e1583bb21879b69882 --- /dev/null +++ b/.next/server/app/api/auth/check/route.js @@ -0,0 +1 @@ +(()=>{var e={};e.id=521,e.ids=[521],e.modules={3295:e=>{"use strict";e.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},29294:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-async-storage.external.js")},44870:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},50613:(e,t,r)=>{"use strict";r.d(t,{$G:()=>d,C0:()=>l,Ht:()=>p,jw:()=>u,oC:()=>x});var s=r(87806),n=r(77412),a=r(44999);let i="osw_session";function o(){let e=process.env.SESSION_SECRET;if(!e)throw Error("SESSION_SECRET environment variable not set");return new TextEncoder().encode(e)}async function u(e,t,r=!0){let n=o(),a=Math.floor((Date.now()+864e5)/1e3);return await new s.P({userId:e,email:t,isAdmin:r}).setProtectedHeader({alg:"HS256"}).setExpirationTime(a).setIssuedAt().sign(n)}async function c(e){try{let t=o(),{payload:r}=await (0,n.V)(e,t);return{userId:r.userId,email:r.email,isAdmin:r.isAdmin,exp:r.exp}}catch(e){return null}}async function p(){let e=await (0,a.UL)(),t=e.get(i)?.value;return t?c(t):null}async function d(e){(await (0,a.UL)()).set(i,e,{httpOnly:!0,secure:!0,sameSite:"lax",maxAge:86400,path:"/"})}async function l(){(await (0,a.UL)()).delete(i)}async function x(){let e=await p();if(!e)throw Error("Unauthorized");return e}},63033:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},78335:()=>{},79322:(e,t,r)=>{"use strict";r.r(t),r.d(t,{patchFetch:()=>h,routeModule:()=>p,serverHooks:()=>x,workAsyncStorage:()=>d,workUnitAsyncStorage:()=>l});var s={};r.r(s),r.d(s,{GET:()=>c});var n=r(96559),a=r(48088),i=r(37719),o=r(32190),u=r(50613);async function c(){return await (0,u.Ht)()?o.NextResponse.json({authenticated:!0}):o.NextResponse.json({authenticated:!1},{status:401})}let p=new n.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/auth/check/route",pathname:"/api/auth/check",filename:"route",bundlePath:"app/api/auth/check/route"},resolvedPagePath:"/Users/otto/Desktop/deepstudio/osw-studio-git/app/api/auth/check/route.ts",nextConfigOutput:"standalone",userland:s}),{workAsyncStorage:d,workUnitAsyncStorage:l,serverHooks:x}=p;function h(){return(0,i.patchFetch)({workAsyncStorage:d,workUnitAsyncStorage:l})}},96487:()=>{}};var t=require("../../../../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),s=t.X(0,[4447,580,5155],()=>r(79322));module.exports=s})(); \ No newline at end of file diff --git a/.next/server/app/api/auth/check/route.js.nft.json b/.next/server/app/api/auth/check/route.js.nft.json new file mode 100644 index 0000000000000000000000000000000000000000..8f15290b17382a0b5c3b47af6706c568453c475d --- /dev/null +++ b/.next/server/app/api/auth/check/route.js.nft.json @@ -0,0 +1 @@ +{"version":1,"files":["../../../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../../node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js","../../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot-instance.js","../../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot.external.js","../../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../../node_modules/next/package.json","../../../../../../package.json","../../../../../package.json","../../../../chunks/4447.js","../../../../chunks/5155.js","../../../../chunks/580.js","../../../../webpack-runtime.js","route_client-reference-manifest.js"]} \ No newline at end of file diff --git a/.next/server/app/api/auth/check/route_client-reference-manifest.js b/.next/server/app/api/auth/check/route_client-reference-manifest.js new file mode 100644 index 0000000000000000000000000000000000000000..08349c51d5f59cc9a9cde353f58cd59e25c4d4d0 --- /dev/null +++ b/.next/server/app/api/auth/check/route_client-reference-manifest.js @@ -0,0 +1 @@ +globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/api/auth/check/route"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"3727":{"*":{"id":"12913","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"94593","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"69001","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"53014","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"35656","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"64628","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"97173","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"43555","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"40099","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"20435","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"62763","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"99197","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"28827","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"38243","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"86346","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"27924","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/tanstack-query-provider.tsx":{"id":25388,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/theme-provider.tsx":{"id":61321,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/ui/sonner.tsx":{"id":15851,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"variable\":\"--font-inter-sans\",\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"}":{"id":9755,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"PT_Sans\",\"arguments\":[{\"variable\":\"--font-ptSans-mono\",\"subsets\":[\"latin\"],\"weight\":[\"400\",\"700\"]}],\"variableName\":\"ptSans\"}":{"id":56382,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/assets/globals.css":{"id":85410,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/page-wrapper/index.tsx":{"id":19009,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/page.tsx":{"id":57161,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/test-generation/page.tsx":{"id":26910,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page.tsx":{"id":40796,"name":"*","chunks":["5948","static/chunks/06bf0ff1-2f6b5dbae626a171.js","4316","static/chunks/ad2866b8-a4659a388c5e0680.js","6671","static/chunks/6671-cfa51652ff77a475.js","189","static/chunks/189-4f09a71b91c59be3.js","5370","static/chunks/5370-dad62d5f4907e0f9.js","4750","static/chunks/4750-b402a0050286a424.js","5375","static/chunks/5375-a5738c494d0f24e9.js","8974","static/chunks/app/page-79207d5f775baf7d.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/login/page.tsx":{"id":3727,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/otto/Desktop/deepstudio/osw-studio-git/":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/layout":[{"inlined":false,"path":"static/css/e420bcf6619594d2.css"}],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/api/auth/check/route":[]},"rscModuleMapping":{"3727":{"*":{"id":"9911","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"80363","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"36903","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"41900","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"88170","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"82623","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"31307","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"90597","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"49477","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"49441","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"46577","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"39035","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"12089","name":"*","chunks":[],"async":false}},"85410":{"*":{"id":"94348","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"29345","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"16444","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"16042","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}} \ No newline at end of file diff --git a/.next/server/app/api/auth/login/route.js b/.next/server/app/api/auth/login/route.js new file mode 100644 index 0000000000000000000000000000000000000000..ca99a37663a340b08e308765d403e643150d4ec7 --- /dev/null +++ b/.next/server/app/api/auth/login/route.js @@ -0,0 +1 @@ +(()=>{var e={};e.id=7758,e.ids=[7758],e.modules={3295:e=>{"use strict";e.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},29294:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-async-storage.external.js")},32371:(e,r,t)=>{"use strict";t.r(r),t.d(r,{patchFetch:()=>f,routeModule:()=>l,serverHooks:()=>w,workAsyncStorage:()=>p,workUnitAsyncStorage:()=>g});var n={};t.r(n),t.d(n,{POST:()=>c});var s=t(96559),o=t(48088),a=t(37719),i=t(32190),u=t(50613),d=t(66819);async function c(e){try{let{password:r}=await e.json();if(!r)return d.v.debug("[API /api/auth/login] No password provided"),i.NextResponse.json({error:"Password required"},{status:400});let t=process.env.ADMIN_PASSWORD;if(!t)return d.v.error("[API /api/auth/login] ADMIN_PASSWORD not configured in .env file"),i.NextResponse.json({error:"Authentication not configured. Please set ADMIN_PASSWORD in your .env file."},{status:500});if(r!==t)return d.v.debug("[API /api/auth/login] Invalid password attempt"),i.NextResponse.json({error:"Invalid password"},{status:401});try{let e=await (0,u.jw)("admin","admin@localhost",!0);await (0,u.$G)(e)}catch(e){return d.v.error("[API /api/auth/login] Session creation error:",e),i.NextResponse.json({error:"Failed to create session. Check SESSION_SECRET environment variable."},{status:500})}return d.v.debug("[API /api/auth/login] Login successful"),i.NextResponse.json({success:!0})}catch(e){return d.v.error("[API /api/auth/login] Error:",e),i.NextResponse.json({error:e instanceof Error?e.message:"Login failed"},{status:500})}}let l=new s.AppRouteRouteModule({definition:{kind:o.RouteKind.APP_ROUTE,page:"/api/auth/login/route",pathname:"/api/auth/login",filename:"route",bundlePath:"app/api/auth/login/route"},resolvedPagePath:"/Users/otto/Desktop/deepstudio/osw-studio-git/app/api/auth/login/route.ts",nextConfigOutput:"standalone",userland:n}),{workAsyncStorage:p,workUnitAsyncStorage:g,serverHooks:w}=l;function f(){return(0,a.patchFetch)({workAsyncStorage:p,workUnitAsyncStorage:g})}},44870:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},50613:(e,r,t)=>{"use strict";t.d(r,{$G:()=>l,C0:()=>p,Ht:()=>c,jw:()=>u,oC:()=>g});var n=t(87806),s=t(77412),o=t(44999);let a="osw_session";function i(){let e=process.env.SESSION_SECRET;if(!e)throw Error("SESSION_SECRET environment variable not set");return new TextEncoder().encode(e)}async function u(e,r,t=!0){let s=i(),o=Math.floor((Date.now()+864e5)/1e3);return await new n.P({userId:e,email:r,isAdmin:t}).setProtectedHeader({alg:"HS256"}).setExpirationTime(o).setIssuedAt().sign(s)}async function d(e){try{let r=i(),{payload:t}=await (0,s.V)(e,r);return{userId:t.userId,email:t.email,isAdmin:t.isAdmin,exp:t.exp}}catch(e){return null}}async function c(){let e=await (0,o.UL)(),r=e.get(a)?.value;return r?d(r):null}async function l(e){(await (0,o.UL)()).set(a,e,{httpOnly:!0,secure:!0,sameSite:"lax",maxAge:86400,path:"/"})}async function p(){(await (0,o.UL)()).delete(a)}async function g(){let e=await c();if(!e)throw Error("Unauthorized");return e}},63033:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},66819:(e,r,t)=>{"use strict";t.d(r,{v:()=>a});let n={debug:10,info:20,warn:30,error:40,silent:50},s="undefined"!=typeof process&&"warn"||"warn";function o(e){return n[s]<=n[e]}let a={debug:(...e)=>{o("debug")&&console.debug(...e)},info:(...e)=>{o("info")&&console.info(...e)},warn:(...e)=>{o("warn")&&console.warn(...e)},error:(...e)=>{o("error")&&console.error(...e)}}},78335:()=>{},96487:()=>{}};var r=require("../../../../webpack-runtime.js");r.C(e);var t=e=>r(r.s=e),n=r.X(0,[4447,580,5155],()=>t(32371));module.exports=n})(); \ No newline at end of file diff --git a/.next/server/app/api/auth/login/route.js.nft.json b/.next/server/app/api/auth/login/route.js.nft.json new file mode 100644 index 0000000000000000000000000000000000000000..8f15290b17382a0b5c3b47af6706c568453c475d --- /dev/null +++ b/.next/server/app/api/auth/login/route.js.nft.json @@ -0,0 +1 @@ +{"version":1,"files":["../../../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../../node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js","../../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot-instance.js","../../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot.external.js","../../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../../node_modules/next/package.json","../../../../../../package.json","../../../../../package.json","../../../../chunks/4447.js","../../../../chunks/5155.js","../../../../chunks/580.js","../../../../webpack-runtime.js","route_client-reference-manifest.js"]} \ No newline at end of file diff --git a/.next/server/app/api/auth/login/route_client-reference-manifest.js b/.next/server/app/api/auth/login/route_client-reference-manifest.js new file mode 100644 index 0000000000000000000000000000000000000000..cd2a52ad21f6b9dd945ebcf43b12218a0dccd37b --- /dev/null +++ b/.next/server/app/api/auth/login/route_client-reference-manifest.js @@ -0,0 +1 @@ +globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/api/auth/login/route"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"3727":{"*":{"id":"12913","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"94593","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"69001","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"53014","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"35656","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"64628","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"97173","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"43555","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"40099","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"20435","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"62763","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"99197","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"28827","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"38243","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"86346","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"27924","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/tanstack-query-provider.tsx":{"id":25388,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/theme-provider.tsx":{"id":61321,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/ui/sonner.tsx":{"id":15851,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"variable\":\"--font-inter-sans\",\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"}":{"id":9755,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"PT_Sans\",\"arguments\":[{\"variable\":\"--font-ptSans-mono\",\"subsets\":[\"latin\"],\"weight\":[\"400\",\"700\"]}],\"variableName\":\"ptSans\"}":{"id":56382,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/assets/globals.css":{"id":85410,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/page-wrapper/index.tsx":{"id":19009,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/page.tsx":{"id":57161,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/test-generation/page.tsx":{"id":26910,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page.tsx":{"id":40796,"name":"*","chunks":["5948","static/chunks/06bf0ff1-2f6b5dbae626a171.js","4316","static/chunks/ad2866b8-a4659a388c5e0680.js","6671","static/chunks/6671-cfa51652ff77a475.js","189","static/chunks/189-4f09a71b91c59be3.js","5370","static/chunks/5370-dad62d5f4907e0f9.js","4750","static/chunks/4750-b402a0050286a424.js","5375","static/chunks/5375-a5738c494d0f24e9.js","8974","static/chunks/app/page-79207d5f775baf7d.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/login/page.tsx":{"id":3727,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/otto/Desktop/deepstudio/osw-studio-git/":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/layout":[{"inlined":false,"path":"static/css/e420bcf6619594d2.css"}],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/api/auth/login/route":[]},"rscModuleMapping":{"3727":{"*":{"id":"9911","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"80363","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"36903","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"41900","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"88170","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"82623","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"31307","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"90597","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"49477","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"49441","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"46577","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"39035","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"12089","name":"*","chunks":[],"async":false}},"85410":{"*":{"id":"94348","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"29345","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"16444","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"16042","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}} \ No newline at end of file diff --git a/.next/server/app/api/auth/logout/route.js b/.next/server/app/api/auth/logout/route.js new file mode 100644 index 0000000000000000000000000000000000000000..ec03e01147a75afbdb47d431163bebc978bb970f --- /dev/null +++ b/.next/server/app/api/auth/logout/route.js @@ -0,0 +1 @@ +(()=>{var e={};e.id=8489,e.ids=[8489],e.modules={3295:e=>{"use strict";e.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},27282:(e,t,r)=>{"use strict";r.r(t),r.d(t,{patchFetch:()=>g,routeModule:()=>p,serverHooks:()=>f,workAsyncStorage:()=>l,workUnitAsyncStorage:()=>w});var n={};r.r(n),r.d(n,{POST:()=>d});var o=r(96559),s=r(48088),a=r(37719),i=r(32190),u=r(50613),c=r(66819);async function d(){try{return await (0,u.C0)(),i.NextResponse.json({success:!0})}catch(e){return c.v.error("[API /api/auth/logout] Error:",e),i.NextResponse.json({error:e instanceof Error?e.message:"Logout failed"},{status:500})}}let p=new o.AppRouteRouteModule({definition:{kind:s.RouteKind.APP_ROUTE,page:"/api/auth/logout/route",pathname:"/api/auth/logout",filename:"route",bundlePath:"app/api/auth/logout/route"},resolvedPagePath:"/Users/otto/Desktop/deepstudio/osw-studio-git/app/api/auth/logout/route.ts",nextConfigOutput:"standalone",userland:n}),{workAsyncStorage:l,workUnitAsyncStorage:w,serverHooks:f}=p;function g(){return(0,a.patchFetch)({workAsyncStorage:l,workUnitAsyncStorage:w})}},29294:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-async-storage.external.js")},44870:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},50613:(e,t,r)=>{"use strict";r.d(t,{$G:()=>p,C0:()=>l,Ht:()=>d,jw:()=>u,oC:()=>w});var n=r(87806),o=r(77412),s=r(44999);let a="osw_session";function i(){let e=process.env.SESSION_SECRET;if(!e)throw Error("SESSION_SECRET environment variable not set");return new TextEncoder().encode(e)}async function u(e,t,r=!0){let o=i(),s=Math.floor((Date.now()+864e5)/1e3);return await new n.P({userId:e,email:t,isAdmin:r}).setProtectedHeader({alg:"HS256"}).setExpirationTime(s).setIssuedAt().sign(o)}async function c(e){try{let t=i(),{payload:r}=await (0,o.V)(e,t);return{userId:r.userId,email:r.email,isAdmin:r.isAdmin,exp:r.exp}}catch(e){return null}}async function d(){let e=await (0,s.UL)(),t=e.get(a)?.value;return t?c(t):null}async function p(e){(await (0,s.UL)()).set(a,e,{httpOnly:!0,secure:!0,sameSite:"lax",maxAge:86400,path:"/"})}async function l(){(await (0,s.UL)()).delete(a)}async function w(){let e=await d();if(!e)throw Error("Unauthorized");return e}},63033:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},66819:(e,t,r)=>{"use strict";r.d(t,{v:()=>a});let n={debug:10,info:20,warn:30,error:40,silent:50},o="undefined"!=typeof process&&"warn"||"warn";function s(e){return n[o]<=n[e]}let a={debug:(...e)=>{s("debug")&&console.debug(...e)},info:(...e)=>{s("info")&&console.info(...e)},warn:(...e)=>{s("warn")&&console.warn(...e)},error:(...e)=>{s("error")&&console.error(...e)}}},78335:()=>{},96487:()=>{}};var t=require("../../../../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),n=t.X(0,[4447,580,5155],()=>r(27282));module.exports=n})(); \ No newline at end of file diff --git a/.next/server/app/api/auth/logout/route.js.nft.json b/.next/server/app/api/auth/logout/route.js.nft.json new file mode 100644 index 0000000000000000000000000000000000000000..8f15290b17382a0b5c3b47af6706c568453c475d --- /dev/null +++ b/.next/server/app/api/auth/logout/route.js.nft.json @@ -0,0 +1 @@ +{"version":1,"files":["../../../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../../node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js","../../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot-instance.js","../../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot.external.js","../../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../../node_modules/next/package.json","../../../../../../package.json","../../../../../package.json","../../../../chunks/4447.js","../../../../chunks/5155.js","../../../../chunks/580.js","../../../../webpack-runtime.js","route_client-reference-manifest.js"]} \ No newline at end of file diff --git a/.next/server/app/api/auth/logout/route_client-reference-manifest.js b/.next/server/app/api/auth/logout/route_client-reference-manifest.js new file mode 100644 index 0000000000000000000000000000000000000000..d5f504c71204d6ec3894e5a97ce9638c366fed37 --- /dev/null +++ b/.next/server/app/api/auth/logout/route_client-reference-manifest.js @@ -0,0 +1 @@ +globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/api/auth/logout/route"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"3727":{"*":{"id":"12913","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"94593","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"69001","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"53014","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"35656","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"64628","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"97173","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"43555","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"40099","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"20435","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"62763","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"99197","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"28827","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"38243","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"86346","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"27924","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/tanstack-query-provider.tsx":{"id":25388,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/theme-provider.tsx":{"id":61321,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/ui/sonner.tsx":{"id":15851,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"variable\":\"--font-inter-sans\",\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"}":{"id":9755,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"PT_Sans\",\"arguments\":[{\"variable\":\"--font-ptSans-mono\",\"subsets\":[\"latin\"],\"weight\":[\"400\",\"700\"]}],\"variableName\":\"ptSans\"}":{"id":56382,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/assets/globals.css":{"id":85410,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/page-wrapper/index.tsx":{"id":19009,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/page.tsx":{"id":57161,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/test-generation/page.tsx":{"id":26910,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page.tsx":{"id":40796,"name":"*","chunks":["5948","static/chunks/06bf0ff1-2f6b5dbae626a171.js","4316","static/chunks/ad2866b8-a4659a388c5e0680.js","6671","static/chunks/6671-cfa51652ff77a475.js","189","static/chunks/189-4f09a71b91c59be3.js","5370","static/chunks/5370-dad62d5f4907e0f9.js","4750","static/chunks/4750-b402a0050286a424.js","5375","static/chunks/5375-a5738c494d0f24e9.js","8974","static/chunks/app/page-79207d5f775baf7d.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/login/page.tsx":{"id":3727,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/otto/Desktop/deepstudio/osw-studio-git/":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/layout":[{"inlined":false,"path":"static/css/e420bcf6619594d2.css"}],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/api/auth/logout/route":[]},"rscModuleMapping":{"3727":{"*":{"id":"9911","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"80363","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"36903","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"41900","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"88170","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"82623","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"31307","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"90597","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"49477","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"49441","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"46577","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"39035","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"12089","name":"*","chunks":[],"async":false}},"85410":{"*":{"id":"94348","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"29345","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"16444","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"16042","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}} \ No newline at end of file diff --git a/.next/server/app/api/auth/me/route.js b/.next/server/app/api/auth/me/route.js new file mode 100644 index 0000000000000000000000000000000000000000..eece94214ef460ab721768469868f6d6dc055c5a --- /dev/null +++ b/.next/server/app/api/auth/me/route.js @@ -0,0 +1 @@ +(()=>{var e={};e.id=8673,e.ids=[8673],e.modules={3295:e=>{"use strict";e.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},29294:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-async-storage.external.js")},44870:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},50613:(e,t,r)=>{"use strict";r.d(t,{$G:()=>p,C0:()=>l,Ht:()=>c,jw:()=>u,oC:()=>m});var n=r(87806),s=r(77412),a=r(44999);let o="osw_session";function i(){let e=process.env.SESSION_SECRET;if(!e)throw Error("SESSION_SECRET environment variable not set");return new TextEncoder().encode(e)}async function u(e,t,r=!0){let s=i(),a=Math.floor((Date.now()+864e5)/1e3);return await new n.P({userId:e,email:t,isAdmin:r}).setProtectedHeader({alg:"HS256"}).setExpirationTime(a).setIssuedAt().sign(s)}async function d(e){try{let t=i(),{payload:r}=await (0,s.V)(e,t);return{userId:r.userId,email:r.email,isAdmin:r.isAdmin,exp:r.exp}}catch(e){return null}}async function c(){let e=await (0,a.UL)(),t=e.get(o)?.value;return t?d(t):null}async function p(e){(await (0,a.UL)()).set(o,e,{httpOnly:!0,secure:!0,sameSite:"lax",maxAge:86400,path:"/"})}async function l(){(await (0,a.UL)()).delete(o)}async function m(){let e=await c();if(!e)throw Error("Unauthorized");return e}},63033:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},66819:(e,t,r)=>{"use strict";r.d(t,{v:()=>o});let n={debug:10,info:20,warn:30,error:40,silent:50},s="undefined"!=typeof process&&"warn"||"warn";function a(e){return n[s]<=n[e]}let o={debug:(...e)=>{a("debug")&&console.debug(...e)},info:(...e)=>{a("info")&&console.info(...e)},warn:(...e)=>{a("warn")&&console.warn(...e)},error:(...e)=>{a("error")&&console.error(...e)}}},72238:(e,t,r)=>{"use strict";r.r(t),r.d(t,{patchFetch:()=>x,routeModule:()=>p,serverHooks:()=>w,workAsyncStorage:()=>l,workUnitAsyncStorage:()=>m});var n={};r.r(n),r.d(n,{GET:()=>c});var s=r(96559),a=r(48088),o=r(37719),i=r(32190),u=r(50613),d=r(66819);async function c(){try{let e=await (0,u.Ht)();if(!e)return i.NextResponse.json({authenticated:!1},{status:200});return i.NextResponse.json({authenticated:!0,user:{userId:e.userId,email:e.email,isAdmin:e.isAdmin}})}catch(e){return d.v.error("[API /api/auth/me] Error:",e),i.NextResponse.json({error:e instanceof Error?e.message:"Failed to get session"},{status:500})}}let p=new s.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/auth/me/route",pathname:"/api/auth/me",filename:"route",bundlePath:"app/api/auth/me/route"},resolvedPagePath:"/Users/otto/Desktop/deepstudio/osw-studio-git/app/api/auth/me/route.ts",nextConfigOutput:"standalone",userland:n}),{workAsyncStorage:l,workUnitAsyncStorage:m,serverHooks:w}=p;function x(){return(0,o.patchFetch)({workAsyncStorage:l,workUnitAsyncStorage:m})}},78335:()=>{},96487:()=>{}};var t=require("../../../../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),n=t.X(0,[4447,580,5155],()=>r(72238));module.exports=n})(); \ No newline at end of file diff --git a/.next/server/app/api/auth/me/route.js.nft.json b/.next/server/app/api/auth/me/route.js.nft.json new file mode 100644 index 0000000000000000000000000000000000000000..8f15290b17382a0b5c3b47af6706c568453c475d --- /dev/null +++ b/.next/server/app/api/auth/me/route.js.nft.json @@ -0,0 +1 @@ +{"version":1,"files":["../../../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../../node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js","../../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot-instance.js","../../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot.external.js","../../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../../node_modules/next/package.json","../../../../../../package.json","../../../../../package.json","../../../../chunks/4447.js","../../../../chunks/5155.js","../../../../chunks/580.js","../../../../webpack-runtime.js","route_client-reference-manifest.js"]} \ No newline at end of file diff --git a/.next/server/app/api/auth/me/route_client-reference-manifest.js b/.next/server/app/api/auth/me/route_client-reference-manifest.js new file mode 100644 index 0000000000000000000000000000000000000000..df1ce721ac1ebc11d8b0a861ea2558c57136a83e --- /dev/null +++ b/.next/server/app/api/auth/me/route_client-reference-manifest.js @@ -0,0 +1 @@ +globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/api/auth/me/route"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"3727":{"*":{"id":"12913","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"94593","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"69001","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"53014","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"35656","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"64628","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"97173","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"43555","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"40099","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"20435","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"62763","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"99197","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"28827","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"38243","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"86346","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"27924","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/tanstack-query-provider.tsx":{"id":25388,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/theme-provider.tsx":{"id":61321,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/ui/sonner.tsx":{"id":15851,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"variable\":\"--font-inter-sans\",\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"}":{"id":9755,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"PT_Sans\",\"arguments\":[{\"variable\":\"--font-ptSans-mono\",\"subsets\":[\"latin\"],\"weight\":[\"400\",\"700\"]}],\"variableName\":\"ptSans\"}":{"id":56382,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/assets/globals.css":{"id":85410,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/page-wrapper/index.tsx":{"id":19009,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/page.tsx":{"id":57161,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/test-generation/page.tsx":{"id":26910,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page.tsx":{"id":40796,"name":"*","chunks":["5948","static/chunks/06bf0ff1-2f6b5dbae626a171.js","4316","static/chunks/ad2866b8-a4659a388c5e0680.js","6671","static/chunks/6671-cfa51652ff77a475.js","189","static/chunks/189-4f09a71b91c59be3.js","5370","static/chunks/5370-dad62d5f4907e0f9.js","4750","static/chunks/4750-b402a0050286a424.js","5375","static/chunks/5375-a5738c494d0f24e9.js","8974","static/chunks/app/page-79207d5f775baf7d.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/login/page.tsx":{"id":3727,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/otto/Desktop/deepstudio/osw-studio-git/":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/layout":[{"inlined":false,"path":"static/css/e420bcf6619594d2.css"}],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/api/auth/me/route":[]},"rscModuleMapping":{"3727":{"*":{"id":"9911","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"80363","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"36903","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"41900","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"88170","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"82623","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"31307","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"90597","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"49477","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"49441","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"46577","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"39035","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"12089","name":"*","chunks":[],"async":false}},"85410":{"*":{"id":"94348","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"29345","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"16444","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"16042","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}} \ No newline at end of file diff --git a/.next/server/app/api/docs/[...path]/route.js b/.next/server/app/api/docs/[...path]/route.js new file mode 100644 index 0000000000000000000000000000000000000000..341813ce11e6f38d59ae954671dd9b3a5f0c6381 --- /dev/null +++ b/.next/server/app/api/docs/[...path]/route.js @@ -0,0 +1 @@ +(()=>{var e={};e.id=6573,e.ids=[6573],e.modules={3295:e=>{"use strict";e.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},29294:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:e=>{"use strict";e.exports=require("path")},44870:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},63033:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},78335:()=>{},96487:()=>{},97821:(e,t,r)=>{"use strict";r.r(t),r.d(t,{patchFetch:()=>m,routeModule:()=>c,serverHooks:()=>h,workAsyncStorage:()=>l,workUnitAsyncStorage:()=>x});var s={};r.r(s),r.d(s,{GET:()=>d});var o=r(96559),a=r(48088),n=r(37719),i=r(32190);let u=require("fs/promises");var p=r(33873);async function d(e,{params:t}){try{let{path:e}=await t,r=e.join("/");if(r.includes("..")||r.startsWith("/"))return i.NextResponse.json({error:"Invalid path"},{status:400});let s=(0,p.join)(process.cwd(),"docs",r),o=await (0,u.readFile)(s,"utf-8");return new i.NextResponse(o,{headers:{"Content-Type":"text/markdown; charset=utf-8","Cache-Control":"public, max-age=3600"}})}catch(e){if(console.error("[Docs API] Error reading file:",e),"ENOENT"===e.code)return i.NextResponse.json({error:"Document not found"},{status:404});return i.NextResponse.json({error:"Failed to read document"},{status:500})}}let c=new o.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/docs/[...path]/route",pathname:"/api/docs/[...path]",filename:"route",bundlePath:"app/api/docs/[...path]/route"},resolvedPagePath:"/Users/otto/Desktop/deepstudio/osw-studio-git/app/api/docs/[...path]/route.ts",nextConfigOutput:"standalone",userland:s}),{workAsyncStorage:l,workUnitAsyncStorage:x,serverHooks:h}=c;function m(){return(0,n.patchFetch)({workAsyncStorage:l,workUnitAsyncStorage:x})}}};var t=require("../../../../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),s=t.X(0,[4447,580],()=>r(97821));module.exports=s})(); \ No newline at end of file diff --git a/.next/server/app/api/docs/[...path]/route.js.nft.json b/.next/server/app/api/docs/[...path]/route.js.nft.json new file mode 100644 index 0000000000000000000000000000000000000000..3d4a11cd71d2e06c61de87a94f5b6602cb2c0f9a --- /dev/null +++ b/.next/server/app/api/docs/[...path]/route.js.nft.json @@ -0,0 +1 @@ +{"version":1,"files":["../../../../../../docs/DEPLOYING_SITES.md","../../../../../../docs/FAQ.md","../../../../../../docs/GETTING_STARTED.md","../../../../../../docs/OVERVIEW.md","../../../../../../docs/PROJECTS.md","../../../../../../docs/SERVER_MODE.md","../../../../../../docs/SKILLS.md","../../../../../../docs/TEMPLATES.md","../../../../../../docs/TROUBLESHOOTING.md","../../../../../../docs/WHATS_NEW.md","../../../../../../docs/WORKING_WITH_AI.md","../../../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../../node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js","../../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot-instance.js","../../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot.external.js","../../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../../node_modules/next/package.json","../../../../../../package.json","../../../../../package.json","../../../../chunks/4447.js","../../../../chunks/580.js","../../../../webpack-runtime.js","route_client-reference-manifest.js"]} \ No newline at end of file diff --git a/.next/server/app/api/docs/[...path]/route_client-reference-manifest.js b/.next/server/app/api/docs/[...path]/route_client-reference-manifest.js new file mode 100644 index 0000000000000000000000000000000000000000..607f3bfd98a23cbd2776326400aeb82eaed41978 --- /dev/null +++ b/.next/server/app/api/docs/[...path]/route_client-reference-manifest.js @@ -0,0 +1 @@ +globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/api/docs/[...path]/route"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"3727":{"*":{"id":"12913","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"94593","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"69001","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"53014","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"35656","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"64628","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"97173","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"43555","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"40099","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"20435","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"62763","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"99197","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"28827","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"38243","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"86346","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"27924","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/tanstack-query-provider.tsx":{"id":25388,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/theme-provider.tsx":{"id":61321,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/ui/sonner.tsx":{"id":15851,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"variable\":\"--font-inter-sans\",\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"}":{"id":9755,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"PT_Sans\",\"arguments\":[{\"variable\":\"--font-ptSans-mono\",\"subsets\":[\"latin\"],\"weight\":[\"400\",\"700\"]}],\"variableName\":\"ptSans\"}":{"id":56382,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/assets/globals.css":{"id":85410,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/page-wrapper/index.tsx":{"id":19009,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/page.tsx":{"id":57161,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/test-generation/page.tsx":{"id":26910,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page.tsx":{"id":40796,"name":"*","chunks":["5948","static/chunks/06bf0ff1-2f6b5dbae626a171.js","4316","static/chunks/ad2866b8-a4659a388c5e0680.js","6671","static/chunks/6671-cfa51652ff77a475.js","189","static/chunks/189-4f09a71b91c59be3.js","5370","static/chunks/5370-dad62d5f4907e0f9.js","4750","static/chunks/4750-b402a0050286a424.js","5375","static/chunks/5375-a5738c494d0f24e9.js","8974","static/chunks/app/page-79207d5f775baf7d.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/login/page.tsx":{"id":3727,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/otto/Desktop/deepstudio/osw-studio-git/":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/layout":[{"inlined":false,"path":"static/css/e420bcf6619594d2.css"}],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/api/docs/[...path]/route":[]},"rscModuleMapping":{"3727":{"*":{"id":"9911","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"80363","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"36903","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"41900","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"88170","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"82623","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"31307","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"90597","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"49477","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"49441","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"46577","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"39035","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"12089","name":"*","chunks":[],"async":false}},"85410":{"*":{"id":"94348","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"29345","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"16444","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"16042","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}} \ No newline at end of file diff --git a/.next/server/app/api/generate/route.js b/.next/server/app/api/generate/route.js index a84b6a73576ee78a8d638d4560c377f90344e86a..734296c8b2f6c25536be4bfdc1df253e7857ac72 100644 --- a/.next/server/app/api/generate/route.js +++ b/.next/server/app/api/generate/route.js @@ -1,4 +1,4 @@ -(()=>{var e={};e.id=435,e.ids=[435],e.modules={202:(e,t,o)=>{"use strict";o.r(t),o.d(t,{patchFetch:()=>g,routeModule:()=>u,serverHooks:()=>h,workAsyncStorage:()=>m,workUnitAsyncStorage:()=>d});var s={};o.r(s),o.d(s,{POST:()=>p});var r=o(6559),n=o(8088),i=o(7719),a=o(2190),l=o(4092);async function p(e){try{let{prompt:t,apiKey:o,model:s,tools:r,context:n,messages:i,tool_choice:p,provider:u,max_tokens:m}=await e.json(),d=u||"openrouter",h=(0,l.sO)(d);if(!t&&!i)return a.NextResponse.json({error:"Either prompt or messages is required"},{status:400});if(h.apiKeyRequired&&!o)return a.NextResponse.json({error:`${h.name} API key is required. Please set it in settings.`},{status:400});let g=`You operate in a sandboxed virtual terminal. +(()=>{var e={};e.id=5435,e.ids=[5435],e.modules={3295:e=>{"use strict";e.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},14092:(e,t,o)=>{"use strict";o.d(t,{sO:()=>s});let r={openrouter:{id:"openrouter",name:"OpenRouter",description:"Access multiple AI models through a unified API",apiKeyRequired:!0,apiKeyPlaceholder:"sk-or-...",apiKeyHelpUrl:"https://openrouter.ai/keys",baseUrl:"https://openrouter.ai/api/v1",supportsModelDiscovery:!0,supportsFunctions:!0,supportsStreaming:!0},openai:{id:"openai",name:"OpenAI",description:"GPT-4, GPT-3.5 and other OpenAI models",apiKeyRequired:!0,apiKeyPlaceholder:"sk-...",apiKeyHelpUrl:"https://platform.openai.com/api-keys",baseUrl:"https://api.openai.com/v1",supportsModelDiscovery:!0,supportsFunctions:!0,supportsStreaming:!0},anthropic:{id:"anthropic",name:"Anthropic",description:"Claude 3.5 Sonnet, Haiku and Opus models",apiKeyRequired:!0,apiKeyPlaceholder:"sk-ant-...",apiKeyHelpUrl:"https://console.anthropic.com/settings/keys",baseUrl:"https://api.anthropic.com/v1",supportsModelDiscovery:!0,supportsFunctions:!0,supportsStreaming:!0},groq:{id:"groq",name:"Groq",description:"Ultra-fast inference with Llama and Mixtral models",apiKeyRequired:!0,apiKeyPlaceholder:"gsk_...",apiKeyHelpUrl:"https://console.groq.com/keys",baseUrl:"https://api.groq.com/openai/v1",supportsModelDiscovery:!0,supportsFunctions:!0,supportsStreaming:!0},gemini:{id:"gemini",name:"Google Gemini",description:"Google's multimodal AI models",apiKeyRequired:!0,apiKeyPlaceholder:"AI...",apiKeyHelpUrl:"https://aistudio.google.com/apikey",baseUrl:"https://generativelanguage.googleapis.com/v1beta",models:[{id:"gemini-2.0-flash-exp",name:"Gemini 2.0 Flash",description:"Latest experimental Gemini model",contextLength:1048576,maxTokens:8192,supportsFunctions:!0,supportsVision:!0},{id:"gemini-1.5-pro",name:"Gemini 1.5 Pro",description:"Advanced reasoning and analysis",contextLength:2097152,maxTokens:8192,supportsFunctions:!0,supportsVision:!0},{id:"gemini-1.5-flash",name:"Gemini 1.5 Flash",description:"Fast and versatile",contextLength:1048576,maxTokens:8192,supportsFunctions:!0,supportsVision:!0}],supportsFunctions:!0,supportsStreaming:!0},ollama:{id:"ollama",name:"Ollama",description:"Run models locally with Ollama",apiKeyRequired:!1,baseUrl:"http://localhost:11434/v1",supportsModelDiscovery:!0,supportsFunctions:!0,supportsStreaming:!0,isLocal:!0},lmstudio:{id:"lmstudio",name:"LM Studio",description:"Local model server with tool use support",apiKeyRequired:!1,baseUrl:"http://localhost:1234/v1",supportsModelDiscovery:!0,supportsFunctions:!0,supportsStreaming:!0,isLocal:!0},sambanova:{id:"sambanova",name:"SambaNova",description:"High-performance AI chips for inference",apiKeyRequired:!0,apiKeyPlaceholder:"SambaNova API Key",apiKeyHelpUrl:"https://cloud.sambanova.ai/apis",baseUrl:"https://api.sambanova.ai/v1",supportsModelDiscovery:!0,supportsFunctions:!0,supportsStreaming:!0}};function s(e){return r[e]}},29294:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-async-storage.external.js")},44870:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},63033:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},66819:(e,t,o)=>{"use strict";o.d(t,{v:()=>a});let r={debug:10,info:20,warn:30,error:40,silent:50},s="undefined"!=typeof process&&"warn"||"warn";function n(e){return r[s]<=r[e]}let a={debug:(...e)=>{n("debug")&&console.debug(...e)},info:(...e)=>{n("info")&&console.info(...e)},warn:(...e)=>{n("warn")&&console.warn(...e)},error:(...e)=>{n("error")&&console.error(...e)}}},78335:()=>{},90202:(e,t,o)=>{"use strict";o.r(t),o.d(t,{patchFetch:()=>f,routeModule:()=>d,serverHooks:()=>g,workAsyncStorage:()=>m,workUnitAsyncStorage:()=>h});var r={};o.r(r),o.d(r,{POST:()=>c});var s=o(96559),n=o(48088),a=o(37719),i=o(32190),l=o(14092),p=o(66819);async function c(e){try{let{prompt:t,apiKey:o,model:r,tools:s,context:n,messages:a,tool_choice:c,provider:d,max_tokens:m}=await e.json(),h=d||"openrouter",g=(0,l.sO)(h);if(!t&&!a)return i.NextResponse.json({error:"Either prompt or messages is required"},{status:400});if(g.apiKeyRequired&&!o)return i.NextResponse.json({error:`${g.name} API key is required. Please set it in settings.`},{status:400});let f=`You operate in a sandboxed virtual terminal. Guidelines: - Create semantic, accessible HTML5; modern CSS3; clean JS (ES6+). @@ -22,26 +22,26 @@ Habits: 2. Use "update" only for simple text changes without clear entity boundaries 3. Use "rewrite" for complete file replacement - AVOID large oldStr blocks (50+ lines) - use replace_entity instead for code blocks. -- Keep changes small and atomic.`;if(n?.fileTree&&(g+=` +- Keep changes small and atomic.`;if(n?.fileTree&&(f+=` Current project structure: -${n.fileTree}`),n?.existingFiles&&Array.isArray(n.existingFiles)&&(g+=` +${n.fileTree}`),n?.existingFiles&&Array.isArray(n.existingFiles)&&(f+=` Existing files (modify via json_patch; use mv/rm for structure): -${n.existingFiles.join("\n")}`),n?.mainFiles&&Object.keys(n.mainFiles).length>0)for(let[e,t]of(g+=` +${n.existingFiles.join("\n")}`),n?.mainFiles&&Object.keys(n.mainFiles).length>0)for(let[e,t]of(f+=` -Current file contents (use exact text when crafting json_patch operations):`,Object.entries(n.mainFiles))){let o=String(t),s=o.length>1e3?o.substring(0,1e3)+"\n... (truncated)":o;g+=` +Current file contents (use exact text when crafting json_patch operations):`,Object.entries(n.mainFiles))){let o=String(t),r=o.length>1e3?o.substring(0,1e3)+"\n... (truncated)":o;f+=` === ${e} === -${s}`}n?.instructions&&(g+=` +${r}`}n?.instructions&&(f+=` Additional instructions: -${n.instructions}`);let f=i||[{role:"system",content:g},{role:"user",content:t}];i&&!i.some(e=>"system"===e.role)&&f.unshift({role:"system",content:g});let y=function(e,t,o){let s=t.baseUrl||"https://openrouter.ai/api/v1";return"anthropic"===e?"https://api.anthropic.com/v1/messages":"gemini"===e?`https://generativelanguage.googleapis.com/v1beta/models/${o||"gemini-1.5-flash"}:generateContent`:`${s}/chat/completions`}(d,h,s),v=function(e,t,o,s){let r={"Content-Type":"application/json"};return"anthropic"===e?(r["x-api-key"]=t||"",r["anthropic-version"]="2023-06-01",s.supportsFunctions&&(r["anthropic-beta"]="tools-2024-04-04")):"gemini"===e||(t&&(r.Authorization=`Bearer ${t}`),"openrouter"===e&&(r["HTTP-Referer"]=o.headers.get("referer")||"http://localhost:3000",r["X-Title"]="OSW-Studio")),r}(d,o,e,h),x=f,k="";if("anthropic"===d){let e=f.find(e=>"system"===e.role);e&&(k=e.content),x=[];let t=null;for(let e of f)if("system"===e.role)continue;else if("tool"===e.role)t&&"user"===t.role?(Array.isArray(t.content)||(t={...t,content:[{type:"text",text:t.content}]}),t.content.push({type:"tool_result",tool_use_id:e.tool_call_id,content:e.content})):(t&&"user"===t.role&&x.push(t),t={role:"user",content:[{type:"tool_result",tool_use_id:e.tool_call_id,content:e.content}]});else{if(t&&"user"===t.role&&x.push(t),"assistant"===e.role&&e.tool_calls){let o=[];for(let t of(e.content&&o.push({type:"text",text:e.content}),e.tool_calls))o.push({type:"tool_use",id:t.id,name:t.function.name,input:JSON.parse(t.function.arguments||"{}")});t={role:"assistant",content:o}}else t=e.content||"assistant"!==e.role?{...e}:null;"user"!==e.role&&t&&(x.push(t),t=null)}t&&"user"===t.role&&x.push(t)}let b={model:s||c(d),messages:x,stream:!0};if("anthropic"===d&&k&&(b.system=k),r&&r.length>0){let e=r.filter(e=>e.name&&""!==e.name.trim()?(e.description||console.warn('[API] Tool missing "description" field:',e.name),e.parameters||console.warn('[API] Tool missing "parameters" field:',e.name),!0):(console.error('[API] Tool missing required "name" field:',e),!1));if(0===e.length)return a.NextResponse.json({error:"All tools are invalid. Tools must have a name field."},{status:400});"anthropic"===d?(b.tools=e.map(e=>({name:e.name,description:e.description,input_schema:e.parameters})),p&&"object"==typeof p?b.tool_choice=p:"auto"!==p&&p?"any"===p?b.tool_choice={type:"any"}:"string"==typeof p?b.tool_choice={type:"tool",name:p}:b.tool_choice={type:"auto"}:b.tool_choice={type:"auto"}):("ollama"===d?b.tools=e.map(e=>({type:"function",function:e})):b.tools=e.map(e=>({type:"function",function:e})),b.tool_choice=p||"auto")}"openai"===d?(b.max_completion_tokens=m||4096,(s||c(d)).includes("gpt-5-nano")?b.temperature=1:b.temperature=.7):(b.max_tokens=m||4096,b.temperature=.7);let w=await fetch(y,{method:"POST",headers:v,body:JSON.stringify(b)});if(!w.ok){let e=await w.text(),t=e;try{let o=JSON.parse(e);o.error?.message?t=o.error.message:"string"==typeof o.error&&(t=o.error)}catch{}let o={};if(429===w.status){let e=w.headers.get("Retry-After"),t=w.headers.get("X-RateLimit-Reset"),s=w.headers.get("X-RateLimit-Remaining");e&&(o["Retry-After"]=e),t&&(o["X-RateLimit-Reset"]=t),s&&(o["X-RateLimit-Remaining"]=s)}if("ollama"===d&&t.includes("does not support tools")&&r&&r.length>0){let e=g+` +${n.instructions}`);let y=a||[{role:"system",content:f},{role:"user",content:t}];a&&!a.some(e=>"system"===e.role)&&y.unshift({role:"system",content:f});let v=function(e,t,o){let r=t.baseUrl||"https://openrouter.ai/api/v1";return"anthropic"===e?"https://api.anthropic.com/v1/messages":"gemini"===e?`https://generativelanguage.googleapis.com/v1beta/models/${o||"gemini-1.5-flash"}:generateContent`:`${r}/chat/completions`}(h,g,r),x=function(e,t,o,r){let s={"Content-Type":"application/json"};return"anthropic"===e?(s["x-api-key"]=t||"",s["anthropic-version"]="2023-06-01",r.supportsFunctions&&(s["anthropic-beta"]="tools-2024-04-04")):"gemini"===e||(t&&(s.Authorization=`Bearer ${t}`),"openrouter"===e&&(s["HTTP-Referer"]=o.headers.get("referer")||"http://localhost:3000",s["X-Title"]="OSW-Studio")),s}(h,o,e,g),b=y,k="";if("anthropic"===h){let e=y.find(e=>"system"===e.role);e&&(k=e.content),b=[];let t=null;for(let e of y)if("system"===e.role)continue;else if("tool"===e.role)t&&"user"===t.role?(Array.isArray(t.content)||(t={...t,content:[{type:"text",text:t.content}]}),t.content.push({type:"tool_result",tool_use_id:e.tool_call_id,content:e.content})):(t&&"user"===t.role&&b.push(t),t={role:"user",content:[{type:"tool_result",tool_use_id:e.tool_call_id,content:e.content}]});else{if(t&&"user"===t.role&&b.push(t),"assistant"===e.role&&e.tool_calls){let o=[];for(let t of(e.content&&o.push({type:"text",text:e.content}),e.tool_calls))o.push({type:"tool_use",id:t.id,name:t.function.name,input:JSON.parse(t.function.arguments||"{}")});t={role:"assistant",content:o}}else t=e.content||"assistant"!==e.role?{...e}:null;"user"!==e.role&&t&&(b.push(t),t=null)}t&&"user"===t.role&&b.push(t)}let w={model:r||u(h),messages:b,stream:!0};if("anthropic"===h&&k&&(w.system=k),s&&s.length>0){let e=s.filter(e=>e.name&&""!==e.name.trim()?(e.description||p.v.warn('[API] Tool missing "description" field:',e.name),e.parameters||p.v.warn('[API] Tool missing "parameters" field:',e.name),!0):(p.v.error('[API] Tool missing required "name" field:',e),!1));if(0===e.length)return i.NextResponse.json({error:"All tools are invalid. Tools must have a name field."},{status:400});"anthropic"===h?(w.tools=e.map(e=>({name:e.name,description:e.description,input_schema:e.parameters})),c&&"object"==typeof c?w.tool_choice=c:"auto"!==c&&c?"any"===c?w.tool_choice={type:"any"}:"string"==typeof c?w.tool_choice={type:"tool",name:c}:w.tool_choice={type:"auto"}:w.tool_choice={type:"auto"}):("ollama"===h?w.tools=e.map(e=>({type:"function",function:e})):w.tools=e.map(e=>({type:"function",function:e})),w.tool_choice=c||"auto")}"openai"===h?(w.max_completion_tokens=m||4096,(r||u(h)).includes("gpt-5-nano")?w.temperature=1:w.temperature=.7):(w.max_tokens=m||4096,w.temperature=.7);let _=r||"";_.includes("gemini")&&(_.includes("thinking")||_.includes("2.5")||_.includes("3-pro"))&&(w.reasoning={max_tokens:4096});let A=await fetch(v,{method:"POST",headers:x,body:JSON.stringify(w)});if(!A.ok){let e=await A.text(),t=e;try{let o=JSON.parse(e);if(o.error?.message){if(t=o.error.message,o.error.metadata?.raw)try{let e=JSON.parse(o.error.metadata.raw);e.error?.message&&(t=`${o.error.message}: ${e.error.message}`)}catch{o.error.metadata.raw!==o.error.message&&(t=`${o.error.message} (${o.error.metadata.raw})`)}o.error.metadata?.provider_name&&(t=`[${o.error.metadata.provider_name}] ${t}`)}else"string"==typeof o.error&&(t=o.error);p.v.error("[API] Provider error details:",JSON.stringify(o,null,2))}catch{p.v.error("[API] Provider error (raw):",e)}let o={};if(429===A.status){let e=A.headers.get("Retry-After"),t=A.headers.get("X-RateLimit-Reset"),r=A.headers.get("X-RateLimit-Remaining");e&&(o["Retry-After"]=e),t&&(o["X-RateLimit-Reset"]=t),r&&(o["X-RateLimit-Remaining"]=r)}if("ollama"===h&&t.includes("does not support tools")&&s&&s.length>0){let e=f+` IMPORTANT: This model doesn't support native function calling, so you must use JSON format for tool calls. Available tools: -${r.map(e=>` +${s.map(e=>` - ${e.name}: ${e.description} Parameters: ${JSON.stringify(e.parameters,null,2)} `).join("")} @@ -61,4 +61,4 @@ When you need to use a tool, respond with: } \`\`\` -You can make multiple tool calls in a single response. Always include the tool_calls array even for a single tool call.`,t=[...f],s=t.findIndex(e=>"system"===e.role);s>=0&&(t[s].content=e);let n={...b,messages:t};delete n.tools,delete n.tool_choice;let i=await fetch(y,{method:"POST",headers:o,body:JSON.stringify(n)});if(!i.ok){let e=await i.text();return a.NextResponse.json({error:`${h.name} API error (after fallback): ${e}`},{status:i.status})}return new Response(i.body,{headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive","X-Tool-Fallback":"json-parsing"}})}return a.NextResponse.json({error:`${h.name} API error: ${t}`},{status:w.status,headers:o})}let R={"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"};if("openrouter"===d)for(let e of["x-openrouter-generation-id","x-openrouter-usage","x-openrouter-tokens","x-openrouter-cost"]){let t=w.headers.get(e);t&&(R[e]=t)}return new Response(w.body,{headers:R})}catch(s){let e=s instanceof Error?s.message:"Unknown error",t=/fetch failed|Failed to fetch|NetworkError/i.test(e),o=t?"Network error: unable to reach the model API. Check your internet connection or proxy settings.":e;return a.NextResponse.json({error:o},{status:t?503:500})}}function c(e){switch(e){case"openrouter":default:return"deepseek/deepseek-chat";case"openai":return"gpt-4o-mini";case"anthropic":return"claude-3-5-haiku-20241022";case"groq":return"llama-3.3-70b-versatile";case"gemini":return"gemini-1.5-flash";case"ollama":return"llama3.2:latest";case"lmstudio":return"qwen/qwen3-4b-thinking-2507";case"sambanova":return"Meta-Llama-3.3-70B-Instruct"}}let u=new r.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/generate/route",pathname:"/api/generate",filename:"route",bundlePath:"app/api/generate/route"},resolvedPagePath:"/Users/otto/Desktop/deepstudio/osw-studio-git/app/api/generate/route.ts",nextConfigOutput:"standalone",userland:s}),{workAsyncStorage:m,workUnitAsyncStorage:d,serverHooks:h}=u;function g(){return(0,i.patchFetch)({workAsyncStorage:m,workUnitAsyncStorage:d})}},846:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},3033:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},3295:e=>{"use strict";e.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},4092:(e,t,o)=>{"use strict";o.d(t,{sO:()=>r});let s={openrouter:{id:"openrouter",name:"OpenRouter",description:"Access multiple AI models through a unified API",apiKeyRequired:!0,apiKeyPlaceholder:"sk-or-...",apiKeyHelpUrl:"https://openrouter.ai/keys",baseUrl:"https://openrouter.ai/api/v1",supportsModelDiscovery:!0,supportsFunctions:!0,supportsStreaming:!0},openai:{id:"openai",name:"OpenAI",description:"GPT-4, GPT-3.5 and other OpenAI models",apiKeyRequired:!0,apiKeyPlaceholder:"sk-...",apiKeyHelpUrl:"https://platform.openai.com/api-keys",baseUrl:"https://api.openai.com/v1",supportsModelDiscovery:!0,supportsFunctions:!0,supportsStreaming:!0},anthropic:{id:"anthropic",name:"Anthropic",description:"Claude 3.5 Sonnet, Haiku and Opus models",apiKeyRequired:!0,apiKeyPlaceholder:"sk-ant-...",apiKeyHelpUrl:"https://console.anthropic.com/settings/keys",baseUrl:"https://api.anthropic.com/v1",supportsModelDiscovery:!0,supportsFunctions:!0,supportsStreaming:!0},groq:{id:"groq",name:"Groq",description:"Ultra-fast inference with Llama and Mixtral models",apiKeyRequired:!0,apiKeyPlaceholder:"gsk_...",apiKeyHelpUrl:"https://console.groq.com/keys",baseUrl:"https://api.groq.com/openai/v1",supportsModelDiscovery:!0,supportsFunctions:!0,supportsStreaming:!0},gemini:{id:"gemini",name:"Google Gemini",description:"Google's multimodal AI models",apiKeyRequired:!0,apiKeyPlaceholder:"AI...",apiKeyHelpUrl:"https://aistudio.google.com/apikey",baseUrl:"https://generativelanguage.googleapis.com/v1beta",models:[{id:"gemini-2.0-flash-exp",name:"Gemini 2.0 Flash",description:"Latest experimental Gemini model",contextLength:1048576,maxTokens:8192,supportsFunctions:!0,supportsVision:!0},{id:"gemini-1.5-pro",name:"Gemini 1.5 Pro",description:"Advanced reasoning and analysis",contextLength:2097152,maxTokens:8192,supportsFunctions:!0,supportsVision:!0},{id:"gemini-1.5-flash",name:"Gemini 1.5 Flash",description:"Fast and versatile",contextLength:1048576,maxTokens:8192,supportsFunctions:!0,supportsVision:!0}],supportsFunctions:!0,supportsStreaming:!0},ollama:{id:"ollama",name:"Ollama",description:"Run models locally with Ollama",apiKeyRequired:!1,baseUrl:"http://localhost:11434/v1",supportsModelDiscovery:!0,supportsFunctions:!0,supportsStreaming:!0,isLocal:!0},lmstudio:{id:"lmstudio",name:"LM Studio",description:"Local model server with tool use support",apiKeyRequired:!1,baseUrl:"http://localhost:1234/v1",supportsModelDiscovery:!0,supportsFunctions:!0,supportsStreaming:!0,isLocal:!0},sambanova:{id:"sambanova",name:"SambaNova",description:"High-performance AI chips for inference",apiKeyRequired:!0,apiKeyPlaceholder:"SambaNova API Key",apiKeyHelpUrl:"https://cloud.sambanova.ai/apis",baseUrl:"https://api.sambanova.ai/v1",supportsModelDiscovery:!0,supportsFunctions:!0,supportsStreaming:!0}};function r(e){return s[e]}},4870:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},6487:()=>{},8335:()=>{},9294:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-async-storage.external.js")}};var t=require("../../../webpack-runtime.js");t.C(e);var o=e=>t(t.s=e),s=t.X(0,[447,580],()=>o(202));module.exports=s})(); \ No newline at end of file +You can make multiple tool calls in a single response. Always include the tool_calls array even for a single tool call.`,t=[...y],r=t.findIndex(e=>"system"===e.role);r>=0&&(t[r].content=e);let n={...w,messages:t};delete n.tools,delete n.tool_choice;let a=await fetch(v,{method:"POST",headers:o,body:JSON.stringify(n)});if(!a.ok){let e=await a.text();return i.NextResponse.json({error:`${g.name} API error (after fallback): ${e}`},{status:a.status})}return new Response(a.body,{headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive","X-Tool-Fallback":"json-parsing"}})}return i.NextResponse.json({error:`${g.name} API error: ${t}`},{status:A.status,headers:o})}let R={"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"};if("openrouter"===h)for(let e of["x-openrouter-generation-id","x-openrouter-usage","x-openrouter-tokens","x-openrouter-cost"]){let t=A.headers.get(e);t&&(R[e]=t)}return new Response(A.body,{headers:R})}catch(r){let e=r instanceof Error?r.message:"Unknown error",t=/fetch failed|Failed to fetch|NetworkError/i.test(e),o=t?"Network error: unable to reach the model API. Check your internet connection or proxy settings.":e;return i.NextResponse.json({error:o},{status:t?503:500})}}function u(e){switch(e){case"openrouter":default:return"deepseek/deepseek-chat";case"openai":return"gpt-4o-mini";case"anthropic":return"claude-3-5-haiku-20241022";case"groq":return"llama-3.3-70b-versatile";case"gemini":return"gemini-1.5-flash";case"ollama":return"llama3.2:latest";case"lmstudio":return"qwen/qwen3-4b-thinking-2507";case"sambanova":return"Meta-Llama-3.3-70B-Instruct"}}let d=new s.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/generate/route",pathname:"/api/generate",filename:"route",bundlePath:"app/api/generate/route"},resolvedPagePath:"/Users/otto/Desktop/deepstudio/osw-studio-git/app/api/generate/route.ts",nextConfigOutput:"standalone",userland:r}),{workAsyncStorage:m,workUnitAsyncStorage:h,serverHooks:g}=d;function f(){return(0,a.patchFetch)({workAsyncStorage:m,workUnitAsyncStorage:h})}},96487:()=>{}};var t=require("../../../webpack-runtime.js");t.C(e);var o=e=>t(t.s=e),r=t.X(0,[4447,580],()=>o(90202));module.exports=r})(); \ No newline at end of file diff --git a/.next/server/app/api/generate/route.js.nft.json b/.next/server/app/api/generate/route.js.nft.json index 95d0d3a58d6190d71058e27a832377d898eff58c..35b51ae9d0f39de4c28f8c6549c739b99d9765e7 100644 --- a/.next/server/app/api/generate/route.js.nft.json +++ b/.next/server/app/api/generate/route.js.nft.json @@ -1 +1 @@ -{"version":1,"files":["../../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js","../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot-instance.js","../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot.external.js","../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../node_modules/next/package.json","../../../../../package.json","../../../../package.json","../../../chunks/447.js","../../../chunks/580.js","../../../webpack-runtime.js","route_client-reference-manifest.js"]} \ No newline at end of file +{"version":1,"files":["../../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js","../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot-instance.js","../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot.external.js","../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../node_modules/next/package.json","../../../../../package.json","../../../../package.json","../../../chunks/4447.js","../../../chunks/580.js","../../../webpack-runtime.js","route_client-reference-manifest.js"]} \ No newline at end of file diff --git a/.next/server/app/api/generate/route_client-reference-manifest.js b/.next/server/app/api/generate/route_client-reference-manifest.js index 5d2e2b3a8b14b6400f011effb82050c225006edc..e0e6ef76f511046e0733aa19ca193e913d143f00 100644 --- a/.next/server/app/api/generate/route_client-reference-manifest.js +++ b/.next/server/app/api/generate/route_client-reference-manifest.js @@ -1 +1 @@ -globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/api/generate/route"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"894":{"*":{"id":"6346","name":"*","chunks":[],"async":false}},"1295":{"*":{"id":"7173","name":"*","chunks":[],"async":false}},"1321":{"*":{"id":"9197","name":"*","chunks":[],"async":false}},"2715":{"*":{"id":"8287","name":"*","chunks":[],"async":false}},"4911":{"*":{"id":"8827","name":"*","chunks":[],"async":false}},"4970":{"*":{"id":"7924","name":"*","chunks":[],"async":false}},"5388":{"*":{"id":"3014","name":"*","chunks":[],"async":false}},"5851":{"*":{"id":"4593","name":"*","chunks":[],"async":false}},"6614":{"*":{"id":"5656","name":"*","chunks":[],"async":false}},"6910":{"*":{"id":"4628","name":"*","chunks":[],"async":false}},"6975":{"*":{"id":"99","name":"*","chunks":[],"async":false}},"7555":{"*":{"id":"8243","name":"*","chunks":[],"async":false}},"9665":{"*":{"id":"2763","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-page.js":{"id":894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-page.js":{"id":894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-segment.js":{"id":4970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-segment.js":{"id":4970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/error-boundary.js":{"id":6614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":6614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":6975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":6975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/layout-router.js":{"id":7555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/layout-router.js":{"id":7555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/async-metadata.js":{"id":4911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/async-metadata.js":{"id":4911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/metadata-boundary.js":{"id":9665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/metadata-boundary.js":{"id":9665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/render-from-template-context.js":{"id":1295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":1295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/tanstack-query-provider.tsx":{"id":5388,"name":"*","chunks":["671","static/chunks/671-f7ad2a6bc6db0f05.js","138","static/chunks/138-9f738090dc749a6c.js","177","static/chunks/app/layout-4145df182a98063f.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/theme-provider.tsx":{"id":1321,"name":"*","chunks":["671","static/chunks/671-f7ad2a6bc6db0f05.js","138","static/chunks/138-9f738090dc749a6c.js","177","static/chunks/app/layout-4145df182a98063f.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/ui/sonner.tsx":{"id":5851,"name":"*","chunks":["671","static/chunks/671-f7ad2a6bc6db0f05.js","138","static/chunks/138-9f738090dc749a6c.js","177","static/chunks/app/layout-4145df182a98063f.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"variable\":\"--font-inter-sans\",\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"}":{"id":9755,"name":"*","chunks":["671","static/chunks/671-f7ad2a6bc6db0f05.js","138","static/chunks/138-9f738090dc749a6c.js","177","static/chunks/app/layout-4145df182a98063f.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"PT_Sans\",\"arguments\":[{\"variable\":\"--font-ptSans-mono\",\"subsets\":[\"latin\"],\"weight\":[\"400\",\"700\"]}],\"variableName\":\"ptSans\"}":{"id":6382,"name":"*","chunks":["671","static/chunks/671-f7ad2a6bc6db0f05.js","138","static/chunks/138-9f738090dc749a6c.js","177","static/chunks/app/layout-4145df182a98063f.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/assets/globals.css":{"id":5410,"name":"*","chunks":["671","static/chunks/671-f7ad2a6bc6db0f05.js","138","static/chunks/138-9f738090dc749a6c.js","177","static/chunks/app/layout-4145df182a98063f.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page.tsx":{"id":2715,"name":"*","chunks":["948","static/chunks/06bf0ff1-f728958255a9b8b2.js","316","static/chunks/ad2866b8-eb5f2e8eab9b0b0c.js","671","static/chunks/671-f7ad2a6bc6db0f05.js","543","static/chunks/543-48a1c5f1f67a3b29.js","525","static/chunks/525-4e767ea62b4b7b1e.js","361","static/chunks/361-0bdc2b83974d9545.js","974","static/chunks/app/page-05cb2cd5b350e411.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/test-generation/page.tsx":{"id":6910,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/otto/Desktop/deepstudio/osw-studio-git/":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/layout":[{"inlined":false,"path":"static/css/fd087a0139b3b65e.css"}],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/api/generate/route":[]},"rscModuleMapping":{"894":{"*":{"id":"6444","name":"*","chunks":[],"async":false}},"1295":{"*":{"id":"1307","name":"*","chunks":[],"async":false}},"1321":{"*":{"id":"9035","name":"*","chunks":[],"async":false}},"2715":{"*":{"id":"597","name":"*","chunks":[],"async":false}},"4911":{"*":{"id":"2089","name":"*","chunks":[],"async":false}},"4970":{"*":{"id":"6042","name":"*","chunks":[],"async":false}},"5388":{"*":{"id":"1900","name":"*","chunks":[],"async":false}},"5410":{"*":{"id":"4348","name":"*","chunks":[],"async":false}},"5851":{"*":{"id":"363","name":"*","chunks":[],"async":false}},"6614":{"*":{"id":"8170","name":"*","chunks":[],"async":false}},"6910":{"*":{"id":"5004","name":"*","chunks":[],"async":false}},"6975":{"*":{"id":"9477","name":"*","chunks":[],"async":false}},"7555":{"*":{"id":"9345","name":"*","chunks":[],"async":false}},"9665":{"*":{"id":"6577","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}} \ No newline at end of file +globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/api/generate/route"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"3727":{"*":{"id":"12913","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"94593","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"69001","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"53014","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"35656","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"64628","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"97173","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"43555","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"40099","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"20435","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"62763","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"99197","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"28827","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"38243","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"86346","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"27924","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/tanstack-query-provider.tsx":{"id":25388,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/theme-provider.tsx":{"id":61321,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/ui/sonner.tsx":{"id":15851,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"variable\":\"--font-inter-sans\",\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"}":{"id":9755,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"PT_Sans\",\"arguments\":[{\"variable\":\"--font-ptSans-mono\",\"subsets\":[\"latin\"],\"weight\":[\"400\",\"700\"]}],\"variableName\":\"ptSans\"}":{"id":56382,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/assets/globals.css":{"id":85410,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/page-wrapper/index.tsx":{"id":19009,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/page.tsx":{"id":57161,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/test-generation/page.tsx":{"id":26910,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page.tsx":{"id":40796,"name":"*","chunks":["5948","static/chunks/06bf0ff1-2f6b5dbae626a171.js","4316","static/chunks/ad2866b8-a4659a388c5e0680.js","6671","static/chunks/6671-cfa51652ff77a475.js","189","static/chunks/189-4f09a71b91c59be3.js","5370","static/chunks/5370-dad62d5f4907e0f9.js","4750","static/chunks/4750-b402a0050286a424.js","5375","static/chunks/5375-a5738c494d0f24e9.js","8974","static/chunks/app/page-79207d5f775baf7d.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/login/page.tsx":{"id":3727,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/otto/Desktop/deepstudio/osw-studio-git/":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/layout":[{"inlined":false,"path":"static/css/e420bcf6619594d2.css"}],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/api/generate/route":[]},"rscModuleMapping":{"3727":{"*":{"id":"9911","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"80363","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"36903","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"41900","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"88170","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"82623","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"31307","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"90597","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"49477","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"49441","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"46577","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"39035","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"12089","name":"*","chunks":[],"async":false}},"85410":{"*":{"id":"94348","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"29345","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"16444","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"16042","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}} \ No newline at end of file diff --git a/.next/server/app/api/models/route.js b/.next/server/app/api/models/route.js index f3dea4cd1d4946882c8794192f632d80c7642e3c..e13f31d0b06e891c8299d022ae3a48134440a592 100644 --- a/.next/server/app/api/models/route.js +++ b/.next/server/app/api/models/route.js @@ -1 +1 @@ -(()=>{var e={};e.id=552,e.ids=[552],e.modules={846:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},2080:(e,t,o)=>{"use strict";o.r(t),o.d(t,{patchFetch:()=>g,routeModule:()=>u,serverHooks:()=>h,workAsyncStorage:()=>c,workUnitAsyncStorage:()=>m});var r={};o.r(r),o.d(r,{POST:()=>d});var s=o(6559),a=o(8088),i=o(7719),n=o(2190),p=o(4092),l=o(6819);async function d(e){try{let{apiKey:t,provider:o}=await e.json();if(!o)return n.NextResponse.json({error:"Provider is required"},{status:400});let r=(0,p.sO)(o);if(r.apiKeyRequired&&!t)return n.NextResponse.json({models:[]});let s=[];try{switch(o){case"openrouter":let a=await fetch("https://openrouter.ai/api/v1/models",{headers:{Authorization:`Bearer ${t}`,"HTTP-Referer":e.headers.get("referer")||"http://localhost:3000","X-Title":"OSW-Studio"}});if(a.ok){let e=await a.json();s=e.data?.filter(e=>e.id.includes("deepseek")||e.id.includes("qwen")||e.id.includes("claude")||e.id.includes("gpt")||e.id.includes("llama"))?.map(e=>e.id)||[]}break;case"anthropic":let i=await fetch("https://api.anthropic.com/v1/models",{headers:{"x-api-key":t,"anthropic-version":"2023-06-01"}});if(i.ok){let e=await i.json();s=e.data?.map(e=>e.id)||[]}break;case"openai":let n=await fetch("https://api.openai.com/v1/models",{headers:{Authorization:`Bearer ${t}`}});if(n.ok){let e=await n.json();s=e.data?.map(e=>e.id)||[]}break;case"groq":let p=await fetch("https://api.groq.com/openai/v1/models",{headers:{Authorization:`Bearer ${t}`}});if(p.ok){let e=await p.json();s=e.data?.map(e=>e.id)||[]}break;case"ollama":try{let e=await fetch("http://localhost:11434/api/tags");if(e.ok){let t=await e.json();s=t.models?.map(e=>e.name)||[]}}catch(e){l.v.error("Ollama models fetch error:",e)}break;case"lmstudio":try{let e=await fetch(`${r.baseUrl}/models`);if(e.ok){let t=await e.json();s=t.data?.map(e=>e.id)||[]}}catch(e){l.v.error("LM Studio models fetch error:",e)}break;case"gemini":s=r.models?.map(e=>e.id)||[];break;default:if(r.baseUrl&&t){let e=await fetch(`${r.baseUrl}/models`,{headers:{Authorization:`Bearer ${t}`,"Content-Type":"application/json"}});if(e.ok){let t=await e.json();s=t.data?.map(e=>e.id)||[]}}}}catch(e){l.v.error(`Error fetching models for ${o}:`,e),r.models&&(s=r.models.map(e=>e.id))}return n.NextResponse.json({models:s})}catch(e){return l.v.error("Models API error:",e),n.NextResponse.json({models:[]})}}let u=new s.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/models/route",pathname:"/api/models",filename:"route",bundlePath:"app/api/models/route"},resolvedPagePath:"/Users/otto/Desktop/deepstudio/osw-studio-git/app/api/models/route.ts",nextConfigOutput:"standalone",userland:r}),{workAsyncStorage:c,workUnitAsyncStorage:m,serverHooks:h}=u;function g(){return(0,i.patchFetch)({workAsyncStorage:c,workUnitAsyncStorage:m})}},3033:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},3295:e=>{"use strict";e.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},4092:(e,t,o)=>{"use strict";o.d(t,{sO:()=>s});let r={openrouter:{id:"openrouter",name:"OpenRouter",description:"Access multiple AI models through a unified API",apiKeyRequired:!0,apiKeyPlaceholder:"sk-or-...",apiKeyHelpUrl:"https://openrouter.ai/keys",baseUrl:"https://openrouter.ai/api/v1",supportsModelDiscovery:!0,supportsFunctions:!0,supportsStreaming:!0},openai:{id:"openai",name:"OpenAI",description:"GPT-4, GPT-3.5 and other OpenAI models",apiKeyRequired:!0,apiKeyPlaceholder:"sk-...",apiKeyHelpUrl:"https://platform.openai.com/api-keys",baseUrl:"https://api.openai.com/v1",supportsModelDiscovery:!0,supportsFunctions:!0,supportsStreaming:!0},anthropic:{id:"anthropic",name:"Anthropic",description:"Claude 3.5 Sonnet, Haiku and Opus models",apiKeyRequired:!0,apiKeyPlaceholder:"sk-ant-...",apiKeyHelpUrl:"https://console.anthropic.com/settings/keys",baseUrl:"https://api.anthropic.com/v1",supportsModelDiscovery:!0,supportsFunctions:!0,supportsStreaming:!0},groq:{id:"groq",name:"Groq",description:"Ultra-fast inference with Llama and Mixtral models",apiKeyRequired:!0,apiKeyPlaceholder:"gsk_...",apiKeyHelpUrl:"https://console.groq.com/keys",baseUrl:"https://api.groq.com/openai/v1",supportsModelDiscovery:!0,supportsFunctions:!0,supportsStreaming:!0},gemini:{id:"gemini",name:"Google Gemini",description:"Google's multimodal AI models",apiKeyRequired:!0,apiKeyPlaceholder:"AI...",apiKeyHelpUrl:"https://aistudio.google.com/apikey",baseUrl:"https://generativelanguage.googleapis.com/v1beta",models:[{id:"gemini-2.0-flash-exp",name:"Gemini 2.0 Flash",description:"Latest experimental Gemini model",contextLength:1048576,maxTokens:8192,supportsFunctions:!0,supportsVision:!0},{id:"gemini-1.5-pro",name:"Gemini 1.5 Pro",description:"Advanced reasoning and analysis",contextLength:2097152,maxTokens:8192,supportsFunctions:!0,supportsVision:!0},{id:"gemini-1.5-flash",name:"Gemini 1.5 Flash",description:"Fast and versatile",contextLength:1048576,maxTokens:8192,supportsFunctions:!0,supportsVision:!0}],supportsFunctions:!0,supportsStreaming:!0},ollama:{id:"ollama",name:"Ollama",description:"Run models locally with Ollama",apiKeyRequired:!1,baseUrl:"http://localhost:11434/v1",supportsModelDiscovery:!0,supportsFunctions:!0,supportsStreaming:!0,isLocal:!0},lmstudio:{id:"lmstudio",name:"LM Studio",description:"Local model server with tool use support",apiKeyRequired:!1,baseUrl:"http://localhost:1234/v1",supportsModelDiscovery:!0,supportsFunctions:!0,supportsStreaming:!0,isLocal:!0},sambanova:{id:"sambanova",name:"SambaNova",description:"High-performance AI chips for inference",apiKeyRequired:!0,apiKeyPlaceholder:"SambaNova API Key",apiKeyHelpUrl:"https://cloud.sambanova.ai/apis",baseUrl:"https://api.sambanova.ai/v1",supportsModelDiscovery:!0,supportsFunctions:!0,supportsStreaming:!0}};function s(e){return r[e]}},4870:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},6487:()=>{},6819:(e,t,o)=>{"use strict";o.d(t,{v:()=>i});let r={debug:10,info:20,warn:30,error:40,silent:50},s="undefined"!=typeof process&&process.env.NEXT_PUBLIC_LOG_LEVEL||"warn";function a(e){return r[s]<=r[e]}let i={debug:(...e)=>{a("debug")&&console.debug(...e)},info:(...e)=>{a("info")&&console.info(...e)},warn:(...e)=>{a("warn")&&console.warn(...e)},error:(...e)=>{a("error")&&console.error(...e)}}},8335:()=>{},9294:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-async-storage.external.js")}};var t=require("../../../webpack-runtime.js");t.C(e);var o=e=>t(t.s=e),r=t.X(0,[447,580],()=>o(2080));module.exports=r})(); \ No newline at end of file +(()=>{var e={};e.id=552,e.ids=[552],e.modules={3295:e=>{"use strict";e.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},14092:(e,t,o)=>{"use strict";o.d(t,{sO:()=>s});let r={openrouter:{id:"openrouter",name:"OpenRouter",description:"Access multiple AI models through a unified API",apiKeyRequired:!0,apiKeyPlaceholder:"sk-or-...",apiKeyHelpUrl:"https://openrouter.ai/keys",baseUrl:"https://openrouter.ai/api/v1",supportsModelDiscovery:!0,supportsFunctions:!0,supportsStreaming:!0},openai:{id:"openai",name:"OpenAI",description:"GPT-4, GPT-3.5 and other OpenAI models",apiKeyRequired:!0,apiKeyPlaceholder:"sk-...",apiKeyHelpUrl:"https://platform.openai.com/api-keys",baseUrl:"https://api.openai.com/v1",supportsModelDiscovery:!0,supportsFunctions:!0,supportsStreaming:!0},anthropic:{id:"anthropic",name:"Anthropic",description:"Claude 3.5 Sonnet, Haiku and Opus models",apiKeyRequired:!0,apiKeyPlaceholder:"sk-ant-...",apiKeyHelpUrl:"https://console.anthropic.com/settings/keys",baseUrl:"https://api.anthropic.com/v1",supportsModelDiscovery:!0,supportsFunctions:!0,supportsStreaming:!0},groq:{id:"groq",name:"Groq",description:"Ultra-fast inference with Llama and Mixtral models",apiKeyRequired:!0,apiKeyPlaceholder:"gsk_...",apiKeyHelpUrl:"https://console.groq.com/keys",baseUrl:"https://api.groq.com/openai/v1",supportsModelDiscovery:!0,supportsFunctions:!0,supportsStreaming:!0},gemini:{id:"gemini",name:"Google Gemini",description:"Google's multimodal AI models",apiKeyRequired:!0,apiKeyPlaceholder:"AI...",apiKeyHelpUrl:"https://aistudio.google.com/apikey",baseUrl:"https://generativelanguage.googleapis.com/v1beta",models:[{id:"gemini-2.0-flash-exp",name:"Gemini 2.0 Flash",description:"Latest experimental Gemini model",contextLength:1048576,maxTokens:8192,supportsFunctions:!0,supportsVision:!0},{id:"gemini-1.5-pro",name:"Gemini 1.5 Pro",description:"Advanced reasoning and analysis",contextLength:2097152,maxTokens:8192,supportsFunctions:!0,supportsVision:!0},{id:"gemini-1.5-flash",name:"Gemini 1.5 Flash",description:"Fast and versatile",contextLength:1048576,maxTokens:8192,supportsFunctions:!0,supportsVision:!0}],supportsFunctions:!0,supportsStreaming:!0},ollama:{id:"ollama",name:"Ollama",description:"Run models locally with Ollama",apiKeyRequired:!1,baseUrl:"http://localhost:11434/v1",supportsModelDiscovery:!0,supportsFunctions:!0,supportsStreaming:!0,isLocal:!0},lmstudio:{id:"lmstudio",name:"LM Studio",description:"Local model server with tool use support",apiKeyRequired:!1,baseUrl:"http://localhost:1234/v1",supportsModelDiscovery:!0,supportsFunctions:!0,supportsStreaming:!0,isLocal:!0},sambanova:{id:"sambanova",name:"SambaNova",description:"High-performance AI chips for inference",apiKeyRequired:!0,apiKeyPlaceholder:"SambaNova API Key",apiKeyHelpUrl:"https://cloud.sambanova.ai/apis",baseUrl:"https://api.sambanova.ai/v1",supportsModelDiscovery:!0,supportsFunctions:!0,supportsStreaming:!0}};function s(e){return r[e]}},29294:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-async-storage.external.js")},44870:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},63033:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},66819:(e,t,o)=>{"use strict";o.d(t,{v:()=>i});let r={debug:10,info:20,warn:30,error:40,silent:50},s="undefined"!=typeof process&&"warn"||"warn";function a(e){return r[s]<=r[e]}let i={debug:(...e)=>{a("debug")&&console.debug(...e)},info:(...e)=>{a("info")&&console.info(...e)},warn:(...e)=>{a("warn")&&console.warn(...e)},error:(...e)=>{a("error")&&console.error(...e)}}},72080:(e,t,o)=>{"use strict";o.r(t),o.d(t,{patchFetch:()=>g,routeModule:()=>u,serverHooks:()=>h,workAsyncStorage:()=>c,workUnitAsyncStorage:()=>m});var r={};o.r(r),o.d(r,{POST:()=>d});var s=o(96559),a=o(48088),i=o(37719),n=o(32190),p=o(14092),l=o(66819);async function d(e){try{let{apiKey:t,provider:o}=await e.json();if(!o)return n.NextResponse.json({error:"Provider is required"},{status:400});let r=(0,p.sO)(o);if(r.apiKeyRequired&&!t)return n.NextResponse.json({models:[]});let s=[];try{switch(o){case"openrouter":let a=await fetch("https://openrouter.ai/api/v1/models",{headers:{Authorization:`Bearer ${t}`,"HTTP-Referer":e.headers.get("referer")||"http://localhost:3000","X-Title":"OSW-Studio"}});if(a.ok){let e=await a.json();s=e.data?.filter(e=>e.id.includes("deepseek")||e.id.includes("qwen")||e.id.includes("claude")||e.id.includes("gpt")||e.id.includes("llama"))?.map(e=>e.id)||[]}break;case"anthropic":let i=await fetch("https://api.anthropic.com/v1/models",{headers:{"x-api-key":t,"anthropic-version":"2023-06-01"}});if(i.ok){let e=await i.json();s=e.data?.map(e=>e.id)||[]}break;case"openai":let n=await fetch("https://api.openai.com/v1/models",{headers:{Authorization:`Bearer ${t}`}});if(n.ok){let e=await n.json();s=e.data?.map(e=>e.id)||[]}break;case"groq":let p=await fetch("https://api.groq.com/openai/v1/models",{headers:{Authorization:`Bearer ${t}`}});if(p.ok){let e=await p.json();s=e.data?.map(e=>e.id)||[]}break;case"ollama":try{let e=await fetch("http://localhost:11434/api/tags");if(e.ok){let t=await e.json();s=t.models?.map(e=>e.name)||[]}}catch(e){l.v.error("Ollama models fetch error:",e)}break;case"lmstudio":try{let e=await fetch(`${r.baseUrl}/models`);if(e.ok){let t=await e.json();s=t.data?.map(e=>e.id)||[]}}catch(e){l.v.error("LM Studio models fetch error:",e)}break;case"gemini":s=r.models?.map(e=>e.id)||[];break;default:if(r.baseUrl&&t){let e=await fetch(`${r.baseUrl}/models`,{headers:{Authorization:`Bearer ${t}`,"Content-Type":"application/json"}});if(e.ok){let t=await e.json();s=t.data?.map(e=>e.id)||[]}}}}catch(e){l.v.error(`Error fetching models for ${o}:`,e),r.models&&(s=r.models.map(e=>e.id))}return n.NextResponse.json({models:s})}catch(e){return l.v.error("Models API error:",e),n.NextResponse.json({models:[]})}}let u=new s.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/models/route",pathname:"/api/models",filename:"route",bundlePath:"app/api/models/route"},resolvedPagePath:"/Users/otto/Desktop/deepstudio/osw-studio-git/app/api/models/route.ts",nextConfigOutput:"standalone",userland:r}),{workAsyncStorage:c,workUnitAsyncStorage:m,serverHooks:h}=u;function g(){return(0,i.patchFetch)({workAsyncStorage:c,workUnitAsyncStorage:m})}},78335:()=>{},96487:()=>{}};var t=require("../../../webpack-runtime.js");t.C(e);var o=e=>t(t.s=e),r=t.X(0,[4447,580],()=>o(72080));module.exports=r})(); \ No newline at end of file diff --git a/.next/server/app/api/models/route.js.nft.json b/.next/server/app/api/models/route.js.nft.json index 95d0d3a58d6190d71058e27a832377d898eff58c..35b51ae9d0f39de4c28f8c6549c739b99d9765e7 100644 --- a/.next/server/app/api/models/route.js.nft.json +++ b/.next/server/app/api/models/route.js.nft.json @@ -1 +1 @@ -{"version":1,"files":["../../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js","../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot-instance.js","../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot.external.js","../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../node_modules/next/package.json","../../../../../package.json","../../../../package.json","../../../chunks/447.js","../../../chunks/580.js","../../../webpack-runtime.js","route_client-reference-manifest.js"]} \ No newline at end of file +{"version":1,"files":["../../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js","../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot-instance.js","../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot.external.js","../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../node_modules/next/package.json","../../../../../package.json","../../../../package.json","../../../chunks/4447.js","../../../chunks/580.js","../../../webpack-runtime.js","route_client-reference-manifest.js"]} \ No newline at end of file diff --git a/.next/server/app/api/models/route_client-reference-manifest.js b/.next/server/app/api/models/route_client-reference-manifest.js index b735806e9aa7570ca077b6868fcca13bbc999fa0..d577f2637e3c06b13f5a9513df8b224848a331cc 100644 --- a/.next/server/app/api/models/route_client-reference-manifest.js +++ b/.next/server/app/api/models/route_client-reference-manifest.js @@ -1 +1 @@ -globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/api/models/route"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"894":{"*":{"id":"6346","name":"*","chunks":[],"async":false}},"1295":{"*":{"id":"7173","name":"*","chunks":[],"async":false}},"1321":{"*":{"id":"9197","name":"*","chunks":[],"async":false}},"2715":{"*":{"id":"8287","name":"*","chunks":[],"async":false}},"4911":{"*":{"id":"8827","name":"*","chunks":[],"async":false}},"4970":{"*":{"id":"7924","name":"*","chunks":[],"async":false}},"5388":{"*":{"id":"3014","name":"*","chunks":[],"async":false}},"5851":{"*":{"id":"4593","name":"*","chunks":[],"async":false}},"6614":{"*":{"id":"5656","name":"*","chunks":[],"async":false}},"6910":{"*":{"id":"4628","name":"*","chunks":[],"async":false}},"6975":{"*":{"id":"99","name":"*","chunks":[],"async":false}},"7555":{"*":{"id":"8243","name":"*","chunks":[],"async":false}},"9665":{"*":{"id":"2763","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-page.js":{"id":894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-page.js":{"id":894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-segment.js":{"id":4970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-segment.js":{"id":4970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/error-boundary.js":{"id":6614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":6614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":6975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":6975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/layout-router.js":{"id":7555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/layout-router.js":{"id":7555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/async-metadata.js":{"id":4911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/async-metadata.js":{"id":4911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/metadata-boundary.js":{"id":9665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/metadata-boundary.js":{"id":9665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/render-from-template-context.js":{"id":1295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":1295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/tanstack-query-provider.tsx":{"id":5388,"name":"*","chunks":["671","static/chunks/671-f7ad2a6bc6db0f05.js","138","static/chunks/138-9f738090dc749a6c.js","177","static/chunks/app/layout-4145df182a98063f.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/theme-provider.tsx":{"id":1321,"name":"*","chunks":["671","static/chunks/671-f7ad2a6bc6db0f05.js","138","static/chunks/138-9f738090dc749a6c.js","177","static/chunks/app/layout-4145df182a98063f.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/ui/sonner.tsx":{"id":5851,"name":"*","chunks":["671","static/chunks/671-f7ad2a6bc6db0f05.js","138","static/chunks/138-9f738090dc749a6c.js","177","static/chunks/app/layout-4145df182a98063f.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"variable\":\"--font-inter-sans\",\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"}":{"id":9755,"name":"*","chunks":["671","static/chunks/671-f7ad2a6bc6db0f05.js","138","static/chunks/138-9f738090dc749a6c.js","177","static/chunks/app/layout-4145df182a98063f.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"PT_Sans\",\"arguments\":[{\"variable\":\"--font-ptSans-mono\",\"subsets\":[\"latin\"],\"weight\":[\"400\",\"700\"]}],\"variableName\":\"ptSans\"}":{"id":6382,"name":"*","chunks":["671","static/chunks/671-f7ad2a6bc6db0f05.js","138","static/chunks/138-9f738090dc749a6c.js","177","static/chunks/app/layout-4145df182a98063f.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/assets/globals.css":{"id":5410,"name":"*","chunks":["671","static/chunks/671-f7ad2a6bc6db0f05.js","138","static/chunks/138-9f738090dc749a6c.js","177","static/chunks/app/layout-4145df182a98063f.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page.tsx":{"id":2715,"name":"*","chunks":["948","static/chunks/06bf0ff1-f728958255a9b8b2.js","316","static/chunks/ad2866b8-eb5f2e8eab9b0b0c.js","671","static/chunks/671-f7ad2a6bc6db0f05.js","543","static/chunks/543-48a1c5f1f67a3b29.js","525","static/chunks/525-4e767ea62b4b7b1e.js","361","static/chunks/361-0bdc2b83974d9545.js","974","static/chunks/app/page-05cb2cd5b350e411.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/test-generation/page.tsx":{"id":6910,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/otto/Desktop/deepstudio/osw-studio-git/":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/layout":[{"inlined":false,"path":"static/css/fd087a0139b3b65e.css"}],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/api/models/route":[]},"rscModuleMapping":{"894":{"*":{"id":"6444","name":"*","chunks":[],"async":false}},"1295":{"*":{"id":"1307","name":"*","chunks":[],"async":false}},"1321":{"*":{"id":"9035","name":"*","chunks":[],"async":false}},"2715":{"*":{"id":"597","name":"*","chunks":[],"async":false}},"4911":{"*":{"id":"2089","name":"*","chunks":[],"async":false}},"4970":{"*":{"id":"6042","name":"*","chunks":[],"async":false}},"5388":{"*":{"id":"1900","name":"*","chunks":[],"async":false}},"5410":{"*":{"id":"4348","name":"*","chunks":[],"async":false}},"5851":{"*":{"id":"363","name":"*","chunks":[],"async":false}},"6614":{"*":{"id":"8170","name":"*","chunks":[],"async":false}},"6910":{"*":{"id":"5004","name":"*","chunks":[],"async":false}},"6975":{"*":{"id":"9477","name":"*","chunks":[],"async":false}},"7555":{"*":{"id":"9345","name":"*","chunks":[],"async":false}},"9665":{"*":{"id":"6577","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}} \ No newline at end of file +globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/api/models/route"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"3727":{"*":{"id":"12913","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"94593","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"69001","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"53014","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"35656","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"64628","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"97173","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"43555","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"40099","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"20435","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"62763","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"99197","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"28827","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"38243","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"86346","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"27924","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/tanstack-query-provider.tsx":{"id":25388,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/theme-provider.tsx":{"id":61321,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/ui/sonner.tsx":{"id":15851,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"variable\":\"--font-inter-sans\",\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"}":{"id":9755,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"PT_Sans\",\"arguments\":[{\"variable\":\"--font-ptSans-mono\",\"subsets\":[\"latin\"],\"weight\":[\"400\",\"700\"]}],\"variableName\":\"ptSans\"}":{"id":56382,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/assets/globals.css":{"id":85410,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/page-wrapper/index.tsx":{"id":19009,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/page.tsx":{"id":57161,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/test-generation/page.tsx":{"id":26910,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page.tsx":{"id":40796,"name":"*","chunks":["5948","static/chunks/06bf0ff1-2f6b5dbae626a171.js","4316","static/chunks/ad2866b8-a4659a388c5e0680.js","6671","static/chunks/6671-cfa51652ff77a475.js","189","static/chunks/189-4f09a71b91c59be3.js","5370","static/chunks/5370-dad62d5f4907e0f9.js","4750","static/chunks/4750-b402a0050286a424.js","5375","static/chunks/5375-a5738c494d0f24e9.js","8974","static/chunks/app/page-79207d5f775baf7d.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/login/page.tsx":{"id":3727,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/otto/Desktop/deepstudio/osw-studio-git/":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/layout":[{"inlined":false,"path":"static/css/e420bcf6619594d2.css"}],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/api/models/route":[]},"rscModuleMapping":{"3727":{"*":{"id":"9911","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"80363","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"36903","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"41900","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"88170","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"82623","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"31307","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"90597","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"49477","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"49441","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"46577","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"39035","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"12089","name":"*","chunks":[],"async":false}},"85410":{"*":{"id":"94348","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"29345","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"16444","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"16042","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}} \ No newline at end of file diff --git a/.next/server/app/api/projects/route.js b/.next/server/app/api/projects/route.js new file mode 100644 index 0000000000000000000000000000000000000000..5d939e559215cbfdb7d127aaf103e7251b46dd57 --- /dev/null +++ b/.next/server/app/api/projects/route.js @@ -0,0 +1 @@ +"use strict";(()=>{var e={};e.id=64,e.ids=[64],e.modules={3295:e=>{e.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},21820:e=>{e.exports=require("os")},27910:e=>{e.exports=require("stream")},29021:e=>{e.exports=require("fs")},29294:e=>{e.exports=require("next/dist/server/app-render/work-async-storage.external.js")},34264:(e,r,t)=>{t.r(r),t.d(r,{patchFetch:()=>m,routeModule:()=>l,serverHooks:()=>f,workAsyncStorage:()=>x,workUnitAsyncStorage:()=>w});var o={};t.r(o),t.d(o,{GET:()=>d});var n=t(96559),s=t(48088),a=t(37719),i=t(32190),u=t(50613),p=t(9022),c=t(66819);async function d(e){try{await (0,u.oC)();let r=await (0,p.B)();await r.init();let{searchParams:t}=new URL(e.url),o=t.get("fields"),n=o?o.split(",").map(e=>e.trim()):void 0,s=await r.listProjects(n);return await r.close?.(),i.NextResponse.json(s)}catch(e){if(c.v.error("[API /api/projects] ❌ Error:",e),e instanceof Error&&"Unauthorized"===e.message)return i.NextResponse.json({error:"Unauthorized"},{status:401});return i.NextResponse.json({error:e instanceof Error?e.message:"Failed to fetch projects"},{status:500})}}let l=new n.AppRouteRouteModule({definition:{kind:s.RouteKind.APP_ROUTE,page:"/api/projects/route",pathname:"/api/projects",filename:"route",bundlePath:"app/api/projects/route"},resolvedPagePath:"/Users/otto/Desktop/deepstudio/osw-studio-git/app/api/projects/route.ts",nextConfigOutput:"standalone",userland:o}),{workAsyncStorage:x,workUnitAsyncStorage:w,serverHooks:f}=l;function m(){return(0,a.patchFetch)({workAsyncStorage:x,workUnitAsyncStorage:w})}},34631:e=>{e.exports=require("tls")},44870:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},50613:(e,r,t)=>{t.d(r,{$G:()=>d,C0:()=>l,Ht:()=>c,jw:()=>u,oC:()=>x});var o=t(87806),n=t(77412),s=t(44999);let a="osw_session";function i(){let e=process.env.SESSION_SECRET;if(!e)throw Error("SESSION_SECRET environment variable not set");return new TextEncoder().encode(e)}async function u(e,r,t=!0){let n=i(),s=Math.floor((Date.now()+864e5)/1e3);return await new o.P({userId:e,email:r,isAdmin:t}).setProtectedHeader({alg:"HS256"}).setExpirationTime(s).setIssuedAt().sign(n)}async function p(e){try{let r=i(),{payload:t}=await (0,n.V)(e,r);return{userId:t.userId,email:t.email,isAdmin:t.isAdmin,exp:t.exp}}catch(e){return null}}async function c(){let e=await (0,s.UL)(),r=e.get(a)?.value;return r?p(r):null}async function d(e){(await (0,s.UL)()).set(a,e,{httpOnly:!0,secure:!0,sameSite:"lax",maxAge:86400,path:"/"})}async function l(){(await (0,s.UL)()).delete(a)}async function x(){let e=await c();if(!e)throw Error("Unauthorized");return e}},55511:e=>{e.exports=require("crypto")},63033:e=>{e.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},66819:(e,r,t)=>{t.d(r,{v:()=>a});let o={debug:10,info:20,warn:30,error:40,silent:50},n="undefined"!=typeof process&&"warn"||"warn";function s(e){return o[n]<=o[e]}let a={debug:(...e)=>{s("debug")&&console.debug(...e)},info:(...e)=>{s("info")&&console.info(...e)},warn:(...e)=>{s("warn")&&console.warn(...e)},error:(...e)=>{s("error")&&console.error(...e)}}},74998:e=>{e.exports=require("perf_hooks")},91645:e=>{e.exports=require("net")}};var r=require("../../../webpack-runtime.js");r.C(e);var t=e=>r(r.s=e),o=r.X(0,[4447,580,3971,5155,8154],()=>t(34264));module.exports=o})(); \ No newline at end of file diff --git a/.next/server/app/api/projects/route.js.nft.json b/.next/server/app/api/projects/route.js.nft.json new file mode 100644 index 0000000000000000000000000000000000000000..e30ab2b3f9fa56d7a8024abd5f2cc4f7349b06a4 --- /dev/null +++ b/.next/server/app/api/projects/route.js.nft.json @@ -0,0 +1 @@ +{"version":1,"files":["../../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js","../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot-instance.js","../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot.external.js","../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../node_modules/next/package.json","../../../../../package.json","../../../../package.json","../../../chunks/3971.js","../../../chunks/4447.js","../../../chunks/5155.js","../../../chunks/580.js","../../../chunks/8154.js","../../../webpack-runtime.js","route_client-reference-manifest.js"]} \ No newline at end of file diff --git a/.next/server/app/api/projects/route_client-reference-manifest.js b/.next/server/app/api/projects/route_client-reference-manifest.js new file mode 100644 index 0000000000000000000000000000000000000000..57725592b5a325ee1513812bfdbad6f1dca1e3be --- /dev/null +++ b/.next/server/app/api/projects/route_client-reference-manifest.js @@ -0,0 +1 @@ +globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/api/projects/route"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"3727":{"*":{"id":"12913","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"94593","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"69001","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"53014","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"35656","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"64628","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"97173","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"43555","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"40099","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"20435","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"62763","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"99197","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"28827","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"38243","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"86346","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"27924","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/tanstack-query-provider.tsx":{"id":25388,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/theme-provider.tsx":{"id":61321,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/ui/sonner.tsx":{"id":15851,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"variable\":\"--font-inter-sans\",\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"}":{"id":9755,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"PT_Sans\",\"arguments\":[{\"variable\":\"--font-ptSans-mono\",\"subsets\":[\"latin\"],\"weight\":[\"400\",\"700\"]}],\"variableName\":\"ptSans\"}":{"id":56382,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/assets/globals.css":{"id":85410,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/page-wrapper/index.tsx":{"id":19009,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/page.tsx":{"id":57161,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/test-generation/page.tsx":{"id":26910,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page.tsx":{"id":40796,"name":"*","chunks":["5948","static/chunks/06bf0ff1-2f6b5dbae626a171.js","4316","static/chunks/ad2866b8-a4659a388c5e0680.js","6671","static/chunks/6671-cfa51652ff77a475.js","189","static/chunks/189-4f09a71b91c59be3.js","5370","static/chunks/5370-dad62d5f4907e0f9.js","4750","static/chunks/4750-b402a0050286a424.js","5375","static/chunks/5375-a5738c494d0f24e9.js","8974","static/chunks/app/page-79207d5f775baf7d.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/login/page.tsx":{"id":3727,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/otto/Desktop/deepstudio/osw-studio-git/":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/layout":[{"inlined":false,"path":"static/css/e420bcf6619594d2.css"}],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/api/projects/route":[]},"rscModuleMapping":{"3727":{"*":{"id":"9911","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"80363","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"36903","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"41900","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"88170","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"82623","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"31307","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"90597","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"49477","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"49441","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"46577","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"39035","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"12089","name":"*","chunks":[],"async":false}},"85410":{"*":{"id":"94348","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"29345","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"16444","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"16042","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}} \ No newline at end of file diff --git a/.next/server/app/api/sites/[id]/publish/route.js b/.next/server/app/api/sites/[id]/publish/route.js new file mode 100644 index 0000000000000000000000000000000000000000..290f0602d3c7ab1f7acabf2c20e0ea653b8bef19 --- /dev/null +++ b/.next/server/app/api/sites/[id]/publish/route.js @@ -0,0 +1 @@ +"use strict";(()=>{var e={};e.id=6024,e.ids=[6024],e.modules={3295:e=>{e.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},21820:e=>{e.exports=require("os")},27910:e=>{e.exports=require("stream")},29021:e=>{e.exports=require("fs")},29294:e=>{e.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:e=>{e.exports=require("path")},34631:e=>{e.exports=require("tls")},40458:(e,t,r)=>{r.r(t),r.d(t,{patchFetch:()=>w,routeModule:()=>l,serverHooks:()=>h,workAsyncStorage:()=>x,workUnitAsyncStorage:()=>c});var s={};r.r(s),r.d(s,{POST:()=>d});var i=r(96559),o=r(48088),a=r(37719),p=r(32190),u=r(1671),n=r(9022);async function d(e,{params:t}){try{let{id:e}=await t,r=await (0,u.YE)(e);if(!r.success)return p.NextResponse.json({error:r.error||"Failed to build site"},{status:500});let s=await (0,n.B)();await s.init();let i=await s.getSite?.(e);return i&&s.updateSite&&(i.lastPublishedVersion=i.settingsVersion,i.publishedAt=new Date,i.updatedAt=new Date,await s.updateSite(i)),await s.close?.(),p.NextResponse.json({success:!0,siteId:r.siteId,projectId:r.projectId,filesWritten:r.filesWritten,outputPath:r.outputPath})}catch(e){return console.error("[Sites API] Error publishing site:",e),p.NextResponse.json({error:"Failed to publish site"},{status:500})}}let l=new i.AppRouteRouteModule({definition:{kind:o.RouteKind.APP_ROUTE,page:"/api/sites/[id]/publish/route",pathname:"/api/sites/[id]/publish",filename:"route",bundlePath:"app/api/sites/[id]/publish/route"},resolvedPagePath:"/Users/otto/Desktop/deepstudio/osw-studio-git/app/api/sites/[id]/publish/route.ts",nextConfigOutput:"standalone",userland:s}),{workAsyncStorage:x,workUnitAsyncStorage:c,serverHooks:h}=l;function w(){return(0,a.patchFetch)({workAsyncStorage:x,workUnitAsyncStorage:c})}},44870:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},55511:e=>{e.exports=require("crypto")},63033:e=>{e.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},74998:e=>{e.exports=require("perf_hooks")},91645:e=>{e.exports=require("net")}};var t=require("../../../../../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),s=t.X(0,[4447,580,3971,2436,8154,1671],()=>r(40458));module.exports=s})(); \ No newline at end of file diff --git a/.next/server/app/api/sites/[id]/publish/route.js.nft.json b/.next/server/app/api/sites/[id]/publish/route.js.nft.json new file mode 100644 index 0000000000000000000000000000000000000000..19d29b707b706c59b400fcc5a0b8e3d4d3e9b0a4 --- /dev/null +++ b/.next/server/app/api/sites/[id]/publish/route.js.nft.json @@ -0,0 +1 @@ +{"version":1,"files":["../../../../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../../../node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js","../../../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot-instance.js","../../../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot.external.js","../../../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../../../node_modules/next/package.json","../../../../../../../package.json","../../../../../../../public/sites/039b8554-0a87-42f7-a969-570c3fa99cb5/aukioloajat.html","../../../../../../../public/sites/039b8554-0a87-42f7-a969-570c3fa99cb5/hinnat.html","../../../../../../../public/sites/039b8554-0a87-42f7-a969-570c3fa99cb5/index.html","../../../../../../../public/sites/039b8554-0a87-42f7-a969-570c3fa99cb5/palvelut.html","../../../../../../../public/sites/039b8554-0a87-42f7-a969-570c3fa99cb5/robots.txt","../../../../../../../public/sites/039b8554-0a87-42f7-a969-570c3fa99cb5/scripts/main.js","../../../../../../../public/sites/039b8554-0a87-42f7-a969-570c3fa99cb5/sitemap.xml","../../../../../../../public/sites/039b8554-0a87-42f7-a969-570c3fa99cb5/styles/style.css","../../../../../../../public/sites/039b8554-0a87-42f7-a969-570c3fa99cb5/yhteystiedot.html","../../../../../../../public/sites/18efcdfd-9309-45d1-bf13-82a968da7216/about.html","../../../../../../../public/sites/18efcdfd-9309-45d1-bf13-82a968da7216/index.html","../../../../../../../public/sites/18efcdfd-9309-45d1-bf13-82a968da7216/plan.md","../../../../../../../public/sites/18efcdfd-9309-45d1-bf13-82a968da7216/players.html","../../../../../../../public/sites/18efcdfd-9309-45d1-bf13-82a968da7216/robots.txt","../../../../../../../public/sites/18efcdfd-9309-45d1-bf13-82a968da7216/schedule.html","../../../../../../../public/sites/18efcdfd-9309-45d1-bf13-82a968da7216/scripts/main.js","../../../../../../../public/sites/18efcdfd-9309-45d1-bf13-82a968da7216/sitemap.xml","../../../../../../../public/sites/18efcdfd-9309-45d1-bf13-82a968da7216/styles/style.css","../../../../../../../public/sites/18efcdfd-9309-45d1-bf13-82a968da7216/testing.txt","../../../../../../../public/sites/20af6c75-4c1b-4c53-94bc-fa2ff7e445fa/benefits.html","../../../../../../../public/sites/20af6c75-4c1b-4c53-94bc-fa2ff7e445fa/equipment.html","../../../../../../../public/sites/20af6c75-4c1b-4c53-94bc-fa2ff7e445fa/getting-started.html","../../../../../../../public/sites/20af6c75-4c1b-4c53-94bc-fa2ff7e445fa/index.html","../../../../../../../public/sites/20af6c75-4c1b-4c53-94bc-fa2ff7e445fa/scripts/main.js","../../../../../../../public/sites/20af6c75-4c1b-4c53-94bc-fa2ff7e445fa/styles/style.css","../../../../../../../public/sites/20af6c75-4c1b-4c53-94bc-fa2ff7e445fa/training.html","../../../../../../../public/sites/22950e26-4edf-45c9-8719-b212f697a8b1/index.html","../../../../../../../public/sites/22950e26-4edf-45c9-8719-b212f697a8b1/robots.txt","../../../../../../../public/sites/22950e26-4edf-45c9-8719-b212f697a8b1/scripts/main.js","../../../../../../../public/sites/22950e26-4edf-45c9-8719-b212f697a8b1/sitemap.xml","../../../../../../../public/sites/22950e26-4edf-45c9-8719-b212f697a8b1/styles/style.css","../../../../../../../public/sites/505b4e67-9ba5-4396-9a76-9368a6848874/contact.html","../../../../../../../public/sites/505b4e67-9ba5-4396-9a76-9368a6848874/index.html","../../../../../../../public/sites/505b4e67-9ba5-4396-9a76-9368a6848874/scripts/main.js","../../../../../../../public/sites/505b4e67-9ba5-4396-9a76-9368a6848874/services.html","../../../../../../../public/sites/505b4e67-9ba5-4396-9a76-9368a6848874/styles/style.css","../../../../../../../public/sites/69d3cb0a-3cd3-4d41-981c-3d4ba5c978cc/contact.html","../../../../../../../public/sites/69d3cb0a-3cd3-4d41-981c-3d4ba5c978cc/data/services.json","../../../../../../../public/sites/69d3cb0a-3cd3-4d41-981c-3d4ba5c978cc/data/testimonials.json","../../../../../../../public/sites/69d3cb0a-3cd3-4d41-981c-3d4ba5c978cc/index.html","../../../../../../../public/sites/69d3cb0a-3cd3-4d41-981c-3d4ba5c978cc/public/css/styles.css","../../../../../../../public/sites/69d3cb0a-3cd3-4d41-981c-3d4ba5c978cc/public/js/main.js","../../../../../../../public/sites/69d3cb0a-3cd3-4d41-981c-3d4ba5c978cc/robots.txt","../../../../../../../public/sites/69d3cb0a-3cd3-4d41-981c-3d4ba5c978cc/services.html","../../../../../../../public/sites/69d3cb0a-3cd3-4d41-981c-3d4ba5c978cc/sitemap.xml","../../../../../../../public/sites/9e5a46cf-1efd-4377-9da5-1e2eb63b8ca4/benefits.html","../../../../../../../public/sites/9e5a46cf-1efd-4377-9da5-1e2eb63b8ca4/equipment.html","../../../../../../../public/sites/9e5a46cf-1efd-4377-9da5-1e2eb63b8ca4/getting-started.html","../../../../../../../public/sites/9e5a46cf-1efd-4377-9da5-1e2eb63b8ca4/index.html","../../../../../../../public/sites/9e5a46cf-1efd-4377-9da5-1e2eb63b8ca4/robots.txt","../../../../../../../public/sites/9e5a46cf-1efd-4377-9da5-1e2eb63b8ca4/scripts/main.js","../../../../../../../public/sites/9e5a46cf-1efd-4377-9da5-1e2eb63b8ca4/sitemap.xml","../../../../../../../public/sites/9e5a46cf-1efd-4377-9da5-1e2eb63b8ca4/styles/style.css","../../../../../../../public/sites/9e5a46cf-1efd-4377-9da5-1e2eb63b8ca4/training.html","../../../../../../../public/sites/a57c81e5-0175-49b9-b333-d0a4d1094271/index.html","../../../../../../../public/sites/a57c81e5-0175-49b9-b333-d0a4d1094271/plan.md","../../../../../../../public/sites/a57c81e5-0175-49b9-b333-d0a4d1094271/robots.txt","../../../../../../../public/sites/a57c81e5-0175-49b9-b333-d0a4d1094271/scripts/main.js","../../../../../../../public/sites/a57c81e5-0175-49b9-b333-d0a4d1094271/sitemap.xml","../../../../../../../public/sites/a57c81e5-0175-49b9-b333-d0a4d1094271/styles/style.css","../../../../../../../public/sites/af3ba693-4c5a-4564-9c93-0c9b9f3d74f1/index.html","../../../../../../../public/sites/af3ba693-4c5a-4564-9c93-0c9b9f3d74f1/plan.md","../../../../../../../public/sites/af3ba693-4c5a-4564-9c93-0c9b9f3d74f1/robots.txt","../../../../../../../public/sites/af3ba693-4c5a-4564-9c93-0c9b9f3d74f1/scripts/animations.js","../../../../../../../public/sites/af3ba693-4c5a-4564-9c93-0c9b9f3d74f1/scripts/main.js","../../../../../../../public/sites/af3ba693-4c5a-4564-9c93-0c9b9f3d74f1/sitemap.xml","../../../../../../../public/sites/af3ba693-4c5a-4564-9c93-0c9b9f3d74f1/styles/style.css","../../../../../../../public/sites/be28436b-5a58-4c1b-a1da-ec28036b41e3/index.html","../../../../../../../public/sites/ea724ee7-fc57-4bde-a505-e083d72d52b2/index.html","../../../../../../../public/sites/ea724ee7-fc57-4bde-a505-e083d72d52b2/robots.txt","../../../../../../../public/sites/ea724ee7-fc57-4bde-a505-e083d72d52b2/scripts/main.js","../../../../../../../public/sites/ea724ee7-fc57-4bde-a505-e083d72d52b2/sitemap.xml","../../../../../../../public/sites/ea724ee7-fc57-4bde-a505-e083d72d52b2/styles/style.css","../../../../../../package.json","../../../../../chunks/1671.js","../../../../../chunks/2436.js","../../../../../chunks/3971.js","../../../../../chunks/4447.js","../../../../../chunks/580.js","../../../../../chunks/8154.js","../../../../../webpack-runtime.js","route_client-reference-manifest.js"]} \ No newline at end of file diff --git a/.next/server/app/api/sites/[id]/publish/route_client-reference-manifest.js b/.next/server/app/api/sites/[id]/publish/route_client-reference-manifest.js new file mode 100644 index 0000000000000000000000000000000000000000..131b3a8db6ddc8b46b33c6f3799a001867f1b0e7 --- /dev/null +++ b/.next/server/app/api/sites/[id]/publish/route_client-reference-manifest.js @@ -0,0 +1 @@ +globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/api/sites/[id]/publish/route"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"3727":{"*":{"id":"12913","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"94593","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"69001","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"53014","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"35656","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"64628","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"97173","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"43555","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"40099","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"20435","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"62763","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"99197","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"28827","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"38243","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"86346","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"27924","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/tanstack-query-provider.tsx":{"id":25388,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/theme-provider.tsx":{"id":61321,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/ui/sonner.tsx":{"id":15851,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"variable\":\"--font-inter-sans\",\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"}":{"id":9755,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"PT_Sans\",\"arguments\":[{\"variable\":\"--font-ptSans-mono\",\"subsets\":[\"latin\"],\"weight\":[\"400\",\"700\"]}],\"variableName\":\"ptSans\"}":{"id":56382,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/assets/globals.css":{"id":85410,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/page-wrapper/index.tsx":{"id":19009,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/page.tsx":{"id":57161,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/test-generation/page.tsx":{"id":26910,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page.tsx":{"id":40796,"name":"*","chunks":["5948","static/chunks/06bf0ff1-2f6b5dbae626a171.js","4316","static/chunks/ad2866b8-a4659a388c5e0680.js","6671","static/chunks/6671-cfa51652ff77a475.js","189","static/chunks/189-4f09a71b91c59be3.js","5370","static/chunks/5370-dad62d5f4907e0f9.js","4750","static/chunks/4750-b402a0050286a424.js","5375","static/chunks/5375-a5738c494d0f24e9.js","8974","static/chunks/app/page-79207d5f775baf7d.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/login/page.tsx":{"id":3727,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/otto/Desktop/deepstudio/osw-studio-git/":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/layout":[{"inlined":false,"path":"static/css/e420bcf6619594d2.css"}],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/api/sites/route":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/api/sites/[id]/route":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/api/sites/[id]/publish/route":[]},"rscModuleMapping":{"3727":{"*":{"id":"9911","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"80363","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"36903","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"41900","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"88170","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"82623","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"31307","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"90597","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"49477","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"49441","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"46577","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"39035","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"12089","name":"*","chunks":[],"async":false}},"85410":{"*":{"id":"94348","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"29345","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"16444","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"16042","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}} \ No newline at end of file diff --git a/.next/server/app/api/sites/[id]/route.js b/.next/server/app/api/sites/[id]/route.js new file mode 100644 index 0000000000000000000000000000000000000000..e8465c29257e2ddad4accf997cb280b71e585b1e --- /dev/null +++ b/.next/server/app/api/sites/[id]/route.js @@ -0,0 +1 @@ +"use strict";(()=>{var e={};e.id=2684,e.ids=[2684],e.modules={3295:e=>{e.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},21820:e=>{e.exports=require("os")},27910:e=>{e.exports=require("stream")},29021:e=>{e.exports=require("fs")},29294:e=>{e.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:e=>{e.exports=require("path")},34631:e=>{e.exports=require("tls")},44870:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},55511:e=>{e.exports=require("crypto")},59115:(e,t,r)=>{r.r(t),r.d(t,{patchFetch:()=>j,routeModule:()=>x,serverHooks:()=>f,workAsyncStorage:()=>w,workUnitAsyncStorage:()=>g});var s={};r.r(s),r.d(s,{DELETE:()=>c,GET:()=>d,PUT:()=>l});var o=r(96559),i=r(48088),a=r(37719),n=r(32190),u=r(9022),p=r(1671);async function d(e,{params:t}){try{let{id:e}=await t,r=await (0,u.B)();await r.init();let s=await r.getSite?.(e);if(await r.close?.(),!s)return n.NextResponse.json({error:"Site not found"},{status:404});return n.NextResponse.json(s)}catch(e){return console.error("[Sites API] Error getting site:",e),n.NextResponse.json({error:"Failed to get site"},{status:500})}}async function l(e,{params:t}){try{let{id:r}=await t,s=await e.json(),o=await (0,u.B)();await o.init();let i=await o.getSite?.(r);if(!i)return await o.close?.(),n.NextResponse.json({error:"Site not found"},{status:404});let a={...i,...s,id:r,updatedAt:new Date};return o.updateSite&&await o.updateSite(a),await o.close?.(),n.NextResponse.json(a)}catch(e){return console.error("[Sites API] Error updating site:",e),n.NextResponse.json({error:"Failed to update site"},{status:500})}}async function c(e,{params:t}){try{let{id:e}=await t,r=await (0,u.B)();if(await r.init(),!await r.getSite?.(e))return await r.close?.(),n.NextResponse.json({error:"Site not found"},{status:404});return r.deleteSite&&await r.deleteSite(e),await r.close?.(),await (0,p.lN)(e),n.NextResponse.json({success:!0})}catch(e){return console.error("[Sites API] Error deleting site:",e),n.NextResponse.json({error:"Failed to delete site"},{status:500})}}let x=new o.AppRouteRouteModule({definition:{kind:i.RouteKind.APP_ROUTE,page:"/api/sites/[id]/route",pathname:"/api/sites/[id]",filename:"route",bundlePath:"app/api/sites/[id]/route"},resolvedPagePath:"/Users/otto/Desktop/deepstudio/osw-studio-git/app/api/sites/[id]/route.ts",nextConfigOutput:"standalone",userland:s}),{workAsyncStorage:w,workUnitAsyncStorage:g,serverHooks:f}=x;function j(){return(0,a.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:g})}},63033:e=>{e.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},74998:e=>{e.exports=require("perf_hooks")},91645:e=>{e.exports=require("net")}};var t=require("../../../../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),s=t.X(0,[4447,580,3971,2436,8154,1671],()=>r(59115));module.exports=s})(); \ No newline at end of file diff --git a/.next/server/app/api/sites/[id]/route.js.nft.json b/.next/server/app/api/sites/[id]/route.js.nft.json new file mode 100644 index 0000000000000000000000000000000000000000..45b9f75228fd36b344ae09e4481e27c60db0e1b0 --- /dev/null +++ b/.next/server/app/api/sites/[id]/route.js.nft.json @@ -0,0 +1 @@ +{"version":1,"files":["../../../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../../node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js","../../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot-instance.js","../../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot.external.js","../../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../../node_modules/next/package.json","../../../../../../package.json","../../../../../../public/sites/039b8554-0a87-42f7-a969-570c3fa99cb5/aukioloajat.html","../../../../../../public/sites/039b8554-0a87-42f7-a969-570c3fa99cb5/hinnat.html","../../../../../../public/sites/039b8554-0a87-42f7-a969-570c3fa99cb5/index.html","../../../../../../public/sites/039b8554-0a87-42f7-a969-570c3fa99cb5/palvelut.html","../../../../../../public/sites/039b8554-0a87-42f7-a969-570c3fa99cb5/robots.txt","../../../../../../public/sites/039b8554-0a87-42f7-a969-570c3fa99cb5/scripts/main.js","../../../../../../public/sites/039b8554-0a87-42f7-a969-570c3fa99cb5/sitemap.xml","../../../../../../public/sites/039b8554-0a87-42f7-a969-570c3fa99cb5/styles/style.css","../../../../../../public/sites/039b8554-0a87-42f7-a969-570c3fa99cb5/yhteystiedot.html","../../../../../../public/sites/18efcdfd-9309-45d1-bf13-82a968da7216/about.html","../../../../../../public/sites/18efcdfd-9309-45d1-bf13-82a968da7216/index.html","../../../../../../public/sites/18efcdfd-9309-45d1-bf13-82a968da7216/plan.md","../../../../../../public/sites/18efcdfd-9309-45d1-bf13-82a968da7216/players.html","../../../../../../public/sites/18efcdfd-9309-45d1-bf13-82a968da7216/robots.txt","../../../../../../public/sites/18efcdfd-9309-45d1-bf13-82a968da7216/schedule.html","../../../../../../public/sites/18efcdfd-9309-45d1-bf13-82a968da7216/scripts/main.js","../../../../../../public/sites/18efcdfd-9309-45d1-bf13-82a968da7216/sitemap.xml","../../../../../../public/sites/18efcdfd-9309-45d1-bf13-82a968da7216/styles/style.css","../../../../../../public/sites/18efcdfd-9309-45d1-bf13-82a968da7216/testing.txt","../../../../../../public/sites/20af6c75-4c1b-4c53-94bc-fa2ff7e445fa/benefits.html","../../../../../../public/sites/20af6c75-4c1b-4c53-94bc-fa2ff7e445fa/equipment.html","../../../../../../public/sites/20af6c75-4c1b-4c53-94bc-fa2ff7e445fa/getting-started.html","../../../../../../public/sites/20af6c75-4c1b-4c53-94bc-fa2ff7e445fa/index.html","../../../../../../public/sites/20af6c75-4c1b-4c53-94bc-fa2ff7e445fa/scripts/main.js","../../../../../../public/sites/20af6c75-4c1b-4c53-94bc-fa2ff7e445fa/styles/style.css","../../../../../../public/sites/20af6c75-4c1b-4c53-94bc-fa2ff7e445fa/training.html","../../../../../../public/sites/22950e26-4edf-45c9-8719-b212f697a8b1/index.html","../../../../../../public/sites/22950e26-4edf-45c9-8719-b212f697a8b1/robots.txt","../../../../../../public/sites/22950e26-4edf-45c9-8719-b212f697a8b1/scripts/main.js","../../../../../../public/sites/22950e26-4edf-45c9-8719-b212f697a8b1/sitemap.xml","../../../../../../public/sites/22950e26-4edf-45c9-8719-b212f697a8b1/styles/style.css","../../../../../../public/sites/505b4e67-9ba5-4396-9a76-9368a6848874/contact.html","../../../../../../public/sites/505b4e67-9ba5-4396-9a76-9368a6848874/index.html","../../../../../../public/sites/505b4e67-9ba5-4396-9a76-9368a6848874/scripts/main.js","../../../../../../public/sites/505b4e67-9ba5-4396-9a76-9368a6848874/services.html","../../../../../../public/sites/505b4e67-9ba5-4396-9a76-9368a6848874/styles/style.css","../../../../../../public/sites/69d3cb0a-3cd3-4d41-981c-3d4ba5c978cc/contact.html","../../../../../../public/sites/69d3cb0a-3cd3-4d41-981c-3d4ba5c978cc/data/services.json","../../../../../../public/sites/69d3cb0a-3cd3-4d41-981c-3d4ba5c978cc/data/testimonials.json","../../../../../../public/sites/69d3cb0a-3cd3-4d41-981c-3d4ba5c978cc/index.html","../../../../../../public/sites/69d3cb0a-3cd3-4d41-981c-3d4ba5c978cc/public/css/styles.css","../../../../../../public/sites/69d3cb0a-3cd3-4d41-981c-3d4ba5c978cc/public/js/main.js","../../../../../../public/sites/69d3cb0a-3cd3-4d41-981c-3d4ba5c978cc/robots.txt","../../../../../../public/sites/69d3cb0a-3cd3-4d41-981c-3d4ba5c978cc/services.html","../../../../../../public/sites/69d3cb0a-3cd3-4d41-981c-3d4ba5c978cc/sitemap.xml","../../../../../../public/sites/9e5a46cf-1efd-4377-9da5-1e2eb63b8ca4/benefits.html","../../../../../../public/sites/9e5a46cf-1efd-4377-9da5-1e2eb63b8ca4/equipment.html","../../../../../../public/sites/9e5a46cf-1efd-4377-9da5-1e2eb63b8ca4/getting-started.html","../../../../../../public/sites/9e5a46cf-1efd-4377-9da5-1e2eb63b8ca4/index.html","../../../../../../public/sites/9e5a46cf-1efd-4377-9da5-1e2eb63b8ca4/robots.txt","../../../../../../public/sites/9e5a46cf-1efd-4377-9da5-1e2eb63b8ca4/scripts/main.js","../../../../../../public/sites/9e5a46cf-1efd-4377-9da5-1e2eb63b8ca4/sitemap.xml","../../../../../../public/sites/9e5a46cf-1efd-4377-9da5-1e2eb63b8ca4/styles/style.css","../../../../../../public/sites/9e5a46cf-1efd-4377-9da5-1e2eb63b8ca4/training.html","../../../../../../public/sites/a57c81e5-0175-49b9-b333-d0a4d1094271/index.html","../../../../../../public/sites/a57c81e5-0175-49b9-b333-d0a4d1094271/plan.md","../../../../../../public/sites/a57c81e5-0175-49b9-b333-d0a4d1094271/robots.txt","../../../../../../public/sites/a57c81e5-0175-49b9-b333-d0a4d1094271/scripts/main.js","../../../../../../public/sites/a57c81e5-0175-49b9-b333-d0a4d1094271/sitemap.xml","../../../../../../public/sites/a57c81e5-0175-49b9-b333-d0a4d1094271/styles/style.css","../../../../../../public/sites/af3ba693-4c5a-4564-9c93-0c9b9f3d74f1/index.html","../../../../../../public/sites/af3ba693-4c5a-4564-9c93-0c9b9f3d74f1/plan.md","../../../../../../public/sites/af3ba693-4c5a-4564-9c93-0c9b9f3d74f1/robots.txt","../../../../../../public/sites/af3ba693-4c5a-4564-9c93-0c9b9f3d74f1/scripts/animations.js","../../../../../../public/sites/af3ba693-4c5a-4564-9c93-0c9b9f3d74f1/scripts/main.js","../../../../../../public/sites/af3ba693-4c5a-4564-9c93-0c9b9f3d74f1/sitemap.xml","../../../../../../public/sites/af3ba693-4c5a-4564-9c93-0c9b9f3d74f1/styles/style.css","../../../../../../public/sites/be28436b-5a58-4c1b-a1da-ec28036b41e3/index.html","../../../../../../public/sites/ea724ee7-fc57-4bde-a505-e083d72d52b2/index.html","../../../../../../public/sites/ea724ee7-fc57-4bde-a505-e083d72d52b2/robots.txt","../../../../../../public/sites/ea724ee7-fc57-4bde-a505-e083d72d52b2/scripts/main.js","../../../../../../public/sites/ea724ee7-fc57-4bde-a505-e083d72d52b2/sitemap.xml","../../../../../../public/sites/ea724ee7-fc57-4bde-a505-e083d72d52b2/styles/style.css","../../../../../package.json","../../../../chunks/1671.js","../../../../chunks/2436.js","../../../../chunks/3971.js","../../../../chunks/4447.js","../../../../chunks/580.js","../../../../chunks/8154.js","../../../../webpack-runtime.js","route_client-reference-manifest.js"]} \ No newline at end of file diff --git a/.next/server/app/api/sites/[id]/route_client-reference-manifest.js b/.next/server/app/api/sites/[id]/route_client-reference-manifest.js new file mode 100644 index 0000000000000000000000000000000000000000..ae432df5440250c846cf9da9915bc1844c2daa3e --- /dev/null +++ b/.next/server/app/api/sites/[id]/route_client-reference-manifest.js @@ -0,0 +1 @@ +globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/api/sites/[id]/route"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"3727":{"*":{"id":"12913","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"94593","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"69001","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"53014","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"35656","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"64628","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"97173","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"43555","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"40099","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"20435","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"62763","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"99197","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"28827","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"38243","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"86346","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"27924","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/tanstack-query-provider.tsx":{"id":25388,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/theme-provider.tsx":{"id":61321,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/ui/sonner.tsx":{"id":15851,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"variable\":\"--font-inter-sans\",\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"}":{"id":9755,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"PT_Sans\",\"arguments\":[{\"variable\":\"--font-ptSans-mono\",\"subsets\":[\"latin\"],\"weight\":[\"400\",\"700\"]}],\"variableName\":\"ptSans\"}":{"id":56382,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/assets/globals.css":{"id":85410,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/page-wrapper/index.tsx":{"id":19009,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/page.tsx":{"id":57161,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/test-generation/page.tsx":{"id":26910,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page.tsx":{"id":40796,"name":"*","chunks":["5948","static/chunks/06bf0ff1-2f6b5dbae626a171.js","4316","static/chunks/ad2866b8-a4659a388c5e0680.js","6671","static/chunks/6671-cfa51652ff77a475.js","189","static/chunks/189-4f09a71b91c59be3.js","5370","static/chunks/5370-dad62d5f4907e0f9.js","4750","static/chunks/4750-b402a0050286a424.js","5375","static/chunks/5375-a5738c494d0f24e9.js","8974","static/chunks/app/page-79207d5f775baf7d.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/login/page.tsx":{"id":3727,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/otto/Desktop/deepstudio/osw-studio-git/":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/layout":[{"inlined":false,"path":"static/css/e420bcf6619594d2.css"}],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/api/sites/route":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/api/sites/[id]/route":[]},"rscModuleMapping":{"3727":{"*":{"id":"9911","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"80363","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"36903","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"41900","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"88170","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"82623","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"31307","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"90597","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"49477","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"49441","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"46577","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"39035","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"12089","name":"*","chunks":[],"async":false}},"85410":{"*":{"id":"94348","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"29345","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"16444","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"16042","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}} \ No newline at end of file diff --git a/.next/server/app/api/sites/[id]/settings/route.js b/.next/server/app/api/sites/[id]/settings/route.js new file mode 100644 index 0000000000000000000000000000000000000000..a70e853b36a82abe0bfc43ae1228653c6925c085 --- /dev/null +++ b/.next/server/app/api/sites/[id]/settings/route.js @@ -0,0 +1 @@ +"use strict";(()=>{var e={};e.id=2260,e.ids=[2260],e.modules={3295:e=>{e.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},21820:e=>{e.exports=require("os")},27910:e=>{e.exports=require("stream")},29021:e=>{e.exports=require("fs")},29294:e=>{e.exports=require("next/dist/server/app-render/work-async-storage.external.js")},32961:(e,t,s)=>{s.r(t),s.d(t,{patchFetch:()=>x,routeModule:()=>p,serverHooks:()=>g,workAsyncStorage:()=>l,workUnitAsyncStorage:()=>m});var r={};s.r(r),s.d(r,{GET:()=>d,PUT:()=>u});var i=s(96559),n=s(48088),o=s(37719),a=s(32190),c=s(9022);async function d(e,{params:t}){try{let{id:e}=await t,s=await (0,c.B)();await s.init();let r=await s.getSite?.(e);if(await s.close?.(),!r)return a.NextResponse.json({error:"Site not found"},{status:404});let i={enabled:r.enabled,underConstruction:r.underConstruction,customDomain:r.customDomain,headScripts:r.headScripts,bodyScripts:r.bodyScripts,cdnLinks:r.cdnLinks,analytics:r.analytics,seo:r.seo,compliance:r.compliance,settingsVersion:r.settingsVersion,lastPublishedVersion:r.lastPublishedVersion};return a.NextResponse.json(i)}catch(e){return console.error("[Sites API] Error getting site settings:",e),a.NextResponse.json({error:"Failed to get site settings"},{status:500})}}async function u(e,{params:t}){try{let{id:s}=await t,r=await e.json(),i=await (0,c.B)();await i.init();let n=await i.getSite?.(s);if(!n)return await i.close?.(),a.NextResponse.json({error:"Site not found"},{status:404});let o={...n,enabled:r.enabled??n.enabled,underConstruction:r.underConstruction??n.underConstruction,customDomain:r.customDomain??n.customDomain,headScripts:r.headScripts??n.headScripts,bodyScripts:r.bodyScripts??n.bodyScripts,cdnLinks:r.cdnLinks??n.cdnLinks,analytics:r.analytics??n.analytics,seo:r.seo??n.seo,compliance:r.compliance??n.compliance,settingsVersion:n.settingsVersion+1,updatedAt:new Date};i.updateSite&&await i.updateSite(o),await i.close?.();let d={enabled:o.enabled,underConstruction:o.underConstruction,customDomain:o.customDomain,headScripts:o.headScripts,bodyScripts:o.bodyScripts,cdnLinks:o.cdnLinks,analytics:o.analytics,seo:o.seo,compliance:o.compliance,settingsVersion:o.settingsVersion,lastPublishedVersion:n.lastPublishedVersion};return a.NextResponse.json(d)}catch(e){return console.error("[Sites API] Error updating site settings:",e),a.NextResponse.json({error:"Failed to update site settings"},{status:500})}}let p=new i.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/sites/[id]/settings/route",pathname:"/api/sites/[id]/settings",filename:"route",bundlePath:"app/api/sites/[id]/settings/route"},resolvedPagePath:"/Users/otto/Desktop/deepstudio/osw-studio-git/app/api/sites/[id]/settings/route.ts",nextConfigOutput:"standalone",userland:r}),{workAsyncStorage:l,workUnitAsyncStorage:m,serverHooks:g}=p;function x(){return(0,o.patchFetch)({workAsyncStorage:l,workUnitAsyncStorage:m})}},34631:e=>{e.exports=require("tls")},44870:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},55511:e=>{e.exports=require("crypto")},63033:e=>{e.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},74998:e=>{e.exports=require("perf_hooks")},91645:e=>{e.exports=require("net")}};var t=require("../../../../../webpack-runtime.js");t.C(e);var s=e=>t(t.s=e),r=t.X(0,[4447,580,3971,8154],()=>s(32961));module.exports=r})(); \ No newline at end of file diff --git a/.next/server/app/api/sites/[id]/settings/route.js.nft.json b/.next/server/app/api/sites/[id]/settings/route.js.nft.json new file mode 100644 index 0000000000000000000000000000000000000000..aabb79e8c0f5550f8d438db5b7a38e370dc88853 --- /dev/null +++ b/.next/server/app/api/sites/[id]/settings/route.js.nft.json @@ -0,0 +1 @@ +{"version":1,"files":["../../../../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../../../node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js","../../../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot-instance.js","../../../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot.external.js","../../../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../../../node_modules/next/package.json","../../../../../../../package.json","../../../../../../package.json","../../../../../chunks/3971.js","../../../../../chunks/4447.js","../../../../../chunks/580.js","../../../../../chunks/8154.js","../../../../../webpack-runtime.js","route_client-reference-manifest.js"]} \ No newline at end of file diff --git a/.next/server/app/api/sites/[id]/settings/route_client-reference-manifest.js b/.next/server/app/api/sites/[id]/settings/route_client-reference-manifest.js new file mode 100644 index 0000000000000000000000000000000000000000..8b5335b6110721cf2409ab6a81615af7d207720c --- /dev/null +++ b/.next/server/app/api/sites/[id]/settings/route_client-reference-manifest.js @@ -0,0 +1 @@ +globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/api/sites/[id]/settings/route"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"3727":{"*":{"id":"12913","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"94593","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"69001","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"53014","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"35656","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"64628","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"97173","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"43555","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"40099","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"20435","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"62763","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"99197","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"28827","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"38243","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"86346","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"27924","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/tanstack-query-provider.tsx":{"id":25388,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/theme-provider.tsx":{"id":61321,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/ui/sonner.tsx":{"id":15851,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"variable\":\"--font-inter-sans\",\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"}":{"id":9755,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"PT_Sans\",\"arguments\":[{\"variable\":\"--font-ptSans-mono\",\"subsets\":[\"latin\"],\"weight\":[\"400\",\"700\"]}],\"variableName\":\"ptSans\"}":{"id":56382,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/assets/globals.css":{"id":85410,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/page-wrapper/index.tsx":{"id":19009,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/page.tsx":{"id":57161,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/test-generation/page.tsx":{"id":26910,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page.tsx":{"id":40796,"name":"*","chunks":["5948","static/chunks/06bf0ff1-2f6b5dbae626a171.js","4316","static/chunks/ad2866b8-a4659a388c5e0680.js","6671","static/chunks/6671-cfa51652ff77a475.js","189","static/chunks/189-4f09a71b91c59be3.js","5370","static/chunks/5370-dad62d5f4907e0f9.js","4750","static/chunks/4750-b402a0050286a424.js","5375","static/chunks/5375-a5738c494d0f24e9.js","8974","static/chunks/app/page-79207d5f775baf7d.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/login/page.tsx":{"id":3727,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/otto/Desktop/deepstudio/osw-studio-git/":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/layout":[{"inlined":false,"path":"static/css/e420bcf6619594d2.css"}],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/api/sites/route":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/api/sites/[id]/route":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/api/sites/[id]/settings/route":[]},"rscModuleMapping":{"3727":{"*":{"id":"9911","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"80363","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"36903","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"41900","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"88170","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"82623","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"31307","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"90597","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"49477","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"49441","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"46577","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"39035","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"12089","name":"*","chunks":[],"async":false}},"85410":{"*":{"id":"94348","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"29345","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"16444","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"16042","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}} \ No newline at end of file diff --git a/.next/server/app/api/sites/[id]/thumbnail/route.js b/.next/server/app/api/sites/[id]/thumbnail/route.js new file mode 100644 index 0000000000000000000000000000000000000000..98e57b756a9870cb8d42da721d6fbbf28e8a6c50 --- /dev/null +++ b/.next/server/app/api/sites/[id]/thumbnail/route.js @@ -0,0 +1 @@ +"use strict";(()=>{var e={};e.id=9221,e.ids=[9221],e.modules={3137:(e,t,r)=>{r.r(t),r.d(t,{patchFetch:()=>w,routeModule:()=>d,serverHooks:()=>c,workAsyncStorage:()=>l,workUnitAsyncStorage:()=>x});var s={};r.r(s),r.d(s,{PUT:()=>u});var a=r(96559),i=r(48088),o=r(37719),n=r(32190),p=r(9022);async function u(e,{params:t}){try{let{id:r}=await t,{previewImage:s}=await e.json();if(!s||"string"!=typeof s)return n.NextResponse.json({error:"previewImage (base64 data URL) is required"},{status:400});if(!s.startsWith("data:image/"))return n.NextResponse.json({error:"previewImage must be a base64 data URL (data:image/...)"},{status:400});let a=await (0,p.B)();await a.init();let i=await a.getSite?.(r);if(!i)return await a.close?.(),n.NextResponse.json({error:"Site not found"},{status:404});let o={...i,previewImage:s,previewUpdatedAt:new Date,updatedAt:new Date};return a.updateSite&&await a.updateSite(o),await a.close?.(),n.NextResponse.json({success:!0,previewImage:o.previewImage,previewUpdatedAt:o.previewUpdatedAt})}catch(e){return console.error("[Sites API] Error updating site thumbnail:",e),n.NextResponse.json({error:"Failed to update site thumbnail"},{status:500})}}let d=new a.AppRouteRouteModule({definition:{kind:i.RouteKind.APP_ROUTE,page:"/api/sites/[id]/thumbnail/route",pathname:"/api/sites/[id]/thumbnail",filename:"route",bundlePath:"app/api/sites/[id]/thumbnail/route"},resolvedPagePath:"/Users/otto/Desktop/deepstudio/osw-studio-git/app/api/sites/[id]/thumbnail/route.ts",nextConfigOutput:"standalone",userland:s}),{workAsyncStorage:l,workUnitAsyncStorage:x,serverHooks:c}=d;function w(){return(0,o.patchFetch)({workAsyncStorage:l,workUnitAsyncStorage:x})}},3295:e=>{e.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},21820:e=>{e.exports=require("os")},27910:e=>{e.exports=require("stream")},29021:e=>{e.exports=require("fs")},29294:e=>{e.exports=require("next/dist/server/app-render/work-async-storage.external.js")},34631:e=>{e.exports=require("tls")},44870:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},55511:e=>{e.exports=require("crypto")},63033:e=>{e.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},74998:e=>{e.exports=require("perf_hooks")},91645:e=>{e.exports=require("net")}};var t=require("../../../../../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),s=t.X(0,[4447,580,3971,8154],()=>r(3137));module.exports=s})(); \ No newline at end of file diff --git a/.next/server/app/api/sites/[id]/thumbnail/route.js.nft.json b/.next/server/app/api/sites/[id]/thumbnail/route.js.nft.json new file mode 100644 index 0000000000000000000000000000000000000000..aabb79e8c0f5550f8d438db5b7a38e370dc88853 --- /dev/null +++ b/.next/server/app/api/sites/[id]/thumbnail/route.js.nft.json @@ -0,0 +1 @@ +{"version":1,"files":["../../../../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../../../node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js","../../../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot-instance.js","../../../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot.external.js","../../../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../../../node_modules/next/package.json","../../../../../../../package.json","../../../../../../package.json","../../../../../chunks/3971.js","../../../../../chunks/4447.js","../../../../../chunks/580.js","../../../../../chunks/8154.js","../../../../../webpack-runtime.js","route_client-reference-manifest.js"]} \ No newline at end of file diff --git a/.next/server/app/api/sites/[id]/thumbnail/route_client-reference-manifest.js b/.next/server/app/api/sites/[id]/thumbnail/route_client-reference-manifest.js new file mode 100644 index 0000000000000000000000000000000000000000..1401d580e9fdb395638ff9f6dd94140b64af6440 --- /dev/null +++ b/.next/server/app/api/sites/[id]/thumbnail/route_client-reference-manifest.js @@ -0,0 +1 @@ +globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/api/sites/[id]/thumbnail/route"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"3727":{"*":{"id":"12913","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"94593","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"69001","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"53014","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"35656","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"64628","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"97173","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"43555","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"40099","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"20435","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"62763","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"99197","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"28827","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"38243","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"86346","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"27924","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/tanstack-query-provider.tsx":{"id":25388,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/theme-provider.tsx":{"id":61321,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/ui/sonner.tsx":{"id":15851,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"variable\":\"--font-inter-sans\",\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"}":{"id":9755,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"PT_Sans\",\"arguments\":[{\"variable\":\"--font-ptSans-mono\",\"subsets\":[\"latin\"],\"weight\":[\"400\",\"700\"]}],\"variableName\":\"ptSans\"}":{"id":56382,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/assets/globals.css":{"id":85410,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/page-wrapper/index.tsx":{"id":19009,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/page.tsx":{"id":57161,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/test-generation/page.tsx":{"id":26910,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page.tsx":{"id":40796,"name":"*","chunks":["5948","static/chunks/06bf0ff1-2f6b5dbae626a171.js","4316","static/chunks/ad2866b8-a4659a388c5e0680.js","6671","static/chunks/6671-cfa51652ff77a475.js","189","static/chunks/189-4f09a71b91c59be3.js","5370","static/chunks/5370-dad62d5f4907e0f9.js","4750","static/chunks/4750-b402a0050286a424.js","5375","static/chunks/5375-a5738c494d0f24e9.js","8974","static/chunks/app/page-79207d5f775baf7d.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/login/page.tsx":{"id":3727,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/otto/Desktop/deepstudio/osw-studio-git/":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/layout":[{"inlined":false,"path":"static/css/e420bcf6619594d2.css"}],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/api/sites/route":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/api/sites/[id]/route":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/api/sites/[id]/thumbnail/route":[]},"rscModuleMapping":{"3727":{"*":{"id":"9911","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"80363","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"36903","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"41900","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"88170","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"82623","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"31307","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"90597","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"49477","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"49441","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"46577","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"39035","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"12089","name":"*","chunks":[],"async":false}},"85410":{"*":{"id":"94348","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"29345","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"16444","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"16042","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}} \ No newline at end of file diff --git a/.next/server/app/api/sites/route.js b/.next/server/app/api/sites/route.js new file mode 100644 index 0000000000000000000000000000000000000000..9d71530efea2b134bd441d04634c6b65bd36024c --- /dev/null +++ b/.next/server/app/api/sites/route.js @@ -0,0 +1 @@ +"use strict";(()=>{var e={};e.id=3926,e.ids=[3926],e.modules={3295:e=>{e.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},21820:e=>{e.exports=require("os")},27910:e=>{e.exports=require("stream")},29021:e=>{e.exports=require("fs")},29294:e=>{e.exports=require("next/dist/server/app-render/work-async-storage.external.js")},34631:e=>{e.exports=require("tls")},44870:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},55511:e=>{e.exports=require("crypto")},56133:(e,t,r)=>{r.r(t),r.d(t,{patchFetch:()=>j,routeModule:()=>m,serverHooks:()=>b,workAsyncStorage:()=>h,workUnitAsyncStorage:()=>y});var s={};r.r(s),r.d(s,{GET:()=>w,POST:()=>f});var o=r(96559),n=r(48088),i=r(37719),a=r(32190),u=r(9022),p=r(55511);let d={randomUUID:p.randomUUID},c=new Uint8Array(256),l=c.length,x=[];for(let e=0;e<256;++e)x.push((e+256).toString(16).slice(1));let g=function(e,t,r){if(d.randomUUID&&!t&&!e)return d.randomUUID();let s=(e=e||{}).random??e.rng?.()??(l>c.length-16&&((0,p.randomFillSync)(c),l=0),c.slice(l,l+=16));if(s.length<16)throw Error("Random bytes length must be >= 16");if(s[6]=15&s[6]|64,s[8]=63&s[8]|128,t){if((r=r||0)<0||r+16>t.length)throw RangeError(`UUID byte range ${r}:${r+15} is out of buffer bounds`);for(let e=0;e<16;++e)t[r+e]=s[e];return t}return function(e,t=0){return(x[e[t+0]]+x[e[t+1]]+x[e[t+2]]+x[e[t+3]]+"-"+x[e[t+4]]+x[e[t+5]]+"-"+x[e[t+6]]+x[e[t+7]]+"-"+x[e[t+8]]+x[e[t+9]]+"-"+x[e[t+10]]+x[e[t+11]]+x[e[t+12]]+x[e[t+13]]+x[e[t+14]]+x[e[t+15]]).toLowerCase()}(s)};async function w(){try{let e=await (0,u.B)();await e.init();let t=await e.listSites?.()||[];return await e.close?.(),a.NextResponse.json(t)}catch(e){return console.error("[Sites API] ❌ Error listing sites:",e),a.NextResponse.json({error:"Failed to list sites"},{status:500})}}async function f(e){try{let{projectId:t,name:r,slug:s}=await e.json();if(!t||!r)return a.NextResponse.json({error:"projectId and name are required"},{status:400});let o=await (0,u.B)();if(await o.init(),!await o.getProject(t))return await o.close?.(),a.NextResponse.json({error:"Project not found"},{status:404});let n={id:g(),projectId:t,name:r,slug:s||void 0,enabled:!1,underConstruction:!1,headScripts:[],bodyScripts:[],cdnLinks:[],analytics:{enabled:!1,provider:"builtin",privacyMode:!0},seo:{},compliance:{enabled:!1,bannerPosition:"bottom",bannerStyle:"bar",message:"",acceptButtonText:"Accept",declineButtonText:"Decline",mode:"opt-in",blockAnalytics:!0},settingsVersion:1,createdAt:new Date,updatedAt:new Date};return o.createSite&&await o.createSite(n),await o.close?.(),a.NextResponse.json(n,{status:201})}catch(e){return console.error("[Sites API] Error creating site:",e),a.NextResponse.json({error:"Failed to create site"},{status:500})}}let m=new o.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/sites/route",pathname:"/api/sites",filename:"route",bundlePath:"app/api/sites/route"},resolvedPagePath:"/Users/otto/Desktop/deepstudio/osw-studio-git/app/api/sites/route.ts",nextConfigOutput:"standalone",userland:s}),{workAsyncStorage:h,workUnitAsyncStorage:y,serverHooks:b}=m;function j(){return(0,i.patchFetch)({workAsyncStorage:h,workUnitAsyncStorage:y})}},63033:e=>{e.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},74998:e=>{e.exports=require("perf_hooks")},91645:e=>{e.exports=require("net")}};var t=require("../../../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),s=t.X(0,[4447,580,3971,8154],()=>r(56133));module.exports=s})(); \ No newline at end of file diff --git a/.next/server/app/api/sites/route.js.nft.json b/.next/server/app/api/sites/route.js.nft.json new file mode 100644 index 0000000000000000000000000000000000000000..53a807eff4d4758829f0e3dbbc6a796347082fc0 --- /dev/null +++ b/.next/server/app/api/sites/route.js.nft.json @@ -0,0 +1 @@ +{"version":1,"files":["../../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js","../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot-instance.js","../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot.external.js","../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../node_modules/next/package.json","../../../../../package.json","../../../../package.json","../../../chunks/3971.js","../../../chunks/4447.js","../../../chunks/580.js","../../../chunks/8154.js","../../../webpack-runtime.js","route_client-reference-manifest.js"]} \ No newline at end of file diff --git a/.next/server/app/api/sites/route_client-reference-manifest.js b/.next/server/app/api/sites/route_client-reference-manifest.js new file mode 100644 index 0000000000000000000000000000000000000000..c83c0dcf13ad308e1ae6e77b2d20d3a80f19a62a --- /dev/null +++ b/.next/server/app/api/sites/route_client-reference-manifest.js @@ -0,0 +1 @@ +globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/api/sites/route"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"3727":{"*":{"id":"12913","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"94593","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"69001","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"53014","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"35656","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"64628","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"97173","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"43555","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"40099","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"20435","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"62763","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"99197","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"28827","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"38243","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"86346","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"27924","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/tanstack-query-provider.tsx":{"id":25388,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/theme-provider.tsx":{"id":61321,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/ui/sonner.tsx":{"id":15851,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"variable\":\"--font-inter-sans\",\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"}":{"id":9755,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"PT_Sans\",\"arguments\":[{\"variable\":\"--font-ptSans-mono\",\"subsets\":[\"latin\"],\"weight\":[\"400\",\"700\"]}],\"variableName\":\"ptSans\"}":{"id":56382,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/assets/globals.css":{"id":85410,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/page-wrapper/index.tsx":{"id":19009,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/page.tsx":{"id":57161,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/test-generation/page.tsx":{"id":26910,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page.tsx":{"id":40796,"name":"*","chunks":["5948","static/chunks/06bf0ff1-2f6b5dbae626a171.js","4316","static/chunks/ad2866b8-a4659a388c5e0680.js","6671","static/chunks/6671-cfa51652ff77a475.js","189","static/chunks/189-4f09a71b91c59be3.js","5370","static/chunks/5370-dad62d5f4907e0f9.js","4750","static/chunks/4750-b402a0050286a424.js","5375","static/chunks/5375-a5738c494d0f24e9.js","8974","static/chunks/app/page-79207d5f775baf7d.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/login/page.tsx":{"id":3727,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/otto/Desktop/deepstudio/osw-studio-git/":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/layout":[{"inlined":false,"path":"static/css/e420bcf6619594d2.css"}],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/api/sites/route":[]},"rscModuleMapping":{"3727":{"*":{"id":"9911","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"80363","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"36903","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"41900","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"88170","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"82623","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"31307","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"90597","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"49477","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"49441","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"46577","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"39035","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"12089","name":"*","chunks":[],"async":false}},"85410":{"*":{"id":"94348","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"29345","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"16444","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"16042","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}} \ No newline at end of file diff --git a/.next/server/app/api/sync/files/route.js b/.next/server/app/api/sync/files/route.js new file mode 100644 index 0000000000000000000000000000000000000000..dad354b7fe6a3126d72bfd9dac19c0d4bf893889 --- /dev/null +++ b/.next/server/app/api/sync/files/route.js @@ -0,0 +1 @@ +"use strict";(()=>{var e={};e.id=6543,e.ids=[6543],e.modules={3295:e=>{e.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},21820:e=>{e.exports=require("os")},27910:e=>{e.exports=require("stream")},29021:e=>{e.exports=require("fs")},29294:e=>{e.exports=require("next/dist/server/app-render/work-async-storage.external.js")},34631:e=>{e.exports=require("tls")},41314:(e,r,t)=>{t.r(r),t.d(r,{patchFetch:()=>g,routeModule:()=>f,serverHooks:()=>y,workAsyncStorage:()=>w,workUnitAsyncStorage:()=>x});var s={};t.r(s),t.d(s,{GET:()=>l,POST:()=>d});var n=t(96559),o=t(48088),a=t(37719),i=t(32190),u=t(9022),c=t(50613),p=t(66819);async function l(e){try{await (0,c.oC)();let{searchParams:r}=new URL(e.url),t=r.get("projectId");if(!t)return i.NextResponse.json({error:"projectId parameter required"},{status:400});let s=await (0,u.B)();await s.init();let n=await s.listFiles(t);return await s.close?.(),i.NextResponse.json({files:n})}catch(e){if(p.v.error("[API /api/sync/files GET] Error:",e),e instanceof Error&&"Unauthorized"===e.message)return i.NextResponse.json({error:"Unauthorized"},{status:401});return i.NextResponse.json({error:e instanceof Error?e.message:"Failed to fetch files"},{status:500})}}async function d(e){try{await (0,c.oC)();let{projectId:r,files:t}=await e.json();if(!r||!Array.isArray(t))return i.NextResponse.json({error:"Invalid request: projectId and files array required"},{status:400});let s=await (0,u.B)();for(let e of(await s.init(),await s.deleteProjectFiles(r),t))await s.createFile(e);return await s.close?.(),i.NextResponse.json({success:!0,count:t.length})}catch(e){if(p.v.error("[API /api/sync/files POST] Error:",e),e instanceof Error&&"Unauthorized"===e.message)return i.NextResponse.json({error:"Unauthorized"},{status:401});return i.NextResponse.json({error:e instanceof Error?e.message:"Failed to sync files"},{status:500})}}let f=new n.AppRouteRouteModule({definition:{kind:o.RouteKind.APP_ROUTE,page:"/api/sync/files/route",pathname:"/api/sync/files",filename:"route",bundlePath:"app/api/sync/files/route"},resolvedPagePath:"/Users/otto/Desktop/deepstudio/osw-studio-git/app/api/sync/files/route.ts",nextConfigOutput:"standalone",userland:s}),{workAsyncStorage:w,workUnitAsyncStorage:x,serverHooks:y}=f;function g(){return(0,a.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:x})}},44870:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},50613:(e,r,t)=>{t.d(r,{$G:()=>l,C0:()=>d,Ht:()=>p,jw:()=>u,oC:()=>f});var s=t(87806),n=t(77412),o=t(44999);let a="osw_session";function i(){let e=process.env.SESSION_SECRET;if(!e)throw Error("SESSION_SECRET environment variable not set");return new TextEncoder().encode(e)}async function u(e,r,t=!0){let n=i(),o=Math.floor((Date.now()+864e5)/1e3);return await new s.P({userId:e,email:r,isAdmin:t}).setProtectedHeader({alg:"HS256"}).setExpirationTime(o).setIssuedAt().sign(n)}async function c(e){try{let r=i(),{payload:t}=await (0,n.V)(e,r);return{userId:t.userId,email:t.email,isAdmin:t.isAdmin,exp:t.exp}}catch(e){return null}}async function p(){let e=await (0,o.UL)(),r=e.get(a)?.value;return r?c(r):null}async function l(e){(await (0,o.UL)()).set(a,e,{httpOnly:!0,secure:!0,sameSite:"lax",maxAge:86400,path:"/"})}async function d(){(await (0,o.UL)()).delete(a)}async function f(){let e=await p();if(!e)throw Error("Unauthorized");return e}},55511:e=>{e.exports=require("crypto")},63033:e=>{e.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},66819:(e,r,t)=>{t.d(r,{v:()=>a});let s={debug:10,info:20,warn:30,error:40,silent:50},n="undefined"!=typeof process&&"warn"||"warn";function o(e){return s[n]<=s[e]}let a={debug:(...e)=>{o("debug")&&console.debug(...e)},info:(...e)=>{o("info")&&console.info(...e)},warn:(...e)=>{o("warn")&&console.warn(...e)},error:(...e)=>{o("error")&&console.error(...e)}}},74998:e=>{e.exports=require("perf_hooks")},91645:e=>{e.exports=require("net")}};var r=require("../../../../webpack-runtime.js");r.C(e);var t=e=>r(r.s=e),s=r.X(0,[4447,580,3971,5155,8154],()=>t(41314));module.exports=s})(); \ No newline at end of file diff --git a/.next/server/app/api/sync/files/route.js.nft.json b/.next/server/app/api/sync/files/route.js.nft.json new file mode 100644 index 0000000000000000000000000000000000000000..c6cfcec2802ccfa58c787d9cd673a7f094c60271 --- /dev/null +++ b/.next/server/app/api/sync/files/route.js.nft.json @@ -0,0 +1 @@ +{"version":1,"files":["../../../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../../node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js","../../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot-instance.js","../../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot.external.js","../../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../../node_modules/next/package.json","../../../../../../package.json","../../../../../package.json","../../../../chunks/3971.js","../../../../chunks/4447.js","../../../../chunks/5155.js","../../../../chunks/580.js","../../../../chunks/8154.js","../../../../webpack-runtime.js","route_client-reference-manifest.js"]} \ No newline at end of file diff --git a/.next/server/app/api/sync/files/route_client-reference-manifest.js b/.next/server/app/api/sync/files/route_client-reference-manifest.js new file mode 100644 index 0000000000000000000000000000000000000000..6af913baa5caa2de86614f507c89f23c64bb5113 --- /dev/null +++ b/.next/server/app/api/sync/files/route_client-reference-manifest.js @@ -0,0 +1 @@ +globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/api/sync/files/route"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"3727":{"*":{"id":"12913","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"94593","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"69001","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"53014","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"35656","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"64628","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"97173","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"43555","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"40099","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"20435","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"62763","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"99197","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"28827","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"38243","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"86346","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"27924","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/tanstack-query-provider.tsx":{"id":25388,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/theme-provider.tsx":{"id":61321,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/ui/sonner.tsx":{"id":15851,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"variable\":\"--font-inter-sans\",\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"}":{"id":9755,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"PT_Sans\",\"arguments\":[{\"variable\":\"--font-ptSans-mono\",\"subsets\":[\"latin\"],\"weight\":[\"400\",\"700\"]}],\"variableName\":\"ptSans\"}":{"id":56382,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/assets/globals.css":{"id":85410,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/page-wrapper/index.tsx":{"id":19009,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/page.tsx":{"id":57161,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/test-generation/page.tsx":{"id":26910,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page.tsx":{"id":40796,"name":"*","chunks":["5948","static/chunks/06bf0ff1-2f6b5dbae626a171.js","4316","static/chunks/ad2866b8-a4659a388c5e0680.js","6671","static/chunks/6671-cfa51652ff77a475.js","189","static/chunks/189-4f09a71b91c59be3.js","5370","static/chunks/5370-dad62d5f4907e0f9.js","4750","static/chunks/4750-b402a0050286a424.js","5375","static/chunks/5375-a5738c494d0f24e9.js","8974","static/chunks/app/page-79207d5f775baf7d.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/login/page.tsx":{"id":3727,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/otto/Desktop/deepstudio/osw-studio-git/":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/layout":[{"inlined":false,"path":"static/css/e420bcf6619594d2.css"}],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/api/sync/files/route":[]},"rscModuleMapping":{"3727":{"*":{"id":"9911","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"80363","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"36903","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"41900","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"88170","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"82623","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"31307","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"90597","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"49477","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"49441","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"46577","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"39035","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"12089","name":"*","chunks":[],"async":false}},"85410":{"*":{"id":"94348","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"29345","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"16444","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"16042","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}} \ No newline at end of file diff --git a/.next/server/app/api/sync/projects/[id]/route.js b/.next/server/app/api/sync/projects/[id]/route.js new file mode 100644 index 0000000000000000000000000000000000000000..11698e9b0e8816b7160883d2045690a5e77dc705 --- /dev/null +++ b/.next/server/app/api/sync/projects/[id]/route.js @@ -0,0 +1 @@ +"use strict";(()=>{var e={};e.id=5350,e.ids=[5350],e.modules={3295:e=>{e.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},21820:e=>{e.exports=require("os")},27910:e=>{e.exports=require("stream")},29021:e=>{e.exports=require("fs")},29294:e=>{e.exports=require("next/dist/server/app-render/work-async-storage.external.js")},34631:e=>{e.exports=require("tls")},44870:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},55511:e=>{e.exports=require("crypto")},63033:e=>{e.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},66819:(e,r,t)=>{t.d(r,{v:()=>a});let s={debug:10,info:20,warn:30,error:40,silent:50},o="undefined"!=typeof process&&"warn"||"warn";function n(e){return s[o]<=s[e]}let a={debug:(...e)=>{n("debug")&&console.debug(...e)},info:(...e)=>{n("info")&&console.info(...e)},warn:(...e)=>{n("warn")&&console.warn(...e)},error:(...e)=>{n("error")&&console.error(...e)}}},70060:(e,r,t)=>{t.r(r),t.d(r,{patchFetch:()=>v,routeModule:()=>l,serverHooks:()=>x,workAsyncStorage:()=>j,workUnitAsyncStorage:()=>f});var s={};t.r(s),t.d(s,{GET:()=>d,POST:()=>u});var o=t(96559),n=t(48088),a=t(37719),i=t(32190),p=t(9022),c=t(66819);async function u(e,{params:r}){try{let t,{id:s}=await r,{project:o,files:n}=await e.json();if(!o||o.id!==s)return i.NextResponse.json({error:"Invalid project data"},{status:400});try{t=await (0,p.B)()}catch(e){return c.v.error("[API /api/sync/projects/[id] POST] Server adapter initialization failed:",e),i.NextResponse.json({error:"Server mode not configured. Check DATABASE_URL environment variable."},{status:500})}await t.init();let a=new Date,u={...o,lastSyncedAt:a,serverUpdatedAt:o.updatedAt,syncStatus:"synced"};for(let e of(await t.getProject(s)?await t.updateProject(u):await t.createProject(u),await t.listFiles(s)))await t.deleteFile(s,e.path);for(let e of n)await t.createFile(e);return c.v.debug(`[API /api/sync/projects/${s}] Project synced successfully`),i.NextResponse.json({success:!0,project:u,fileCount:n.length})}catch(e){return c.v.error("[API /api/sync/projects/[id] POST] Error:",e),i.NextResponse.json({error:e instanceof Error?e.message:"Failed to push project"},{status:500})}}async function d(e,{params:r}){try{let e,{id:t}=await r;try{e=await (0,p.B)()}catch(e){return c.v.error("[API /api/sync/projects/[id] GET] Server adapter initialization failed:",e),i.NextResponse.json({error:"Server mode not configured. Check DATABASE_URL environment variable."},{status:500})}await e.init();let s=await e.getProject(t);if(!s)return i.NextResponse.json({error:"Project not found"},{status:404});let o=await e.listFiles(t);return c.v.debug(`[API /api/sync/projects/${t}] Project pulled successfully`),i.NextResponse.json({success:!0,project:s,files:o})}catch(e){return c.v.error("[API /api/sync/projects/[id] GET] Error:",e),i.NextResponse.json({error:e instanceof Error?e.message:"Failed to pull project"},{status:500})}}let l=new o.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/sync/projects/[id]/route",pathname:"/api/sync/projects/[id]",filename:"route",bundlePath:"app/api/sync/projects/[id]/route"},resolvedPagePath:"/Users/otto/Desktop/deepstudio/osw-studio-git/app/api/sync/projects/[id]/route.ts",nextConfigOutput:"standalone",userland:s}),{workAsyncStorage:j,workUnitAsyncStorage:f,serverHooks:x}=l;function v(){return(0,a.patchFetch)({workAsyncStorage:j,workUnitAsyncStorage:f})}},74998:e=>{e.exports=require("perf_hooks")},91645:e=>{e.exports=require("net")}};var r=require("../../../../../webpack-runtime.js");r.C(e);var t=e=>r(r.s=e),s=r.X(0,[4447,580,3971,8154],()=>t(70060));module.exports=s})(); \ No newline at end of file diff --git a/.next/server/app/api/sync/projects/[id]/route.js.nft.json b/.next/server/app/api/sync/projects/[id]/route.js.nft.json new file mode 100644 index 0000000000000000000000000000000000000000..aabb79e8c0f5550f8d438db5b7a38e370dc88853 --- /dev/null +++ b/.next/server/app/api/sync/projects/[id]/route.js.nft.json @@ -0,0 +1 @@ +{"version":1,"files":["../../../../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../../../node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js","../../../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot-instance.js","../../../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot.external.js","../../../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../../../node_modules/next/package.json","../../../../../../../package.json","../../../../../../package.json","../../../../../chunks/3971.js","../../../../../chunks/4447.js","../../../../../chunks/580.js","../../../../../chunks/8154.js","../../../../../webpack-runtime.js","route_client-reference-manifest.js"]} \ No newline at end of file diff --git a/.next/server/app/api/sync/projects/[id]/route_client-reference-manifest.js b/.next/server/app/api/sync/projects/[id]/route_client-reference-manifest.js new file mode 100644 index 0000000000000000000000000000000000000000..e4db017fbb9bf3f8b0f156441a9d9b4cf6177b00 --- /dev/null +++ b/.next/server/app/api/sync/projects/[id]/route_client-reference-manifest.js @@ -0,0 +1 @@ +globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/api/sync/projects/[id]/route"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"3727":{"*":{"id":"12913","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"94593","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"69001","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"53014","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"35656","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"64628","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"97173","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"43555","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"40099","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"20435","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"62763","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"99197","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"28827","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"38243","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"86346","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"27924","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/tanstack-query-provider.tsx":{"id":25388,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/theme-provider.tsx":{"id":61321,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/ui/sonner.tsx":{"id":15851,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"variable\":\"--font-inter-sans\",\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"}":{"id":9755,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"PT_Sans\",\"arguments\":[{\"variable\":\"--font-ptSans-mono\",\"subsets\":[\"latin\"],\"weight\":[\"400\",\"700\"]}],\"variableName\":\"ptSans\"}":{"id":56382,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/assets/globals.css":{"id":85410,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/page-wrapper/index.tsx":{"id":19009,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/page.tsx":{"id":57161,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/test-generation/page.tsx":{"id":26910,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page.tsx":{"id":40796,"name":"*","chunks":["5948","static/chunks/06bf0ff1-2f6b5dbae626a171.js","4316","static/chunks/ad2866b8-a4659a388c5e0680.js","6671","static/chunks/6671-cfa51652ff77a475.js","189","static/chunks/189-4f09a71b91c59be3.js","5370","static/chunks/5370-dad62d5f4907e0f9.js","4750","static/chunks/4750-b402a0050286a424.js","5375","static/chunks/5375-a5738c494d0f24e9.js","8974","static/chunks/app/page-79207d5f775baf7d.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/login/page.tsx":{"id":3727,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/otto/Desktop/deepstudio/osw-studio-git/":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/layout":[{"inlined":false,"path":"static/css/e420bcf6619594d2.css"}],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/api/sync/projects/route":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/api/sync/projects/[id]/route":[]},"rscModuleMapping":{"3727":{"*":{"id":"9911","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"80363","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"36903","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"41900","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"88170","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"82623","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"31307","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"90597","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"49477","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"49441","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"46577","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"39035","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"12089","name":"*","chunks":[],"async":false}},"85410":{"*":{"id":"94348","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"29345","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"16444","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"16042","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}} \ No newline at end of file diff --git a/.next/server/app/api/sync/projects/route.js b/.next/server/app/api/sync/projects/route.js new file mode 100644 index 0000000000000000000000000000000000000000..09d2c53b68fffdf354561c33a392e4ebd0b43d9c --- /dev/null +++ b/.next/server/app/api/sync/projects/route.js @@ -0,0 +1 @@ +"use strict";(()=>{var e={};e.id=7564,e.ids=[7564],e.modules={3295:e=>{e.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},21820:e=>{e.exports=require("os")},27910:e=>{e.exports=require("stream")},29021:e=>{e.exports=require("fs")},29294:e=>{e.exports=require("next/dist/server/app-render/work-async-storage.external.js")},31416:(e,r,t)=>{t.r(r),t.d(r,{patchFetch:()=>y,routeModule:()=>w,serverHooks:()=>j,workAsyncStorage:()=>x,workUnitAsyncStorage:()=>f});var s={};t.r(s),t.d(s,{GET:()=>d,POST:()=>l});var o=t(96559),n=t(48088),a=t(37719),i=t(32190),u=t(9022),c=t(50613),p=t(66819);async function d(){try{await (0,c.oC)();let e=await (0,u.B)();await e.init();let r=await e.listProjects();return await e.close?.(),i.NextResponse.json({projects:r})}catch(e){if(p.v.error("[API /api/sync/projects GET] Error:",e),e instanceof Error&&"Unauthorized"===e.message)return i.NextResponse.json({error:"Unauthorized"},{status:401});return i.NextResponse.json({error:e instanceof Error?e.message:"Failed to fetch projects"},{status:500})}}async function l(e){try{await (0,c.oC)();let{project:r}=await e.json();if(!r||!r.id)return i.NextResponse.json({error:"Invalid project data"},{status:400});let t=await (0,u.B)();return await t.init(),await t.getProject(r.id)?await t.updateProject(r):await t.createProject(r),await t.close?.(),i.NextResponse.json({success:!0,project:r})}catch(e){if(p.v.error("[API /api/sync/projects POST] Error:",e),e instanceof Error&&"Unauthorized"===e.message)return i.NextResponse.json({error:"Unauthorized"},{status:401});return i.NextResponse.json({error:e instanceof Error?e.message:"Failed to sync project"},{status:500})}}let w=new o.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/sync/projects/route",pathname:"/api/sync/projects",filename:"route",bundlePath:"app/api/sync/projects/route"},resolvedPagePath:"/Users/otto/Desktop/deepstudio/osw-studio-git/app/api/sync/projects/route.ts",nextConfigOutput:"standalone",userland:s}),{workAsyncStorage:x,workUnitAsyncStorage:f,serverHooks:j}=w;function y(){return(0,a.patchFetch)({workAsyncStorage:x,workUnitAsyncStorage:f})}},34631:e=>{e.exports=require("tls")},44870:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},50613:(e,r,t)=>{t.d(r,{$G:()=>d,C0:()=>l,Ht:()=>p,jw:()=>u,oC:()=>w});var s=t(87806),o=t(77412),n=t(44999);let a="osw_session";function i(){let e=process.env.SESSION_SECRET;if(!e)throw Error("SESSION_SECRET environment variable not set");return new TextEncoder().encode(e)}async function u(e,r,t=!0){let o=i(),n=Math.floor((Date.now()+864e5)/1e3);return await new s.P({userId:e,email:r,isAdmin:t}).setProtectedHeader({alg:"HS256"}).setExpirationTime(n).setIssuedAt().sign(o)}async function c(e){try{let r=i(),{payload:t}=await (0,o.V)(e,r);return{userId:t.userId,email:t.email,isAdmin:t.isAdmin,exp:t.exp}}catch(e){return null}}async function p(){let e=await (0,n.UL)(),r=e.get(a)?.value;return r?c(r):null}async function d(e){(await (0,n.UL)()).set(a,e,{httpOnly:!0,secure:!0,sameSite:"lax",maxAge:86400,path:"/"})}async function l(){(await (0,n.UL)()).delete(a)}async function w(){let e=await p();if(!e)throw Error("Unauthorized");return e}},55511:e=>{e.exports=require("crypto")},63033:e=>{e.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},66819:(e,r,t)=>{t.d(r,{v:()=>a});let s={debug:10,info:20,warn:30,error:40,silent:50},o="undefined"!=typeof process&&"warn"||"warn";function n(e){return s[o]<=s[e]}let a={debug:(...e)=>{n("debug")&&console.debug(...e)},info:(...e)=>{n("info")&&console.info(...e)},warn:(...e)=>{n("warn")&&console.warn(...e)},error:(...e)=>{n("error")&&console.error(...e)}}},74998:e=>{e.exports=require("perf_hooks")},91645:e=>{e.exports=require("net")}};var r=require("../../../../webpack-runtime.js");r.C(e);var t=e=>r(r.s=e),s=r.X(0,[4447,580,3971,5155,8154],()=>t(31416));module.exports=s})(); \ No newline at end of file diff --git a/.next/server/app/api/sync/projects/route.js.nft.json b/.next/server/app/api/sync/projects/route.js.nft.json new file mode 100644 index 0000000000000000000000000000000000000000..c6cfcec2802ccfa58c787d9cd673a7f094c60271 --- /dev/null +++ b/.next/server/app/api/sync/projects/route.js.nft.json @@ -0,0 +1 @@ +{"version":1,"files":["../../../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../../node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js","../../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot-instance.js","../../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot.external.js","../../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../../node_modules/next/package.json","../../../../../../package.json","../../../../../package.json","../../../../chunks/3971.js","../../../../chunks/4447.js","../../../../chunks/5155.js","../../../../chunks/580.js","../../../../chunks/8154.js","../../../../webpack-runtime.js","route_client-reference-manifest.js"]} \ No newline at end of file diff --git a/.next/server/app/api/sync/projects/route_client-reference-manifest.js b/.next/server/app/api/sync/projects/route_client-reference-manifest.js new file mode 100644 index 0000000000000000000000000000000000000000..7415e0b8c71c8c9cae044d8b682da8e84f86cbcc --- /dev/null +++ b/.next/server/app/api/sync/projects/route_client-reference-manifest.js @@ -0,0 +1 @@ +globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/api/sync/projects/route"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"3727":{"*":{"id":"12913","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"94593","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"69001","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"53014","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"35656","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"64628","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"97173","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"43555","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"40099","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"20435","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"62763","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"99197","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"28827","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"38243","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"86346","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"27924","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/tanstack-query-provider.tsx":{"id":25388,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/theme-provider.tsx":{"id":61321,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/ui/sonner.tsx":{"id":15851,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"variable\":\"--font-inter-sans\",\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"}":{"id":9755,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"PT_Sans\",\"arguments\":[{\"variable\":\"--font-ptSans-mono\",\"subsets\":[\"latin\"],\"weight\":[\"400\",\"700\"]}],\"variableName\":\"ptSans\"}":{"id":56382,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/assets/globals.css":{"id":85410,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/page-wrapper/index.tsx":{"id":19009,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/page.tsx":{"id":57161,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/test-generation/page.tsx":{"id":26910,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page.tsx":{"id":40796,"name":"*","chunks":["5948","static/chunks/06bf0ff1-2f6b5dbae626a171.js","4316","static/chunks/ad2866b8-a4659a388c5e0680.js","6671","static/chunks/6671-cfa51652ff77a475.js","189","static/chunks/189-4f09a71b91c59be3.js","5370","static/chunks/5370-dad62d5f4907e0f9.js","4750","static/chunks/4750-b402a0050286a424.js","5375","static/chunks/5375-a5738c494d0f24e9.js","8974","static/chunks/app/page-79207d5f775baf7d.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/login/page.tsx":{"id":3727,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/otto/Desktop/deepstudio/osw-studio-git/":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/layout":[{"inlined":false,"path":"static/css/e420bcf6619594d2.css"}],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/api/sync/projects/route":[]},"rscModuleMapping":{"3727":{"*":{"id":"9911","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"80363","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"36903","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"41900","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"88170","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"82623","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"31307","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"90597","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"49477","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"49441","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"46577","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"39035","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"12089","name":"*","chunks":[],"async":false}},"85410":{"*":{"id":"94348","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"29345","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"16444","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"16042","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}} \ No newline at end of file diff --git a/.next/server/app/api/sync/status/route.js b/.next/server/app/api/sync/status/route.js new file mode 100644 index 0000000000000000000000000000000000000000..a5f9f5fcfc05f08266be202db37860abfdb757b8 --- /dev/null +++ b/.next/server/app/api/sync/status/route.js @@ -0,0 +1 @@ +"use strict";(()=>{var e={};e.id=3084,e.ids=[3084],e.modules={3295:e=>{e.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},21820:e=>{e.exports=require("os")},27910:e=>{e.exports=require("stream")},29021:e=>{e.exports=require("fs")},29294:e=>{e.exports=require("next/dist/server/app-render/work-async-storage.external.js")},34631:e=>{e.exports=require("tls")},44870:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},55511:e=>{e.exports=require("crypto")},63033:e=>{e.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},66819:(e,r,t)=>{t.d(r,{v:()=>a});let s={debug:10,info:20,warn:30,error:40,silent:50},n="undefined"!=typeof process&&"warn"||"warn";function o(e){return s[n]<=s[e]}let a={debug:(...e)=>{o("debug")&&console.debug(...e)},info:(...e)=>{o("info")&&console.info(...e)},warn:(...e)=>{o("warn")&&console.warn(...e)},error:(...e)=>{o("error")&&console.error(...e)}}},74880:(e,r,t)=>{t.r(r),t.d(r,{patchFetch:()=>v,routeModule:()=>c,serverHooks:()=>f,workAsyncStorage:()=>l,workUnitAsyncStorage:()=>x});var s={};t.r(s),t.d(s,{GET:()=>d});var n=t(96559),o=t(48088),a=t(37719),i=t(32190),u=t(9022),p=t(66819);async function d(e){try{let e;try{e=await (0,u.B)()}catch(e){return p.v.error("[API /api/sync/status] Server adapter initialization failed:",e),i.NextResponse.json({error:"Server mode not configured. Check DATABASE_URL environment variable."},{status:500})}await e.init();let r=(await e.listProjects()).map(e=>{let r;return r=e.updatedAt instanceof Date?e.updatedAt:e.updatedAt?new Date(e.updatedAt):new Date,isNaN(r.getTime())&&(p.v.warn(`[API /api/sync/status] Invalid date for project ${e.id}, using current time`),r=new Date),{id:e.id,updatedAt:r.toISOString()}});return p.v.debug(`[API /api/sync/status] Fetched status for ${r.length} projects`),i.NextResponse.json({success:!0,projects:r})}catch(e){return p.v.error("[API /api/sync/status] Error:",e),i.NextResponse.json({error:e instanceof Error?e.message:"Failed to fetch sync status"},{status:500})}}let c=new n.AppRouteRouteModule({definition:{kind:o.RouteKind.APP_ROUTE,page:"/api/sync/status/route",pathname:"/api/sync/status",filename:"route",bundlePath:"app/api/sync/status/route"},resolvedPagePath:"/Users/otto/Desktop/deepstudio/osw-studio-git/app/api/sync/status/route.ts",nextConfigOutput:"standalone",userland:s}),{workAsyncStorage:l,workUnitAsyncStorage:x,serverHooks:f}=c;function v(){return(0,a.patchFetch)({workAsyncStorage:l,workUnitAsyncStorage:x})}},74998:e=>{e.exports=require("perf_hooks")},91645:e=>{e.exports=require("net")}};var r=require("../../../../webpack-runtime.js");r.C(e);var t=e=>r(r.s=e),s=r.X(0,[4447,580,3971,8154],()=>t(74880));module.exports=s})(); \ No newline at end of file diff --git a/.next/server/app/api/sync/status/route.js.nft.json b/.next/server/app/api/sync/status/route.js.nft.json new file mode 100644 index 0000000000000000000000000000000000000000..72204136649cd765f606b74fa9a9f743d534b3c7 --- /dev/null +++ b/.next/server/app/api/sync/status/route.js.nft.json @@ -0,0 +1 @@ +{"version":1,"files":["../../../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../../node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js","../../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot-instance.js","../../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot.external.js","../../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../../node_modules/next/package.json","../../../../../../package.json","../../../../../package.json","../../../../chunks/3971.js","../../../../chunks/4447.js","../../../../chunks/580.js","../../../../chunks/8154.js","../../../../webpack-runtime.js","route_client-reference-manifest.js"]} \ No newline at end of file diff --git a/.next/server/app/api/sync/status/route_client-reference-manifest.js b/.next/server/app/api/sync/status/route_client-reference-manifest.js new file mode 100644 index 0000000000000000000000000000000000000000..fbdf5ffa046891822fa1e9dcdd06387449005a13 --- /dev/null +++ b/.next/server/app/api/sync/status/route_client-reference-manifest.js @@ -0,0 +1 @@ +globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/api/sync/status/route"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"3727":{"*":{"id":"12913","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"94593","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"69001","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"53014","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"35656","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"64628","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"97173","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"43555","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"40099","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"20435","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"62763","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"99197","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"28827","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"38243","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"86346","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"27924","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/tanstack-query-provider.tsx":{"id":25388,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/theme-provider.tsx":{"id":61321,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/ui/sonner.tsx":{"id":15851,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"variable\":\"--font-inter-sans\",\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"}":{"id":9755,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"PT_Sans\",\"arguments\":[{\"variable\":\"--font-ptSans-mono\",\"subsets\":[\"latin\"],\"weight\":[\"400\",\"700\"]}],\"variableName\":\"ptSans\"}":{"id":56382,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/assets/globals.css":{"id":85410,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/page-wrapper/index.tsx":{"id":19009,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/page.tsx":{"id":57161,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/test-generation/page.tsx":{"id":26910,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page.tsx":{"id":40796,"name":"*","chunks":["5948","static/chunks/06bf0ff1-2f6b5dbae626a171.js","4316","static/chunks/ad2866b8-a4659a388c5e0680.js","6671","static/chunks/6671-cfa51652ff77a475.js","189","static/chunks/189-4f09a71b91c59be3.js","5370","static/chunks/5370-dad62d5f4907e0f9.js","4750","static/chunks/4750-b402a0050286a424.js","5375","static/chunks/5375-a5738c494d0f24e9.js","8974","static/chunks/app/page-79207d5f775baf7d.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/login/page.tsx":{"id":3727,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/otto/Desktop/deepstudio/osw-studio-git/":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/layout":[{"inlined":false,"path":"static/css/e420bcf6619594d2.css"}],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/api/sync/status/route":[]},"rscModuleMapping":{"3727":{"*":{"id":"9911","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"80363","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"36903","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"41900","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"88170","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"82623","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"31307","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"90597","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"49477","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"49441","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"46577","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"39035","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"12089","name":"*","chunks":[],"async":false}},"85410":{"*":{"id":"94348","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"29345","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"16444","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"16042","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}} \ No newline at end of file diff --git a/.next/server/app/api/validate-key/route.js b/.next/server/app/api/validate-key/route.js index 2cde218722f9e0cbea2b5993850f76a2d242073b..c449aaf43f39d263dfce58fcf494cdc4b860a86c 100644 --- a/.next/server/app/api/validate-key/route.js +++ b/.next/server/app/api/validate-key/route.js @@ -1 +1 @@ -(()=>{var e={};e.id=78,e.ids=[78],e.modules={846:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},1085:(e,o,r)=>{"use strict";r.r(o),r.d(o,{patchFetch:()=>g,routeModule:()=>d,serverHooks:()=>h,workAsyncStorage:()=>c,workUnitAsyncStorage:()=>m});var t={};r.r(t),r.d(t,{POST:()=>u});var s=r(6559),a=r(8088),i=r(7719),n=r(2190),p=r(4092),l=r(6819);async function u(e){try{let{apiKey:o,provider:r}=await e.json();if(!o||!r)return n.NextResponse.json({error:"API key and provider are required"},{status:400});let t=(0,p.sO)(r),s=!1;switch(r){case"openrouter":s=(await fetch("https://openrouter.ai/api/v1/auth/key",{headers:{Authorization:`Bearer ${o}`}})).ok;break;case"openai":s=(await fetch("https://api.openai.com/v1/models",{headers:{Authorization:`Bearer ${o}`}})).ok;break;case"anthropic":s=(await fetch("https://api.anthropic.com/v1/models",{headers:{"x-api-key":o,"anthropic-version":"2023-06-01"}})).ok;break;case"groq":s=(await fetch("https://api.groq.com/openai/v1/models",{headers:{Authorization:`Bearer ${o}`}})).ok;break;case"ollama":case"lmstudio":s=(await fetch(`${t.baseUrl}/models`)).ok;break;case"gemini":s=!!o&&o.length>10;break;default:s=!!t.baseUrl&&(await fetch(`${t.baseUrl}/models`,{headers:{Authorization:`Bearer ${o}`}})).ok}return n.NextResponse.json({valid:s})}catch(e){return l.v.error("Validation error:",e),n.NextResponse.json({valid:!1})}}let d=new s.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/validate-key/route",pathname:"/api/validate-key",filename:"route",bundlePath:"app/api/validate-key/route"},resolvedPagePath:"/Users/otto/Desktop/deepstudio/osw-studio-git/app/api/validate-key/route.ts",nextConfigOutput:"standalone",userland:t}),{workAsyncStorage:c,workUnitAsyncStorage:m,serverHooks:h}=d;function g(){return(0,i.patchFetch)({workAsyncStorage:c,workUnitAsyncStorage:m})}},3033:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},3295:e=>{"use strict";e.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},4092:(e,o,r)=>{"use strict";r.d(o,{sO:()=>s});let t={openrouter:{id:"openrouter",name:"OpenRouter",description:"Access multiple AI models through a unified API",apiKeyRequired:!0,apiKeyPlaceholder:"sk-or-...",apiKeyHelpUrl:"https://openrouter.ai/keys",baseUrl:"https://openrouter.ai/api/v1",supportsModelDiscovery:!0,supportsFunctions:!0,supportsStreaming:!0},openai:{id:"openai",name:"OpenAI",description:"GPT-4, GPT-3.5 and other OpenAI models",apiKeyRequired:!0,apiKeyPlaceholder:"sk-...",apiKeyHelpUrl:"https://platform.openai.com/api-keys",baseUrl:"https://api.openai.com/v1",supportsModelDiscovery:!0,supportsFunctions:!0,supportsStreaming:!0},anthropic:{id:"anthropic",name:"Anthropic",description:"Claude 3.5 Sonnet, Haiku and Opus models",apiKeyRequired:!0,apiKeyPlaceholder:"sk-ant-...",apiKeyHelpUrl:"https://console.anthropic.com/settings/keys",baseUrl:"https://api.anthropic.com/v1",supportsModelDiscovery:!0,supportsFunctions:!0,supportsStreaming:!0},groq:{id:"groq",name:"Groq",description:"Ultra-fast inference with Llama and Mixtral models",apiKeyRequired:!0,apiKeyPlaceholder:"gsk_...",apiKeyHelpUrl:"https://console.groq.com/keys",baseUrl:"https://api.groq.com/openai/v1",supportsModelDiscovery:!0,supportsFunctions:!0,supportsStreaming:!0},gemini:{id:"gemini",name:"Google Gemini",description:"Google's multimodal AI models",apiKeyRequired:!0,apiKeyPlaceholder:"AI...",apiKeyHelpUrl:"https://aistudio.google.com/apikey",baseUrl:"https://generativelanguage.googleapis.com/v1beta",models:[{id:"gemini-2.0-flash-exp",name:"Gemini 2.0 Flash",description:"Latest experimental Gemini model",contextLength:1048576,maxTokens:8192,supportsFunctions:!0,supportsVision:!0},{id:"gemini-1.5-pro",name:"Gemini 1.5 Pro",description:"Advanced reasoning and analysis",contextLength:2097152,maxTokens:8192,supportsFunctions:!0,supportsVision:!0},{id:"gemini-1.5-flash",name:"Gemini 1.5 Flash",description:"Fast and versatile",contextLength:1048576,maxTokens:8192,supportsFunctions:!0,supportsVision:!0}],supportsFunctions:!0,supportsStreaming:!0},ollama:{id:"ollama",name:"Ollama",description:"Run models locally with Ollama",apiKeyRequired:!1,baseUrl:"http://localhost:11434/v1",supportsModelDiscovery:!0,supportsFunctions:!0,supportsStreaming:!0,isLocal:!0},lmstudio:{id:"lmstudio",name:"LM Studio",description:"Local model server with tool use support",apiKeyRequired:!1,baseUrl:"http://localhost:1234/v1",supportsModelDiscovery:!0,supportsFunctions:!0,supportsStreaming:!0,isLocal:!0},sambanova:{id:"sambanova",name:"SambaNova",description:"High-performance AI chips for inference",apiKeyRequired:!0,apiKeyPlaceholder:"SambaNova API Key",apiKeyHelpUrl:"https://cloud.sambanova.ai/apis",baseUrl:"https://api.sambanova.ai/v1",supportsModelDiscovery:!0,supportsFunctions:!0,supportsStreaming:!0}};function s(e){return t[e]}},4870:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},6487:()=>{},6819:(e,o,r)=>{"use strict";r.d(o,{v:()=>i});let t={debug:10,info:20,warn:30,error:40,silent:50},s="undefined"!=typeof process&&process.env.NEXT_PUBLIC_LOG_LEVEL||"warn";function a(e){return t[s]<=t[e]}let i={debug:(...e)=>{a("debug")&&console.debug(...e)},info:(...e)=>{a("info")&&console.info(...e)},warn:(...e)=>{a("warn")&&console.warn(...e)},error:(...e)=>{a("error")&&console.error(...e)}}},8335:()=>{},9294:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-async-storage.external.js")}};var o=require("../../../webpack-runtime.js");o.C(e);var r=e=>o(o.s=e),t=o.X(0,[447,580],()=>r(1085));module.exports=t})(); \ No newline at end of file +(()=>{var e={};e.id=5078,e.ids=[5078],e.modules={3295:e=>{"use strict";e.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},14092:(e,o,r)=>{"use strict";r.d(o,{sO:()=>s});let t={openrouter:{id:"openrouter",name:"OpenRouter",description:"Access multiple AI models through a unified API",apiKeyRequired:!0,apiKeyPlaceholder:"sk-or-...",apiKeyHelpUrl:"https://openrouter.ai/keys",baseUrl:"https://openrouter.ai/api/v1",supportsModelDiscovery:!0,supportsFunctions:!0,supportsStreaming:!0},openai:{id:"openai",name:"OpenAI",description:"GPT-4, GPT-3.5 and other OpenAI models",apiKeyRequired:!0,apiKeyPlaceholder:"sk-...",apiKeyHelpUrl:"https://platform.openai.com/api-keys",baseUrl:"https://api.openai.com/v1",supportsModelDiscovery:!0,supportsFunctions:!0,supportsStreaming:!0},anthropic:{id:"anthropic",name:"Anthropic",description:"Claude 3.5 Sonnet, Haiku and Opus models",apiKeyRequired:!0,apiKeyPlaceholder:"sk-ant-...",apiKeyHelpUrl:"https://console.anthropic.com/settings/keys",baseUrl:"https://api.anthropic.com/v1",supportsModelDiscovery:!0,supportsFunctions:!0,supportsStreaming:!0},groq:{id:"groq",name:"Groq",description:"Ultra-fast inference with Llama and Mixtral models",apiKeyRequired:!0,apiKeyPlaceholder:"gsk_...",apiKeyHelpUrl:"https://console.groq.com/keys",baseUrl:"https://api.groq.com/openai/v1",supportsModelDiscovery:!0,supportsFunctions:!0,supportsStreaming:!0},gemini:{id:"gemini",name:"Google Gemini",description:"Google's multimodal AI models",apiKeyRequired:!0,apiKeyPlaceholder:"AI...",apiKeyHelpUrl:"https://aistudio.google.com/apikey",baseUrl:"https://generativelanguage.googleapis.com/v1beta",models:[{id:"gemini-2.0-flash-exp",name:"Gemini 2.0 Flash",description:"Latest experimental Gemini model",contextLength:1048576,maxTokens:8192,supportsFunctions:!0,supportsVision:!0},{id:"gemini-1.5-pro",name:"Gemini 1.5 Pro",description:"Advanced reasoning and analysis",contextLength:2097152,maxTokens:8192,supportsFunctions:!0,supportsVision:!0},{id:"gemini-1.5-flash",name:"Gemini 1.5 Flash",description:"Fast and versatile",contextLength:1048576,maxTokens:8192,supportsFunctions:!0,supportsVision:!0}],supportsFunctions:!0,supportsStreaming:!0},ollama:{id:"ollama",name:"Ollama",description:"Run models locally with Ollama",apiKeyRequired:!1,baseUrl:"http://localhost:11434/v1",supportsModelDiscovery:!0,supportsFunctions:!0,supportsStreaming:!0,isLocal:!0},lmstudio:{id:"lmstudio",name:"LM Studio",description:"Local model server with tool use support",apiKeyRequired:!1,baseUrl:"http://localhost:1234/v1",supportsModelDiscovery:!0,supportsFunctions:!0,supportsStreaming:!0,isLocal:!0},sambanova:{id:"sambanova",name:"SambaNova",description:"High-performance AI chips for inference",apiKeyRequired:!0,apiKeyPlaceholder:"SambaNova API Key",apiKeyHelpUrl:"https://cloud.sambanova.ai/apis",baseUrl:"https://api.sambanova.ai/v1",supportsModelDiscovery:!0,supportsFunctions:!0,supportsStreaming:!0}};function s(e){return t[e]}},29294:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-async-storage.external.js")},44870:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},51085:(e,o,r)=>{"use strict";r.r(o),r.d(o,{patchFetch:()=>g,routeModule:()=>d,serverHooks:()=>h,workAsyncStorage:()=>c,workUnitAsyncStorage:()=>m});var t={};r.r(t),r.d(t,{POST:()=>u});var s=r(96559),a=r(48088),i=r(37719),n=r(32190),p=r(14092),l=r(66819);async function u(e){try{let{apiKey:o,provider:r}=await e.json();if(!o||!r)return n.NextResponse.json({error:"API key and provider are required"},{status:400});let t=(0,p.sO)(r),s=!1;switch(r){case"openrouter":s=(await fetch("https://openrouter.ai/api/v1/auth/key",{headers:{Authorization:`Bearer ${o}`}})).ok;break;case"openai":s=(await fetch("https://api.openai.com/v1/models",{headers:{Authorization:`Bearer ${o}`}})).ok;break;case"anthropic":s=(await fetch("https://api.anthropic.com/v1/models",{headers:{"x-api-key":o,"anthropic-version":"2023-06-01"}})).ok;break;case"groq":s=(await fetch("https://api.groq.com/openai/v1/models",{headers:{Authorization:`Bearer ${o}`}})).ok;break;case"ollama":case"lmstudio":s=(await fetch(`${t.baseUrl}/models`)).ok;break;case"gemini":s=!!o&&o.length>10;break;default:s=!!t.baseUrl&&(await fetch(`${t.baseUrl}/models`,{headers:{Authorization:`Bearer ${o}`}})).ok}return n.NextResponse.json({valid:s})}catch(e){return l.v.error("Validation error:",e),n.NextResponse.json({valid:!1})}}let d=new s.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/validate-key/route",pathname:"/api/validate-key",filename:"route",bundlePath:"app/api/validate-key/route"},resolvedPagePath:"/Users/otto/Desktop/deepstudio/osw-studio-git/app/api/validate-key/route.ts",nextConfigOutput:"standalone",userland:t}),{workAsyncStorage:c,workUnitAsyncStorage:m,serverHooks:h}=d;function g(){return(0,i.patchFetch)({workAsyncStorage:c,workUnitAsyncStorage:m})}},63033:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},66819:(e,o,r)=>{"use strict";r.d(o,{v:()=>i});let t={debug:10,info:20,warn:30,error:40,silent:50},s="undefined"!=typeof process&&"warn"||"warn";function a(e){return t[s]<=t[e]}let i={debug:(...e)=>{a("debug")&&console.debug(...e)},info:(...e)=>{a("info")&&console.info(...e)},warn:(...e)=>{a("warn")&&console.warn(...e)},error:(...e)=>{a("error")&&console.error(...e)}}},78335:()=>{},96487:()=>{}};var o=require("../../../webpack-runtime.js");o.C(e);var r=e=>o(o.s=e),t=o.X(0,[4447,580],()=>r(51085));module.exports=t})(); \ No newline at end of file diff --git a/.next/server/app/api/validate-key/route.js.nft.json b/.next/server/app/api/validate-key/route.js.nft.json index 95d0d3a58d6190d71058e27a832377d898eff58c..35b51ae9d0f39de4c28f8c6549c739b99d9765e7 100644 --- a/.next/server/app/api/validate-key/route.js.nft.json +++ b/.next/server/app/api/validate-key/route.js.nft.json @@ -1 +1 @@ -{"version":1,"files":["../../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js","../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot-instance.js","../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot.external.js","../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../node_modules/next/package.json","../../../../../package.json","../../../../package.json","../../../chunks/447.js","../../../chunks/580.js","../../../webpack-runtime.js","route_client-reference-manifest.js"]} \ No newline at end of file +{"version":1,"files":["../../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js","../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot-instance.js","../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot.external.js","../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../node_modules/next/package.json","../../../../../package.json","../../../../package.json","../../../chunks/4447.js","../../../chunks/580.js","../../../webpack-runtime.js","route_client-reference-manifest.js"]} \ No newline at end of file diff --git a/.next/server/app/api/validate-key/route_client-reference-manifest.js b/.next/server/app/api/validate-key/route_client-reference-manifest.js index a3335f7fe514c006f54ce859ce1f0b7122bc2a57..12382fa8e85ac04e306945bab0f8e2be9e8c88a0 100644 --- a/.next/server/app/api/validate-key/route_client-reference-manifest.js +++ b/.next/server/app/api/validate-key/route_client-reference-manifest.js @@ -1 +1 @@ -globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/api/validate-key/route"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"894":{"*":{"id":"6346","name":"*","chunks":[],"async":false}},"1295":{"*":{"id":"7173","name":"*","chunks":[],"async":false}},"1321":{"*":{"id":"9197","name":"*","chunks":[],"async":false}},"2715":{"*":{"id":"8287","name":"*","chunks":[],"async":false}},"4911":{"*":{"id":"8827","name":"*","chunks":[],"async":false}},"4970":{"*":{"id":"7924","name":"*","chunks":[],"async":false}},"5388":{"*":{"id":"3014","name":"*","chunks":[],"async":false}},"5851":{"*":{"id":"4593","name":"*","chunks":[],"async":false}},"6614":{"*":{"id":"5656","name":"*","chunks":[],"async":false}},"6910":{"*":{"id":"4628","name":"*","chunks":[],"async":false}},"6975":{"*":{"id":"99","name":"*","chunks":[],"async":false}},"7555":{"*":{"id":"8243","name":"*","chunks":[],"async":false}},"9665":{"*":{"id":"2763","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-page.js":{"id":894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-page.js":{"id":894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-segment.js":{"id":4970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-segment.js":{"id":4970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/error-boundary.js":{"id":6614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":6614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":6975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":6975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/layout-router.js":{"id":7555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/layout-router.js":{"id":7555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/async-metadata.js":{"id":4911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/async-metadata.js":{"id":4911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/metadata-boundary.js":{"id":9665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/metadata-boundary.js":{"id":9665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/render-from-template-context.js":{"id":1295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":1295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/tanstack-query-provider.tsx":{"id":5388,"name":"*","chunks":["671","static/chunks/671-f7ad2a6bc6db0f05.js","138","static/chunks/138-9f738090dc749a6c.js","177","static/chunks/app/layout-4145df182a98063f.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/theme-provider.tsx":{"id":1321,"name":"*","chunks":["671","static/chunks/671-f7ad2a6bc6db0f05.js","138","static/chunks/138-9f738090dc749a6c.js","177","static/chunks/app/layout-4145df182a98063f.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/ui/sonner.tsx":{"id":5851,"name":"*","chunks":["671","static/chunks/671-f7ad2a6bc6db0f05.js","138","static/chunks/138-9f738090dc749a6c.js","177","static/chunks/app/layout-4145df182a98063f.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"variable\":\"--font-inter-sans\",\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"}":{"id":9755,"name":"*","chunks":["671","static/chunks/671-f7ad2a6bc6db0f05.js","138","static/chunks/138-9f738090dc749a6c.js","177","static/chunks/app/layout-4145df182a98063f.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"PT_Sans\",\"arguments\":[{\"variable\":\"--font-ptSans-mono\",\"subsets\":[\"latin\"],\"weight\":[\"400\",\"700\"]}],\"variableName\":\"ptSans\"}":{"id":6382,"name":"*","chunks":["671","static/chunks/671-f7ad2a6bc6db0f05.js","138","static/chunks/138-9f738090dc749a6c.js","177","static/chunks/app/layout-4145df182a98063f.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/assets/globals.css":{"id":5410,"name":"*","chunks":["671","static/chunks/671-f7ad2a6bc6db0f05.js","138","static/chunks/138-9f738090dc749a6c.js","177","static/chunks/app/layout-4145df182a98063f.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page.tsx":{"id":2715,"name":"*","chunks":["948","static/chunks/06bf0ff1-f728958255a9b8b2.js","316","static/chunks/ad2866b8-eb5f2e8eab9b0b0c.js","671","static/chunks/671-f7ad2a6bc6db0f05.js","543","static/chunks/543-48a1c5f1f67a3b29.js","525","static/chunks/525-4e767ea62b4b7b1e.js","361","static/chunks/361-0bdc2b83974d9545.js","974","static/chunks/app/page-05cb2cd5b350e411.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/test-generation/page.tsx":{"id":6910,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/otto/Desktop/deepstudio/osw-studio-git/":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/layout":[{"inlined":false,"path":"static/css/fd087a0139b3b65e.css"}],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/api/validate-key/route":[]},"rscModuleMapping":{"894":{"*":{"id":"6444","name":"*","chunks":[],"async":false}},"1295":{"*":{"id":"1307","name":"*","chunks":[],"async":false}},"1321":{"*":{"id":"9035","name":"*","chunks":[],"async":false}},"2715":{"*":{"id":"597","name":"*","chunks":[],"async":false}},"4911":{"*":{"id":"2089","name":"*","chunks":[],"async":false}},"4970":{"*":{"id":"6042","name":"*","chunks":[],"async":false}},"5388":{"*":{"id":"1900","name":"*","chunks":[],"async":false}},"5410":{"*":{"id":"4348","name":"*","chunks":[],"async":false}},"5851":{"*":{"id":"363","name":"*","chunks":[],"async":false}},"6614":{"*":{"id":"8170","name":"*","chunks":[],"async":false}},"6910":{"*":{"id":"5004","name":"*","chunks":[],"async":false}},"6975":{"*":{"id":"9477","name":"*","chunks":[],"async":false}},"7555":{"*":{"id":"9345","name":"*","chunks":[],"async":false}},"9665":{"*":{"id":"6577","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}} \ No newline at end of file +globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/api/validate-key/route"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"3727":{"*":{"id":"12913","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"94593","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"69001","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"53014","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"35656","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"64628","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"97173","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"43555","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"40099","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"20435","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"62763","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"99197","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"28827","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"38243","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"86346","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"27924","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/tanstack-query-provider.tsx":{"id":25388,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/theme-provider.tsx":{"id":61321,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/ui/sonner.tsx":{"id":15851,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"variable\":\"--font-inter-sans\",\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"}":{"id":9755,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"PT_Sans\",\"arguments\":[{\"variable\":\"--font-ptSans-mono\",\"subsets\":[\"latin\"],\"weight\":[\"400\",\"700\"]}],\"variableName\":\"ptSans\"}":{"id":56382,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/assets/globals.css":{"id":85410,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/page-wrapper/index.tsx":{"id":19009,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/page.tsx":{"id":57161,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/test-generation/page.tsx":{"id":26910,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page.tsx":{"id":40796,"name":"*","chunks":["5948","static/chunks/06bf0ff1-2f6b5dbae626a171.js","4316","static/chunks/ad2866b8-a4659a388c5e0680.js","6671","static/chunks/6671-cfa51652ff77a475.js","189","static/chunks/189-4f09a71b91c59be3.js","5370","static/chunks/5370-dad62d5f4907e0f9.js","4750","static/chunks/4750-b402a0050286a424.js","5375","static/chunks/5375-a5738c494d0f24e9.js","8974","static/chunks/app/page-79207d5f775baf7d.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/login/page.tsx":{"id":3727,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/otto/Desktop/deepstudio/osw-studio-git/":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/layout":[{"inlined":false,"path":"static/css/e420bcf6619594d2.css"}],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/api/validate-key/route":[]},"rscModuleMapping":{"3727":{"*":{"id":"9911","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"80363","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"36903","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"41900","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"88170","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"82623","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"31307","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"90597","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"49477","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"49441","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"46577","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"39035","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"12089","name":"*","chunks":[],"async":false}},"85410":{"*":{"id":"94348","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"29345","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"16444","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"16042","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}} \ No newline at end of file diff --git a/.next/server/app/index.html b/.next/server/app/index.html index 70fcbc7826ecc91309709365dd23314eeb7acf31..4e61f252531350fe5db2bffe9de11f66d2b03071 100644 --- a/.next/server/app/index.html +++ b/.next/server/app/index.html @@ -1 +1 @@ -Open Source Web Studio | Agentic AI Development 🎨

Loading projects...

\ No newline at end of file +Open Source Web Studio | Agentic AI Development 🎨

Loading...

\ No newline at end of file diff --git a/.next/server/app/index.rsc b/.next/server/app/index.rsc index 22783cf3f847fc2ce01d58cfef1bc7e2341e3760..2fa242d3544955d5013185f70bfa381f88a8ec04 100644 --- a/.next/server/app/index.rsc +++ b/.next/server/app/index.rsc @@ -1,23 +1,23 @@ 1:"$Sreact.fragment" -2:I[1321,["671","static/chunks/671-f7ad2a6bc6db0f05.js","138","static/chunks/138-9f738090dc749a6c.js","177","static/chunks/app/layout-4145df182a98063f.js"],"ThemeProvider"] -3:I[5851,["671","static/chunks/671-f7ad2a6bc6db0f05.js","138","static/chunks/138-9f738090dc749a6c.js","177","static/chunks/app/layout-4145df182a98063f.js"],"Toaster"] -4:I[5388,["671","static/chunks/671-f7ad2a6bc6db0f05.js","138","static/chunks/138-9f738090dc749a6c.js","177","static/chunks/app/layout-4145df182a98063f.js"],"default"] -5:I[7555,[],""] -6:I[1295,[],""] -7:I[894,[],"ClientPageRoot"] -8:I[2715,["948","static/chunks/06bf0ff1-f728958255a9b8b2.js","316","static/chunks/ad2866b8-eb5f2e8eab9b0b0c.js","671","static/chunks/671-f7ad2a6bc6db0f05.js","543","static/chunks/543-48a1c5f1f67a3b29.js","525","static/chunks/525-4e767ea62b4b7b1e.js","361","static/chunks/361-0bdc2b83974d9545.js","974","static/chunks/app/page-05cb2cd5b350e411.js"],"default"] -b:I[9665,[],"MetadataBoundary"] -d:I[9665,[],"OutletBoundary"] -10:I[4911,[],"AsyncMetadataOutlet"] -12:I[9665,[],"ViewportBoundary"] -14:I[6614,[],""] +2:I[61321,["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"ThemeProvider"] +3:I[15851,["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"Toaster"] +4:I[25388,["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"default"] +5:I[87555,[],""] +6:I[31295,[],""] +7:I[90894,[],"ClientPageRoot"] +8:I[40796,["5948","static/chunks/06bf0ff1-2f6b5dbae626a171.js","4316","static/chunks/ad2866b8-a4659a388c5e0680.js","6671","static/chunks/6671-cfa51652ff77a475.js","189","static/chunks/189-4f09a71b91c59be3.js","5370","static/chunks/5370-dad62d5f4907e0f9.js","4750","static/chunks/4750-b402a0050286a424.js","5375","static/chunks/5375-a5738c494d0f24e9.js","8974","static/chunks/app/page-79207d5f775baf7d.js"],"default"] +b:I[59665,[],"MetadataBoundary"] +d:I[59665,[],"OutletBoundary"] +10:I[74911,[],"AsyncMetadataOutlet"] +12:I[59665,[],"ViewportBoundary"] +14:I[26614,[],""] :HL["/_next/static/media/58f662ed5ba12a72-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["/_next/static/media/c3f6eb667c0186c5-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["/_next/static/media/e4af272ccee01ff0-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}] -:HL["/_next/static/css/fd087a0139b3b65e.css","style"] -0:{"P":null,"b":"xkp8mz91_6FWpRLiD8FMK","p":"","c":["",""],"i":false,"f":[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/fd087a0139b3b65e.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":"__variable_f367f3 __variable_438d47 antialiased bg-background h-[100dvh] overflow-hidden","suppressHydrationWarning":true,"children":["$","$L2",null,{"children":[["$","$L3",null,{"richColors":true,"position":"bottom-center"}],["$","$L4",null,{"children":["$","$L5",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]]}]}]}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$L7",null,{"Component":"$8","searchParams":{},"params":{},"promises":["$@9","$@a"]}],["$","$Lb",null,{"children":"$Lc"}],null,["$","$Ld",null,{"children":["$Le","$Lf",["$","$L10",null,{"promise":"$@11"}]]}]]}],{},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","ggflcc3kCz3LUdYFpSBOq",{"children":[["$","$L12",null,{"children":"$L13"}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],null]}],false]],"m":"$undefined","G":["$14","$undefined"],"s":false,"S":true} +:HL["/_next/static/css/e420bcf6619594d2.css","style"] +0:{"P":null,"b":"xIN9K7b8Zi-Lclq3jrJRM","p":"","c":["",""],"i":false,"f":[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/e420bcf6619594d2.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":"__variable_f367f3 __variable_438d47 antialiased bg-background h-[100dvh] overflow-hidden","suppressHydrationWarning":true,"children":["$","$L2",null,{"children":[["$","$L3",null,{"richColors":true,"position":"bottom-center"}],["$","$L4",null,{"children":["$","$L5",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]]}]}]}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$L7",null,{"Component":"$8","searchParams":{},"params":{},"promises":["$@9","$@a"]}],["$","$Lb",null,{"children":"$Lc"}],null,["$","$Ld",null,{"children":["$Le","$Lf",["$","$L10",null,{"promise":"$@11"}]]}]]}],{},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","tyyONMybE_ZArRvXGQynE",{"children":[["$","$L12",null,{"children":"$L13"}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],null]}],false]],"m":"$undefined","G":["$14","$undefined"],"s":false,"S":true} 15:"$Sreact.suspense" -16:I[4911,[],"AsyncMetadata"] +16:I[74911,[],"AsyncMetadata"] 9:{} a:{} c:["$","$15",null,{"fallback":null,"children":["$","$L16",null,{"promise":"$@17"}]}] diff --git a/.next/server/app/page.js b/.next/server/app/page.js index 18cdd2d6c85c01de9eaac2f22cf010627e60c436..17bb5c23fac8a15d3a5a184f96e4f1e517c827c7 100644 --- a/.next/server/app/page.js +++ b/.next/server/app/page.js @@ -1,3260 +1 @@ -(()=>{var e={};e.id=974,e.ids=[974],e.modules={597:(e,A,t)=>{"use strict";t.r(A),t.d(A,{default:()=>r});let r=(0,t(2907).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page.tsx","default")},846:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},2501:(e,A,t)=>{"use strict";t.r(A),t.d(A,{GlobalError:()=>s.a,__next_app__:()=>u,pages:()=>c,routeModule:()=>d,tree:()=>l});var r=t(5239),n=t(8088),a=t(8170),s=t.n(a),i=t(893),o={};for(let e in i)0>["default","tree","pages","GlobalError","__next_app__","routeModule"].indexOf(e)&&(o[e]=()=>i[e]);t.d(A,o);let l=["",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(t.bind(t,597)),"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page.tsx"]}]},{layout:[()=>Promise.resolve().then(t.bind(t,8014)),"/Users/otto/Desktop/deepstudio/osw-studio-git/app/layout.tsx"],"not-found":[()=>Promise.resolve().then(t.t.bind(t,7398,23)),"next/dist/client/components/not-found-error"],forbidden:[()=>Promise.resolve().then(t.t.bind(t,9999,23)),"next/dist/client/components/forbidden-error"],unauthorized:[()=>Promise.resolve().then(t.t.bind(t,5284,23)),"next/dist/client/components/unauthorized-error"]}],c=["/Users/otto/Desktop/deepstudio/osw-studio-git/app/page.tsx"],u={require:t,loadChunk:()=>Promise.resolve()},d=new r.AppPageRouteModule({definition:{kind:n.RouteKind.APP_PAGE,page:"/page",pathname:"/",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:l}})},3033:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},3295:e=>{"use strict";e.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},3873:e=>{"use strict";e.exports=require("path")},4517:e=>{var A=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,t=/\n/g,r=/^\s*/,n=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,a=/^:\s*/,s=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,i=/^[;\s]*/,o=/^\s+|\s+$/g;function l(e){return e?e.replace(o,""):""}e.exports=function(e,o){if("string"!=typeof e)throw TypeError("First argument must be a string");if(!e)return[];o=o||{};var c=1,u=1;function d(e){var A=e.match(t);A&&(c+=A.length);var r=e.lastIndexOf("\n");u=~r?e.length-r:u+e.length}function p(){var e={line:c,column:u};return function(A){return A.position=new h(e),m(r),A}}function h(e){this.start=e,this.end={line:c,column:u},this.source=o.source}h.prototype.content=e;var g=[];function f(A){var t=Error(o.source+":"+c+":"+u+": "+A);if(t.reason=A,t.filename=o.source,t.line=c,t.column=u,t.source=e,o.silent)g.push(t);else throw t}function m(A){var t=A.exec(e);if(t){var r=t[0];return d(r),e=e.slice(r.length),t}}function B(e){var A;for(e=e||[];A=w();)!1!==A&&e.push(A);return e}function w(){var A=p();if("/"==e.charAt(0)&&"*"==e.charAt(1)){for(var t=2;""!=e.charAt(t)&&("*"!=e.charAt(t)||"/"!=e.charAt(t+1));)++t;if(t+=2,""===e.charAt(t-1))return f("End of comment missing");var r=e.slice(2,t-2);return u+=2,d(r),e=e.slice(t),u+=2,A({type:"comment",comment:r})}}m(r);var x,v=[];for(B(v);x=function(){var e=p(),t=m(n);if(t){if(w(),!m(a))return f("property missing ':'");var r=m(s),o=e({type:"declaration",property:l(t[0].replace(A,"")),value:r?l(r[0].replace(A,"")):""});return m(i),o}}();)!1!==x&&(v.push(x),B(v));return v}},4735:e=>{"use strict";e.exports=require("events")},5511:e=>{"use strict";e.exports=require("crypto")},5840:function(e,A,t){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(A,"__esModule",{value:!0}),A.default=function(e,A){var t=null;if(!e||"string"!=typeof e)return t;var r=(0,n.default)(e),a="function"==typeof A;return r.forEach(function(e){if("declaration"===e.type){var r=e.property,n=e.value;a?A(r,n,e):n&&((t=t||{})[r]=n)}}),t};var n=r(t(4517))},6291:(e,A,t)=>{Promise.resolve().then(t.bind(t,597))},6539:(e,A,t)=>{Promise.resolve().then(t.bind(t,8287))},6908:(e,A)=>{"use strict";Object.defineProperty(A,"__esModule",{value:!0}),A.camelCase=void 0;var t=/^--[a-zA-Z0-9_-]+$/,r=/-([a-z])/g,n=/^[^-]+$/,a=/^-(webkit|moz|ms|o|khtml)-/,s=/^-(ms)-/,i=function(e,A){return A.toUpperCase()},o=function(e,A){return"".concat(A,"-")};A.camelCase=function(e,A){var l;return(void 0===A&&(A={}),!(l=e)||n.test(l)||t.test(l))?e:(e=e.toLowerCase(),(e=A.reactCompat?e.replace(s,o):e.replace(a,o)).replace(r,i))}},7910:e=>{"use strict";e.exports=require("stream")},8287:(e,A,t)=>{"use strict";let r,n;t.r(A),t.d(A,{default:()=>f9});var a,s,i,o,l,c={};t.r(c),t.d(c,{boolean:()=>pC,booleanish:()=>pQ,commaOrSpaceSeparated:()=>pj,commaSeparated:()=>pE,number:()=>pU,overloadedBoolean:()=>pF,spaceSeparated:()=>pk});var u={};t.r(u),t.d(u,{attentionMarkers:()=>gQ,contentInitial:()=>gw,disable:()=>gF,document:()=>gB,flow:()=>gv,flowInitial:()=>gx,insideSpan:()=>gC,string:()=>gy,text:()=>gb});var d=t(687),p=t(3210),h=t.t(p,2),g=t.n(p),f=t(6189),m=t(1338),B=t(5495),w=t(4084),x=t.n(w),v=t(5589),y=t(6241);class b{constructor(){this.db=new v.n}async init(){await this.db.init()}async exportProjectAsTemplate(e,A,t){try{y.v.info("[TemplateService] Exporting project as template",{projectId:A,name:t.name}),this.validateMetadata(t);let r=await e.getAllFilesAndDirectories(A),n=r.filter(e=>"directory"!==e.type),a=r.filter(e=>"directory"===e.type).map(e=>e.path),s={version:"1.0.0",name:t.name,description:t.description,templateVersion:t.version,author:t.author,authorUrl:t.authorUrl,license:t.license,licenseLabel:t.licenseLabel,licenseDescription:t.licenseDescription,tags:t.tags||[],thumbnail:t.thumbnail,previewImages:t.previewImages||[],downloadUrl:t.downloadUrl,directories:a,files:n.map(e=>({path:e.path,content:e.content})),assets:[]},i=new(x());i.file("template.json",JSON.stringify(s,null,2));let o=await i.generateAsync({type:"blob",compression:"DEFLATE",compressionOptions:{level:6}});return y.v.info("[TemplateService] Template exported successfully",{name:t.name,size:o.size}),o}catch(e){throw y.v.error("[TemplateService] Failed to export template:",e),Error(`Failed to export template: ${e instanceof Error?e.message:"Unknown error"}`)}}async importTemplateFile(e){try{if(y.v.info("[TemplateService] Importing template file",{name:e.name,size:e.size}),!e.name.endsWith(".oswt"))throw Error("Invalid file type. Expected .oswt file.");if(e.size>0x1900000)throw Error(`File too large. Maximum size is ${Math.round(25)}MB.`);let A=new(x()),t=(await A.loadAsync(e)).file("template.json");if(!t)throw Error("Invalid template file format. Missing template.json.");let r=await t.async("string"),n=JSON.parse(r);this.validateTemplateStructure(n);let a={id:(0,B.A)(),name:n.name,description:n.description,version:n.templateVersion||"1.0.0",files:n.files||[],directories:n.directories||[],assets:n.assets,metadata:{author:n.author,authorUrl:n.authorUrl,license:n.license||"personal",licenseLabel:n.licenseLabel,licenseDescription:n.licenseDescription,tags:n.tags||[],thumbnail:n.thumbnail,previewImages:n.previewImages||[],downloadUrl:n.downloadUrl},importedAt:new Date};return await this.db.saveCustomTemplate(a),y.v.info("[TemplateService] Template imported successfully",{id:a.id,name:a.name}),a}catch(e){throw y.v.error("[TemplateService] Failed to import template:",e),Error(`Failed to import template: ${e instanceof Error?e.message:"Unknown error"}`)}}async listCustomTemplates(){try{return await this.init(),(await this.db.getAllCustomTemplates()).sort((e,A)=>A.importedAt.getTime()-e.importedAt.getTime())}catch(e){throw y.v.error("[TemplateService] Failed to list templates:",e),Error("Failed to list templates")}}async deleteCustomTemplate(e){try{await this.init(),await this.db.deleteCustomTemplate(e),y.v.info("[TemplateService] Template deleted",{id:e})}catch(e){throw y.v.error("[TemplateService] Failed to delete template:",e),Error("Failed to delete template")}}async exportTemplateAsFile(e){try{y.v.info("[TemplateService] Re-exporting custom template",{id:e.id,name:e.name});let A=new(x());for(let t of(A.file("template.json",JSON.stringify(e,null,2)),e.files))t.content,A.file(t.path,t.content);return await A.generateAsync({type:"blob"})}catch(e){throw y.v.error("[TemplateService] Failed to re-export template:",e),Error(`Failed to export template: ${e instanceof Error?e.message:"Unknown error"}`)}}async generateThumbnail(e){y.v.info("[TemplateService] Thumbnail generation not yet implemented")}validateMetadata(e){if(!e.name||e.name.length<1||e.name.length>50)throw Error("Template name must be between 1 and 50 characters");if(!e.description||e.description.length<10||e.description.length>500)throw Error("Template description must be between 10 and 500 characters");if(!e.version||!/^\d+\.\d+\.\d+$/.test(e.version))throw Error("Template version must be in semantic version format (e.g., 1.0.0)");if(e.author&&e.author.length>50)throw Error("Author name must be 50 characters or less");if(e.authorUrl&&!this.isValidUrl(e.authorUrl))throw Error("Author URL must be a valid URL");if(!e.license)throw Error("License is required");if(e.tags&&e.tags.length>10)throw Error("Maximum 10 tags allowed");if(e.thumbnail&&e.thumbnail.length>512e3)throw Error(`Thumbnail too large. Maximum size is ${Math.round(500)}KB`);if(e.previewImages&&e.previewImages.length>5)throw Error("Maximum 5 preview images allowed");if(e.previewImages){for(let A of e.previewImages)if(A.length>1048576)throw Error(`Preview image too large. Maximum size is ${Math.round(1024)}KB per image`)}}validateTemplateStructure(e){if(!e.name||"string"!=typeof e.name)throw Error("Invalid template: missing or invalid name");if(!e.description||"string"!=typeof e.description)throw Error("Invalid template: missing or invalid description");if(!e.files||!Array.isArray(e.files))throw Error("Invalid template: missing or invalid files array");if(!e.directories||!Array.isArray(e.directories))throw Error("Invalid template: missing or invalid directories array");for(let A of e.files){if(!A.path||"string"!=typeof A.path)throw Error("Invalid template: file missing path");if(void 0===A.content)throw Error("Invalid template: file missing content")}}isValidUrl(e){try{return new URL(e),!0}catch{return!1}}}let C=new b;var Q=t(4934),F=t(8988);let U=p.forwardRef(({className:e,...A},t)=>(0,d.jsx)("textarea",{className:(0,y.cn)("flex min-h-[84px] w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",e),ref:t,...A}));U.displayName="Textarea";var k=t(2688);let E=(0,k.A)("file-code",[["path",{d:"M10 12.5 8 15l2 2.5",key:"1tg20x"}],["path",{d:"m14 12.5 2 2.5-2 2.5",key:"yinavb"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7z",key:"1mlx9k"}]]),j=(0,k.A)("file-text",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]),I=(0,k.A)("image",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]]),H=(0,k.A)("file-box",[["path",{d:"M14.5 22H18a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4",key:"16lz6z"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M3 13.1a2 2 0 0 0-1 1.76v3.24a2 2 0 0 0 .97 1.78L6 21.7a2 2 0 0 0 2.03.01L11 19.9a2 2 0 0 0 1-1.76V14.9a2 2 0 0 0-.97-1.78L8 11.3a2 2 0 0 0-2.03-.01Z",key:"99pj1s"}],["path",{d:"M7 17v5",key:"1yj1jh"}],["path",{d:"M11.7 14.2 7 17l-4.7-2.8",key:"1yk8tc"}]]);var S=t(3964),N=t(1860);let L=(0,k.A)("pen",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}]]),D=(0,k.A)("folder-open",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]),T=(0,k.A)("hard-drive",[["line",{x1:"22",x2:"2",y1:"12",y2:"12",key:"1y58io"}],["path",{d:"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",key:"oot6mr"}],["line",{x1:"6",x2:"6.01",y1:"16",y2:"16",key:"sgf278"}],["line",{x1:"10",x2:"10.01",y1:"16",y2:"16",key:"1l4acy"}]]),M=(0,k.A)("dollar-sign",[["line",{x1:"12",x2:"12",y1:"2",y2:"22",key:"7eqyqh"}],["path",{d:"M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6",key:"1b0p4s"}]]),K=(0,k.A)("ellipsis-vertical",[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"12",cy:"5",r:"1",key:"gxeob9"}],["circle",{cx:"12",cy:"19",r:"1",key:"lyex9k"}]]);var R=t(3861);let P=(0,k.A)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]),O=(0,k.A)("package",[["path",{d:"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z",key:"1a0edw"}],["path",{d:"M12 22V12",key:"d0xqtd"}],["polyline",{points:"3.29 7 12 12 20.71 7",key:"ousv84"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}]]),V=(0,k.A)("download",[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]]),G=(0,k.A)("trash-2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]]),z=Symbol.for("constructDateFrom");function q(e,A){return"function"==typeof e?e(A):e&&"object"==typeof e&&z in e?e[z](A):e instanceof Date?new e.constructor(A):new Date(A)}let W={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}};function J(e){return (A={})=>{let t=A.width?String(A.width):e.defaultWidth;return e.formats[t]||e.formats[e.defaultWidth]}}let X={date:J({formats:{full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},defaultWidth:"full"}),time:J({formats:{full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},defaultWidth:"full"}),dateTime:J({formats:{full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},defaultWidth:"full"})},_={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"};function Y(e){return(A,t)=>{let r;if("formatting"===(t?.context?String(t.context):"standalone")&&e.formattingValues){let A=e.defaultFormattingWidth||e.defaultWidth,n=t?.width?String(t.width):A;r=e.formattingValues[n]||e.formattingValues[A]}else{let A=e.defaultWidth,n=t?.width?String(t.width):e.defaultWidth;r=e.values[n]||e.values[A]}return r[e.argumentCallback?e.argumentCallback(A):A]}}function $(e){return(A,t={})=>{let r,n=t.width,a=n&&e.matchPatterns[n]||e.matchPatterns[e.defaultMatchWidth],s=A.match(a);if(!s)return null;let i=s[0],o=n&&e.parsePatterns[n]||e.parsePatterns[e.defaultParseWidth],l=Array.isArray(o)?function(e,A){for(let t=0;te.test(i)):function(e,A){for(let t in e)if(Object.prototype.hasOwnProperty.call(e,t)&&A(e[t]))return t}(o,e=>e.test(i));return r=e.valueCallback?e.valueCallback(l):l,{value:r=t.valueCallback?t.valueCallback(r):r,rest:A.slice(i.length)}}}let Z={code:"en-US",formatDistance:(e,A,t)=>{let r,n=W[e];if(r="string"==typeof n?n:1===A?n.one:n.other.replace("{{count}}",A.toString()),t?.addSuffix)if(t.comparison&&t.comparison>0)return"in "+r;else return r+" ago";return r},formatLong:X,formatRelative:(e,A,t,r)=>_[e],localize:{ordinalNumber:(e,A)=>{let t=Number(e),r=t%100;if(r>20||r<10)switch(r%10){case 1:return t+"st";case 2:return t+"nd";case 3:return t+"rd"}return t+"th"},era:Y({values:{narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},defaultWidth:"wide"}),quarter:Y({values:{narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},defaultWidth:"wide",argumentCallback:e=>e-1}),month:Y({values:{narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},defaultWidth:"wide"}),day:Y({values:{narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},defaultWidth:"wide"}),dayPeriod:Y({values:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},defaultWidth:"wide",formattingValues:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},defaultFormattingWidth:"wide"})},match:{ordinalNumber:function(e){return(A,t={})=>{let r=A.match(e.matchPattern);if(!r)return null;let n=r[0],a=A.match(e.parsePattern);if(!a)return null;let s=e.valueCallback?e.valueCallback(a[0]):a[0];return{value:s=t.valueCallback?t.valueCallback(s):s,rest:A.slice(n.length)}}}({matchPattern:/^(\d+)(th|st|nd|rd)?/i,parsePattern:/\d+/i,valueCallback:e=>parseInt(e,10)}),era:$({matchPatterns:{narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},defaultMatchWidth:"wide",parsePatterns:{any:[/^b/i,/^(a|c)/i]},defaultParseWidth:"any"}),quarter:$({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},defaultMatchWidth:"wide",parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:"any",valueCallback:e=>e+1}),month:$({matchPatterns:{narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},defaultParseWidth:"any"}),day:$({matchPatterns:{narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},defaultParseWidth:"any"}),dayPeriod:$({matchPatterns:{narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},defaultMatchWidth:"any",parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},defaultParseWidth:"any"})},options:{weekStartsOn:0,firstWeekContainsDate:1}},ee={};function eA(e,A){return q(A||e,e)}function et(e){let A=eA(e),t=new Date(Date.UTC(A.getFullYear(),A.getMonth(),A.getDate(),A.getHours(),A.getMinutes(),A.getSeconds(),A.getMilliseconds()));return t.setUTCFullYear(A.getFullYear()),e-t}function er(e,...A){let t=q.bind(null,e||A.find(e=>"object"==typeof e));return A.map(t)}function en(e,A){let t=eA(e)-eA(A);return t<0?-1:t>0?1:t}function ea(e,A){return function(e,A,t){let r,n=t?.locale??ee.locale??Z,a=en(e,A);if(isNaN(a))throw RangeError("Invalid time value");let s=Object.assign({},t,{addSuffix:t?.addSuffix,comparison:a}),[i,o]=er(t?.in,...a>0?[A,e]:[e,A]),l=function(e,A,t){var r;return(r=void 0,e=>{let A=(r?Math[r]:Math.trunc)(e);return 0===A?0:A})((eA(e)-eA(A))/1e3)}(o,i),c=Math.round((l-(et(o)-et(i))/1e3)/60);if(c<2)if(t?.includeSeconds)if(l<5)return n.formatDistance("lessThanXSeconds",5,s);else if(l<10)return n.formatDistance("lessThanXSeconds",10,s);else if(l<20)return n.formatDistance("lessThanXSeconds",20,s);else if(l<40)return n.formatDistance("halfAMinute",0,s);else if(l<60)return n.formatDistance("lessThanXMinutes",1,s);else return n.formatDistance("xMinutes",1,s);else if(0===c)return n.formatDistance("lessThanXMinutes",1,s);else return n.formatDistance("xMinutes",c,s);if(c<45)return n.formatDistance("xMinutes",c,s);if(c<90)return n.formatDistance("aboutXHours",1,s);if(c<1440){let e=Math.round(c/60);return n.formatDistance("aboutXHours",e,s)}if(c<2520)return n.formatDistance("xDays",1,s);else if(c<43200){let e=Math.round(c/1440);return n.formatDistance("xDays",e,s)}else if(c<86400)return r=Math.round(c/43200),n.formatDistance("aboutXMonths",r,s);if((r=function(e,A,t){let[r,n,a]=er(void 0,e,e,A),s=en(n,a),i=Math.abs(function(e,A,t){let[r,n]=er(void 0,e,A);return 12*(r.getFullYear()-n.getFullYear())+(r.getMonth()-n.getMonth())}(n,a));if(i<1)return 0;1===n.getMonth()&&n.getDate()>27&&n.setDate(30),n.setMonth(n.getMonth()-s*i);let o=en(n,a)===-s;(function(e,A){let t=eA(e,void 0);return+function(e,A){let t=eA(e,A?.in);return t.setHours(23,59,59,999),t}(t,void 0)==+function(e,A){let t=eA(e,A?.in),r=t.getMonth();return t.setFullYear(t.getFullYear(),r+1,0),t.setHours(23,59,59,999),t}(t,A)})(r)&&1===i&&1===en(r,a)&&(o=!1);let l=s*(i-o);return 0===l?0:l}(o,i))<12){let e=Math.round(c/43200);return n.formatDistance("xMonths",e,s)}{let e=r%12,A=Math.trunc(r/12);return e<3?n.formatDistance("aboutXYears",A,s):e<9?n.formatDistance("overXYears",A,s):n.formatDistance("almostXYears",A+1,s)}}(e,q(e,Date.now()),A)}var es=t(569),ei=t(8599),eo=t(1273),el=t(5551),ec=t(4163),eu=t(9510),ed=t(43),ep=t(1355),eh=t(1359),eg=t(2547),ef=t(6963),em=t(5509),eB=t(5028),ew=t(6059),ex=t(3495),ev="rovingFocusGroup.onEntryFocus",ey={bubbles:!1,cancelable:!0},eb="RovingFocusGroup",[eC,eQ,eF]=(0,eu.N)(eb),[eU,ek]=(0,eo.A)(eb,[eF]),[eE,ej]=eU(eb),eI=p.forwardRef((e,A)=>(0,d.jsx)(eC.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,d.jsx)(eC.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,d.jsx)(eH,{...e,ref:A})})}));eI.displayName=eb;var eH=p.forwardRef((e,A)=>{let{__scopeRovingFocusGroup:t,orientation:r,loop:n=!1,dir:a,currentTabStopId:s,defaultCurrentTabStopId:i,onCurrentTabStopIdChange:o,onEntryFocus:l,preventScrollOnEntryFocus:c=!1,...u}=e,h=p.useRef(null),g=(0,ei.s)(A,h),f=(0,ed.jH)(a),[m,B]=(0,el.i)({prop:s,defaultProp:i??null,onChange:o,caller:eb}),[w,x]=p.useState(!1),v=(0,ex.c)(l),y=eQ(t),b=p.useRef(!1),[C,Q]=p.useState(0);return p.useEffect(()=>{let e=h.current;if(e)return e.addEventListener(ev,v),()=>e.removeEventListener(ev,v)},[v]),(0,d.jsx)(eE,{scope:t,orientation:r,dir:f,loop:n,currentTabStopId:m,onItemFocus:p.useCallback(e=>B(e),[B]),onItemShiftTab:p.useCallback(()=>x(!0),[]),onFocusableItemAdd:p.useCallback(()=>Q(e=>e+1),[]),onFocusableItemRemove:p.useCallback(()=>Q(e=>e-1),[]),children:(0,d.jsx)(ec.sG.div,{tabIndex:w||0===C?-1:0,"data-orientation":r,...u,ref:g,style:{outline:"none",...e.style},onMouseDown:(0,es.mK)(e.onMouseDown,()=>{b.current=!0}),onFocus:(0,es.mK)(e.onFocus,e=>{let A=!b.current;if(e.target===e.currentTarget&&A&&!w){let A=new CustomEvent(ev,ey);if(e.currentTarget.dispatchEvent(A),!A.defaultPrevented){let e=y().filter(e=>e.focusable);eD([e.find(e=>e.active),e.find(e=>e.id===m),...e].filter(Boolean).map(e=>e.ref.current),c)}}b.current=!1}),onBlur:(0,es.mK)(e.onBlur,()=>x(!1))})})}),eS="RovingFocusGroupItem",eN=p.forwardRef((e,A)=>{let{__scopeRovingFocusGroup:t,focusable:r=!0,active:n=!1,tabStopId:a,children:s,...i}=e,o=(0,ef.B)(),l=a||o,c=ej(eS,t),u=c.currentTabStopId===l,h=eQ(t),{onFocusableItemAdd:g,onFocusableItemRemove:f,currentTabStopId:m}=c;return p.useEffect(()=>{if(r)return g(),()=>f()},[r,g,f]),(0,d.jsx)(eC.ItemSlot,{scope:t,id:l,focusable:r,active:n,children:(0,d.jsx)(ec.sG.span,{tabIndex:u?0:-1,"data-orientation":c.orientation,...i,ref:A,onMouseDown:(0,es.mK)(e.onMouseDown,e=>{r?c.onItemFocus(l):e.preventDefault()}),onFocus:(0,es.mK)(e.onFocus,()=>c.onItemFocus(l)),onKeyDown:(0,es.mK)(e.onKeyDown,e=>{if("Tab"===e.key&&e.shiftKey)return void c.onItemShiftTab();if(e.target!==e.currentTarget)return;let A=function(e,A,t){var r;let n=(r=e.key,"rtl"!==t?r:"ArrowLeft"===r?"ArrowRight":"ArrowRight"===r?"ArrowLeft":r);if(!("vertical"===A&&["ArrowLeft","ArrowRight"].includes(n))&&!("horizontal"===A&&["ArrowUp","ArrowDown"].includes(n)))return eL[n]}(e,c.orientation,c.dir);if(void 0!==A){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let t=h().filter(e=>e.focusable).map(e=>e.ref.current);if("last"===A)t.reverse();else if("prev"===A||"next"===A){"prev"===A&&t.reverse();let r=t.indexOf(e.currentTarget);t=c.loop?function(e,A){return e.map((t,r)=>e[(A+r)%e.length])}(t,r+1):t.slice(r+1)}setTimeout(()=>eD(t))}}),children:"function"==typeof s?s({isCurrentTabStop:u,hasTabStop:null!=m}):s})})});eN.displayName=eS;var eL={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function eD(e,A=!1){let t=document.activeElement;for(let r of e)if(r===t||(r.focus({preventScroll:A}),document.activeElement!==t))return}var eT=t(8730),eM=t(3376),eK=t(2247),eR=["Enter"," "],eP=["ArrowUp","PageDown","End"],eO=["ArrowDown","PageUp","Home",...eP],eV={ltr:[...eR,"ArrowRight"],rtl:[...eR,"ArrowLeft"]},eG={ltr:["ArrowLeft"],rtl:["ArrowRight"]},ez="Menu",[eq,eW,eJ]=(0,eu.N)(ez),[eX,e_]=(0,eo.A)(ez,[eJ,em.Bk,ek]),eY=(0,em.Bk)(),e$=ek(),[eZ,e0]=eX(ez),[e1,e2]=eX(ez),e4=e=>{let{__scopeMenu:A,open:t=!1,children:r,dir:n,onOpenChange:a,modal:s=!0}=e,i=eY(A),[o,l]=p.useState(null),c=p.useRef(!1),u=(0,ex.c)(a),h=(0,ed.jH)(n);return p.useEffect(()=>{let e=()=>{c.current=!0,document.addEventListener("pointerdown",A,{capture:!0,once:!0}),document.addEventListener("pointermove",A,{capture:!0,once:!0})},A=()=>c.current=!1;return document.addEventListener("keydown",e,{capture:!0}),()=>{document.removeEventListener("keydown",e,{capture:!0}),document.removeEventListener("pointerdown",A,{capture:!0}),document.removeEventListener("pointermove",A,{capture:!0})}},[]),(0,d.jsx)(em.bL,{...i,children:(0,d.jsx)(eZ,{scope:A,open:t,onOpenChange:u,content:o,onContentChange:l,children:(0,d.jsx)(e1,{scope:A,onClose:p.useCallback(()=>u(!1),[u]),isUsingKeyboardRef:c,dir:h,modal:s,children:r})})})};e4.displayName=ez;var e3=p.forwardRef((e,A)=>{let{__scopeMenu:t,...r}=e,n=eY(t);return(0,d.jsx)(em.Mz,{...n,...r,ref:A})});e3.displayName="MenuAnchor";var e5="MenuPortal",[e6,e8]=eX(e5,{forceMount:void 0}),e9=e=>{let{__scopeMenu:A,forceMount:t,children:r,container:n}=e,a=e0(e5,A);return(0,d.jsx)(e6,{scope:A,forceMount:t,children:(0,d.jsx)(ew.C,{present:t||a.open,children:(0,d.jsx)(eB.Z,{asChild:!0,container:n,children:r})})})};e9.displayName=e5;var e7="MenuContent",[Ae,AA]=eX(e7),At=p.forwardRef((e,A)=>{let t=e8(e7,e.__scopeMenu),{forceMount:r=t.forceMount,...n}=e,a=e0(e7,e.__scopeMenu),s=e2(e7,e.__scopeMenu);return(0,d.jsx)(eq.Provider,{scope:e.__scopeMenu,children:(0,d.jsx)(ew.C,{present:r||a.open,children:(0,d.jsx)(eq.Slot,{scope:e.__scopeMenu,children:s.modal?(0,d.jsx)(Ar,{...n,ref:A}):(0,d.jsx)(An,{...n,ref:A})})})})}),Ar=p.forwardRef((e,A)=>{let t=e0(e7,e.__scopeMenu),r=p.useRef(null),n=(0,ei.s)(A,r);return p.useEffect(()=>{let e=r.current;if(e)return(0,eM.Eq)(e)},[]),(0,d.jsx)(As,{...e,ref:n,trapFocus:t.open,disableOutsidePointerEvents:t.open,disableOutsideScroll:!0,onFocusOutside:(0,es.mK)(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>t.onOpenChange(!1)})}),An=p.forwardRef((e,A)=>{let t=e0(e7,e.__scopeMenu);return(0,d.jsx)(As,{...e,ref:A,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>t.onOpenChange(!1)})}),Aa=(0,eT.TL)("MenuContent.ScrollLock"),As=p.forwardRef((e,A)=>{let{__scopeMenu:t,loop:r=!1,trapFocus:n,onOpenAutoFocus:a,onCloseAutoFocus:s,disableOutsidePointerEvents:i,onEntryFocus:o,onEscapeKeyDown:l,onPointerDownOutside:c,onFocusOutside:u,onInteractOutside:h,onDismiss:g,disableOutsideScroll:f,...m}=e,B=e0(e7,t),w=e2(e7,t),x=eY(t),v=e$(t),y=eW(t),[b,C]=p.useState(null),Q=p.useRef(null),F=(0,ei.s)(A,Q,B.onContentChange),U=p.useRef(0),k=p.useRef(""),E=p.useRef(0),j=p.useRef(null),I=p.useRef("right"),H=p.useRef(0),S=f?eK.A:p.Fragment,N=e=>{let A=k.current+e,t=y().filter(e=>!e.disabled),r=document.activeElement,n=t.find(e=>e.ref.current===r)?.textValue,a=function(e,A,t){var r;let n=A.length>1&&Array.from(A).every(e=>e===A[0])?A[0]:A,a=t?e.indexOf(t):-1,s=(r=Math.max(a,0),e.map((A,t)=>e[(r+t)%e.length]));1===n.length&&(s=s.filter(e=>e!==t));let i=s.find(e=>e.toLowerCase().startsWith(n.toLowerCase()));return i!==t?i:void 0}(t.map(e=>e.textValue),A,n),s=t.find(e=>e.textValue===a)?.ref.current;!function e(A){k.current=A,window.clearTimeout(U.current),""!==A&&(U.current=window.setTimeout(()=>e(""),1e3))}(A),s&&setTimeout(()=>s.focus())};p.useEffect(()=>()=>window.clearTimeout(U.current),[]),(0,eh.Oh)();let L=p.useCallback(e=>I.current===j.current?.side&&function(e,A){return!!A&&function(e,A){let{x:t,y:r}=e,n=!1;for(let e=0,a=A.length-1;er!=u>r&&t<(c-o)*(r-l)/(u-l)+o&&(n=!n)}return n}({x:e.clientX,y:e.clientY},A)}(e,j.current?.area),[]);return(0,d.jsx)(Ae,{scope:t,searchRef:k,onItemEnter:p.useCallback(e=>{L(e)&&e.preventDefault()},[L]),onItemLeave:p.useCallback(e=>{L(e)||(Q.current?.focus(),C(null))},[L]),onTriggerLeave:p.useCallback(e=>{L(e)&&e.preventDefault()},[L]),pointerGraceTimerRef:E,onPointerGraceIntentChange:p.useCallback(e=>{j.current=e},[]),children:(0,d.jsx)(S,{...f?{as:Aa,allowPinchZoom:!0}:void 0,children:(0,d.jsx)(eg.n,{asChild:!0,trapped:n,onMountAutoFocus:(0,es.mK)(a,e=>{e.preventDefault(),Q.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:s,children:(0,d.jsx)(ep.qW,{asChild:!0,disableOutsidePointerEvents:i,onEscapeKeyDown:l,onPointerDownOutside:c,onFocusOutside:u,onInteractOutside:h,onDismiss:g,children:(0,d.jsx)(eI,{asChild:!0,...v,dir:w.dir,orientation:"vertical",loop:r,currentTabStopId:b,onCurrentTabStopIdChange:C,onEntryFocus:(0,es.mK)(o,e=>{w.isUsingKeyboardRef.current||e.preventDefault()}),preventScrollOnEntryFocus:!0,children:(0,d.jsx)(em.UC,{role:"menu","aria-orientation":"vertical","data-state":AN(B.open),"data-radix-menu-content":"",dir:w.dir,...x,...m,ref:F,style:{outline:"none",...m.style},onKeyDown:(0,es.mK)(m.onKeyDown,e=>{let A=e.target.closest("[data-radix-menu-content]")===e.currentTarget,t=e.ctrlKey||e.altKey||e.metaKey,r=1===e.key.length;A&&("Tab"===e.key&&e.preventDefault(),!t&&r&&N(e.key));let n=Q.current;if(e.target!==n||!eO.includes(e.key))return;e.preventDefault();let a=y().filter(e=>!e.disabled).map(e=>e.ref.current);eP.includes(e.key)&&a.reverse(),function(e){let A=document.activeElement;for(let t of e)if(t===A||(t.focus(),document.activeElement!==A))return}(a)}),onBlur:(0,es.mK)(e.onBlur,e=>{e.currentTarget.contains(e.target)||(window.clearTimeout(U.current),k.current="")}),onPointerMove:(0,es.mK)(e.onPointerMove,AT(e=>{let A=e.target,t=H.current!==e.clientX;e.currentTarget.contains(A)&&t&&(I.current=e.clientX>H.current?"right":"left",H.current=e.clientX)}))})})})})})})});At.displayName=e7;var Ai=p.forwardRef((e,A)=>{let{__scopeMenu:t,...r}=e;return(0,d.jsx)(ec.sG.div,{role:"group",...r,ref:A})});Ai.displayName="MenuGroup";var Ao=p.forwardRef((e,A)=>{let{__scopeMenu:t,...r}=e;return(0,d.jsx)(ec.sG.div,{...r,ref:A})});Ao.displayName="MenuLabel";var Al="MenuItem",Ac="menu.itemSelect",Au=p.forwardRef((e,A)=>{let{disabled:t=!1,onSelect:r,...n}=e,a=p.useRef(null),s=e2(Al,e.__scopeMenu),i=AA(Al,e.__scopeMenu),o=(0,ei.s)(A,a),l=p.useRef(!1);return(0,d.jsx)(Ad,{...n,ref:o,disabled:t,onClick:(0,es.mK)(e.onClick,()=>{let e=a.current;if(!t&&e){let A=new CustomEvent(Ac,{bubbles:!0,cancelable:!0});e.addEventListener(Ac,e=>r?.(e),{once:!0}),(0,ec.hO)(e,A),A.defaultPrevented?l.current=!1:s.onClose()}}),onPointerDown:A=>{e.onPointerDown?.(A),l.current=!0},onPointerUp:(0,es.mK)(e.onPointerUp,e=>{l.current||e.currentTarget?.click()}),onKeyDown:(0,es.mK)(e.onKeyDown,e=>{let A=""!==i.searchRef.current;t||A&&" "===e.key||eR.includes(e.key)&&(e.currentTarget.click(),e.preventDefault())})})});Au.displayName=Al;var Ad=p.forwardRef((e,A)=>{let{__scopeMenu:t,disabled:r=!1,textValue:n,...a}=e,s=AA(Al,t),i=e$(t),o=p.useRef(null),l=(0,ei.s)(A,o),[c,u]=p.useState(!1),[h,g]=p.useState("");return p.useEffect(()=>{let e=o.current;e&&g((e.textContent??"").trim())},[a.children]),(0,d.jsx)(eq.ItemSlot,{scope:t,disabled:r,textValue:n??h,children:(0,d.jsx)(eN,{asChild:!0,...i,focusable:!r,children:(0,d.jsx)(ec.sG.div,{role:"menuitem","data-highlighted":c?"":void 0,"aria-disabled":r||void 0,"data-disabled":r?"":void 0,...a,ref:l,onPointerMove:(0,es.mK)(e.onPointerMove,AT(e=>{r?s.onItemLeave(e):(s.onItemEnter(e),e.defaultPrevented||e.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:(0,es.mK)(e.onPointerLeave,AT(e=>s.onItemLeave(e))),onFocus:(0,es.mK)(e.onFocus,()=>u(!0)),onBlur:(0,es.mK)(e.onBlur,()=>u(!1))})})})}),Ap=p.forwardRef((e,A)=>{let{checked:t=!1,onCheckedChange:r,...n}=e;return(0,d.jsx)(Av,{scope:e.__scopeMenu,checked:t,children:(0,d.jsx)(Au,{role:"menuitemcheckbox","aria-checked":AL(t)?"mixed":t,...n,ref:A,"data-state":AD(t),onSelect:(0,es.mK)(n.onSelect,()=>r?.(!!AL(t)||!t),{checkForDefaultPrevented:!1})})})});Ap.displayName="MenuCheckboxItem";var Ah="MenuRadioGroup",[Ag,Af]=eX(Ah,{value:void 0,onValueChange:()=>{}}),Am=p.forwardRef((e,A)=>{let{value:t,onValueChange:r,...n}=e,a=(0,ex.c)(r);return(0,d.jsx)(Ag,{scope:e.__scopeMenu,value:t,onValueChange:a,children:(0,d.jsx)(Ai,{...n,ref:A})})});Am.displayName=Ah;var AB="MenuRadioItem",Aw=p.forwardRef((e,A)=>{let{value:t,...r}=e,n=Af(AB,e.__scopeMenu),a=t===n.value;return(0,d.jsx)(Av,{scope:e.__scopeMenu,checked:a,children:(0,d.jsx)(Au,{role:"menuitemradio","aria-checked":a,...r,ref:A,"data-state":AD(a),onSelect:(0,es.mK)(r.onSelect,()=>n.onValueChange?.(t),{checkForDefaultPrevented:!1})})})});Aw.displayName=AB;var Ax="MenuItemIndicator",[Av,Ay]=eX(Ax,{checked:!1}),Ab=p.forwardRef((e,A)=>{let{__scopeMenu:t,forceMount:r,...n}=e,a=Ay(Ax,t);return(0,d.jsx)(ew.C,{present:r||AL(a.checked)||!0===a.checked,children:(0,d.jsx)(ec.sG.span,{...n,ref:A,"data-state":AD(a.checked)})})});Ab.displayName=Ax;var AC=p.forwardRef((e,A)=>{let{__scopeMenu:t,...r}=e;return(0,d.jsx)(ec.sG.div,{role:"separator","aria-orientation":"horizontal",...r,ref:A})});AC.displayName="MenuSeparator";var AQ=p.forwardRef((e,A)=>{let{__scopeMenu:t,...r}=e,n=eY(t);return(0,d.jsx)(em.i3,{...n,...r,ref:A})});AQ.displayName="MenuArrow";var AF="MenuSub",[AU,Ak]=eX(AF),AE=e=>{let{__scopeMenu:A,children:t,open:r=!1,onOpenChange:n}=e,a=e0(AF,A),s=eY(A),[i,o]=p.useState(null),[l,c]=p.useState(null),u=(0,ex.c)(n);return p.useEffect(()=>(!1===a.open&&u(!1),()=>u(!1)),[a.open,u]),(0,d.jsx)(em.bL,{...s,children:(0,d.jsx)(eZ,{scope:A,open:r,onOpenChange:u,content:l,onContentChange:c,children:(0,d.jsx)(AU,{scope:A,contentId:(0,ef.B)(),triggerId:(0,ef.B)(),trigger:i,onTriggerChange:o,children:t})})})};AE.displayName=AF;var Aj="MenuSubTrigger",AI=p.forwardRef((e,A)=>{let t=e0(Aj,e.__scopeMenu),r=e2(Aj,e.__scopeMenu),n=Ak(Aj,e.__scopeMenu),a=AA(Aj,e.__scopeMenu),s=p.useRef(null),{pointerGraceTimerRef:i,onPointerGraceIntentChange:o}=a,l={__scopeMenu:e.__scopeMenu},c=p.useCallback(()=>{s.current&&window.clearTimeout(s.current),s.current=null},[]);return p.useEffect(()=>c,[c]),p.useEffect(()=>{let e=i.current;return()=>{window.clearTimeout(e),o(null)}},[i,o]),(0,d.jsx)(e3,{asChild:!0,...l,children:(0,d.jsx)(Ad,{id:n.triggerId,"aria-haspopup":"menu","aria-expanded":t.open,"aria-controls":n.contentId,"data-state":AN(t.open),...e,ref:(0,ei.t)(A,n.onTriggerChange),onClick:A=>{e.onClick?.(A),e.disabled||A.defaultPrevented||(A.currentTarget.focus(),t.open||t.onOpenChange(!0))},onPointerMove:(0,es.mK)(e.onPointerMove,AT(A=>{a.onItemEnter(A),!A.defaultPrevented&&(e.disabled||t.open||s.current||(a.onPointerGraceIntentChange(null),s.current=window.setTimeout(()=>{t.onOpenChange(!0),c()},100)))})),onPointerLeave:(0,es.mK)(e.onPointerLeave,AT(e=>{c();let A=t.content?.getBoundingClientRect();if(A){let r=t.content?.dataset.side,n="right"===r,s=A[n?"left":"right"],o=A[n?"right":"left"];a.onPointerGraceIntentChange({area:[{x:e.clientX+(n?-5:5),y:e.clientY},{x:s,y:A.top},{x:o,y:A.top},{x:o,y:A.bottom},{x:s,y:A.bottom}],side:r}),window.clearTimeout(i.current),i.current=window.setTimeout(()=>a.onPointerGraceIntentChange(null),300)}else{if(a.onTriggerLeave(e),e.defaultPrevented)return;a.onPointerGraceIntentChange(null)}})),onKeyDown:(0,es.mK)(e.onKeyDown,A=>{let n=""!==a.searchRef.current;e.disabled||n&&" "===A.key||eV[r.dir].includes(A.key)&&(t.onOpenChange(!0),t.content?.focus(),A.preventDefault())})})})});AI.displayName=Aj;var AH="MenuSubContent",AS=p.forwardRef((e,A)=>{let t=e8(e7,e.__scopeMenu),{forceMount:r=t.forceMount,...n}=e,a=e0(e7,e.__scopeMenu),s=e2(e7,e.__scopeMenu),i=Ak(AH,e.__scopeMenu),o=p.useRef(null),l=(0,ei.s)(A,o);return(0,d.jsx)(eq.Provider,{scope:e.__scopeMenu,children:(0,d.jsx)(ew.C,{present:r||a.open,children:(0,d.jsx)(eq.Slot,{scope:e.__scopeMenu,children:(0,d.jsx)(As,{id:i.contentId,"aria-labelledby":i.triggerId,...n,ref:l,align:"start",side:"rtl"===s.dir?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:e=>{s.isUsingKeyboardRef.current&&o.current?.focus(),e.preventDefault()},onCloseAutoFocus:e=>e.preventDefault(),onFocusOutside:(0,es.mK)(e.onFocusOutside,e=>{e.target!==i.trigger&&a.onOpenChange(!1)}),onEscapeKeyDown:(0,es.mK)(e.onEscapeKeyDown,e=>{s.onClose(),e.preventDefault()}),onKeyDown:(0,es.mK)(e.onKeyDown,e=>{let A=e.currentTarget.contains(e.target),t=eG[s.dir].includes(e.key);A&&t&&(a.onOpenChange(!1),i.trigger?.focus(),e.preventDefault())})})})})})});function AN(e){return e?"open":"closed"}function AL(e){return"indeterminate"===e}function AD(e){return AL(e)?"indeterminate":e?"checked":"unchecked"}function AT(e){return A=>"mouse"===A.pointerType?e(A):void 0}AS.displayName=AH;var AM="DropdownMenu",[AK,AR]=(0,eo.A)(AM,[e_]),AP=e_(),[AO,AV]=AK(AM),AG=e=>{let{__scopeDropdownMenu:A,children:t,dir:r,open:n,defaultOpen:a,onOpenChange:s,modal:i=!0}=e,o=AP(A),l=p.useRef(null),[c,u]=(0,el.i)({prop:n,defaultProp:a??!1,onChange:s,caller:AM});return(0,d.jsx)(AO,{scope:A,triggerId:(0,ef.B)(),triggerRef:l,contentId:(0,ef.B)(),open:c,onOpenChange:u,onOpenToggle:p.useCallback(()=>u(e=>!e),[u]),modal:i,children:(0,d.jsx)(e4,{...o,open:c,onOpenChange:u,dir:r,modal:i,children:t})})};AG.displayName=AM;var Az="DropdownMenuTrigger",Aq=p.forwardRef((e,A)=>{let{__scopeDropdownMenu:t,disabled:r=!1,...n}=e,a=AV(Az,t),s=AP(t);return(0,d.jsx)(e3,{asChild:!0,...s,children:(0,d.jsx)(ec.sG.button,{type:"button",id:a.triggerId,"aria-haspopup":"menu","aria-expanded":a.open,"aria-controls":a.open?a.contentId:void 0,"data-state":a.open?"open":"closed","data-disabled":r?"":void 0,disabled:r,...n,ref:(0,ei.t)(A,a.triggerRef),onPointerDown:(0,es.mK)(e.onPointerDown,e=>{!r&&0===e.button&&!1===e.ctrlKey&&(a.onOpenToggle(),a.open||e.preventDefault())}),onKeyDown:(0,es.mK)(e.onKeyDown,e=>{!r&&(["Enter"," "].includes(e.key)&&a.onOpenToggle(),"ArrowDown"===e.key&&a.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(e.key)&&e.preventDefault())})})})});Aq.displayName=Az;var AW=e=>{let{__scopeDropdownMenu:A,...t}=e,r=AP(A);return(0,d.jsx)(e9,{...r,...t})};AW.displayName="DropdownMenuPortal";var AJ="DropdownMenuContent",AX=p.forwardRef((e,A)=>{let{__scopeDropdownMenu:t,...r}=e,n=AV(AJ,t),a=AP(t),s=p.useRef(!1);return(0,d.jsx)(At,{id:n.contentId,"aria-labelledby":n.triggerId,...a,...r,ref:A,onCloseAutoFocus:(0,es.mK)(e.onCloseAutoFocus,e=>{s.current||n.triggerRef.current?.focus(),s.current=!1,e.preventDefault()}),onInteractOutside:(0,es.mK)(e.onInteractOutside,e=>{let A=e.detail.originalEvent,t=0===A.button&&!0===A.ctrlKey,r=2===A.button||t;(!n.modal||r)&&(s.current=!0)}),style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});AX.displayName=AJ,p.forwardRef((e,A)=>{let{__scopeDropdownMenu:t,...r}=e,n=AP(t);return(0,d.jsx)(Ai,{...n,...r,ref:A})}).displayName="DropdownMenuGroup",p.forwardRef((e,A)=>{let{__scopeDropdownMenu:t,...r}=e,n=AP(t);return(0,d.jsx)(Ao,{...n,...r,ref:A})}).displayName="DropdownMenuLabel";var A_=p.forwardRef((e,A)=>{let{__scopeDropdownMenu:t,...r}=e,n=AP(t);return(0,d.jsx)(Au,{...n,...r,ref:A})});A_.displayName="DropdownMenuItem",p.forwardRef((e,A)=>{let{__scopeDropdownMenu:t,...r}=e,n=AP(t);return(0,d.jsx)(Ap,{...n,...r,ref:A})}).displayName="DropdownMenuCheckboxItem",p.forwardRef((e,A)=>{let{__scopeDropdownMenu:t,...r}=e,n=AP(t);return(0,d.jsx)(Am,{...n,...r,ref:A})}).displayName="DropdownMenuRadioGroup",p.forwardRef((e,A)=>{let{__scopeDropdownMenu:t,...r}=e,n=AP(t);return(0,d.jsx)(Aw,{...n,...r,ref:A})}).displayName="DropdownMenuRadioItem",p.forwardRef((e,A)=>{let{__scopeDropdownMenu:t,...r}=e,n=AP(t);return(0,d.jsx)(Ab,{...n,...r,ref:A})}).displayName="DropdownMenuItemIndicator";var AY=p.forwardRef((e,A)=>{let{__scopeDropdownMenu:t,...r}=e,n=AP(t);return(0,d.jsx)(AC,{...n,...r,ref:A})});function A$({...e}){return(0,d.jsx)(AG,{"data-slot":"dropdown-menu",...e})}function AZ({...e}){return(0,d.jsx)(Aq,{"data-slot":"dropdown-menu-trigger",...e})}function A0({className:e,sideOffset:A=4,...t}){return(0,d.jsx)(AW,{children:(0,d.jsx)(AX,{"data-slot":"dropdown-menu-content",sideOffset:A,className:(0,y.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-40 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-lg",e),...t})})}function A1({className:e,inset:A,variant:t="default",...r}){return(0,d.jsx)(A_,{"data-slot":"dropdown-menu-item","data-inset":A,"data-variant":t,className:(0,y.cn)("focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-pointer items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),...r})}function A2({className:e,...A}){return(0,d.jsx)(AY,{"data-slot":"dropdown-menu-separator",className:(0,y.cn)("bg-border -mx-1 my-1 h-px",e),...A})}AY.displayName="DropdownMenuSeparator",p.forwardRef((e,A)=>{let{__scopeDropdownMenu:t,...r}=e,n=AP(t);return(0,d.jsx)(AQ,{...n,...r,ref:A})}).displayName="DropdownMenuArrow",p.forwardRef((e,A)=>{let{__scopeDropdownMenu:t,...r}=e,n=AP(t);return(0,d.jsx)(AI,{...n,...r,ref:A})}).displayName="DropdownMenuSubTrigger",p.forwardRef((e,A)=>{let{__scopeDropdownMenu:t,...r}=e,n=AP(t);return(0,d.jsx)(AS,{...n,...r,ref:A,style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})}).displayName="DropdownMenuSubContent";var A4=t(2581);function A3({project:e,onSelect:A,onDelete:t,onExport:r,onExportZip:n,onDuplicate:a,onPreview:s,onUpdate:i,onExportAsTemplate:o,viewMode:l="grid",forceMenuOpen:c=!1,highlightExport:u=!1}){let[h,g]=(0,p.useState)(!1),[f,B]=(0,p.useState)(e.name),[w,x]=(0,p.useState)(e.description||""),[v,b]=(0,p.useState)(null),[C,k]=(0,p.useState)(!0),[z,q]=(0,p.useState)(!1),W=async()=>{if(!f.trim()){A4.oR.error("Project name cannot be empty"),B(e.name),g(!1);return}if(f.length>50)return void A4.oR.error("Project name must be 50 characters or less");if(w.length>200)return void A4.oR.error("Description must be 200 characters or less");try{e.name=f.trim(),e.description=w.trim()||void 0,await m.vfs.updateProject(e),i(e),g(!1),A4.oR.success("Project updated")}catch(A){y.v.error("Failed to update project:",A),A4.oR.error("Failed to update project"),B(e.name),x(e.description||"")}},J=()=>{B(e.name),x(e.description||""),g(!1)},X=e=>{if(c)return void q(!0);q(e)},_=()=>v?Object.entries(v.fileTypes).sort(([,e],[,A])=>A-e).slice(0,3):[],Y=e=>{let A=e.toLowerCase();return["html","htm"].includes(A)?(0,d.jsx)(E,{className:"h-3 w-3"}):["css","scss","sass"].includes(A)?(0,d.jsx)(j,{className:"h-3 w-3"}):["js","jsx","ts","tsx"].includes(A)?(0,d.jsx)(E,{className:"h-3 w-3"}):["png","jpg","jpeg","gif","svg"].includes(A)?(0,d.jsx)(I,{className:"h-3 w-3"}):(0,d.jsx)(j,{className:"h-3 w-3"})},$=e=>e&&0!==e?`$${e.toFixed(2)}`:null;return"list"===l?(0,d.jsx)("div",{className:`border border-border rounded-lg p-4 hover:shadow-md transition-all cursor-pointer hover:border-primary/50 ${u?"ring-2 ring-primary/70 animate-ring-opacity":""}`,style:{background:"linear-gradient(var(--project-card-tint), var(--project-card-tint)), var(--card)"},onClick:()=>A(e),children:(0,d.jsxs)("div",{className:"flex items-start gap-4",children:[e.previewImage?(0,d.jsx)("div",{className:"w-16 h-12 rounded-md overflow-hidden bg-muted shrink-0 opacity-60",children:(0,d.jsx)("img",{src:e.previewImage,alt:`${e.name} preview`,className:"w-full h-full object-cover"})}):(0,d.jsx)("div",{className:"w-16 h-12 rounded-md bg-muted flex items-center justify-center shrink-0 opacity-40",children:(0,d.jsx)(H,{className:"h-6 w-6 text-muted-foreground/30"})}),(0,d.jsxs)("div",{className:"flex-1 min-w-0 flex flex-col md:flex-row md:gap-6",children:[(0,d.jsxs)("div",{className:"flex-1 min-w-0 space-y-1",children:[(0,d.jsx)("div",{className:"flex items-center gap-2",children:h?(0,d.jsxs)("div",{className:"flex items-center gap-2 flex-1",onClick:e=>e.stopPropagation(),children:[(0,d.jsx)(F.p,{value:f,onChange:e=>B(e.target.value),onKeyDown:e=>{"Enter"===e.key&&W(),"Escape"===e.key&&J()},className:"h-7 text-sm",autoFocus:!0,maxLength:50}),(0,d.jsxs)("span",{className:"text-xs text-muted-foreground",children:[f.length,"/50"]}),(0,d.jsx)(Q.$,{size:"icon",variant:"ghost",className:"h-5 w-5",onClick:W,children:(0,d.jsx)(S.A,{className:"h-3 w-3"})}),(0,d.jsx)(Q.$,{size:"icon",variant:"ghost",className:"h-5 w-5",onClick:J,children:(0,d.jsx)(N.A,{className:"h-3 w-3"})})]}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("h3",{className:"font-semibold truncate",children:e.name}),(0,d.jsx)(Q.$,{size:"icon",variant:"ghost",className:"h-5 w-5 opacity-0 group-hover:opacity-100",onClick:e=>{e.stopPropagation(),g(!0)},children:(0,d.jsx)(L,{className:"h-3 w-3"})})]})}),e.description&&!h&&(0,d.jsx)("p",{className:"text-sm text-muted-foreground line-clamp-1",children:e.description}),(0,d.jsxs)("p",{className:"text-xs text-muted-foreground",children:["Updated ",ea(e.updatedAt,{addSuffix:!0})]})]}),(0,d.jsxs)("div",{className:"space-y-2 mt-2 md:mt-0",children:[v&&(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-x-3 gap-y-1 text-sm text-muted-foreground",children:[(0,d.jsxs)("span",{className:"flex items-center gap-1",children:[(0,d.jsx)(D,{className:"h-4 w-4"}),v.fileCount," ",1===v.fileCount?"file":"files"]}),(0,d.jsxs)("span",{className:"flex items-center gap-1",children:[(0,d.jsx)(T,{className:"h-4 w-4"}),v.formattedSize]}),e.costTracking?.totalCost&&e.costTracking.totalCost>0&&(0,d.jsxs)("span",{className:"flex items-center gap-1",children:[(0,d.jsx)(M,{className:"h-4 w-4"}),$(e.costTracking.totalCost)]})]}),v&&_().length>0&&(0,d.jsx)("div",{className:"flex flex-wrap items-center gap-x-3 gap-y-1 text-xs",children:_().map(([e,A])=>(0,d.jsxs)("div",{className:"flex items-center gap-1 text-muted-foreground",children:[Y(e),(0,d.jsxs)("span",{children:[e.toUpperCase()," (",A,")"]})]},e))})]})]}),(0,d.jsx)("div",{className:"flex items-center gap-2 ml-4",children:(0,d.jsxs)(A$,{open:!!c||z,onOpenChange:X,children:[(0,d.jsx)(AZ,{asChild:!0,onClick:e=>e.stopPropagation(),"data-tour-id":u?"project-actions-trigger":void 0,children:(0,d.jsx)(Q.$,{size:"icon",variant:"ghost",className:"h-8 w-8",children:(0,d.jsx)(K,{className:"h-4 w-4"})})}),(0,d.jsxs)(A0,{align:"end",children:[(0,d.jsxs)(A1,{onClick:A=>{A.stopPropagation(),s(e)},children:[(0,d.jsx)(R.A,{className:"mr-2 h-4 w-4"}),"Preview"]}),(0,d.jsxs)(A1,{onClick:A=>{A.stopPropagation(),a(e)},children:[(0,d.jsx)(P,{className:"mr-2 h-4 w-4"}),"Duplicate"]}),(0,d.jsx)(A2,{}),(0,d.jsxs)(A1,{onClick:A=>{A.stopPropagation(),n(e)},children:[(0,d.jsx)(O,{className:"mr-2 h-4 w-4"}),"Export as ZIP"]}),(0,d.jsxs)(A1,{onClick:A=>{A.stopPropagation(),r(e)},"data-tour-id":u?"project-export-json":void 0,children:[(0,d.jsx)(V,{className:"mr-2 h-4 w-4"}),"Export as JSON"]}),o&&(0,d.jsxs)(A1,{onClick:A=>{A.stopPropagation(),o(e)},children:[(0,d.jsx)(H,{className:"mr-2 h-4 w-4"}),"Export as Template"]}),(0,d.jsx)(A2,{}),(0,d.jsxs)(A1,{className:"text-destructive",onClick:A=>{A.stopPropagation(),t(e)},children:[(0,d.jsx)(G,{className:"mr-2 h-4 w-4"}),"Delete"]})]})]})})]})}):(0,d.jsxs)("div",{className:`border border-border rounded-lg overflow-hidden hover:shadow-lg transition-all cursor-pointer hover:border-primary/50 group ${u?"ring-2 ring-primary/70 animate-ring-opacity":""}`,style:{background:"linear-gradient(var(--project-card-tint), var(--project-card-tint)), var(--card)"},onClick:()=>A(e),"data-tour-id":"project-card",children:[e.previewImage?(0,d.jsx)("div",{className:"w-full aspect-video bg-muted",children:(0,d.jsx)("img",{src:e.previewImage,alt:`${e.name} preview`,className:"w-full h-full object-cover"})}):(0,d.jsx)("div",{className:"w-full aspect-video bg-muted flex items-center justify-center",children:(0,d.jsx)(H,{className:"h-16 w-16 text-muted-foreground/30"})}),(0,d.jsxs)("div",{className:"p-4 space-y-3",children:[(0,d.jsxs)("div",{className:"flex justify-between items-start",children:[h?(0,d.jsxs)("div",{className:"flex-1",onClick:e=>e.stopPropagation(),children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)(F.p,{value:f,onChange:e=>B(e.target.value),onKeyDown:e=>{"Enter"===e.key&&!1===e.shiftKey&&(e.preventDefault(),W()),"Escape"===e.key&&J()},className:"h-8 text-sm font-semibold",autoFocus:!0,maxLength:50}),(0,d.jsx)(Q.$,{size:"icon",variant:"ghost",className:"h-5 w-5",onClick:W,children:(0,d.jsx)(S.A,{className:"h-3 w-3"})}),(0,d.jsx)(Q.$,{size:"icon",variant:"ghost",className:"h-5 w-5",onClick:J,children:(0,d.jsx)(N.A,{className:"h-3 w-3"})})]}),(0,d.jsxs)("span",{className:"text-xs text-muted-foreground mt-1",children:[f.length,"/50"]})]}):(0,d.jsxs)("div",{className:"flex items-center gap-2 flex-1",children:[(0,d.jsx)("h3",{className:"font-semibold text-lg truncate flex-1",children:e.name}),(0,d.jsx)(Q.$,{size:"icon",variant:"ghost",className:"h-5 w-5 opacity-0 group-hover:opacity-100 transition-opacity",onClick:e=>{e.stopPropagation(),g(!0)},children:(0,d.jsx)(L,{className:"h-3 w-3"})})]}),(0,d.jsxs)(A$,{open:!!c||z,onOpenChange:X,children:[(0,d.jsx)(AZ,{asChild:!0,onClick:e=>e.stopPropagation(),"data-tour-id":u?"project-actions-trigger":void 0,children:(0,d.jsx)(Q.$,{size:"icon",variant:"ghost",className:"h-8 w-8",children:(0,d.jsx)(K,{className:"h-4 w-4"})})}),(0,d.jsxs)(A0,{align:"end",children:[(0,d.jsxs)(A1,{onClick:A=>{A.stopPropagation(),s(e)},children:[(0,d.jsx)(R.A,{className:"mr-2 h-4 w-4"}),"Preview"]}),(0,d.jsxs)(A1,{onClick:A=>{A.stopPropagation(),a(e)},children:[(0,d.jsx)(P,{className:"mr-2 h-4 w-4"}),"Duplicate"]}),(0,d.jsx)(A2,{}),(0,d.jsxs)(A1,{onClick:A=>{A.stopPropagation(),n(e)},children:[(0,d.jsx)(O,{className:"mr-2 h-4 w-4"}),"Export as ZIP"]}),(0,d.jsxs)(A1,{onClick:A=>{A.stopPropagation(),r(e)},"data-tour-id":u?"project-export-json":void 0,children:[(0,d.jsx)(V,{className:"mr-2 h-4 w-4"}),"Export as JSON"]}),o&&(0,d.jsxs)(A1,{onClick:A=>{A.stopPropagation(),o(e)},children:[(0,d.jsx)(H,{className:"mr-2 h-4 w-4"}),"Export as Template"]}),(0,d.jsx)(A2,{}),(0,d.jsxs)(A1,{className:"text-destructive",onClick:A=>{A.stopPropagation(),t(e)},children:[(0,d.jsx)(G,{className:"mr-2 h-4 w-4"}),"Delete"]})]})]})]}),h?(0,d.jsxs)("div",{onClick:e=>e.stopPropagation(),children:[(0,d.jsx)(U,{value:w,onChange:e=>x(e.target.value),onKeyDown:e=>{"Escape"===e.key&&J()},placeholder:"Add a description...",className:"min-h-[60px] text-sm resize-none",maxLength:200}),(0,d.jsx)("div",{className:"flex items-center justify-between mt-1",children:(0,d.jsxs)("span",{className:"text-xs text-muted-foreground",children:[w.length,"/200"]})})]}):(0,d.jsx)("div",{className:"min-h-[40px]",children:e.description?(0,d.jsx)("p",{className:"text-sm text-muted-foreground line-clamp-2",children:e.description}):(0,d.jsx)("p",{className:"text-sm text-muted-foreground/50 italic",children:"No description"})}),C?(0,d.jsx)("div",{className:"h-6 bg-muted animate-pulse rounded"}):v&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"flex items-center gap-3 text-sm text-muted-foreground pt-2 border-t",children:[(0,d.jsxs)("span",{className:"flex items-center gap-1",children:[(0,d.jsx)(D,{className:"h-4 w-4"}),v.fileCount," ",1===v.fileCount?"file":"files"]}),(0,d.jsxs)("span",{className:"flex items-center gap-1",children:[(0,d.jsx)(T,{className:"h-4 w-4"}),v.formattedSize]}),e.costTracking?.totalCost&&e.costTracking.totalCost>0&&(0,d.jsxs)("span",{className:"flex items-center gap-1",children:[(0,d.jsx)(M,{className:"h-4 w-4"}),$(e.costTracking.totalCost)]})]}),_().length>0&&(0,d.jsx)("div",{className:"flex items-center gap-3 text-xs",children:_().map(([e,A])=>(0,d.jsxs)("div",{className:"flex items-center gap-1 text-muted-foreground",children:[Y(e),(0,d.jsxs)("span",{children:[e," (",A,")"]})]},e))})]}),(0,d.jsx)("div",{className:"text-xs text-muted-foreground pt-2 border-t",children:(0,d.jsxs)("p",{children:["Updated ",ea(e.updatedAt,{addSuffix:!0})]})})]})]})}var A5=t(2106),A6=t(8122);let A8=(0,k.A)("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]),A9=(0,k.A)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]),A7=(0,k.A)("house",[["path",{d:"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8",key:"5wwlr5"}],["path",{d:"M3 10a2 2 0 0 1 .709-1.528l7-5.999a2 2 0 0 1 2.582 0l7 5.999A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",key:"1d0kgt"}]]),te=(0,k.A)("crosshair",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"22",x2:"18",y1:"12",y2:"12",key:"l9bcsi"}],["line",{x1:"6",x2:"2",y1:"12",y2:"12",key:"13hhkx"}],["line",{x1:"12",x2:"12",y1:"6",y2:"2",key:"10w3f3"}],["line",{x1:"12",x2:"12",y1:"22",y2:"18",key:"15g9kq"}]]),tA=(0,k.A)("smartphone",[["rect",{width:"14",height:"20",x:"5",y:"2",rx:"2",ry:"2",key:"1yt0o3"}],["path",{d:"M12 18h.01",key:"mhygvu"}]]),tt=(0,k.A)("tablet",[["rect",{width:"16",height:"20",x:"4",y:"2",rx:"2",ry:"2",key:"76otgf"}],["line",{x1:"12",x2:"12.01",y1:"18",y2:"18",key:"1dp563"}]]),tr=(0,k.A)("monitor",[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]]);var tn=t(3974),ta=function(e,A){return(ta=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(e,A){e.__proto__=A}||function(e,A){for(var t in A)Object.prototype.hasOwnProperty.call(A,t)&&(e[t]=A[t])})(e,A)};function ts(e,A){if("function"!=typeof A&&null!==A)throw TypeError("Class extends value "+String(A)+" is not a constructor or null");function t(){this.constructor=e}ta(e,A),e.prototype=null===A?Object.create(A):(t.prototype=A.prototype,new t)}var ti=function(){return(ti=Object.assign||function(e){for(var A,t=1,r=arguments.length;t0&&n[n.length-1])&&(6===o[0]||2===o[0])){s=0;continue}if(3===o[0]&&(!n||o[1]>n[0]&&o[1]=55296&&n<=56319&&t>10)+55296,s%1024+56320)),(n+1===t||r.length>16384)&&(a+=String.fromCharCode.apply(String,r),r.length=0)}return a},tf="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",tm="undefined"==typeof Uint8Array?[]:new Uint8Array(256),tB=0;tB>4,c[o++]=(15&r)<<4|n>>2,c[o++]=(3&n)<<6|63&a;return l},tb=function(e){for(var A=e.length,t=[],r=0;r=0){if(e<55296||e>56319&&e<=65535)return A=((A=this.index[e>>5])<<2)+(31&e),this.data[A];if(e<=65535)return A=((A=this.index[2048+(e-55296>>5)])<<2)+(31&e),this.data[A];if(e>11),A=this.index[A]+(e>>5&63),A=((A=this.index[A])<<2)+(31&e),this.data[A];if(e<=1114111)return this.data[this.highValueIndex]}return this.errorValue},e}(),tk="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",tE="undefined"==typeof Uint8Array?[]:new Uint8Array(256),tj=0;tj50?(n.push(!0),s-=50):n.push(!1),-1!==["normal","auto","loose"].indexOf(A)&&-1!==[8208,8211,12316,12448].indexOf(e))return r.push(a),t.push(16);if(4===s||11===s){if(0===a)return r.push(a),t.push(30);var i=t[a-1];return -1===tT.indexOf(i)?(r.push(r[a-1]),t.push(i)):(r.push(a),t.push(30))}if(r.push(a),31===s)return t.push("strict"===A?21:37);if(42===s||29===s)return t.push(30);if(43===s)if(e>=131072&&e<=196605||e>=196608&&e<=262141)return t.push(37);else return t.push(30);t.push(s)}),[r,t,n]},tP=function(e,A,t,r){var n=r[t];if(Array.isArray(e)?-1!==e.indexOf(n):e===n)for(var a=t;a<=r.length;){var s=r[++a];if(s===A)return!0;if(10!==s)break}if(10===n)for(var a=t;a>0;){var i=r[--a];if(Array.isArray(e)?-1!==e.indexOf(i):e===i)for(var o=t;o<=r.length;){var s=r[++o];if(s===A)return!0;if(10!==s)break}if(10!==i)break}return!1},tO=function(e,A){for(var t=e;t>=0;){var r=A[t];if(10!==r)return r;t--}return 0},tV=function(e,A,t,r,n){if(0===t[r])return"\xd7";var a=r-1;if(Array.isArray(n)&&!0===n[a])return"\xd7";var s=a-1,i=a+1,o=A[a],l=s>=0?A[s]:0,c=A[i];if(2===o&&3===c)return"\xd7";if(-1!==tN.indexOf(o))return"!";if(-1!==tN.indexOf(c)||-1!==tL.indexOf(c))return"\xd7";if(8===tO(a,A))return"\xf7";if(11===tH.get(e[a])||(32===o||33===o)&&11===tH.get(e[i])||7===o||7===c||9===o||-1===[10,13,15].indexOf(o)&&9===c||-1!==[17,18,19,24,28].indexOf(c)||22===tO(a,A)||tP(23,22,a,A)||tP([17,18],21,a,A)||tP(12,12,a,A))return"\xd7";if(10===o)return"\xf7";if(23===o||23===c)return"\xd7";if(16===c||16===o)return"\xf7";if(-1!==[13,15,21].indexOf(c)||14===o||36===l&&-1!==tK.indexOf(o)||28===o&&36===c||20===c||-1!==tS.indexOf(c)&&25===o||-1!==tS.indexOf(o)&&25===c||27===o&&-1!==[37,32,33].indexOf(c)||-1!==[37,32,33].indexOf(o)&&26===c||-1!==tS.indexOf(o)&&-1!==tD.indexOf(c)||-1!==tD.indexOf(o)&&-1!==tS.indexOf(c)||-1!==[27,26].indexOf(o)&&(25===c||-1!==[22,15].indexOf(c)&&25===A[i+1])||-1!==[22,15].indexOf(o)&&25===c||25===o&&-1!==[25,28,24].indexOf(c))return"\xd7";if(-1!==[25,28,24,17,18].indexOf(c))for(var u=a;u>=0;){var d=A[u];if(25===d)return"\xd7";if(-1!==[28,24].indexOf(d))u--;else break}if(-1!==[27,26].indexOf(c))for(var u=-1!==[17,18].indexOf(o)?s:a;u>=0;){var d=A[u];if(25===d)return"\xd7";if(-1!==[28,24].indexOf(d))u--;else break}if(38===o&&-1!==[38,39,34,35].indexOf(c)||-1!==[39,34].indexOf(o)&&-1!==[39,40].indexOf(c)||-1!==[40,35].indexOf(o)&&40===c||-1!==tM.indexOf(o)&&-1!==[20,26].indexOf(c)||-1!==tM.indexOf(c)&&27===o||-1!==tS.indexOf(o)&&-1!==tS.indexOf(c)||24===o&&-1!==tS.indexOf(c)||-1!==tS.concat(25).indexOf(o)&&22===c&&-1===tI.indexOf(e[i])||-1!==tS.concat(25).indexOf(c)&&18===o)return"\xd7";if(41===o&&41===c){for(var p=t[a],h=1;p>0;)if(41===A[--p])h++;else break;if(h%2!=0)return"\xd7"}return 32===o&&33===c?"\xd7":"\xf7"},tG=function(e,A){A||(A={lineBreak:"normal",wordBreak:"normal"});var t=tR(e,A.lineBreak),r=t[0],n=t[1],a=t[2];return("break-all"===A.wordBreak||"break-word"===A.wordBreak)&&(n=n.map(function(e){return -1!==[25,30,42].indexOf(e)?37:e})),[r,n,"keep-all"===A.wordBreak?a.map(function(A,t){return A&&e[t]>=19968&&e[t]<=40959}):void 0]},tz=function(){function e(e,A,t,r){this.codePoints=e,this.required="!"===A,this.start=t,this.end=r}return e.prototype.slice=function(){return tg.apply(void 0,this.codePoints.slice(this.start,this.end))},e}(),tq=function(e,A){var t=th(e),r=tG(t,A),n=r[0],a=r[1],s=r[2],i=t.length,o=0,l=0;return{next:function(){if(l>=i)return{done:!0,value:null};for(var e="\xd7";l=48&&e<=57},tJ=function(e){return tW(e)||e>=65&&e<=70||e>=97&&e<=102},tX=function(e){return e>=97&&e<=122||e>=65&&e<=90},t_=function(e){return 10===e||9===e||32===e},tY=function(e){return tX(e)||e>=128||95===e},t$=function(e){return tY(e)||tW(e)||45===e},tZ=function(e,A){return 92===e&&10!==A},t0=function(e,A,t){return 45===e?tY(A)||tZ(A,t):!!(tY(e)||92===e&&tZ(e,A))||!1},t1=function(e,A,t){return 43===e||45===e?!!tW(A)||46===A&&tW(t):46===e?tW(A):tW(e)},t2=function(e){var A=0,t=1;(43===e[0]||45===e[A])&&(45===e[A]&&(t=-1),A++);for(var r=[];tW(e[A]);)r.push(e[A++]);var n=r.length?parseInt(tg.apply(void 0,r),10):0;46===e[A]&&A++;for(var a=[];tW(e[A]);)a.push(e[A++]);var s=a.length,i=s?parseInt(tg.apply(void 0,a),10):0;(69===e[A]||101===e[A])&&A++;var o=1;(43===e[A]||45===e[A])&&(45===e[A]&&(o=-1),A++);for(var l=[];tW(e[A]);)l.push(e[A++]);return t*(n+i*Math.pow(10,-s))*Math.pow(10,o*(l.length?parseInt(tg.apply(void 0,l),10):0))},t4={type:2},t3={type:3},t5={type:4},t6={type:13},t8={type:8},t9={type:21},t7={type:9},re={type:10},rA={type:11},rt={type:12},rr={type:14},rn={type:23},ra={type:1},rs={type:25},ri={type:24},ro={type:26},rl={type:27},rc={type:28},ru={type:29},rd={type:31},rp={type:32},rh=function(){function e(){this._value=[]}return e.prototype.write=function(e){this._value=this._value.concat(th(e))},e.prototype.read=function(){for(var e=[],A=this.consumeToken();A!==rp;)e.push(A),A=this.consumeToken();return e},e.prototype.consumeToken=function(){var e=this.consumeCodePoint();switch(e){case 34:return this.consumeStringToken(34);case 35:var A=this.peekCodePoint(0),t=this.peekCodePoint(1),r=this.peekCodePoint(2);if(t$(A)||tZ(t,r)){var n=t0(A,t,r)?2:1,a=this.consumeName();return{type:5,value:a,flags:n}}break;case 36:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),t6;break;case 39:return this.consumeStringToken(39);case 40:return t4;case 41:return t3;case 42:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),rr;break;case 43:case 46:if(t1(e,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(e),this.consumeNumericToken();break;case 44:return t5;case 45:var s=this.peekCodePoint(0),i=this.peekCodePoint(1);if(t1(e,s,i))return this.reconsumeCodePoint(e),this.consumeNumericToken();if(t0(e,s,i))return this.reconsumeCodePoint(e),this.consumeIdentLikeToken();if(45===s&&62===i)return this.consumeCodePoint(),this.consumeCodePoint(),ri;break;case 47:if(42===this.peekCodePoint(0))for(this.consumeCodePoint();;){var o=this.consumeCodePoint();if(42===o&&47===(o=this.consumeCodePoint())||-1===o)return this.consumeToken()}break;case 58:return ro;case 59:return rl;case 60:if(33===this.peekCodePoint(0)&&45===this.peekCodePoint(1)&&45===this.peekCodePoint(2))return this.consumeCodePoint(),this.consumeCodePoint(),rs;break;case 64:if(t0(this.peekCodePoint(0),this.peekCodePoint(1),this.peekCodePoint(2))){var a=this.consumeName();return{type:7,value:a}}break;case 91:return rc;case 92:if(tZ(e,this.peekCodePoint(0)))return this.reconsumeCodePoint(e),this.consumeIdentLikeToken();break;case 93:return ru;case 61:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),t8;break;case 123:return rA;case 125:return rt;case 117:case 85:var l=this.peekCodePoint(0),c=this.peekCodePoint(1);return 43===l&&(tJ(c)||63===c)&&(this.consumeCodePoint(),this.consumeUnicodeRangeToken()),this.reconsumeCodePoint(e),this.consumeIdentLikeToken();case 124:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),t7;if(124===this.peekCodePoint(0))return this.consumeCodePoint(),t9;break;case 126:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),re;break;case -1:return rp}return t_(e)?(this.consumeWhiteSpace(),rd):tW(e)?(this.reconsumeCodePoint(e),this.consumeNumericToken()):tY(e)?(this.reconsumeCodePoint(e),this.consumeIdentLikeToken()):{type:6,value:tg(e)}},e.prototype.consumeCodePoint=function(){var e=this._value.shift();return void 0===e?-1:e},e.prototype.reconsumeCodePoint=function(e){this._value.unshift(e)},e.prototype.peekCodePoint=function(e){return e>=this._value.length?-1:this._value[e]},e.prototype.consumeUnicodeRangeToken=function(){for(var e=[],A=this.consumeCodePoint();tJ(A)&&e.length<6;)e.push(A),A=this.consumeCodePoint();for(var t=!1;63===A&&e.length<6;)e.push(A),A=this.consumeCodePoint(),t=!0;if(t){var r=parseInt(tg.apply(void 0,e.map(function(e){return 63===e?48:e})),16),n=parseInt(tg.apply(void 0,e.map(function(e){return 63===e?70:e})),16);return{type:30,start:r,end:n}}var a=parseInt(tg.apply(void 0,e),16);if(!(45===this.peekCodePoint(0)&&tJ(this.peekCodePoint(1))))return{type:30,start:a,end:a};this.consumeCodePoint(),A=this.consumeCodePoint();for(var s=[];tJ(A)&&s.length<6;)s.push(A),A=this.consumeCodePoint();var n=parseInt(tg.apply(void 0,s),16);return{type:30,start:a,end:n}},e.prototype.consumeIdentLikeToken=function(){var e=this.consumeName();return"url"===e.toLowerCase()&&40===this.peekCodePoint(0)?(this.consumeCodePoint(),this.consumeUrlToken()):40===this.peekCodePoint(0)?(this.consumeCodePoint(),{type:19,value:e}):{type:20,value:e}},e.prototype.consumeUrlToken=function(){var e=[];if(this.consumeWhiteSpace(),-1===this.peekCodePoint(0))return{type:22,value:""};var A=this.peekCodePoint(0);if(39===A||34===A){var t=this.consumeStringToken(this.consumeCodePoint());return 0===t.type&&(this.consumeWhiteSpace(),-1===this.peekCodePoint(0)||41===this.peekCodePoint(0))?(this.consumeCodePoint(),{type:22,value:t.value}):(this.consumeBadUrlRemnants(),rn)}for(;;){var r,n=this.consumeCodePoint();if(-1===n||41===n)return{type:22,value:tg.apply(void 0,e)};if(t_(n)){if(this.consumeWhiteSpace(),-1===this.peekCodePoint(0)||41===this.peekCodePoint(0))return this.consumeCodePoint(),{type:22,value:tg.apply(void 0,e)};return this.consumeBadUrlRemnants(),rn}if(34===n||39===n||40===n||(r=n)>=0&&r<=8||11===r||r>=14&&r<=31||127===r)return this.consumeBadUrlRemnants(),rn;if(92===n)if(!tZ(n,this.peekCodePoint(0)))return this.consumeBadUrlRemnants(),rn;else e.push(this.consumeEscapedCodePoint());else e.push(n)}},e.prototype.consumeWhiteSpace=function(){for(;t_(this.peekCodePoint(0));)this.consumeCodePoint()},e.prototype.consumeBadUrlRemnants=function(){for(;;){var e=this.consumeCodePoint();if(41===e||-1===e)return;tZ(e,this.peekCodePoint(0))&&this.consumeEscapedCodePoint()}},e.prototype.consumeStringSlice=function(e){for(var A="";e>0;){var t=Math.min(5e4,e);A+=tg.apply(void 0,this._value.splice(0,t)),e-=t}return this._value.shift(),A},e.prototype.consumeStringToken=function(e){for(var A="",t=0;;){var r=this._value[t];if(-1===r||void 0===r||r===e)return{type:0,value:A+=this.consumeStringSlice(t)};if(10===r)return this._value.splice(0,t),ra;if(92===r){var n=this._value[t+1];-1!==n&&void 0!==n&&(10===n?(A+=this.consumeStringSlice(t),t=-1,this._value.shift()):tZ(r,n)&&(A+=this.consumeStringSlice(t),A+=tg(this.consumeEscapedCodePoint()),t=-1))}t++}},e.prototype.consumeNumber=function(){var e=[],A=4,t=this.peekCodePoint(0);for((43===t||45===t)&&e.push(this.consumeCodePoint());tW(this.peekCodePoint(0));)e.push(this.consumeCodePoint());t=this.peekCodePoint(0);var r=this.peekCodePoint(1);if(46===t&&tW(r))for(e.push(this.consumeCodePoint(),this.consumeCodePoint()),A=8;tW(this.peekCodePoint(0));)e.push(this.consumeCodePoint());t=this.peekCodePoint(0),r=this.peekCodePoint(1);var n=this.peekCodePoint(2);if((69===t||101===t)&&((43===r||45===r)&&tW(n)||tW(r)))for(e.push(this.consumeCodePoint(),this.consumeCodePoint()),A=8;tW(this.peekCodePoint(0));)e.push(this.consumeCodePoint());return[t2(e),A]},e.prototype.consumeNumericToken=function(){var e=this.consumeNumber(),A=e[0],t=e[1],r=this.peekCodePoint(0);return t0(r,this.peekCodePoint(1),this.peekCodePoint(2))?{type:15,number:A,flags:t,unit:this.consumeName()}:37===r?(this.consumeCodePoint(),{type:16,number:A,flags:t}):{type:17,number:A,flags:t}},e.prototype.consumeEscapedCodePoint=function(){var e=this.consumeCodePoint();if(tJ(e)){for(var A=tg(e);tJ(this.peekCodePoint(0))&&A.length<6;)A+=tg(this.consumeCodePoint());t_(this.peekCodePoint(0))&&this.consumeCodePoint();var t=parseInt(A,16);return 0===t||t>=55296&&t<=57343||t>1114111?65533:t}return -1===e?65533:e},e.prototype.consumeName=function(){for(var e="";;){var A=this.consumeCodePoint();if(t$(A))e+=tg(A);else{if(!tZ(A,this.peekCodePoint(0)))return this.reconsumeCodePoint(A),e;e+=tg(this.consumeEscapedCodePoint())}}},e}(),rg=function(){function e(e){this._tokens=e}return e.create=function(A){var t=new rh;return t.write(A),new e(t.read())},e.parseValue=function(A){return e.create(A).parseComponentValue()},e.parseValues=function(A){return e.create(A).parseComponentValues()},e.prototype.parseComponentValue=function(){for(var e=this.consumeToken();31===e.type;)e=this.consumeToken();if(32===e.type)throw SyntaxError("Error parsing CSS component value, unexpected EOF");this.reconsumeToken(e);var A=this.consumeComponentValue();do e=this.consumeToken();while(31===e.type);if(32===e.type)return A;throw SyntaxError("Error parsing CSS component value, multiple values found when expecting only one")},e.prototype.parseComponentValues=function(){for(var e=[];;){var A=this.consumeComponentValue();if(32===A.type)return e;e.push(A),e.push()}},e.prototype.consumeComponentValue=function(){var e=this.consumeToken();switch(e.type){case 11:case 28:case 2:return this.consumeSimpleBlock(e.type);case 19:return this.consumeFunction(e)}return e},e.prototype.consumeSimpleBlock=function(e){for(var A={type:e,values:[]},t=this.consumeToken();;){if(32===t.type||rC(t,e))return A;this.reconsumeToken(t),A.values.push(this.consumeComponentValue()),t=this.consumeToken()}},e.prototype.consumeFunction=function(e){for(var A={name:e.value,values:[],type:18};;){var t=this.consumeToken();if(32===t.type||3===t.type)return A;this.reconsumeToken(t),A.values.push(this.consumeComponentValue())}},e.prototype.consumeToken=function(){var e=this._tokens.shift();return void 0===e?rp:e},e.prototype.reconsumeToken=function(e){this._tokens.unshift(e)},e}(),rf=function(e){return 15===e.type},rm=function(e){return 17===e.type},rB=function(e){return 20===e.type},rw=function(e){return 0===e.type},rx=function(e,A){return rB(e)&&e.value===A},rv=function(e){return 31!==e.type},ry=function(e){return 31!==e.type&&4!==e.type},rb=function(e){var A=[],t=[];return e.forEach(function(e){if(4===e.type){if(0===t.length)throw Error("Error parsing function args, zero tokens for arg");A.push(t),t=[];return}31!==e.type&&t.push(e)}),t.length&&A.push(t),A},rC=function(e,A){return 11===A&&12===e.type||28===A&&29===e.type||2===A&&3===e.type},rQ=function(e){return 17===e.type||15===e.type},rF=function(e){return 16===e.type||rQ(e)},rU=function(e){return e.length>1?[e[0],e[1]]:[e[0]]},rk={type:17,number:0,flags:4},rE={type:16,number:50,flags:4},rj={type:16,number:100,flags:4},rI=function(e,A,t){var r=e[0],n=e[1];return[rH(r,A),rH(void 0!==n?n:r,t)]},rH=function(e,A){if(16===e.type)return e.number/100*A;if(rf(e))switch(e.unit){case"rem":case"em":return 16*e.number}return e.number},rS="grad",rN="turn",rL={parse:function(e,A){if(15===A.type)switch(A.unit){case"deg":return Math.PI*A.number/180;case rS:return Math.PI/200*A.number;case"rad":return A.number;case rN:return 2*Math.PI*A.number}throw Error("Unsupported angle type")}},rD=function(e){return 15===e.type&&("deg"===e.unit||e.unit===rS||"rad"===e.unit||e.unit===rN)},rT=function(e){switch(e.filter(rB).map(function(e){return e.value}).join(" ")){case"to bottom right":case"to right bottom":case"left top":case"top left":return[rk,rk];case"to top":case"bottom":return rM(0);case"to bottom left":case"to left bottom":case"right top":case"top right":return[rk,rj];case"to right":case"left":return rM(90);case"to top left":case"to left top":case"right bottom":case"bottom right":return[rj,rj];case"to bottom":case"top":return rM(180);case"to top right":case"to right top":case"left bottom":case"bottom left":return[rj,rk];case"to left":case"right":return rM(270)}return 0},rM=function(e){return Math.PI*e/180},rK={parse:function(e,A){if(18===A.type){var t=rW[A.name];if(void 0===t)throw Error('Attempting to parse an unsupported color function "'+A.name+'"');return t(e,A.values)}if(5===A.type){if(3===A.value.length){var r=A.value.substring(0,1),n=A.value.substring(1,2),a=A.value.substring(2,3);return rO(parseInt(r+r,16),parseInt(n+n,16),parseInt(a+a,16),1)}if(4===A.value.length){var r=A.value.substring(0,1),n=A.value.substring(1,2),a=A.value.substring(2,3),s=A.value.substring(3,4);return rO(parseInt(r+r,16),parseInt(n+n,16),parseInt(a+a,16),parseInt(s+s,16)/255)}if(6===A.value.length){var r=A.value.substring(0,2),n=A.value.substring(2,4),a=A.value.substring(4,6);return rO(parseInt(r,16),parseInt(n,16),parseInt(a,16),1)}if(8===A.value.length){var r=A.value.substring(0,2),n=A.value.substring(2,4),a=A.value.substring(4,6),s=A.value.substring(6,8);return rO(parseInt(r,16),parseInt(n,16),parseInt(a,16),parseInt(s,16)/255)}}if(20===A.type){var i=rX[A.value.toUpperCase()];if(void 0!==i)return i}return rX.TRANSPARENT}},rR=function(e){return(255&e)==0},rP=function(e){var A=255&e,t=255&e>>8,r=255&e>>16,n=255&e>>24;return A<255?"rgba("+n+","+r+","+t+","+A/255+")":"rgb("+n+","+r+","+t+")"},rO=function(e,A,t,r){return(e<<24|A<<16|t<<8|(0|Math.round(255*r)))>>>0},rV=function(e,A){if(17===e.type)return e.number;if(16===e.type){var t=3===A?1:255;return 3===A?e.number/100*t:Math.round(e.number/100*t)}return 0},rG=function(e,A){var t=A.filter(ry);if(3===t.length){var r=t.map(rV),n=r[0],a=r[1],s=r[2];return rO(n,a,s,1)}if(4===t.length){var i=t.map(rV),n=i[0],a=i[1],s=i[2];return rO(n,a,s,i[3])}return 0};function rz(e,A,t){return(t<0&&(t+=1),t>=1&&(t-=1),t<1/6)?(A-e)*t*6+e:t<.5?A:t<2/3?(A-e)*6*(2/3-t)+e:e}var rq=function(e,A){var t=A.filter(ry),r=t[0],n=t[1],a=t[2],s=t[3],i=(17===r.type?rM(r.number):rL.parse(e,r))/(2*Math.PI),o=rF(n)?n.number/100:0,l=rF(a)?a.number/100:0,c=void 0!==s&&rF(s)?rH(s,1):1;if(0===o)return rO(255*l,255*l,255*l,1);var u=l<=.5?l*(o+1):l+o-l*o,d=2*l-u;return rO(255*rz(d,u,i+1/3),255*rz(d,u,i),255*rz(d,u,i-1/3),c)},rW={hsl:rq,hsla:rq,rgb:rG,rgba:rG},rJ=function(e,A){return rK.parse(e,rg.create(A).parseComponentValue())},rX={ALICEBLUE:0xf0f8ffff,ANTIQUEWHITE:0xfaebd7ff,AQUA:0xffffff,AQUAMARINE:0x7fffd4ff,AZURE:0xf0ffffff,BEIGE:0xf5f5dcff,BISQUE:0xffe4c4ff,BLACK:255,BLANCHEDALMOND:0xffebcdff,BLUE:65535,BLUEVIOLET:0x8a2be2ff,BROWN:0xa52a2aff,BURLYWOOD:0xdeb887ff,CADETBLUE:0x5f9ea0ff,CHARTREUSE:0x7fff00ff,CHOCOLATE:0xd2691eff,CORAL:0xff7f50ff,CORNFLOWERBLUE:0x6495edff,CORNSILK:0xfff8dcff,CRIMSON:0xdc143cff,CYAN:0xffffff,DARKBLUE:35839,DARKCYAN:9145343,DARKGOLDENROD:0xb886bbff,DARKGRAY:0xa9a9a9ff,DARKGREEN:6553855,DARKGREY:0xa9a9a9ff,DARKKHAKI:0xbdb76bff,DARKMAGENTA:0x8b008bff,DARKOLIVEGREEN:0x556b2fff,DARKORANGE:0xff8c00ff,DARKORCHID:0x9932ccff,DARKRED:0x8b0000ff,DARKSALMON:0xe9967aff,DARKSEAGREEN:0x8fbc8fff,DARKSLATEBLUE:0x483d8bff,DARKSLATEGRAY:0x2f4f4fff,DARKSLATEGREY:0x2f4f4fff,DARKTURQUOISE:0xced1ff,DARKVIOLET:0x9400d3ff,DEEPPINK:0xff1493ff,DEEPSKYBLUE:0xbfffff,DIMGRAY:0x696969ff,DIMGREY:0x696969ff,DODGERBLUE:0x1e90ffff,FIREBRICK:0xb22222ff,FLORALWHITE:0xfffaf0ff,FORESTGREEN:0x228b22ff,FUCHSIA:0xff00ffff,GAINSBORO:0xdcdcdcff,GHOSTWHITE:0xf8f8ffff,GOLD:0xffd700ff,GOLDENROD:0xdaa520ff,GRAY:0x808080ff,GREEN:8388863,GREENYELLOW:0xadff2fff,GREY:0x808080ff,HONEYDEW:0xf0fff0ff,HOTPINK:0xff69b4ff,INDIANRED:0xcd5c5cff,INDIGO:0x4b0082ff,IVORY:0xfffff0ff,KHAKI:0xf0e68cff,LAVENDER:0xe6e6faff,LAVENDERBLUSH:0xfff0f5ff,LAWNGREEN:0x7cfc00ff,LEMONCHIFFON:0xfffacdff,LIGHTBLUE:0xadd8e6ff,LIGHTCORAL:0xf08080ff,LIGHTCYAN:0xe0ffffff,LIGHTGOLDENRODYELLOW:0xfafad2ff,LIGHTGRAY:0xd3d3d3ff,LIGHTGREEN:0x90ee90ff,LIGHTGREY:0xd3d3d3ff,LIGHTPINK:0xffb6c1ff,LIGHTSALMON:0xffa07aff,LIGHTSEAGREEN:0x20b2aaff,LIGHTSKYBLUE:0x87cefaff,LIGHTSLATEGRAY:0x778899ff,LIGHTSLATEGREY:0x778899ff,LIGHTSTEELBLUE:0xb0c4deff,LIGHTYELLOW:0xffffe0ff,LIME:0xff00ff,LIMEGREEN:0x32cd32ff,LINEN:0xfaf0e6ff,MAGENTA:0xff00ffff,MAROON:0x800000ff,MEDIUMAQUAMARINE:0x66cdaaff,MEDIUMBLUE:52735,MEDIUMORCHID:0xba55d3ff,MEDIUMPURPLE:0x9370dbff,MEDIUMSEAGREEN:0x3cb371ff,MEDIUMSLATEBLUE:0x7b68eeff,MEDIUMSPRINGGREEN:0xfa9aff,MEDIUMTURQUOISE:0x48d1ccff,MEDIUMVIOLETRED:0xc71585ff,MIDNIGHTBLUE:0x191970ff,MINTCREAM:0xf5fffaff,MISTYROSE:0xffe4e1ff,MOCCASIN:0xffe4b5ff,NAVAJOWHITE:0xffdeadff,NAVY:33023,OLDLACE:0xfdf5e6ff,OLIVE:0x808000ff,OLIVEDRAB:0x6b8e23ff,ORANGE:0xffa500ff,ORANGERED:0xff4500ff,ORCHID:0xda70d6ff,PALEGOLDENROD:0xeee8aaff,PALEGREEN:0x98fb98ff,PALETURQUOISE:0xafeeeeff,PALEVIOLETRED:0xdb7093ff,PAPAYAWHIP:0xffefd5ff,PEACHPUFF:0xffdab9ff,PERU:0xcd853fff,PINK:0xffc0cbff,PLUM:0xdda0ddff,POWDERBLUE:0xb0e0e6ff,PURPLE:0x800080ff,REBECCAPURPLE:0x663399ff,RED:0xff0000ff,ROSYBROWN:0xbc8f8fff,ROYALBLUE:0x4169e1ff,SADDLEBROWN:0x8b4513ff,SALMON:0xfa8072ff,SANDYBROWN:0xf4a460ff,SEAGREEN:0x2e8b57ff,SEASHELL:0xfff5eeff,SIENNA:0xa0522dff,SILVER:0xc0c0c0ff,SKYBLUE:0x87ceebff,SLATEBLUE:0x6a5acdff,SLATEGRAY:0x708090ff,SLATEGREY:0x708090ff,SNOW:0xfffafaff,SPRINGGREEN:0xff7fff,STEELBLUE:0x4682b4ff,TAN:0xd2b48cff,TEAL:8421631,THISTLE:0xd8bfd8ff,TOMATO:0xff6347ff,TRANSPARENT:0,TURQUOISE:0x40e0d0ff,VIOLET:0xee82eeff,WHEAT:0xf5deb3ff,WHITE:0xffffffff,WHITESMOKE:0xf5f5f5ff,YELLOW:0xffff00ff,YELLOWGREEN:0x9acd32ff},r_={name:"background-clip",initialValue:"border-box",prefix:!1,type:1,parse:function(e,A){return A.map(function(e){if(rB(e))switch(e.value){case"padding-box":return 1;case"content-box":return 2}return 0})}},rY={name:"background-color",initialValue:"transparent",prefix:!1,type:3,format:"color"},r$=function(e,A){var t=rK.parse(e,A[0]),r=A[1];return r&&rF(r)?{color:t,stop:r}:{color:t,stop:null}},rZ=function(e,A){var t=e[0],r=e[e.length-1];null===t.stop&&(t.stop=rk),null===r.stop&&(r.stop=rj);for(var n=[],a=0,s=0;sa?n.push(o):n.push(a),a=o}else n.push(null)}for(var l=null,s=0;se.optimumDistance)?{optimumCorner:A,optimumDistance:a}:e},{optimumDistance:n?1/0:-1/0,optimumCorner:null}).optimumCorner},r3=function(e,A,t,r,n){var a=0,s=0;switch(e.size){case 0:0===e.shape?a=s=Math.min(Math.abs(A),Math.abs(A-r),Math.abs(t),Math.abs(t-n)):1===e.shape&&(a=Math.min(Math.abs(A),Math.abs(A-r)),s=Math.min(Math.abs(t),Math.abs(t-n)));break;case 2:if(0===e.shape)a=s=Math.min(r2(A,t),r2(A,t-n),r2(A-r,t),r2(A-r,t-n));else if(1===e.shape){var i=Math.min(Math.abs(t),Math.abs(t-n))/Math.min(Math.abs(A),Math.abs(A-r)),o=r4(r,n,A,t,!0),l=o[0],c=o[1];a=r2(l-A,(c-t)/i),s=i*a}break;case 1:0===e.shape?a=s=Math.max(Math.abs(A),Math.abs(A-r),Math.abs(t),Math.abs(t-n)):1===e.shape&&(a=Math.max(Math.abs(A),Math.abs(A-r)),s=Math.max(Math.abs(t),Math.abs(t-n)));break;case 3:if(0===e.shape)a=s=Math.max(r2(A,t),r2(A,t-n),r2(A-r,t),r2(A-r,t-n));else if(1===e.shape){var i=Math.max(Math.abs(t),Math.abs(t-n))/Math.max(Math.abs(A),Math.abs(A-r)),u=r4(r,n,A,t,!1),l=u[0],c=u[1];a=r2(l-A,(c-t)/i),s=i*a}}return Array.isArray(e.size)&&(a=rH(e.size[0],r),s=2===e.size.length?rH(e.size[1],n):a),[a,s]},r5=function(e,A){var t=rM(180),r=[];return rb(A).forEach(function(A,n){if(0===n){var a=A[0];if(20===a.type&&-1!==["top","left","right","bottom"].indexOf(a.value)){t=rT(A);return}if(rD(a)){t=(rL.parse(e,a)+rM(270))%rM(360);return}}var s=r$(e,A);r.push(s)}),{angle:t,stops:r,type:1}},r6="closest-side",r8="farthest-side",r9="closest-corner",r7="farthest-corner",ne="circle",nA="ellipse",nt="cover",nr="contain",nn=function(e,A){var t=0,r=3,n=[],a=[];return rb(A).forEach(function(A,s){var i=!0;if(0===s?i=A.reduce(function(e,A){if(rB(A))switch(A.value){case"center":return a.push(rE),!1;case"top":case"left":return a.push(rk),!1;case"right":case"bottom":return a.push(rj),!1}else if(rF(A)||rQ(A))return a.push(A),!1;return e},i):1===s&&(i=A.reduce(function(e,A){if(rB(A))switch(A.value){case ne:return t=0,!1;case nA:return t=1,!1;case nr:case r6:return r=0,!1;case r8:return r=1,!1;case r9:return r=2,!1;case nt:case r7:return r=3,!1}else if(rQ(A)||rF(A))return Array.isArray(r)||(r=[]),r.push(A),!1;return e},i)),i){var o=r$(e,A);n.push(o)}}),{size:r,shape:t,stops:n,position:a,type:2}},na={parse:function(e,A){if(22===A.type){var t={url:A.value,type:0};return e.cache.addImage(A.value),t}if(18===A.type){var r=ns[A.name];if(void 0===r)throw Error('Attempting to parse an unsupported image function "'+A.name+'"');return r(e,A.values)}throw Error("Unsupported image type "+A.type)}},ns={"linear-gradient":function(e,A){var t=rM(180),r=[];return rb(A).forEach(function(A,n){if(0===n){var a=A[0];if(20===a.type&&"to"===a.value){t=rT(A);return}if(rD(a)){t=rL.parse(e,a);return}}var s=r$(e,A);r.push(s)}),{angle:t,stops:r,type:1}},"-moz-linear-gradient":r5,"-ms-linear-gradient":r5,"-o-linear-gradient":r5,"-webkit-linear-gradient":r5,"radial-gradient":function(e,A){var t=0,r=3,n=[],a=[];return rb(A).forEach(function(A,s){var i=!0;if(0===s){var o=!1;i=A.reduce(function(e,A){if(o)if(rB(A))switch(A.value){case"center":a.push(rE);break;case"top":case"left":a.push(rk);break;case"right":case"bottom":a.push(rj)}else(rF(A)||rQ(A))&&a.push(A);else if(rB(A))switch(A.value){case ne:return t=0,!1;case nA:return t=1,!1;case"at":return o=!0,!1;case r6:return r=0,!1;case nt:case r8:return r=1,!1;case nr:case r9:return r=2,!1;case r7:return r=3,!1}else if(rQ(A)||rF(A))return Array.isArray(r)||(r=[]),r.push(A),!1;return e},i)}if(i){var l=r$(e,A);n.push(l)}}),{size:r,shape:t,stops:n,position:a,type:2}},"-moz-radial-gradient":nn,"-ms-radial-gradient":nn,"-o-radial-gradient":nn,"-webkit-radial-gradient":nn,"-webkit-gradient":function(e,A){var t=rM(180),r=[],n=1;return rb(A).forEach(function(A,t){var a=A[0];if(0===t){if(rB(a)&&"linear"===a.value){n=1;return}else if(rB(a)&&"radial"===a.value){n=2;return}}if(18===a.type){if("from"===a.name){var s=rK.parse(e,a.values[0]);r.push({stop:rk,color:s})}else if("to"===a.name){var s=rK.parse(e,a.values[0]);r.push({stop:rj,color:s})}else if("color-stop"===a.name){var i=a.values.filter(ry);if(2===i.length){var s=rK.parse(e,i[1]),o=i[0];rm(o)&&r.push({stop:{type:16,number:100*o.number,flags:o.flags},color:s})}}}}),1===n?{angle:(t+rM(180))%rM(360),stops:r,type:n}:{size:3,shape:0,stops:r,position:[],type:n}}},ni={name:"background-image",initialValue:"none",type:1,prefix:!1,parse:function(e,A){if(0===A.length)return[];var t=A[0];return 20===t.type&&"none"===t.value?[]:A.filter(function(e){var A;return ry(e)&&(20!==(A=e).type||"none"!==A.value)&&(18!==A.type||!!ns[A.name])}).map(function(A){return na.parse(e,A)})}},no={name:"background-origin",initialValue:"border-box",prefix:!1,type:1,parse:function(e,A){return A.map(function(e){if(rB(e))switch(e.value){case"padding-box":return 1;case"content-box":return 2}return 0})}},nl={name:"background-position",initialValue:"0% 0%",type:1,prefix:!1,parse:function(e,A){return rb(A).map(function(e){return e.filter(rF)}).map(rU)}},nc={name:"background-repeat",initialValue:"repeat",prefix:!1,type:1,parse:function(e,A){return rb(A).map(function(e){return e.filter(rB).map(function(e){return e.value}).join(" ")}).map(nu)}},nu=function(e){switch(e){case"no-repeat":return 1;case"repeat-x":case"repeat no-repeat":return 2;case"repeat-y":case"no-repeat repeat":return 3;default:return 0}};!function(e){e.AUTO="auto",e.CONTAIN="contain",e.COVER="cover"}(a||(a={}));var nd={name:"background-size",initialValue:"0",prefix:!1,type:1,parse:function(e,A){return rb(A).map(function(e){return e.filter(np)})}},np=function(e){return rB(e)||rF(e)},nh=function(e){return{name:"border-"+e+"-color",initialValue:"transparent",prefix:!1,type:3,format:"color"}},ng=nh("top"),nf=nh("right"),nm=nh("bottom"),nB=nh("left"),nw=function(e){return{name:"border-radius-"+e,initialValue:"0 0",prefix:!1,type:1,parse:function(e,A){return rU(A.filter(rF))}}},nx=nw("top-left"),nv=nw("top-right"),ny=nw("bottom-right"),nb=nw("bottom-left"),nC=function(e){return{name:"border-"+e+"-style",initialValue:"solid",prefix:!1,type:2,parse:function(e,A){switch(A){case"none":return 0;case"dashed":return 2;case"dotted":return 3;case"double":return 4}return 1}}},nQ=nC("top"),nF=nC("right"),nU=nC("bottom"),nk=nC("left"),nE=function(e){return{name:"border-"+e+"-width",initialValue:"0",type:0,prefix:!1,parse:function(e,A){return rf(A)?A.number:0}}},nj=nE("top"),nI=nE("right"),nH=nE("bottom"),nS=nE("left"),nN={name:"color",initialValue:"transparent",prefix:!1,type:3,format:"color"},nL={name:"direction",initialValue:"ltr",prefix:!1,type:2,parse:function(e,A){return+("rtl"===A)}},nD={name:"display",initialValue:"inline-block",prefix:!1,type:1,parse:function(e,A){return A.filter(rB).reduce(function(e,A){return e|nT(A.value)},0)}},nT=function(e){switch(e){case"block":case"-webkit-box":return 2;case"inline":return 4;case"run-in":return 8;case"flow":return 16;case"flow-root":return 32;case"table":return 64;case"flex":case"-webkit-flex":return 128;case"grid":case"-ms-grid":return 256;case"ruby":return 512;case"subgrid":return 1024;case"list-item":return 2048;case"table-row-group":return 4096;case"table-header-group":return 8192;case"table-footer-group":return 16384;case"table-row":return 32768;case"table-cell":return 65536;case"table-column-group":return 131072;case"table-column":return 262144;case"table-caption":return 524288;case"ruby-base":return 1048576;case"ruby-text":return 2097152;case"ruby-base-container":return 4194304;case"ruby-text-container":return 8388608;case"contents":return 0x1000000;case"inline-block":return 0x2000000;case"inline-list-item":return 0x4000000;case"inline-table":return 0x8000000;case"inline-flex":return 0x10000000;case"inline-grid":return 0x20000000}return 0},nM={name:"float",initialValue:"none",prefix:!1,type:2,parse:function(e,A){switch(A){case"left":return 1;case"right":return 2;case"inline-start":return 3;case"inline-end":return 4}return 0}},nK={name:"letter-spacing",initialValue:"0",prefix:!1,type:0,parse:function(e,A){return 20===A.type&&"normal"===A.value?0:17===A.type||15===A.type?A.number:0}};!function(e){e.NORMAL="normal",e.STRICT="strict"}(s||(s={}));var nR={name:"line-break",initialValue:"normal",prefix:!1,type:2,parse:function(e,A){return"strict"===A?s.STRICT:s.NORMAL}},nP={name:"line-height",initialValue:"normal",prefix:!1,type:4},nO=function(e,A){return rB(e)&&"normal"===e.value?1.2*A:17===e.type?A*e.number:rF(e)?rH(e,A):A},nV={name:"list-style-image",initialValue:"none",type:0,prefix:!1,parse:function(e,A){return 20===A.type&&"none"===A.value?null:na.parse(e,A)}},nG={name:"list-style-position",initialValue:"outside",prefix:!1,type:2,parse:function(e,A){return+("inside"!==A)}},nz={name:"list-style-type",initialValue:"none",prefix:!1,type:2,parse:function(e,A){switch(A){case"disc":return 0;case"circle":return 1;case"square":return 2;case"decimal":return 3;case"cjk-decimal":return 4;case"decimal-leading-zero":return 5;case"lower-roman":return 6;case"upper-roman":return 7;case"lower-greek":return 8;case"lower-alpha":return 9;case"upper-alpha":return 10;case"arabic-indic":return 11;case"armenian":return 12;case"bengali":return 13;case"cambodian":return 14;case"cjk-earthly-branch":return 15;case"cjk-heavenly-stem":return 16;case"cjk-ideographic":return 17;case"devanagari":return 18;case"ethiopic-numeric":return 19;case"georgian":return 20;case"gujarati":return 21;case"gurmukhi":case"hebrew":return 22;case"hiragana":return 23;case"hiragana-iroha":return 24;case"japanese-formal":return 25;case"japanese-informal":return 26;case"kannada":return 27;case"katakana":return 28;case"katakana-iroha":return 29;case"khmer":return 30;case"korean-hangul-formal":return 31;case"korean-hanja-formal":return 32;case"korean-hanja-informal":return 33;case"lao":return 34;case"lower-armenian":return 35;case"malayalam":return 36;case"mongolian":return 37;case"myanmar":return 38;case"oriya":return 39;case"persian":return 40;case"simp-chinese-formal":return 41;case"simp-chinese-informal":return 42;case"tamil":return 43;case"telugu":return 44;case"thai":return 45;case"tibetan":return 46;case"trad-chinese-formal":return 47;case"trad-chinese-informal":return 48;case"upper-armenian":return 49;case"disclosure-open":return 50;case"disclosure-closed":return 51;default:return -1}}},nq=function(e){return{name:"margin-"+e,initialValue:"0",prefix:!1,type:4}},nW=nq("top"),nJ=nq("right"),nX=nq("bottom"),n_=nq("left"),nY={name:"overflow",initialValue:"visible",prefix:!1,type:1,parse:function(e,A){return A.filter(rB).map(function(e){switch(e.value){case"hidden":return 1;case"scroll":return 2;case"clip":return 3;case"auto":return 4;default:return 0}})}},n$={name:"overflow-wrap",initialValue:"normal",prefix:!1,type:2,parse:function(e,A){return"break-word"===A?"break-word":"normal"}},nZ=function(e){return{name:"padding-"+e,initialValue:"0",prefix:!1,type:3,format:"length-percentage"}},n0=nZ("top"),n1=nZ("right"),n2=nZ("bottom"),n4=nZ("left"),n3={name:"text-align",initialValue:"left",prefix:!1,type:2,parse:function(e,A){switch(A){case"right":return 2;case"center":case"justify":return 1;default:return 0}}},n5={name:"position",initialValue:"static",prefix:!1,type:2,parse:function(e,A){switch(A){case"relative":return 1;case"absolute":return 2;case"fixed":return 3;case"sticky":return 4}return 0}},n6={name:"text-shadow",initialValue:"none",type:1,prefix:!1,parse:function(e,A){return 1===A.length&&rx(A[0],"none")?[]:rb(A).map(function(A){for(var t={color:rX.TRANSPARENT,offsetX:rk,offsetY:rk,blur:rk},r=0,n=0;n1)],this.overflowWrap=aE(e,n$,A.overflowWrap),this.paddingTop=aE(e,n0,A.paddingTop),this.paddingRight=aE(e,n1,A.paddingRight),this.paddingBottom=aE(e,n2,A.paddingBottom),this.paddingLeft=aE(e,n4,A.paddingLeft),this.paintOrder=aE(e,ab,A.paintOrder),this.position=aE(e,n5,A.position),this.textAlign=aE(e,n3,A.textAlign),this.textDecorationColor=aE(e,ao,null!=(t=A.textDecorationColor)?t:A.color),this.textDecorationLine=aE(e,al,null!=(r=A.textDecorationLine)?r:A.textDecoration),this.textShadow=aE(e,n6,A.textShadow),this.textTransform=aE(e,n8,A.textTransform),this.transform=aE(e,n9,A.transform),this.transformOrigin=aE(e,at,A.transformOrigin),this.visibility=aE(e,ar,A.visibility),this.webkitTextStrokeColor=aE(e,aC,A.webkitTextStrokeColor),this.webkitTextStrokeWidth=aE(e,aQ,A.webkitTextStrokeWidth),this.wordBreak=aE(e,an,A.wordBreak),this.zIndex=aE(e,aa,A.zIndex)}return e.prototype.isVisible=function(){return this.display>0&&this.opacity>0&&0===this.visibility},e.prototype.isTransparent=function(){return rR(this.backgroundColor)},e.prototype.isTransformed=function(){return null!==this.transform},e.prototype.isPositioned=function(){return 0!==this.position},e.prototype.isPositionedWithZIndex=function(){return this.isPositioned()&&!this.zIndex.auto},e.prototype.isFloating=function(){return 0!==this.float},e.prototype.isInlineLevel=function(){return ag(this.display,4)||ag(this.display,0x2000000)||ag(this.display,0x10000000)||ag(this.display,0x20000000)||ag(this.display,0x4000000)||ag(this.display,0x8000000)},e}(),aU=function(e,A){this.content=aE(e,af,A.content),this.quotes=aE(e,ax,A.quotes)},ak=function(e,A){this.counterIncrement=aE(e,am,A.counterIncrement),this.counterReset=aE(e,aB,A.counterReset)},aE=function(e,A,t){var r=new rh,n=null!=t?t.toString():A.initialValue;r.write(n);var a=new rg(r.read());switch(A.type){case 2:var s=a.parseComponentValue();return A.parse(e,rB(s)?s.value:A.initialValue);case 0:return A.parse(e,a.parseComponentValue());case 1:return A.parse(e,a.parseComponentValues());case 4:return a.parseComponentValue();case 3:switch(A.format){case"angle":return rL.parse(e,a.parseComponentValue());case"color":return rK.parse(e,a.parseComponentValue());case"image":return na.parse(e,a.parseComponentValue());case"length":var i=a.parseComponentValue();return rQ(i)?i:rk;case"length-percentage":var o=a.parseComponentValue();return rF(o)?o:rk;case"time":return as.parse(e,a.parseComponentValue())}}},aj=function(e){switch(e.getAttribute("data-html2canvas-debug")){case"all":return 1;case"clone":return 2;case"parse":return 3;case"render":return 4;default:return 0}},aI=function(e,A){var t=aj(e);return 1===t||A===t},aH=function(e,A){this.context=e,this.textNodes=[],this.elements=[],this.flags=0,aI(A,3),this.styles=new aF(e,window.getComputedStyle(A,null)),sK(A)&&(this.styles.animationDuration.some(function(e){return e>0})&&(A.style.animationDuration="0s"),null!==this.styles.transform&&(A.style.transform="none")),this.bounds=td(this.context,A),aI(A,4)&&(this.flags|=16)},aS="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",aN="undefined"==typeof Uint8Array?[]:new Uint8Array(256),aL=0;aL>4,c[o++]=(15&r)<<4|n>>2,c[o++]=(3&n)<<6|63&a;return l},aT=function(e){for(var A=e.length,t=[],r=0;r=0){if(e<55296||e>56319&&e<=65535)return A=((A=this.index[e>>5])<<2)+(31&e),this.data[A];if(e<=65535)return A=((A=this.index[2048+(e-55296>>5)])<<2)+(31&e),this.data[A];if(e>11),A=this.index[A]+(e>>5&63),A=((A=this.index[A])<<2)+(31&e),this.data[A];if(e<=1114111)return this.data[this.highValueIndex]}return this.errorValue},e}(),aO="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",aV="undefined"==typeof Uint8Array?[]:new Uint8Array(256),aG=0;aG=55296&&n<=56319&&t>10)+55296,s%1024+56320)),(n+1===t||r.length>16384)&&(a+=String.fromCharCode.apply(String,r),r.length=0)}return a},aW=function(e,A){var t,r,n=aD(e),a=Array.isArray(n)?aM(n):new Uint32Array(n),s=Array.isArray(n)?aT(n):new Uint16Array(n),i=aR(s,12,a[4]/2),o=2===a[5]?aR(s,(24+a[4])/2):(t=Math.ceil((24+a[4])/4),a.slice?a.slice(t,void 0):new Uint32Array(Array.prototype.slice.call(a,t,r)));return new aP(a[0],a[1],a[2],a[3],i,o)}("AAAAAAAAAAAAEA4AGBkAAFAaAAACAAAAAAAIABAAGAAwADgACAAQAAgAEAAIABAACAAQAAgAEAAIABAACAAQAAgAEAAIABAAQABIAEQATAAIABAACAAQAAgAEAAIABAAVABcAAgAEAAIABAACAAQAGAAaABwAHgAgACIAI4AlgAIABAAmwCjAKgAsAC2AL4AvQDFAMoA0gBPAVYBWgEIAAgACACMANoAYgFkAWwBdAF8AX0BhQGNAZUBlgGeAaMBlQGWAasBswF8AbsBwwF0AcsBYwHTAQgA2wG/AOMBdAF8AekB8QF0AfkB+wHiAHQBfAEIAAMC5gQIAAsCEgIIAAgAFgIeAggAIgIpAggAMQI5AkACygEIAAgASAJQAlgCYAIIAAgACAAKBQoFCgUTBRMFGQUrBSsFCAAIAAgACAAIAAgACAAIAAgACABdAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABoAmgCrwGvAQgAbgJ2AggAHgEIAAgACADnAXsCCAAIAAgAgwIIAAgACAAIAAgACACKAggAkQKZAggAPADJAAgAoQKkAqwCsgK6AsICCADJAggA0AIIAAgACAAIANYC3gIIAAgACAAIAAgACABAAOYCCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAkASoB+QIEAAgACAA8AEMCCABCBQgACABJBVAFCAAIAAgACAAIAAgACAAIAAgACABTBVoFCAAIAFoFCABfBWUFCAAIAAgACAAIAAgAbQUIAAgACAAIAAgACABzBXsFfQWFBYoFigWKBZEFigWKBYoFmAWfBaYFrgWxBbkFCAAIAAgACAAIAAgACAAIAAgACAAIAMEFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAMgFCADQBQgACAAIAAgACAAIAAgACAAIAAgACAAIAO4CCAAIAAgAiQAIAAgACABAAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAD0AggACAD8AggACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIANYFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAMDvwAIAAgAJAIIAAgACAAIAAgACAAIAAgACwMTAwgACAB9BOsEGwMjAwgAKwMyAwsFYgE3A/MEPwMIAEUDTQNRAwgAWQOsAGEDCAAIAAgACAAIAAgACABpAzQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFIQUoBSwFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABtAwgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABMAEwACAAIAAgACAAIABgACAAIAAgACAC/AAgACAAyAQgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACAAIAAwAAgACAAIAAgACAAIAAgACAAIAAAARABIAAgACAAIABQASAAIAAgAIABwAEAAjgCIABsAqAC2AL0AigDQAtwC+IJIQqVAZUBWQqVAZUBlQGVAZUBlQGrC5UBlQGVAZUBlQGVAZUBlQGVAXsKlQGVAbAK6wsrDGUMpQzlDJUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAfAKAAuZA64AtwCJALoC6ADwAAgAuACgA/oEpgO6AqsD+AAIAAgAswMIAAgACAAIAIkAuwP5AfsBwwPLAwgACAAIAAgACADRA9kDCAAIAOED6QMIAAgACAAIAAgACADuA/YDCAAIAP4DyQAIAAgABgQIAAgAXQAOBAgACAAIAAgACAAIABMECAAIAAgACAAIAAgACAD8AAQBCAAIAAgAGgQiBCoECAExBAgAEAEIAAgACAAIAAgACAAIAAgACAAIAAgACAA4BAgACABABEYECAAIAAgATAQYAQgAVAQIAAgACAAIAAgACAAIAAgACAAIAFoECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAOQEIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAB+BAcACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAEABhgSMBAgACAAIAAgAlAQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAwAEAAQABAADAAMAAwADAAQABAAEAAQABAAEAAQABHATAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAdQMIAAgACAAIAAgACAAIAMkACAAIAAgAfQMIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACFA4kDCAAIAAgACAAIAOcBCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAIcDCAAIAAgACAAIAAgACAAIAAgACAAIAJEDCAAIAAgACADFAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABgBAgAZgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAbAQCBXIECAAIAHkECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABAAJwEQACjBKoEsgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAC6BMIECAAIAAgACAAIAAgACABmBAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAxwQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAGYECAAIAAgAzgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBd0FXwUIAOIF6gXxBYoF3gT5BQAGCAaKBYoFigWKBYoFigWKBYoFigWKBYoFigXWBIoFigWKBYoFigWKBYoFigWKBYsFEAaKBYoFigWKBYoFigWKBRQGCACKBYoFigWKBQgACAAIANEECAAIABgGigUgBggAJgYIAC4GMwaKBYoF0wQ3Bj4GigWKBYoFigWKBYoFigWKBYoFigWKBYoFigUIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWLBf///////wQABAAEAAQABAAEAAQABAAEAAQAAwAEAAQAAgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAQADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUAAAAFAAUAAAAFAAUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAQAAAAUABQAFAAUABQAFAAAAAAAFAAUAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAFAAUAAQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAAABwAHAAcAAAAHAAcABwAFAAEAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAcABwAFAAUAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAQABAAAAAAAAAAAAAAAFAAUABQAFAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAHAAcAAAAHAAcAAAAAAAUABQAHAAUAAQAHAAEABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwABAAUABQAFAAUAAAAAAAAAAAAAAAEAAQABAAEAAQABAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABQANAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAABQAHAAUABQAFAAAAAAAAAAcABQAFAAUABQAFAAQABAAEAAQABAAEAAQABAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUAAAAFAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAUAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAcABwAFAAcABwAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUABwAHAAUABQAFAAUAAAAAAAcABwAAAAAABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAAAAAAAAAAABQAFAAAAAAAFAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAFAAUABQAFAAUAAAAFAAUABwAAAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABwAFAAUABQAFAAAAAAAHAAcAAAAAAAcABwAFAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAAAAAAAAAHAAcABwAAAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAUABQAFAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAHAAcABQAHAAcAAAAFAAcABwAAAAcABwAFAAUAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAFAAcABwAFAAUABQAAAAUAAAAHAAcABwAHAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAHAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUAAAAFAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAUAAAAFAAUAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABwAFAAUABQAFAAUABQAAAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABQAFAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAFAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAHAAUABQAFAAUABQAFAAUABwAHAAcABwAHAAcABwAHAAUABwAHAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABwAHAAcABwAFAAUABwAHAAcAAAAAAAAAAAAHAAcABQAHAAcABwAHAAcABwAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAUABQAFAAUABQAFAAUAAAAFAAAABQAAAAAABQAFAAUABQAFAAUABQAFAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAUABQAFAAUABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABwAFAAcABwAHAAcABwAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAUABQAFAAUABwAHAAUABQAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABQAFAAcABwAHAAUABwAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAcABQAFAAUABQAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAAAAAABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAAAAAAAAAFAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAUABQAHAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAFAAUABQAFAAcABwAFAAUABwAHAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAcABwAFAAUABwAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABQAAAAAABQAFAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAcABwAAAAAAAAAAAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAcABwAFAAcABwAAAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAFAAUABQAAAAUABQAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABwAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAHAAcABQAHAAUABQAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAAABwAHAAAAAAAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAFAAUABwAFAAcABwAFAAcABQAFAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAAAAAABwAHAAcABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAFAAcABwAFAAUABQAFAAUABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAUABQAFAAcABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABQAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAAAAAAFAAUABwAHAAcABwAFAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAHAAUABQAFAAUABQAFAAUABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAABQAAAAUABQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAHAAcAAAAFAAUAAAAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABQAFAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAABQAFAAUABQAFAAUABQAAAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAFAAUABQAFAAUADgAOAA4ADgAOAA4ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAMAAwADAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAAAAAAAAAAAAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAAAAAAAAAAAAsADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwACwAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAADgAOAA4AAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAAAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4AAAAOAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAAAAAAAAAAAA4AAAAOAAAAAAAAAAAADgAOAA4AAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAA="),aJ=function(e){return aW.get(e)},aX=function(e,A,t){var r=t-2,n=A[r],a=A[t-1],s=A[t];if(2===a&&3===s)return"\xd7";if(2===a||3===a||4===a||2===s||3===s||4===s)return"\xf7";if(8===a&&-1!==[8,9,11,12].indexOf(s)||(11===a||9===a)&&(9===s||10===s)||(12===a||10===a)&&10===s||13===s||5===s||7===s||1===a)return"\xd7";if(13===a&&14===s){for(;5===n;)n=A[--r];if(14===n)return"\xd7"}if(15===a&&15===s){for(var i=0;15===n;)i++,n=A[--r];if(i%2==0)return"\xd7"}return"\xf7"},a_=function(e){var A=az(e),t=A.length,r=0,n=0,a=A.map(aJ);return{next:function(){if(r>=t)return{done:!0,value:null};for(var e="\xd7";rs.x||n.y>s.y;return s=n,0===A||i});return e.body.removeChild(A),i},a0=function(e){var A=new Image,t=e.createElement("canvas"),r=t.getContext("2d");if(!r)return!1;A.src="data:image/svg+xml,";try{r.drawImage(A,0,0),t.toDataURL()}catch(e){return!1}return!0},a1=function(e){return 0===e[0]&&255===e[1]&&0===e[2]&&255===e[3]},a2=function(e){var A=e.createElement("canvas");A.width=100,A.height=100;var t=A.getContext("2d");if(!t)return Promise.reject(!1);t.fillStyle="rgb(0, 255, 0)",t.fillRect(0,0,100,100);var r=new Image,n=A.toDataURL();r.src=n;var a=a4(100,100,0,0,r);return t.fillStyle="red",t.fillRect(0,0,100,100),a3(a).then(function(A){t.drawImage(A,0,0);var r=t.getImageData(0,0,100,100).data;t.fillStyle="red",t.fillRect(0,0,100,100);var a=e.createElement("div");return a.style.backgroundImage="url("+n+")",a.style.height="100px",a1(r)?a3(a4(100,100,0,0,a)):Promise.reject(!1)}).then(function(e){return t.drawImage(e,0,0),a1(t.getImageData(0,0,100,100).data)}).catch(function(){return!1})},a4=function(e,A,t,r,n){var a="http://www.w3.org/2000/svg",s=document.createElementNS(a,"svg"),i=document.createElementNS(a,"foreignObject");return s.setAttributeNS(null,"width",e.toString()),s.setAttributeNS(null,"height",A.toString()),i.setAttributeNS(null,"width","100%"),i.setAttributeNS(null,"height","100%"),i.setAttributeNS(null,"x",t.toString()),i.setAttributeNS(null,"y",r.toString()),i.setAttributeNS(null,"externalResourcesRequired","true"),s.appendChild(i),i.appendChild(n),s},a3=function(e){return new Promise(function(A,t){var r=new Image;r.onload=function(){return A(r)},r.onerror=t,r.src="data:image/svg+xml;charset=utf-8,"+encodeURIComponent(new XMLSerializer().serializeToString(e))})},a5={get SUPPORT_RANGE_BOUNDS(){var a6=a$(document);return Object.defineProperty(a5,"SUPPORT_RANGE_BOUNDS",{value:a6}),a6},get SUPPORT_WORD_BREAKING(){var a8=a5.SUPPORT_RANGE_BOUNDS&&aZ(document);return Object.defineProperty(a5,"SUPPORT_WORD_BREAKING",{value:a8}),a8},get SUPPORT_SVG_DRAWING(){var a9=a0(document);return Object.defineProperty(a5,"SUPPORT_SVG_DRAWING",{value:a9}),a9},get SUPPORT_FOREIGNOBJECT_DRAWING(){var a7="function"==typeof Array.from&&"function"==typeof window.fetch?a2(document):Promise.resolve(!1);return Object.defineProperty(a5,"SUPPORT_FOREIGNOBJECT_DRAWING",{value:a7}),a7},get SUPPORT_CORS_IMAGES(){var se=void 0!==new Image().crossOrigin;return Object.defineProperty(a5,"SUPPORT_CORS_IMAGES",{value:se}),se},get SUPPORT_RESPONSE_TYPE(){var sA="string"==typeof new XMLHttpRequest().responseType;return Object.defineProperty(a5,"SUPPORT_RESPONSE_TYPE",{value:sA}),sA},get SUPPORT_CORS_XHR(){var st="withCredentials"in new XMLHttpRequest;return Object.defineProperty(a5,"SUPPORT_CORS_XHR",{value:st}),st},get SUPPORT_NATIVE_TEXT_SEGMENTATION(){var sr=!!("undefined"!=typeof Intl&&Intl.Segmenter);return Object.defineProperty(a5,"SUPPORT_NATIVE_TEXT_SEGMENTATION",{value:sr}),sr}},sn=function(e,A){this.text=e,this.bounds=A},sa=function(e,A,t,r){var n=sl(A,t),a=[],s=0;return n.forEach(function(A){if(t.textDecorationLine.length||A.trim().length>0)if(a5.SUPPORT_RANGE_BOUNDS){var n=si(r,s,A.length).getClientRects();if(n.length>1){var i=so(A),o=0;i.forEach(function(A){a.push(new sn(A,tu.fromDOMRectList(e,si(r,o+s,A.length).getClientRects()))),o+=A.length})}else a.push(new sn(A,tu.fromDOMRectList(e,n)))}else{var l=r.splitText(A.length);a.push(new sn(A,ss(e,r))),r=l}else a5.SUPPORT_RANGE_BOUNDS||(r=r.splitText(A.length));s+=A.length}),a},ss=function(e,A){var t=A.ownerDocument;if(t){var r=t.createElement("html2canvaswrapper");r.appendChild(A.cloneNode(!0));var n=A.parentNode;if(n){n.replaceChild(r,A);var a=td(e,r);return r.firstChild&&n.replaceChild(r.firstChild,r),a}}return tu.EMPTY},si=function(e,A,t){var r=e.ownerDocument;if(!r)throw Error("Node has no owner document");var n=r.createRange();return n.setStart(e,A),n.setEnd(e,A+t),n},so=function(e){return a5.SUPPORT_NATIVE_TEXT_SEGMENTATION?Array.from(new Intl.Segmenter(void 0,{granularity:"grapheme"}).segment(e)).map(function(e){return e.segment}):aY(e)},sl=function(e,A){return 0!==A.letterSpacing?so(e):a5.SUPPORT_NATIVE_TEXT_SEGMENTATION?Array.from(new Intl.Segmenter(void 0,{granularity:"word"}).segment(e)).map(function(e){return e.segment}):su(e,A)},sc=[32,160,4961,65792,65793,4153,4241],su=function(e,A){for(var t,r=tq(e,{lineBreak:A.lineBreak,wordBreak:"break-word"===A.overflowWrap?"break-word":A.wordBreak}),n=[];!(t=r.next()).done;)if(t.value){var a=th(t.value.slice()),s="";a.forEach(function(e){-1===sc.indexOf(e)?s+=tg(e):(s.length&&n.push(s),n.push(tg(e)),s="")}),s.length&&n.push(s)}return n},sd=function(e,A,t){this.text=sp(A.data,t.textTransform),this.textBounds=sa(e,this.text,t,A)},sp=function(e,A){switch(A){case 1:return e.toLowerCase();case 3:return e.replace(sh,sg);case 2:return e.toUpperCase();default:return e}},sh=/(^|\s|:|-|\(|\))([a-z])/g,sg=function(e,A,t){return e.length>0?A+t.toUpperCase():e},sf=function(e){function A(A,t){var r=e.call(this,A,t)||this;return r.src=t.currentSrc||t.src,r.intrinsicWidth=t.naturalWidth,r.intrinsicHeight=t.naturalHeight,r.context.cache.addImage(r.src),r}return ts(A,e),A}(aH),sm=function(e){function A(A,t){var r=e.call(this,A,t)||this;return r.canvas=t,r.intrinsicWidth=t.width,r.intrinsicHeight=t.height,r}return ts(A,e),A}(aH),sB=function(e){function A(A,t){var r=e.call(this,A,t)||this,n=new XMLSerializer,a=td(A,t);return t.setAttribute("width",a.width+"px"),t.setAttribute("height",a.height+"px"),r.svg="data:image/svg+xml,"+encodeURIComponent(n.serializeToString(t)),r.intrinsicWidth=t.width.baseVal.value,r.intrinsicHeight=t.height.baseVal.value,r.context.cache.addImage(r.svg),r}return ts(A,e),A}(aH),sw=function(e){function A(A,t){var r=e.call(this,A,t)||this;return r.value=t.value,r}return ts(A,e),A}(aH),sx=function(e){function A(A,t){var r=e.call(this,A,t)||this;return r.start=t.start,r.reversed="boolean"==typeof t.reversed&&!0===t.reversed,r}return ts(A,e),A}(aH),sv=[{type:15,flags:0,unit:"px",number:3}],sy=[{type:16,flags:0,number:50}],sb=function(e){var A=e.type===sF?Array(e.value.length+1).join("•"):e.value;return 0===A.length?e.placeholder||"":A},sC="checkbox",sQ="radio",sF="password",sU=function(e){function A(A,t){var r,n=e.call(this,A,t)||this;switch(n.type=t.type.toLowerCase(),n.checked=t.checked,n.value=sb(t),(n.type===sC||n.type===sQ)&&(n.styles.backgroundColor=0xdededeff,n.styles.borderTopColor=n.styles.borderRightColor=n.styles.borderBottomColor=n.styles.borderLeftColor=0xa5a5a5ff,n.styles.borderTopWidth=n.styles.borderRightWidth=n.styles.borderBottomWidth=n.styles.borderLeftWidth=1,n.styles.borderTopStyle=n.styles.borderRightStyle=n.styles.borderBottomStyle=n.styles.borderLeftStyle=1,n.styles.backgroundClip=[0],n.styles.backgroundOrigin=[0],n.bounds=(r=n.bounds).width>r.height?new tu(r.left+(r.width-r.height)/2,r.top,r.height,r.height):r.width0)t.textNodes.push(new sd(e,n,t.styles));else if(sM(n))if(sZ(n)&&n.assignedNodes)n.assignedNodes().forEach(function(A){return sH(e,A,t,r)});else{var s=sS(e,n);s.styles.isVisible()&&(sL(n,s,r)?s.flags|=4:sD(s.styles)&&(s.flags|=2),-1!==sI.indexOf(n.tagName)&&(s.flags|=8),t.elements.push(s),n.slot,n.shadowRoot?sH(e,n.shadowRoot,s,r):sY(n)||sG(n)||s$(n)||sH(e,n,s,r))}},sS=function(e,A){return sJ(A)?new sf(e,A):sq(A)?new sm(e,A):sG(A)?new sB(e,A):sP(A)?new sw(e,A):sO(A)?new sx(e,A):sV(A)?new sU(e,A):s$(A)?new sk(e,A):sY(A)?new sE(e,A):sX(A)?new sj(e,A):new aH(e,A)},sN=function(e,A){var t=sS(e,A);return t.flags|=4,sH(e,A,t,t),t},sL=function(e,A,t){return A.styles.isPositionedWithZIndex()||A.styles.opacity<1||A.styles.isTransformed()||sz(e)&&t.styles.isTransparent()},sD=function(e){return e.isPositioned()||e.isFloating()},sT=function(e){return e.nodeType===Node.TEXT_NODE},sM=function(e){return e.nodeType===Node.ELEMENT_NODE},sK=function(e){return sM(e)&&void 0!==e.style&&!sR(e)},sR=function(e){return"object"==typeof e.className},sP=function(e){return"LI"===e.tagName},sO=function(e){return"OL"===e.tagName},sV=function(e){return"INPUT"===e.tagName},sG=function(e){return"svg"===e.tagName},sz=function(e){return"BODY"===e.tagName},sq=function(e){return"CANVAS"===e.tagName},sW=function(e){return"VIDEO"===e.tagName},sJ=function(e){return"IMG"===e.tagName},sX=function(e){return"IFRAME"===e.tagName},s_=function(e){return"STYLE"===e.tagName},sY=function(e){return"TEXTAREA"===e.tagName},s$=function(e){return"SELECT"===e.tagName},sZ=function(e){return"SLOT"===e.tagName},s0=function(e){return e.tagName.indexOf("-")>0},s1=function(){function e(){this.counters={}}return e.prototype.getCounterValue=function(e){var A=this.counters[e];return A&&A.length?A[A.length-1]:1},e.prototype.getCounterValues=function(e){return this.counters[e]||[]},e.prototype.pop=function(e){var A=this;e.forEach(function(e){return A.counters[e].pop()})},e.prototype.parse=function(e){var A=this,t=e.counterIncrement,r=e.counterReset,n=!0;null!==t&&t.forEach(function(e){var t=A.counters[e.counter];t&&0!==e.increment&&(n=!1,t.length||t.push(1),t[Math.max(0,t.length-1)]+=e.increment)});var a=[];return n&&r.forEach(function(e){var t=A.counters[e.counter];a.push(e.counter),t||(t=A.counters[e.counter]=[]),t.push(e.reset)}),a},e}(),s2={integers:[1e3,900,500,400,100,90,50,40,10,9,5,4,1],values:["M","CM","D","CD","C","XC","L","XL","X","IX","V","IV","I"]},s4={integers:[9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],values:["Ք","Փ","Ւ","Ց","Ր","Տ","Վ","Ս","Ռ","Ջ","Պ","Չ","Ո","Շ","Ն","Յ","Մ","Ճ","Ղ","Ձ","Հ","Կ","Ծ","Խ","Լ","Ի","Ժ","Թ","Ը","Է","Զ","Ե","Դ","Գ","Բ","Ա"]},s3={integers:[1e4,9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,400,300,200,100,90,80,70,60,50,40,30,20,19,18,17,16,15,10,9,8,7,6,5,4,3,2,1],values:["י׳","ט׳","ח׳","ז׳","ו׳","ה׳","ד׳","ג׳","ב׳","א׳","ת","ש","ר","ק","צ","פ","ע","ס","נ","מ","ל","כ","יט","יח","יז","טז","טו","י","ט","ח","ז","ו","ה","ד","ג","ב","א"]},s5={integers:[1e4,9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],values:["ჵ","ჰ","ჯ","ჴ","ხ","ჭ","წ","ძ","ც","ჩ","შ","ყ","ღ","ქ","ფ","ჳ","ტ","ს","რ","ჟ","პ","ო","ჲ","ნ","მ","ლ","კ","ი","თ","ჱ","ზ","ვ","ე","დ","გ","ბ","ა"]},s6=function(e,A,t,r,n,a){return et?is(e,n,a.length>0):r.integers.reduce(function(A,t,n){for(;e>=t;)e-=t,A+=r.values[n];return A},"")+a},s8=function(e,A,t,r){var n="";do!t&&e--,n=r(e)+n,e/=A;while(e*A>=A);return n},s9=function(e,A,t,r,n){var a=t-A+1;return(e<0?"-":"")+(s8(Math.abs(e),a,r,function(e){return tg(Math.floor(e%a)+A)})+n)},s7=function(e,A,t){void 0===t&&(t=". ");var r=A.length;return s8(Math.abs(e),r,!1,function(e){return A[Math.floor(e%r)]})+t},ie=function(e,A,t,r,n,a){if(e<-9999||e>9999)return is(e,4,n.length>0);var s=Math.abs(e),i=n;if(0===s)return A[0]+i;for(var o=0;s>0&&o<=4;o++){var l=s%10;0===l&&ag(a,1)&&""!==i?i=A[l]+i:l>1||1===l&&0===o||1===l&&1===o&&ag(a,2)||1===l&&1===o&&ag(a,4)&&e>100||1===l&&o>1&&ag(a,8)?i=A[l]+(o>0?t[o-1]:"")+i:1===l&&o>0&&(i=t[o-1]+i),s=Math.floor(s/10)}return(e<0?r:"")+i},iA="十百千萬",it="拾佰仟萬",ir="マイナス",ia="마이너스",is=function(e,A,t){var r=t?". ":"",n=t?"、":"",a=t?", ":"",s=t?" ":"";switch(A){case 0:return"•"+s;case 1:return"◦"+s;case 2:return"◾"+s;case 5:var i=s9(e,48,57,!0,r);return i.length<4?"0"+i:i;case 4:return s7(e,"〇一二三四五六七八九",n);case 6:return s6(e,1,3999,s2,3,r).toLowerCase();case 7:return s6(e,1,3999,s2,3,r);case 8:return s9(e,945,969,!1,r);case 9:return s9(e,97,122,!1,r);case 10:return s9(e,65,90,!1,r);case 11:return s9(e,1632,1641,!0,r);case 12:case 49:return s6(e,1,9999,s4,3,r);case 35:return s6(e,1,9999,s4,3,r).toLowerCase();case 13:return s9(e,2534,2543,!0,r);case 14:case 30:return s9(e,6112,6121,!0,r);case 15:return s7(e,"子丑寅卯辰巳午未申酉戌亥",n);case 16:return s7(e,"甲乙丙丁戊己庚辛壬癸",n);case 17:case 48:return ie(e,"零一二三四五六七八九",iA,"負",n,14);case 47:return ie(e,"零壹貳參肆伍陸柒捌玖",it,"負",n,15);case 42:return ie(e,"零一二三四五六七八九",iA,"负",n,14);case 41:return ie(e,"零壹贰叁肆伍陆柒捌玖",it,"负",n,15);case 26:return ie(e,"〇一二三四五六七八九","十百千万",ir,n,0);case 25:return ie(e,"零壱弐参四伍六七八九","拾百千万",ir,n,7);case 31:return ie(e,"영일이삼사오육칠팔구","십백천만",ia,a,7);case 33:return ie(e,"零一二三四五六七八九","十百千萬",ia,a,0);case 32:return ie(e,"零壹貳參四五六七八九","拾百千",ia,a,7);case 18:return s9(e,2406,2415,!0,r);case 20:return s6(e,1,19999,s5,3,r);case 21:return s9(e,2790,2799,!0,r);case 22:return s9(e,2662,2671,!0,r);case 22:return s6(e,1,10999,s3,3,r);case 23:return s7(e,"あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわゐゑをん");case 24:return s7(e,"いろはにほへとちりぬるをわかよたれそつねならむうゐのおくやまけふこえてあさきゆめみしゑひもせす");case 27:return s9(e,3302,3311,!0,r);case 28:return s7(e,"アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヰヱヲン",n);case 29:return s7(e,"イロハニホヘトチリヌルヲワカヨタレソツネナラムウヰノオクヤマケフコエテアサキユメミシヱヒモセス",n);case 34:return s9(e,3792,3801,!0,r);case 37:return s9(e,6160,6169,!0,r);case 38:return s9(e,4160,4169,!0,r);case 39:return s9(e,2918,2927,!0,r);case 40:return s9(e,1776,1785,!0,r);case 43:return s9(e,3046,3055,!0,r);case 44:return s9(e,3174,3183,!0,r);case 45:return s9(e,3664,3673,!0,r);case 46:return s9(e,3872,3881,!0,r);default:return s9(e,48,57,!0,r)}},ii="data-html2canvas-ignore",io=function(){function e(e,A,t){if(this.context=e,this.options=t,this.scrolledElements=[],this.referenceElement=A,this.counters=new s1,this.quoteDepth=0,!A.ownerDocument)throw Error("Cloned element does not have an owner document");this.documentElement=this.cloneNode(A.ownerDocument.documentElement,!1)}return e.prototype.toIFrame=function(e,A){var t=this,r=il(e,A);if(!r.contentWindow)return Promise.reject("Unable to find iframe window");var n=e.defaultView.pageXOffset,a=e.defaultView.pageYOffset,s=r.contentWindow,i=s.document,o=id(r).then(function(){return to(t,void 0,void 0,function(){var e,t;return tl(this,function(n){switch(n.label){case 0:if(this.scrolledElements.forEach(iB),s&&(s.scrollTo(A.left,A.top),/(iPad|iPhone|iPod)/g.test(navigator.userAgent)&&(s.scrollY!==A.top||s.scrollX!==A.left)&&(this.context.logger.warn("Unable to restore scroll position for cloned document"),this.context.windowBounds=this.context.windowBounds.add(s.scrollX-A.left,s.scrollY-A.top,0,0))),e=this.options.onclone,void 0===(t=this.clonedReferenceElement))return[2,Promise.reject("Error finding the "+this.referenceElement.nodeName+" in the cloned document")];if(!(i.fonts&&i.fonts.ready))return[3,2];return[4,i.fonts.ready];case 1:n.sent(),n.label=2;case 2:if(!/(AppleWebKit)/g.test(navigator.userAgent))return[3,4];return[4,iu(i)];case 3:n.sent(),n.label=4;case 4:if("function"==typeof e)return[2,Promise.resolve().then(function(){return e(i,t)}).then(function(){return r})];return[2,r]}})})});return i.open(),i.write(ig(document.doctype)+""),im(this.referenceElement.ownerDocument,n,a),i.replaceChild(i.adoptNode(this.documentElement),i.documentElement),i.close(),o},e.prototype.createElementClone=function(e){if(aI(e,2),sq(e))return this.createCanvasClone(e);if(sW(e))return this.createVideoClone(e);if(s_(e))return this.createStyleClone(e);var A=e.cloneNode(!1);return(sJ(A)&&(sJ(e)&&e.currentSrc&&e.currentSrc!==e.src&&(A.src=e.currentSrc,A.srcset=""),"lazy"===A.loading&&(A.loading="eager")),s0(A))?this.createCustomElementClone(A):A},e.prototype.createCustomElementClone=function(e){var A=document.createElement("html2canvascustomelement");return ih(e.style,A),A},e.prototype.createStyleClone=function(e){try{var A=e.sheet;if(A&&A.cssRules){var t=[].slice.call(A.cssRules,0).reduce(function(e,A){return A&&"string"==typeof A.cssText?e+A.cssText:e},""),r=e.cloneNode(!1);return r.textContent=t,r}}catch(e){if(this.context.logger.error("Unable to access cssRules property",e),"SecurityError"!==e.name)throw e}return e.cloneNode(!1)},e.prototype.createCanvasClone=function(e){if(this.options.inlineImages&&e.ownerDocument){var A,t=e.ownerDocument.createElement("img");try{return t.src=e.toDataURL(),t}catch(A){this.context.logger.info("Unable to inline canvas contents, canvas is tainted",e)}}var r=e.cloneNode(!1);try{r.width=e.width,r.height=e.height;var n=e.getContext("2d"),a=r.getContext("2d");if(a)if(!this.options.allowTaint&&n)a.putImageData(n.getImageData(0,0,e.width,e.height),0,0);else{var s=null!=(A=e.getContext("webgl2"))?A:e.getContext("webgl");if(s){var i=s.getContextAttributes();(null==i?void 0:i.preserveDrawingBuffer)===!1&&this.context.logger.warn("Unable to clone WebGL context as it has preserveDrawingBuffer=false",e)}a.drawImage(e,0,0)}}catch(A){this.context.logger.info("Unable to clone canvas as it is tainted",e)}return r},e.prototype.createVideoClone=function(e){var A=e.ownerDocument.createElement("canvas");A.width=e.offsetWidth,A.height=e.offsetHeight;var t=A.getContext("2d");try{return t&&(t.drawImage(e,0,0,A.width,A.height),this.options.allowTaint||t.getImageData(0,0,A.width,A.height)),A}catch(A){this.context.logger.info("Unable to clone video as it is tainted",e)}var r=e.ownerDocument.createElement("canvas");return r.width=e.offsetWidth,r.height=e.offsetHeight,r},e.prototype.appendChildNode=function(e,A,t){sM(A)&&("SCRIPT"===A.tagName||A.hasAttribute(ii)||"function"==typeof this.options.ignoreElements&&this.options.ignoreElements(A))||this.options.copyStyles&&sM(A)&&s_(A)||e.appendChild(this.cloneNode(A,t))},e.prototype.cloneChildNodes=function(e,A,t){for(var r=this,n=e.shadowRoot?e.shadowRoot.firstChild:e.firstChild;n;n=n.nextSibling)if(sM(n)&&sZ(n)&&"function"==typeof n.assignedNodes){var a=n.assignedNodes();a.length&&a.forEach(function(e){return r.appendChildNode(A,e,t)})}else this.appendChildNode(A,n,t)},e.prototype.cloneNode=function(e,A){if(sT(e))return document.createTextNode(e.data);if(!e.ownerDocument)return e.cloneNode(!1);var t=e.ownerDocument.defaultView;if(t&&sM(e)&&(sK(e)||sR(e))){var r=this.createElementClone(e);r.style.transitionProperty="none";var n=t.getComputedStyle(e),a=t.getComputedStyle(e,":before"),s=t.getComputedStyle(e,":after");this.referenceElement===e&&sK(r)&&(this.clonedReferenceElement=r),sz(r)&&iy(r);var i=this.counters.parse(new ak(this.context,n)),l=this.resolvePseudoContent(e,r,a,o.BEFORE);s0(e)&&(A=!0),sW(e)||this.cloneChildNodes(e,r,A),l&&r.insertBefore(l,r.firstChild);var c=this.resolvePseudoContent(e,r,s,o.AFTER);return c&&r.appendChild(c),this.counters.pop(i),(n&&(this.options.copyStyles||sR(e))&&!sX(e)||A)&&ih(n,r),(0!==e.scrollTop||0!==e.scrollLeft)&&this.scrolledElements.push([r,e.scrollLeft,e.scrollTop]),(sY(e)||s$(e))&&(sY(r)||s$(r))&&(r.value=e.value),r}return e.cloneNode(!1)},e.prototype.resolvePseudoContent=function(e,A,t,r){var n=this;if(t){var a=t.content,s=A.ownerDocument;if(s&&a&&"none"!==a&&"-moz-alt-content"!==a&&"none"!==t.display){this.counters.parse(new ak(this.context,t));var i=new aU(this.context,t),l=s.createElement("html2canvaspseudoelement");ih(t,l),i.content.forEach(function(A){if(0===A.type)l.appendChild(s.createTextNode(A.value));else if(22===A.type){var t=s.createElement("img");t.src=A.value,t.style.opacity="1",l.appendChild(t)}else if(18===A.type){if("attr"===A.name){var r=A.values.filter(rB);r.length&&l.appendChild(s.createTextNode(e.getAttribute(r[0].value)||""))}else if("counter"===A.name){var a=A.values.filter(ry),o=a[0],c=a[1];if(o&&rB(o)){var u=n.counters.getCounterValue(o.value),d=c&&rB(c)?nz.parse(n.context,c.value):3;l.appendChild(s.createTextNode(is(u,d,!1)))}}else if("counters"===A.name){var p=A.values.filter(ry),o=p[0],h=p[1],c=p[2];if(o&&rB(o)){var g=n.counters.getCounterValues(o.value),f=c&&rB(c)?nz.parse(n.context,c.value):3,m=h&&0===h.type?h.value:"",B=g.map(function(e){return is(e,f,!1)}).join(m);l.appendChild(s.createTextNode(B))}}}else if(20===A.type)switch(A.value){case"open-quote":l.appendChild(s.createTextNode(av(i.quotes,n.quoteDepth++,!0)));break;case"close-quote":l.appendChild(s.createTextNode(av(i.quotes,--n.quoteDepth,!1)));break;default:l.appendChild(s.createTextNode(A.value))}}),l.className=iw+" "+ix;var c=r===o.BEFORE?" "+iw:" "+ix;return sR(A)?A.className.baseValue+=c:A.className+=c,l}}},e.destroy=function(e){return!!e.parentNode&&(e.parentNode.removeChild(e),!0)},e}();!function(e){e[e.BEFORE=0]="BEFORE",e[e.AFTER=1]="AFTER"}(o||(o={}));var il=function(e,A){var t=e.createElement("iframe");return t.className="html2canvas-container",t.style.visibility="hidden",t.style.position="fixed",t.style.left="-10000px",t.style.top="0px",t.style.border="0",t.width=A.width.toString(),t.height=A.height.toString(),t.scrolling="no",t.setAttribute(ii,"true"),e.body.appendChild(t),t},ic=function(e){return new Promise(function(A){if(e.complete||!e.src)return void A();e.onload=A,e.onerror=A})},iu=function(e){return Promise.all([].slice.call(e.images,0).map(ic))},id=function(e){return new Promise(function(A,t){var r=e.contentWindow;if(!r)return t("No window assigned for iframe");var n=r.document;r.onload=e.onload=function(){r.onload=e.onload=null;var t=setInterval(function(){n.body.childNodes.length>0&&"complete"===n.readyState&&(clearInterval(t),A(e))},50)}})},ip=["all","d","content"],ih=function(e,A){for(var t=e.length-1;t>=0;t--){var r=e.item(t);-1===ip.indexOf(r)&&A.style.setProperty(r,e.getPropertyValue(r))}return A},ig=function(e){var A="";return e&&(A+=""),A},im=function(e,A,t){e&&e.defaultView&&(A!==e.defaultView.pageXOffset||t!==e.defaultView.pageYOffset)&&e.defaultView.scrollTo(A,t)},iB=function(e){var A=e[0],t=e[1],r=e[2];A.scrollLeft=t,A.scrollTop=r},iw="___html2canvas___pseudoelement_before",ix="___html2canvas___pseudoelement_after",iv='{\n content: "" !important;\n display: none !important;\n}',iy=function(e){ib(e,"."+iw+":before"+iv+"\n ."+ix+":after"+iv)},ib=function(e,A){var t=e.ownerDocument;if(t){var r=t.createElement("style");r.textContent=A,e.appendChild(r)}},iC=function(){function e(){}return e.getOrigin=function(A){var t=e._link;return t?(t.href=A,t.href=t.href,t.protocol+t.hostname+t.port):"about:blank"},e.isSameOrigin=function(A){return e.getOrigin(A)===e._origin},e.setContext=function(A){e._link=A.document.createElement("a"),e._origin=e.getOrigin(A.location.href)},e._origin="about:blank",e}(),iQ=function(){function e(e,A){this.context=e,this._options=A,this._cache={}}return e.prototype.addImage=function(e){var A=Promise.resolve();return this.has(e)||(iH(e)||iE(e))&&(this._cache[e]=this.loadImage(e)).catch(function(){}),A},e.prototype.match=function(e){return this._cache[e]},e.prototype.loadImage=function(e){return to(this,void 0,void 0,function(){var A,t,r,n,a=this;return tl(this,function(s){switch(s.label){case 0:if(A=iC.isSameOrigin(e),t=!ij(e)&&!0===this._options.useCORS&&a5.SUPPORT_CORS_IMAGES&&!A,r=!ij(e)&&!A&&!iH(e)&&"string"==typeof this._options.proxy&&a5.SUPPORT_CORS_XHR&&!t,!A&&!1===this._options.allowTaint&&!ij(e)&&!iH(e)&&!r&&!t)return[2];if(n=e,!r)return[3,2];return[4,this.proxy(n)];case 1:n=s.sent(),s.label=2;case 2:return this.context.logger.debug("Added image "+e.substring(0,256)),[4,new Promise(function(e,A){var r=new Image;r.onload=function(){return e(r)},r.onerror=A,(iI(n)||t)&&(r.crossOrigin="anonymous"),r.src=n,!0===r.complete&&setTimeout(function(){return e(r)},500),a._options.imageTimeout>0&&setTimeout(function(){return A("Timed out ("+a._options.imageTimeout+"ms) loading image")},a._options.imageTimeout)})];case 3:return[2,s.sent()]}})})},e.prototype.has=function(e){return void 0!==this._cache[e]},e.prototype.keys=function(){return Promise.resolve(Object.keys(this._cache))},e.prototype.proxy=function(e){var A=this,t=this._options.proxy;if(!t)throw Error("No proxy defined");var r=e.substring(0,256);return new Promise(function(n,a){var s=a5.SUPPORT_RESPONSE_TYPE?"blob":"text",i=new XMLHttpRequest;i.onload=function(){if(200===i.status)if("text"===s)n(i.response);else{var e=new FileReader;e.addEventListener("load",function(){return n(e.result)},!1),e.addEventListener("error",function(e){return a(e)},!1),e.readAsDataURL(i.response)}else a("Failed to proxy resource "+r+" with status code "+i.status)},i.onerror=a;var o=t.indexOf("?")>-1?"&":"?";if(i.open("GET",""+t+o+"url="+encodeURIComponent(e)+"&responseType="+s),"text"!==s&&i instanceof XMLHttpRequest&&(i.responseType=s),A._options.imageTimeout){var l=A._options.imageTimeout;i.timeout=l,i.ontimeout=function(){return a("Timed out ("+l+"ms) proxying "+r)}}i.send()})},e}(),iF=/^data:image\/svg\+xml/i,iU=/^data:image\/.*;base64,/i,ik=/^data:image\/.*/i,iE=function(e){return a5.SUPPORT_SVG_DRAWING||!iS(e)},ij=function(e){return ik.test(e)},iI=function(e){return iU.test(e)},iH=function(e){return"blob"===e.substr(0,4)},iS=function(e){return"svg"===e.substr(-3).toLowerCase()||iF.test(e)},iN=function(){function e(e,A){this.type=0,this.x=e,this.y=A}return e.prototype.add=function(A,t){return new e(this.x+A,this.y+t)},e}(),iL=function(e,A,t){return new iN(e.x+(A.x-e.x)*t,e.y+(A.y-e.y)*t)},iD=function(){function e(e,A,t,r){this.type=1,this.start=e,this.startControl=A,this.endControl=t,this.end=r}return e.prototype.subdivide=function(A,t){var r=iL(this.start,this.startControl,A),n=iL(this.startControl,this.endControl,A),a=iL(this.endControl,this.end,A),s=iL(r,n,A),i=iL(n,a,A),o=iL(s,i,A);return t?new e(this.start,r,s,o):new e(o,i,a,this.end)},e.prototype.add=function(A,t){return new e(this.start.add(A,t),this.startControl.add(A,t),this.endControl.add(A,t),this.end.add(A,t))},e.prototype.reverse=function(){return new e(this.end,this.endControl,this.startControl,this.start)},e}(),iT=function(e){return 1===e.type},iM=function(e){var A=e.styles,t=e.bounds,r=rI(A.borderTopLeftRadius,t.width,t.height),n=r[0],a=r[1],s=rI(A.borderTopRightRadius,t.width,t.height),i=s[0],o=s[1],c=rI(A.borderBottomRightRadius,t.width,t.height),u=c[0],d=c[1],p=rI(A.borderBottomLeftRadius,t.width,t.height),h=p[0],g=p[1],f=[];f.push((n+i)/t.width),f.push((h+u)/t.width),f.push((a+g)/t.height),f.push((o+d)/t.height);var m=Math.max.apply(Math,f);m>1&&(n/=m,a/=m,i/=m,o/=m,u/=m,d/=m,h/=m,g/=m);var B=t.width-i,w=t.height-d,x=t.width-u,v=t.height-g,y=A.borderTopWidth,b=A.borderRightWidth,C=A.borderBottomWidth,Q=A.borderLeftWidth,F=rH(A.paddingTop,e.bounds.width),U=rH(A.paddingRight,e.bounds.width),k=rH(A.paddingBottom,e.bounds.width),E=rH(A.paddingLeft,e.bounds.width);this.topLeftBorderDoubleOuterBox=n>0||a>0?iK(t.left+Q/3,t.top+y/3,n-Q/3,a-y/3,l.TOP_LEFT):new iN(t.left+Q/3,t.top+y/3),this.topRightBorderDoubleOuterBox=n>0||a>0?iK(t.left+B,t.top+y/3,i-b/3,o-y/3,l.TOP_RIGHT):new iN(t.left+t.width-b/3,t.top+y/3),this.bottomRightBorderDoubleOuterBox=u>0||d>0?iK(t.left+x,t.top+w,u-b/3,d-C/3,l.BOTTOM_RIGHT):new iN(t.left+t.width-b/3,t.top+t.height-C/3),this.bottomLeftBorderDoubleOuterBox=h>0||g>0?iK(t.left+Q/3,t.top+v,h-Q/3,g-C/3,l.BOTTOM_LEFT):new iN(t.left+Q/3,t.top+t.height-C/3),this.topLeftBorderDoubleInnerBox=n>0||a>0?iK(t.left+2*Q/3,t.top+2*y/3,n-2*Q/3,a-2*y/3,l.TOP_LEFT):new iN(t.left+2*Q/3,t.top+2*y/3),this.topRightBorderDoubleInnerBox=n>0||a>0?iK(t.left+B,t.top+2*y/3,i-2*b/3,o-2*y/3,l.TOP_RIGHT):new iN(t.left+t.width-2*b/3,t.top+2*y/3),this.bottomRightBorderDoubleInnerBox=u>0||d>0?iK(t.left+x,t.top+w,u-2*b/3,d-2*C/3,l.BOTTOM_RIGHT):new iN(t.left+t.width-2*b/3,t.top+t.height-2*C/3),this.bottomLeftBorderDoubleInnerBox=h>0||g>0?iK(t.left+2*Q/3,t.top+v,h-2*Q/3,g-2*C/3,l.BOTTOM_LEFT):new iN(t.left+2*Q/3,t.top+t.height-2*C/3),this.topLeftBorderStroke=n>0||a>0?iK(t.left+Q/2,t.top+y/2,n-Q/2,a-y/2,l.TOP_LEFT):new iN(t.left+Q/2,t.top+y/2),this.topRightBorderStroke=n>0||a>0?iK(t.left+B,t.top+y/2,i-b/2,o-y/2,l.TOP_RIGHT):new iN(t.left+t.width-b/2,t.top+y/2),this.bottomRightBorderStroke=u>0||d>0?iK(t.left+x,t.top+w,u-b/2,d-C/2,l.BOTTOM_RIGHT):new iN(t.left+t.width-b/2,t.top+t.height-C/2),this.bottomLeftBorderStroke=h>0||g>0?iK(t.left+Q/2,t.top+v,h-Q/2,g-C/2,l.BOTTOM_LEFT):new iN(t.left+Q/2,t.top+t.height-C/2),this.topLeftBorderBox=n>0||a>0?iK(t.left,t.top,n,a,l.TOP_LEFT):new iN(t.left,t.top),this.topRightBorderBox=i>0||o>0?iK(t.left+B,t.top,i,o,l.TOP_RIGHT):new iN(t.left+t.width,t.top),this.bottomRightBorderBox=u>0||d>0?iK(t.left+x,t.top+w,u,d,l.BOTTOM_RIGHT):new iN(t.left+t.width,t.top+t.height),this.bottomLeftBorderBox=h>0||g>0?iK(t.left,t.top+v,h,g,l.BOTTOM_LEFT):new iN(t.left,t.top+t.height),this.topLeftPaddingBox=n>0||a>0?iK(t.left+Q,t.top+y,Math.max(0,n-Q),Math.max(0,a-y),l.TOP_LEFT):new iN(t.left+Q,t.top+y),this.topRightPaddingBox=i>0||o>0?iK(t.left+Math.min(B,t.width-b),t.top+y,B>t.width+b?0:Math.max(0,i-b),Math.max(0,o-y),l.TOP_RIGHT):new iN(t.left+t.width-b,t.top+y),this.bottomRightPaddingBox=u>0||d>0?iK(t.left+Math.min(x,t.width-Q),t.top+Math.min(w,t.height-C),Math.max(0,u-b),Math.max(0,d-C),l.BOTTOM_RIGHT):new iN(t.left+t.width-b,t.top+t.height-C),this.bottomLeftPaddingBox=h>0||g>0?iK(t.left+Q,t.top+Math.min(v,t.height-C),Math.max(0,h-Q),Math.max(0,g-C),l.BOTTOM_LEFT):new iN(t.left+Q,t.top+t.height-C),this.topLeftContentBox=n>0||a>0?iK(t.left+Q+E,t.top+y+F,Math.max(0,n-(Q+E)),Math.max(0,a-(y+F)),l.TOP_LEFT):new iN(t.left+Q+E,t.top+y+F),this.topRightContentBox=i>0||o>0?iK(t.left+Math.min(B,t.width+Q+E),t.top+y+F,B>t.width+Q+E?0:i-Q+E,o-(y+F),l.TOP_RIGHT):new iN(t.left+t.width-(b+U),t.top+y+F),this.bottomRightContentBox=u>0||d>0?iK(t.left+Math.min(x,t.width-(Q+E)),t.top+Math.min(w,t.height+y+F),Math.max(0,u-(b+U)),d-(C+k),l.BOTTOM_RIGHT):new iN(t.left+t.width-(b+U),t.top+t.height-(C+k)),this.bottomLeftContentBox=h>0||g>0?iK(t.left+Q+E,t.top+v,Math.max(0,h-(Q+E)),g-(C+k),l.BOTTOM_LEFT):new iN(t.left+Q+E,t.top+t.height-(C+k))};!function(e){e[e.TOP_LEFT=0]="TOP_LEFT",e[e.TOP_RIGHT=1]="TOP_RIGHT",e[e.BOTTOM_RIGHT=2]="BOTTOM_RIGHT",e[e.BOTTOM_LEFT=3]="BOTTOM_LEFT"}(l||(l={}));var iK=function(e,A,t,r,n){var a=(Math.sqrt(2)-1)/3*4,s=t*a,i=r*a,o=e+t,c=A+r;switch(n){case l.TOP_LEFT:return new iD(new iN(e,c),new iN(e,c-i),new iN(o-s,A),new iN(o,A));case l.TOP_RIGHT:return new iD(new iN(e,A),new iN(e+s,A),new iN(o,c-i),new iN(o,c));case l.BOTTOM_RIGHT:return new iD(new iN(o,A),new iN(o,A+i),new iN(e+s,c),new iN(e,c));case l.BOTTOM_LEFT:default:return new iD(new iN(o,c),new iN(o-s,c),new iN(e,A+i),new iN(e,A))}},iR=function(e){return[e.topLeftBorderBox,e.topRightBorderBox,e.bottomRightBorderBox,e.bottomLeftBorderBox]},iP=function(e){return[e.topLeftPaddingBox,e.topRightPaddingBox,e.bottomRightPaddingBox,e.bottomLeftPaddingBox]},iO=function(e,A,t){this.offsetX=e,this.offsetY=A,this.matrix=t,this.type=0,this.target=6},iV=function(e,A){this.path=e,this.target=A,this.type=1},iG=function(e){this.opacity=e,this.type=2,this.target=6},iz=function(e){return 1===e.type},iq=function(e,A){return e.length===A.length&&e.some(function(e,t){return e===A[t]})},iW=function(e){this.element=e,this.inlineLevel=[],this.nonInlineLevel=[],this.negativeZIndex=[],this.zeroOrAutoZIndexOrTransformedOrOpacity=[],this.positiveZIndex=[],this.nonPositionedFloats=[],this.nonPositionedInlineLevel=[]},iJ=function(){function e(e,A){if(this.container=e,this.parent=A,this.effects=[],this.curves=new iM(this.container),this.container.styles.opacity<1&&this.effects.push(new iG(this.container.styles.opacity)),null!==this.container.styles.transform){var t=this.container.bounds.left+this.container.styles.transformOrigin[0].number,r=this.container.bounds.top+this.container.styles.transformOrigin[1].number,n=this.container.styles.transform;this.effects.push(new iO(t,r,n))}if(0!==this.container.styles.overflowX){var a=iR(this.curves),s=iP(this.curves);iq(a,s)?this.effects.push(new iV(a,6)):(this.effects.push(new iV(a,2)),this.effects.push(new iV(s,4)))}}return e.prototype.getEffects=function(e){for(var A=-1===[2,3].indexOf(this.container.styles.position),t=this.parent,r=this.effects.slice(0);t;){var n=t.effects.filter(function(e){return!iz(e)});if(A||0!==t.container.styles.position||!t.parent){if(r.unshift.apply(r,n),A=-1===[2,3].indexOf(t.container.styles.position),0!==t.container.styles.overflowX){var a=iR(t.curves),s=iP(t.curves);iq(a,s)||r.unshift(new iV(s,6))}}else r.unshift.apply(r,n);t=t.parent}return r.filter(function(A){return ag(A.target,e)})},e}(),iX=function(e,A,t,r){e.container.elements.forEach(function(n){var a=ag(n.flags,4),s=ag(n.flags,2),i=new iJ(n,e);ag(n.styles.display,2048)&&r.push(i);var o=ag(n.flags,8)?[]:r;if(a||s){var l=a||n.styles.isPositioned()?t:A,c=new iW(i);if(n.styles.isPositioned()||n.styles.opacity<1||n.styles.isTransformed()){var u=n.styles.zIndex.order;if(u<0){var d=0;l.negativeZIndex.some(function(e,A){if(u>e.element.container.styles.zIndex.order)d=A;else if(d>0)return!0;return!1}),l.negativeZIndex.splice(d,0,c)}else if(u>0){var p=0;l.positiveZIndex.some(function(e,A){if(u>=e.element.container.styles.zIndex.order)p=A+1;else if(p>0)return!0;return!1}),l.positiveZIndex.splice(p,0,c)}else l.zeroOrAutoZIndexOrTransformedOrOpacity.push(c)}else n.styles.isFloating()?l.nonPositionedFloats.push(c):l.nonPositionedInlineLevel.push(c);iX(i,c,a?c:t,o)}else n.styles.isInlineLevel()?A.inlineLevel.push(i):A.nonInlineLevel.push(i),iX(i,A,t,o);ag(n.flags,8)&&i_(n,o)})},i_=function(e,A){for(var t=e instanceof sx?e.start:1,r=e instanceof sx&&e.reversed,n=0;n0&&e.intrinsicHeight>0){var r=i5(e),n=iP(A);this.path(n),this.ctx.save(),this.ctx.clip(),this.ctx.drawImage(t,0,0,e.intrinsicWidth,e.intrinsicHeight,r.left,r.top,r.width,r.height),this.ctx.restore()}},A.prototype.renderNodeContent=function(e){return to(this,void 0,void 0,function(){var t,r,n,a,s,i,o,l,c,u,d,p,h,g,f,m,B,w;return tl(this,function(x){switch(x.label){case 0:this.applyEffects(e.getEffects(4)),t=e.container,r=e.curves,n=t.styles,a=0,s=t.textNodes,x.label=1;case 1:if(!(a0&&u>0&&(d=r.ctx.createPattern(x,"repeat"),r.renderRepeat(i,d,o,l))):2===t.type&&(i=(b=i6(e,A,[null,null,null]))[0],C=b[1],Q=b[2],c=b[3],u=b[4],o=rH((F=0===t.position.length?[rE]:t.position)[0],c),l=rH(F[F.length-1],u),k=(U=r3(t,o,l,c,u))[0],E=U[1],k>0&&E>0&&(j=r.ctx.createRadialGradient(C+o,Q+l,0,C+o,Q+l,k),rZ(t.stops,2*k).forEach(function(e){return j.addColorStop(e.stop,rP(e.color))}),r.path(i),r.ctx.fillStyle=j,k!==E?(I=e.bounds.left+.5*e.bounds.width,H=e.bounds.top+.5*e.bounds.height,N=1/(S=E/k),r.ctx.save(),r.ctx.translate(I,H),r.ctx.transform(1,0,0,S,0,0),r.ctx.translate(-I,-H),r.ctx.fillRect(C,N*(Q-H)+H,c,u*N),r.ctx.restore()):r.ctx.fill())),L.label=6;case 6:return A--,[2]}})},r=this,n=0,a=e.styles.backgroundImage.slice(0).reverse(),i.label=1;case 1:if(!(n0))return[3,11];if(2!==o.style)return[3,5];return[4,this.renderDashedDottedBorder(o.color,o.width,a,e.curves,2)];case 4:case 6:case 8:return c.sent(),[3,11];case 5:if(3!==o.style)return[3,7];return[4,this.renderDashedDottedBorder(o.color,o.width,a,e.curves,3)];case 7:if(4!==o.style)return[3,9];return[4,this.renderDoubleBorder(o.color,o.width,a,e.curves)];case 9:return[4,this.renderSolidBorder(o.color,a,e.curves)];case 10:c.sent(),c.label=11;case 11:a++,c.label=12;case 12:return s++,[3,3];case 13:return[2]}})})},A.prototype.renderDashedDottedBorder=function(e,A,t,r,n){return to(this,void 0,void 0,function(){var a,s,i,o,l,c,u,d,p,h,g,f,m,B,w,x;return tl(this,function(v){return this.ctx.save(),a=i1(r,t),s=i$(r,t),2===n&&(this.path(s),this.ctx.clip()),iT(s[0])?(i=s[0].start.x,o=s[0].start.y):(i=s[0].x,o=s[0].y),iT(s[1])?(l=s[1].end.x,c=s[1].end.y):(l=s[1].x,c=s[1].y),u=0===t||2===t?Math.abs(i-l):Math.abs(o-c),this.ctx.beginPath(),3===n?this.formatPath(a):this.formatPath(s.slice(0,2)),d=A<3?3*A:2*A,p=A<3?2*A:A,3===n&&(d=A,p=A),h=!0,u<=2*d?h=!1:u<=2*d+p?(g=u/(2*d+p),d*=g,p*=g):(f=Math.floor((u+p)/(d+p)),m=(u-f*d)/(f-1),p=(B=(u-(f+1)*d)/f)<=0||Math.abs(p-m)setTimeout(()=>A(Error("html2canvas timeout after 4 seconds")),4e3))]),d=document.createElement("canvas");d.width=r,d.height=n;let p=d.getContext("2d");if(!p)return y.v.error("Failed to get canvas context"),null;p.drawImage(u,0,0,r,n);let h=d.toDataURL("image/jpeg",a),g=Math.ceil(3*h.length/4)/1024;if(g>250){y.v.warn(`Screenshot too large: ${g.toFixed(0)}KB, trying with lower quality`);let e=d.toDataURL("image/jpeg",.6),A=Math.ceil(3*e.length/4)/1024;return A>250&&y.v.warn(`Screenshot still too large: ${A.toFixed(0)}KB`),e}return h}catch(e){return y.v.error("Failed to capture screenshot:",e),null}}let om={mobile:{width:"375px",height:"100%",maxHeight:"667px"},tablet:{width:"768px",height:"100%",maxHeight:"1024px"},desktop:{width:"100%",height:"100%",maxHeight:"900px",maxWidth:"1440px"},responsive:{width:"100%",height:"100%"}},oB=(0,p.forwardRef)(({projectId:e,refreshTrigger:A,onFocusSelection:t,hasFocusTarget:r=!1,onClose:n},a)=>{let[s,i]=(0,p.useState)(null),[o,l]=(0,p.useState)("/"),[c,u]=(0,p.useState)(!0),[h,g]=(0,p.useState)(null),[f,B]=(0,p.useState)("tablet"),[w,x]=(0,p.useState)(["/"]),[v,b]=(0,p.useState)(0),[C,F]=(0,p.useState)(!1),[U,k]=(0,p.useState)(!1),E=(0,p.useMemo)(()=>U?{backgroundColor:"var(--button-preview-active)",color:"white"}:r?{backgroundColor:"rgba(99, 102, 241, 0.12)",color:"var(--button-preview-active)"}:{},[U,r]),j=(0,p.useRef)(null),I=(0,p.useRef)(null),H=(0,p.useRef)(null),S=(0,p.useRef)("/"),L=(0,p.useRef)(null),D=(0,p.useRef)(!1);(0,p.useImperativeHandle)(a,()=>({captureScreenshot:async()=>j.current&&C?await of(j.current):(y.v.warn("Cannot capture screenshot: iframe not ready"),null)}),[C]);let T=(0,p.useCallback)(e=>{if(j.current&&j.current.contentWindow)try{j.current.contentWindow.postMessage(e,"*")}catch(e){y.v.warn("Failed to communicate with preview iframe",e)}},[]),M=(0,p.useRef)(!1),K=(0,p.useRef)(null),P=(0,p.useRef)(null),O=(0,p.useRef)(null),V=()=>(0,d.jsxs)("div",{className:"p-3 border-b bg-muted/70 flex items-center gap-2",children:[(0,d.jsx)(R.A,{className:"h-4 w-4 md:hidden",style:{color:"var(--button-preview-active)"}}),n?(0,d.jsxs)("button",{type:"button",onClick:n,"aria-label":"Hide preview",className:"relative hidden h-6 w-6 items-center justify-center rounded-sm text-muted-foreground transition-colors hover:text-destructive md:flex group",children:[(0,d.jsx)(R.A,{className:"h-4 w-4 transition-opacity group-hover:opacity-0",style:{color:"var(--button-preview-active)"}}),(0,d.jsx)(N.A,{className:"absolute h-3 w-3 opacity-0 transition-opacity group-hover:opacity-100"})]}):(0,d.jsx)(R.A,{className:"hidden h-4 w-4 md:inline-flex",style:{color:"var(--button-preview-active)"}}),(0,d.jsx)("h3",{className:"text-sm font-medium",children:"Live Preview"})]});(0,p.useEffect)(()=>{H.current=s},[s]),(0,p.useEffect)(()=>{D.current=U,C&&T({type:"selector-toggle",active:U})},[U,C,T]),(0,p.useEffect)(()=>{let e=j.current;if(!e)return;let A=()=>{T({type:"selector-toggle",active:D.current})};return e.addEventListener("load",A),()=>{e.removeEventListener("load",A)}},[C,T]),(0,p.useEffect)(()=>{S.current=o},[o]),(0,p.useEffect)(()=>{if(C&&L.current&&H.current){let e=L.current;L.current=null,W(e,H.current)}},[C]),(0,p.useEffect)(()=>()=>{P.current&&window.clearTimeout(P.current)},[]);let G=(0,p.useCallback)(async(A=!1,t=!0)=>{t&&u(!0),g(null);try{await m.vfs.init();let t=A?S.current:null;I.current&&I.current.cleanupBlobUrls();let r=new A5.B(m.vfs,e);I.current=r;let n=await r.compileProject();i(n),H.current=n;let a=t;a||(a=n.blobUrls.has("/index.html")?"/":n.entryPoint||(n.routes.length>0?n.routes[0].path:"/")),W(a,n)}catch(e){g(e instanceof Error?e.message:"Failed to compile project"),y.v.error("Compilation error:",e)}finally{t&&u(!1)}},[e]),z=(0,p.useCallback)((e=!1,A=!0)=>{if(M.current){let t=K.current;K.current={preserve:(t?.preserve??!1)||e,showLoading:(t?.showLoading??!1)||A};return}(async(e,A)=>{M.current=!0;try{await G(e,A)}finally{M.current=!1;let e=K.current;K.current=null,e&&z(e.preserve,e.showLoading)}})(e,A)},[G]),q=(0,p.useCallback)((e=!1,A=!1)=>{let t=O.current;O.current={preserve:(t?.preserve??!1)||e,showLoading:(t?.showLoading??!1)||A},P.current&&window.clearTimeout(P.current),P.current=window.setTimeout(()=>{let e=O.current;O.current=null,P.current=null,e&&z(e.preserve,e.showLoading)},150)},[z]);(0,p.useEffect)(()=>{z()},[e,A,z]),(0,p.useEffect)(()=>{let A=()=>{q(!0)},t=A=>{A.detail&&A.detail.projectId!==e||q(!0)};return window.addEventListener("filesChanged",A),window.addEventListener("fileContentChanged",t),()=>{window.removeEventListener("filesChanged",A),window.removeEventListener("fileContentChanged",t)}},[e,q]);let W=(e,A)=>{let t,r=A||H.current||s;if(!r)return void y.v.warn("No compiled project available");if(D.current?k(!1):T({type:"selector-toggle",active:!1}),!j.current||!C){L.current=e;return}let n=e;n.startsWith("/")||(n="/"+n);let a=r.routes.find(e=>e.path===n);t=a?a.file:"/"===n?"/index.html":n.endsWith("/")?n+"index.html":n+".html";let i=r.files.find(e=>e.path===t);if(!i&&!n.endsWith("/")){let e=n+"/index.html";(i=r.files.find(A=>A.path===e))&&(t=e)}if(!i){g(`Page not found: ${e}`),r.files.find(e=>"/index.html"===e.path||"index.html"===e.path)&&"/"!==e&&W("/",A);return}let o="string"==typeof i.content?i.content:new TextDecoder().decode(i.content);o=(o=(o=o.replace(/href="([^"]+)"/g,(e,A)=>{if(!A.endsWith(".css")||A.startsWith("http")||A.startsWith("//"))return e;let t=A.startsWith("/")?A:"/"+A,n=r.blobUrls.get(t);return n?`href="${n}"`:e})).replace(/src="([^"]+)"/g,(e,A)=>{if(!A.endsWith(".js")||A.startsWith("http")||A.startsWith("//"))return e;let t=A.startsWith("/")?A:"/"+A,n=r.blobUrls.get(t);return n?`src="${n}"`:e})).replace(/src="([^"]+\.(png|jpg|jpeg|gif|svg|webp))"/gi,(e,A)=>{let t=A.startsWith("/")?A:"/"+A,n=r.blobUrls.get(t);return n?`src="${n}"`:e});let c=` - - `;o.includes("")?o=o.replace("",c+""):o+=c,j.current.srcdoc=o,l(n),S.current=n,b(e=>(x(A=>[...A.slice(0,e+1),n]),e+1))},J=(0,p.useCallback)(e=>{W(e)},[s]),X=()=>{if(v>0){let e=v-1;b(e),W(w[e])}},_=()=>{if(v{W("/")},$=()=>{z(!0,!1)};return((0,p.useEffect)(()=>{let e=e=>{let A=e.data;if(A&&"object"==typeof A){if("navigate"===A.type&&A.path)return void J(A.path);if("selector-selection"===A.type&&A.payload){k(!1),t?.(A.payload);return}"selector-cancelled"===A.type&&k(!1)}};return window.addEventListener("message",e),()=>{window.removeEventListener("message",e)}},[J,t]),(0,p.useEffect)(()=>()=>{I.current&&I.current.cleanupBlobUrls()},[]),c)?(0,d.jsxs)("div",{className:"h-full flex flex-col",children:[(0,d.jsx)(V,{}),(0,d.jsx)("div",{className:"flex-1 flex items-center justify-center",children:(0,d.jsxs)("div",{className:"text-center space-y-2",children:[(0,d.jsx)(A6.A,{className:"w-8 h-8 animate-spin mx-auto text-primary"}),(0,d.jsx)("p",{className:"text-muted-foreground",children:"Compiling project..."})]})})]}):h?(0,d.jsxs)("div",{className:"h-full flex flex-col",children:[(0,d.jsx)(V,{}),(0,d.jsx)("div",{className:"flex-1 flex items-center justify-center",children:(0,d.jsxs)("div",{className:"text-center text-destructive space-y-2",children:[(0,d.jsx)("p",{className:"font-medium",children:"Error"}),(0,d.jsx)("p",{className:"text-sm mt-2",children:h}),(0,d.jsx)(Q.$,{onClick:$,className:"mt-4",children:"Try Again"})]})})]}):(0,d.jsxs)("div",{className:"h-full flex flex-col",children:[(0,d.jsx)(V,{}),(0,d.jsxs)("div",{className:"border-b p-2 flex items-center gap-2 md:hidden",children:[(0,d.jsxs)("div",{className:"flex items-center gap-1",children:[(0,d.jsx)(Q.$,{size:"icon",variant:"ghost",className:"h-5 w-5",onClick:X,disabled:0===v,children:(0,d.jsx)(A8,{className:"h-3 w-3"})}),(0,d.jsx)(Q.$,{size:"icon",variant:"ghost",className:"h-5 w-5",onClick:_,disabled:v>=w.length-1,children:(0,d.jsx)(A9,{className:"h-3 w-3"})}),(0,d.jsx)(Q.$,{size:"icon",variant:"ghost",className:"h-5 w-5",onClick:Y,children:(0,d.jsx)(A7,{className:"h-3 w-3"})}),(0,d.jsx)(Q.$,{size:"icon",variant:"ghost",className:"h-5 w-5",onClick:$,children:(0,d.jsx)(A6.A,{className:"h-3 w-3"})}),(0,d.jsx)(Q.$,{size:"icon",variant:"ghost",className:"h-5 w-5",onClick:()=>k(e=>!e),disabled:!C,style:E,title:U?"Cancel element selection":r?"Replace focused element":"Select element","data-tour-id":"focus-crosshair-button",children:(0,d.jsx)(te,{className:"h-3 w-3"})})]}),s&&s.routes.length>1&&(0,d.jsxs)(tn.l6,{value:o,onValueChange:J,children:[(0,d.jsx)(tn.bq,{className:"flex-1 h-8 min-w-0 max-w-full",children:(0,d.jsx)(tn.yv,{className:"truncate"})}),(0,d.jsx)(tn.gC,{children:s.routes.map(e=>(0,d.jsx)(tn.eb,{value:e.path,children:e.title||e.path},e.path))})]})]}),(0,d.jsxs)("div",{className:"border-b p-2 hidden md:flex items-center gap-2",children:[(0,d.jsxs)("div",{className:"flex items-center gap-1",children:[(0,d.jsx)(Q.$,{size:"icon",variant:"ghost",className:"h-5 w-5",onClick:X,disabled:0===v,children:(0,d.jsx)(A8,{className:"h-3 w-3"})}),(0,d.jsx)(Q.$,{size:"icon",variant:"ghost",className:"h-5 w-5",onClick:_,disabled:v>=w.length-1,children:(0,d.jsx)(A9,{className:"h-3 w-3"})}),(0,d.jsx)(Q.$,{size:"icon",variant:"ghost",className:"h-5 w-5",onClick:Y,children:(0,d.jsx)(A7,{className:"h-3 w-3"})}),(0,d.jsx)(Q.$,{size:"icon",variant:"ghost",className:"h-5 w-5",onClick:$,children:(0,d.jsx)(A6.A,{className:"h-3 w-3"})}),(0,d.jsx)(Q.$,{size:"icon",variant:"ghost",className:"h-5 w-5",onClick:()=>k(e=>!e),disabled:!C,style:{backgroundColor:U?"var(--button-preview-active)":void 0,color:U?"white":void 0},title:U?"Cancel element focus":"Select element","data-tour-id":"focus-crosshair-button",children:(0,d.jsx)(te,{className:"h-3 w-3"})})]}),(0,d.jsx)("div",{className:"flex-1 px-3 py-1 bg-muted rounded text-sm",children:o}),s&&s.routes.length>1&&(0,d.jsxs)(tn.l6,{value:o,onValueChange:J,children:[(0,d.jsx)(tn.bq,{className:"w-[200px] h-8",children:(0,d.jsx)(tn.yv,{})}),(0,d.jsx)(tn.gC,{children:s.routes.map(e=>(0,d.jsx)(tn.eb,{value:e.path,children:e.title||e.path},e.path))})]}),(0,d.jsxs)("div",{className:"flex items-center gap-1 border-l pl-2",children:[(0,d.jsx)(Q.$,{size:"icon",variant:"ghost",className:"h-5 w-5 rounded-sm",style:{backgroundColor:"mobile"===f?"var(--button-preview-active)":void 0,color:"mobile"===f?"white":void 0},onClick:()=>B("mobile"),children:(0,d.jsx)(tA,{className:"h-3 w-3"})}),(0,d.jsx)(Q.$,{size:"icon",variant:"ghost",className:"h-5 w-5 rounded-sm",style:{backgroundColor:"tablet"===f?"var(--button-preview-active)":void 0,color:"tablet"===f?"white":void 0},onClick:()=>B("tablet"),children:(0,d.jsx)(tt,{className:"h-3 w-3"})}),(0,d.jsx)(Q.$,{size:"icon",variant:"ghost",className:"h-5 w-5 rounded-sm",style:{backgroundColor:"desktop"===f?"var(--button-preview-active)":void 0,color:"desktop"===f?"white":void 0},onClick:()=>B("desktop"),children:(0,d.jsx)(tr,{className:"h-3 w-3"})})]})]}),(0,d.jsx)("div",{className:"flex-1 bg-muted/20 dark:bg-muted/10 p-4 overflow-auto min-h-0",children:(0,d.jsx)("div",{className:(0,y.cn)("bg-white mx-auto shadow-2xl transition-all duration-300","responsive"!==f&&"rounded-lg"),style:{width:om[f].width||"100%",height:om[f].height||"100%",maxHeight:om[f].maxHeight||"100%",maxWidth:om[f].maxWidth||"100%"},children:(0,d.jsx)("iframe",{ref:e=>{j.current=e,e&&!C?setTimeout(()=>{F(!0)},0):!e&&C&&F(!1)},className:"w-full h-full rounded-lg",sandbox:"allow-scripts allow-same-origin allow-forms",title:"Preview"})})})]})});oB.displayName="MultipagePreview";let ow=g().memo(oB),ox={rE:"1.14.1"};var ov="Dialog",[oy,ob]=(0,eo.A)(ov),[oC,oQ]=oy(ov),oF=e=>{let{__scopeDialog:A,children:t,open:r,defaultOpen:n,onOpenChange:a,modal:s=!0}=e,i=p.useRef(null),o=p.useRef(null),[l,c]=(0,el.i)({prop:r,defaultProp:n??!1,onChange:a,caller:ov});return(0,d.jsx)(oC,{scope:A,triggerRef:i,contentRef:o,contentId:(0,ef.B)(),titleId:(0,ef.B)(),descriptionId:(0,ef.B)(),open:l,onOpenChange:c,onOpenToggle:p.useCallback(()=>c(e=>!e),[c]),modal:s,children:t})};oF.displayName=ov;var oU="DialogTrigger";p.forwardRef((e,A)=>{let{__scopeDialog:t,...r}=e,n=oQ(oU,t),a=(0,ei.s)(A,n.triggerRef);return(0,d.jsx)(ec.sG.button,{type:"button","aria-haspopup":"dialog","aria-expanded":n.open,"aria-controls":n.contentId,"data-state":oW(n.open),...r,ref:a,onClick:(0,es.mK)(e.onClick,n.onOpenToggle)})}).displayName=oU;var ok="DialogPortal",[oE,oj]=oy(ok,{forceMount:void 0}),oI=e=>{let{__scopeDialog:A,forceMount:t,children:r,container:n}=e,a=oQ(ok,A);return(0,d.jsx)(oE,{scope:A,forceMount:t,children:p.Children.map(r,e=>(0,d.jsx)(ew.C,{present:t||a.open,children:(0,d.jsx)(eB.Z,{asChild:!0,container:n,children:e})}))})};oI.displayName=ok;var oH="DialogOverlay",oS=p.forwardRef((e,A)=>{let t=oj(oH,e.__scopeDialog),{forceMount:r=t.forceMount,...n}=e,a=oQ(oH,e.__scopeDialog);return a.modal?(0,d.jsx)(ew.C,{present:r||a.open,children:(0,d.jsx)(oL,{...n,ref:A})}):null});oS.displayName=oH;var oN=(0,eT.TL)("DialogOverlay.RemoveScroll"),oL=p.forwardRef((e,A)=>{let{__scopeDialog:t,...r}=e,n=oQ(oH,t);return(0,d.jsx)(eK.A,{as:oN,allowPinchZoom:!0,shards:[n.contentRef],children:(0,d.jsx)(ec.sG.div,{"data-state":oW(n.open),...r,ref:A,style:{pointerEvents:"auto",...r.style}})})}),oD="DialogContent",oT=p.forwardRef((e,A)=>{let t=oj(oD,e.__scopeDialog),{forceMount:r=t.forceMount,...n}=e,a=oQ(oD,e.__scopeDialog);return(0,d.jsx)(ew.C,{present:r||a.open,children:a.modal?(0,d.jsx)(oM,{...n,ref:A}):(0,d.jsx)(oK,{...n,ref:A})})});oT.displayName=oD;var oM=p.forwardRef((e,A)=>{let t=oQ(oD,e.__scopeDialog),r=p.useRef(null),n=(0,ei.s)(A,t.contentRef,r);return p.useEffect(()=>{let e=r.current;if(e)return(0,eM.Eq)(e)},[]),(0,d.jsx)(oR,{...e,ref:n,trapFocus:t.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:(0,es.mK)(e.onCloseAutoFocus,e=>{e.preventDefault(),t.triggerRef.current?.focus()}),onPointerDownOutside:(0,es.mK)(e.onPointerDownOutside,e=>{let A=e.detail.originalEvent,t=0===A.button&&!0===A.ctrlKey;(2===A.button||t)&&e.preventDefault()}),onFocusOutside:(0,es.mK)(e.onFocusOutside,e=>e.preventDefault())})}),oK=p.forwardRef((e,A)=>{let t=oQ(oD,e.__scopeDialog),r=p.useRef(!1),n=p.useRef(!1);return(0,d.jsx)(oR,{...e,ref:A,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:A=>{e.onCloseAutoFocus?.(A),A.defaultPrevented||(r.current||t.triggerRef.current?.focus(),A.preventDefault()),r.current=!1,n.current=!1},onInteractOutside:A=>{e.onInteractOutside?.(A),A.defaultPrevented||(r.current=!0,"pointerdown"===A.detail.originalEvent.type&&(n.current=!0));let a=A.target;t.triggerRef.current?.contains(a)&&A.preventDefault(),"focusin"===A.detail.originalEvent.type&&n.current&&A.preventDefault()}})}),oR=p.forwardRef((e,A)=>{let{__scopeDialog:t,trapFocus:r,onOpenAutoFocus:n,onCloseAutoFocus:a,...s}=e,i=oQ(oD,t),o=p.useRef(null),l=(0,ei.s)(A,o);return(0,eh.Oh)(),(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(eg.n,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:n,onUnmountAutoFocus:a,children:(0,d.jsx)(ep.qW,{role:"dialog",id:i.contentId,"aria-describedby":i.descriptionId,"aria-labelledby":i.titleId,"data-state":oW(i.open),...s,ref:l,onDismiss:()=>i.onOpenChange(!1)})}),(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(oY,{titleId:i.titleId}),(0,d.jsx)(o$,{contentRef:o,descriptionId:i.descriptionId})]})]})}),oP="DialogTitle",oO=p.forwardRef((e,A)=>{let{__scopeDialog:t,...r}=e,n=oQ(oP,t);return(0,d.jsx)(ec.sG.h2,{id:n.titleId,...r,ref:A})});oO.displayName=oP;var oV="DialogDescription",oG=p.forwardRef((e,A)=>{let{__scopeDialog:t,...r}=e,n=oQ(oV,t);return(0,d.jsx)(ec.sG.p,{id:n.descriptionId,...r,ref:A})});oG.displayName=oV;var oz="DialogClose",oq=p.forwardRef((e,A)=>{let{__scopeDialog:t,...r}=e,n=oQ(oz,t);return(0,d.jsx)(ec.sG.button,{type:"button",...r,ref:A,onClick:(0,es.mK)(e.onClick,()=>n.onOpenChange(!1))})});function oW(e){return e?"open":"closed"}oq.displayName=oz;var oJ="DialogTitleWarning",[oX,o_]=(0,eo.q)(oJ,{contentName:oD,titleName:oP,docsSlug:"dialog"}),oY=({titleId:e})=>{let A=o_(oJ),t=`\`${A.contentName}\` requires a \`${A.titleName}\` for the component to be accessible for screen reader users. - -If you want to hide the \`${A.titleName}\`, you can wrap it with our VisuallyHidden component. - -For more information, see https://radix-ui.com/primitives/docs/components/${A.docsSlug}`;return p.useEffect(()=>{e&&(document.getElementById(e)||console.error(t))},[t,e]),null},o$=({contentRef:e,descriptionId:A})=>{let t=o_("DialogDescriptionWarning"),r=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${t.contentName}}.`;return p.useEffect(()=>{let t=e.current?.getAttribute("aria-describedby");A&&t&&(document.getElementById(A)||console.warn(r))},[r,e,A]),null};function oZ({...e}){return(0,d.jsx)(oF,{"data-slot":"dialog",...e})}function o0({...e}){return(0,d.jsx)(oI,{"data-slot":"dialog-portal",...e})}function o1({className:e,...A}){return(0,d.jsx)(oS,{"data-slot":"dialog-overlay",className:(0,y.cn)("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50 backdrop-blur-sm",e),...A})}function o2({className:e,children:A,showCloseButton:t=!0,...r}){return(0,d.jsxs)(o0,{"data-slot":"dialog-portal",children:[(0,d.jsx)(o1,{}),(0,d.jsxs)(oT,{"data-slot":"dialog-content",className:(0,y.cn)("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-2xl duration-200 sm:max-w-lg",e),...r,children:[A,t&&(0,d.jsxs)(oq,{"data-slot":"dialog-close",className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",children:[(0,d.jsx)(N.A,{}),(0,d.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})}function o4({className:e,...A}){return(0,d.jsx)("div",{"data-slot":"dialog-header",className:(0,y.cn)("flex flex-col gap-2 text-center sm:text-left",e),...A})}function o3({className:e,...A}){return(0,d.jsx)("div",{"data-slot":"dialog-footer",className:(0,y.cn)("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",e),...A})}function o5({className:e,...A}){return(0,d.jsx)(oO,{"data-slot":"dialog-title",className:(0,y.cn)("text-lg leading-none font-semibold",e),...A})}function o6({className:e,...A}){return(0,d.jsx)(oG,{"data-slot":"dialog-description",className:(0,y.cn)("text-muted-foreground text-sm",e),...A})}var o8=t(6271),o9=t(9821);let o7=(0,k.A)("github",[["path",{d:"M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4",key:"tonef"}],["path",{d:"M9 18c-4.51 2-5-2-7-2",key:"9comsn"}]]);var le=t(5334);function lA({open:e,onOpenChange:A}){return(0,d.jsx)(oZ,{open:e,onOpenChange:A,children:(0,d.jsxs)(o2,{className:"max-w-3xl max-h-[90vh]",children:[(0,d.jsx)(o4,{children:(0,d.jsxs)("div",{className:"flex items-center gap-4 mb-2",children:[(0,d.jsx)(o8.g,{width:64,height:64}),(0,d.jsxs)("div",{children:[(0,d.jsx)(o5,{className:"text-2xl",children:"Open Source Web Studio"}),(0,d.jsx)(o6,{className:"text-base",children:"Browser-based Website Builder"})]})]})}),(0,d.jsxs)("div",{className:"space-y-6 overflow-y-auto max-h-[60vh] pr-4",children:[(0,d.jsx)("section",{children:(0,d.jsxs)("div",{className:"text-sm text-gray-600 dark:text-gray-300 leading-relaxed space-y-3",children:[(0,d.jsx)("p",{children:"OSW Studio is a BYOK (Bring Your Own Key) agentic browser-based website builder where you describe what you want and an agent writes the code. Originally forked from @enzostvs and @victor's DeepSite v2, it has evolved into a full-featured development environment."}),(0,d.jsx)("p",{children:"This is a solo project and there isn't a huge corpo behind it. I'll do my best to fix issues and possibly keep the project improving, but it's just me doing this for fun so please be patient. All feedback and contributions are more than welcome."}),(0,d.jsx)("p",{children:"If you make something with the app I would be thrilled if you could share what you've made."})]})}),(0,d.jsxs)("section",{children:[(0,d.jsx)("h3",{className:"font-semibold text-lg mb-3",children:"Links & Support"}),(0,d.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,d.jsxs)("a",{href:"https://github.com/o-stahl/osw-studio",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-2 text-sm text-blue-600 dark:text-blue-400 hover:underline",children:[(0,d.jsx)(o7,{className:"h-4 w-4"}),"GitHub repo",(0,d.jsx)(le.A,{className:"h-3 w-3"})]}),(0,d.jsxs)("a",{href:"https://huggingface.co/spaces/otst/oswstudio",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-2 text-sm text-blue-600 dark:text-blue-400 hover:underline",children:[(0,d.jsxs)("svg",{fill:"currentColor",fillRule:"evenodd",height:"1em",style:{flex:"none",lineHeight:1},viewBox:"0 0 24 24",width:"1em",xmlns:"http://www.w3.org/2000/svg",className:"h-4 w-4",children:[(0,d.jsx)("title",{children:"HuggingFace"}),(0,d.jsx)("path",{d:"M16.781 3.277c2.997 1.704 4.844 4.851 4.844 8.258 0 .995-.155 1.955-.443 2.857a1.332 1.332 0 011.125.4 1.41 1.41 0 01.2 1.723c.204.165.352.385.428.632l.017.062c.06.222.12.69-.2 1.166.244.37.279.836.093 1.236-.255.57-.893 1.018-2.128 1.5l-.202.078-.131.048c-.478.173-.89.295-1.061.345l-.086.024c-.89.243-1.808.375-2.732.394-1.32 0-2.3-.36-2.923-1.067a9.852 9.852 0 01-3.18.018C9.778 21.647 8.802 22 7.494 22a11.249 11.249 0 01-2.541-.343l-.221-.06-.273-.08a16.574 16.574 0 01-1.175-.405c-1.237-.483-1.875-.93-2.13-1.501-.186-.4-.151-.867.093-1.236a1.42 1.42 0 01-.2-1.166c.069-.273.226-.516.447-.694a1.41 1.41 0 01.2-1.722c.233-.248.557-.391.917-.407l.078-.001a9.385 9.385 0 01-.44-2.85c0-3.407 1.847-6.554 4.844-8.258a9.822 9.822 0 019.687 0zM4.188 14.758c.125.687 2.357 2.35 2.14 2.707-.19.315-.796-.239-.948-.386l-.041-.04-.168-.147c-.561-.479-2.304-1.9-2.74-1.432-.43.46.119.859 1.055 1.42l.784.467.136.083c1.045.643 1.12.84.95 1.113-.188.295-3.07-2.1-3.34-1.083-.27 1.011 2.942 1.304 2.744 2.006-.2.7-2.265-1.324-2.685-.537-.425.79 2.913 1.718 2.94 1.725l.16.04.175.042c1.227.284 3.565.65 4.435-.604.673-.973.64-1.709-.248-2.61l-.057-.057c-.945-.928-1.495-2.288-1.495-2.288l-.017-.058-.025-.072c-.082-.22-.284-.639-.63-.584-.46.073-.798 1.21.12 1.933l.05.038c.977.721-.195 1.21-.573.534l-.058-.104-.143-.25c-.463-.799-1.282-2.111-1.739-2.397-.532-.332-.907-.148-.782.541zm14.842-.541c-.533.335-1.563 2.074-1.94 2.751a.613.613 0 01-.687.302.436.436 0 01-.176-.098.303.303 0 01-.049-.06l-.014-.028-.008-.02-.007-.019-.003-.013-.003-.017a.289.289 0 01-.004-.048c0-.12.071-.266.25-.427.026-.024.054-.047.084-.07l.047-.036c.022-.016.043-.032.063-.049.883-.71.573-1.81.131-1.917l-.031-.006-.056-.004a.368.368 0 00-.062.006l-.028.005-.042.014-.039.017-.028.015-.028.019-.036.027-.023.02c-.173.158-.273.428-.31.542l-.016.054s-.53 1.309-1.439 2.234l-.054.054c-.365.358-.596.69-.702 1.018-.143.437-.066.868.21 1.353.055.097.117.195.187.296.882 1.275 3.282.876 4.494.59l.286-.07.25-.074c.276-.084.736-.233 1.2-.42l.188-.077.065-.028.064-.028.124-.056.081-.038c.529-.252.964-.543.994-.827l.001-.036a.299.299 0 00-.037-.139c-.094-.176-.271-.212-.491-.168l-.045.01c-.044.01-.09.024-.136.04l-.097.035-.054.022c-.559.23-1.238.705-1.607.745h.006a.452.452 0 01-.05.003h-.024l-.024-.003-.023-.005c-.068-.016-.116-.06-.14-.142a.22.22 0 01-.005-.1c.062-.345.958-.595 1.713-.91l.066-.028c.528-.224.97-.483.985-.832v-.04a.47.47 0 00-.016-.098c-.048-.18-.175-.251-.36-.251-.785 0-2.55 1.36-2.92 1.36-.025 0-.048-.007-.058-.024a.6.6 0 01-.046-.088c-.1-.238.068-.462 1.06-1.066l.209-.126c.538-.32 1.01-.588 1.341-.831.29-.212.475-.406.503-.6l.003-.028c.008-.113-.038-.227-.147-.344a.266.266 0 00-.07-.054l-.034-.015-.013-.005a.403.403 0 00-.13-.02c-.162 0-.369.07-.595.18-.637.313-1.431.952-1.826 1.285l-.249.215-.033.033c-.08.078-.288.27-.493.386l-.071.037-.041.019a.535.535 0 01-.122.036h.005a.346.346 0 01-.031.003l.01-.001-.013.001c-.079.005-.145-.021-.19-.095a.113.113 0 01-.014-.065c.027-.465 2.034-1.991 2.152-2.642l.009-.048c.1-.65-.271-.817-.791-.493zM11.938 2.984c-4.798 0-8.688 3.829-8.688 8.55 0 .692.083 1.364.24 2.008l.008-.009c.252-.298.612-.46 1.017-.46.355.008.699.117.993.312.22.14.465.384.715.694.261-.372.69-.598 1.15-.605.852 0 1.367.728 1.562 1.383l.047.105.06.127c.192.396.595 1.139 1.143 1.68 1.06 1.04 1.324 2.115.8 3.266a8.865 8.865 0 002.024-.014c-.505-1.12-.26-2.17.74-3.186l.066-.066c.695-.684 1.157-1.69 1.252-1.912.195-.655.708-1.383 1.56-1.383.46.007.889.233 1.15.605.25-.31.495-.553.718-.694a1.87 1.87 0 01.99-.312c.357 0 .682.126.925.36.14-.61.215-1.245.215-1.898 0-4.722-3.89-8.55-8.687-8.55zm1.857 8.926l.439-.212c.553-.264.89-.383.89.152 0 1.093-.771 3.208-3.155 3.262h-.184c-2.325-.052-3.116-2.06-3.156-3.175l-.001-.087c0-1.107 1.452.586 3.25.586.716 0 1.379-.272 1.917-.526zm4.017-3.143c.45 0 .813.358.813.8 0 .441-.364.8-.813.8a.806.806 0 01-.812-.8c0-.442.364-.8.812-.8zm-11.624 0c.448 0 .812.358.812.8 0 .441-.364.8-.812.8a.806.806 0 01-.813-.8c0-.442.364-.8.813-.8zm7.79-.841c.32-.384.846-.54 1.33-.394.483.146.83.564.878 1.06.048.495-.212.97-.659 1.203-.322.168-.447-.477-.767-.585l.002-.003c-.287-.098-.772.362-.925.079a1.215 1.215 0 01.14-1.36zm-4.323 0c.322.384.377.92.14 1.36-.152.283-.64-.177-.925-.079l.003.003c-.108.036-.194.134-.273.24l-.118.165c-.11.15-.22.262-.377.18a1.226 1.226 0 01-.658-1.204c.048-.495.395-.913.878-1.059a1.262 1.262 0 011.33.394z"})]}),"Live Demo (HuggingFace)",(0,d.jsx)(le.A,{className:"h-3 w-3"})]}),(0,d.jsx)("a",{href:"https://www.buymeacoffee.com/otst",target:"_blank",rel:"noopener noreferrer",children:(0,d.jsx)("img",{src:"https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png",alt:"Buy Me A Coffee",style:{height:"30px",width:"109px"}})})]})]})]}),(0,d.jsxs)("div",{className:"flex justify-between items-center pt-4 border-t",children:[(0,d.jsxs)(o9.E,{variant:"secondary",className:"text-xs",children:["v",process.env.NEXT_PUBLIC_APP_VERSION||ox.rE]}),(0,d.jsx)(Q.$,{onClick:()=>A(!1),children:"Close"})]})]})})}let lt=(0,k.A)("settings",[["path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z",key:"1qme2f"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]),lr=(0,k.A)("info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]]),ln=(0,k.A)("test-tube",[["path",{d:"M14.5 2v17.5c0 1.4-1.1 2.5-2.5 2.5c-1.4 0-2.5-1.1-2.5-2.5V2",key:"125lnx"}],["path",{d:"M8.5 2h7",key:"csnxdl"}],["path",{d:"M14.5 16h-5",key:"1ox875"}]]),la=(0,k.A)("layout-template",[["rect",{width:"18",height:"7",x:"3",y:"3",rx:"1",key:"f1a2em"}],["rect",{width:"9",height:"7",x:"3",y:"14",rx:"1",key:"jqznyg"}],["rect",{width:"5",height:"7",x:"16",y:"14",rx:"1",key:"q5h2i8"}]]);var ls=t(6085),li=t(9270);let lo=(0,k.A)("arrow-up-down",[["path",{d:"m21 16-4 4-4-4",key:"f6ql7i"}],["path",{d:"M17 20V4",key:"1ejh1v"}],["path",{d:"m3 8 4-4 4 4",key:"11wl7u"}],["path",{d:"M7 4v16",key:"1glfcx"}]]),ll=(0,k.A)("layout-grid",[["rect",{width:"7",height:"7",x:"3",y:"3",rx:"1",key:"1g98yp"}],["rect",{width:"7",height:"7",x:"14",y:"3",rx:"1",key:"6d4xhi"}],["rect",{width:"7",height:"7",x:"14",y:"14",rx:"1",key:"nxv5o0"}],["rect",{width:"7",height:"7",x:"3",y:"14",rx:"1",key:"1bb6yr"}]]),lc=(0,k.A)("list",[["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M3 18h.01",key:"1tta3j"}],["path",{d:"M3 6h.01",key:"1rqtza"}],["path",{d:"M8 12h13",key:"1za7za"}],["path",{d:"M8 18h13",key:"1lx6n3"}],["path",{d:"M8 6h13",key:"ik3vkj"}]]),lu=(0,k.A)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]),ld=(0,k.A)("upload",[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m17 8-5-5-5 5",key:"7q97r8"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}]]);var lp=t(1567),lh=t(9390);let lg={name:"Example Studios",description:"Creative agency portfolio showcasing modern web development capabilities",directories:["/styles","/scripts","/portfolio","/assets","/assets/images","/templates"],files:[{path:"/index.html",content:` - - - - - Example Studios - Creative Agency - - - - - {{> navigation}} - -
-
-
-

Crafting Digital Experiences

-

We create stunning websites and digital solutions that captivate audiences and drive results

- -
-
- -
-
-

What We Do

-

From concept to launch, we deliver exceptional digital experiences

-
- -
-
-
Design
-

Web Design

-

Beautiful, user-centered designs that make lasting impressions

- See Our Work -
- -
-
Code
-

Development

-

Fast, responsive websites built with modern technologies

- View Projects -
- -
-
Mobile
-

Mobile Apps

-

Native and web applications that users love to use

- Get Started -
-
-
- - - -
-
-

Ready to Build Something Amazing?

-

Let's turn your ideas into reality. We'd love to hear about your project.

- Start Your Project -
-
- -
- - {{> footer}} - - - -`},{path:"/portfolio.html",content:` - - - - - Portfolio - Example Studios - - - - - - - -
-
-
-

Our Portfolio

-

Explore our recent projects and see how we bring ideas to life

-
-
- -
-
-
-

Our Work

-

Filter by category to explore our diverse portfolio of projects

-
- -
- - - - -
- -
- - -
- Fitness Tracker App -
-

Fitness Tracker App

-

Cross-platform mobile app for health and wellness tracking

-
- React Native - Firebase - Redux -
-
-
- -
- Green Earth Campaign -
-

Green Earth Campaign

-

Complete brand identity for environmental awareness initiative

-
- Brand Design - Illustration - Print -
-
-
- -
- Web Application -
-

Web Application

-

Interactive web application with modern features

-
- React - Node.js - PostgreSQL -
-
-
- -
- Recipe Sharing App -
-

Recipe Sharing App

-

Social platform for food enthusiasts to share and discover recipes

-
- Flutter - AWS - ML Kit -
-
-
- -
- StartupLab Identity -
-

StartupLab Identity

-

Modern brand identity for tech incubator and coworking space

-
- Logo Design - Web Design - Marketing -
-
-
-
-
-
- -
-
-

Ready to Build Something Amazing?

-

Let's turn your ideas into reality. We'd love to hear about your project.

- Start Your Project -
-
-
- - {{> footer}} - - - - -`},{path:"/about.html",content:` - - - - - About - Example Studios - - - - - - -
-
-
-

About Example Studios

-

We're a passionate team of designers and developers crafting exceptional digital experiences that make a difference.

-
-
- -
- -
-
-

Our Story

-

From humble beginnings to digital excellence

-
-
-
-
🚀
-

Founded in 2020

-

Example Studios emerged from a simple belief: great design should be accessible to everyone. What started as a small team of passionate creators has grown into a full-service digital agency.

-
- -
-
💡
-

Our Philosophy

-

We believe in the power of collaboration, the importance of user-centered design, and the magic that happens when creativity meets technology.

-
-
-
- -
-
-

Our Mission

-

Crafting digital experiences that make a difference

-
-
-
🎯
-

Empowering Through Design

-

To empower businesses and individuals with stunning, functional digital solutions that not only look great but drive real results. We're not just building websites and applications; we're crafting digital experiences that connect, engage, and inspire.

- Start Your Project -
-
- -
-
-

Our Team

-
-
-
- Sarah Johnson -

Sarah Johnson

-
Creative Director
-

With over 8 years in design, Sarah leads our creative vision and ensures every project tells a compelling story.

-
- -
- Mike Chen -

Mike Chen

-
Lead Developer
-

Mike transforms designs into responsive, performant web experiences using the latest technologies and best practices.

-
- -
- Emily Rodriguez -

Emily Rodriguez

-
UX Designer
-

Emily ensures every user interaction is intuitive and delightful, backed by research and user testing.

-
-
-
- -
-
-

Our Values

-
-
-
-
Creativity
-

Creativity First

-

We believe every project deserves a unique, creative approach that stands out in the digital landscape.

-
- -
-
Performance
-

Performance Driven

-

Beautiful designs mean nothing without flawless performance. We optimize for speed, accessibility, and user experience.

-
- -
-
Partnership
-

Collaboration

-

The best results come from working closely with our clients as partners, not just service providers.

-
- -
-
Innovation
-

Innovation

-

We stay ahead of industry trends and constantly explore new technologies to deliver cutting-edge solutions.

-
-
-
- -
-
-

Ready to Build Something Amazing?

-

Let's turn your ideas into reality. We'd love to hear about your project.

- Start Your Project -
-
-
-
- - {{> footer}} - - - -`},{path:"/styles/main.css",content:`/* Main Stylesheet - Shared across all pages */ - -:root { - --primary: #ea580c; - --primary-dark: #c2410c; - --secondary: #0891b2; - --secondary-dark: #0e7490; - --accent: #f59e0b; - --neutral: #64748b; - --bg: linear-gradient(180deg, #ffffff 0%, #fdfdfd 100%); - --bg-secondary: linear-gradient(180deg, #f4f4f4 0%, #f8fafc 100%); - --text: #1e293b; - --text-light: #64748b; - --border: #e2e8f0; - --radius: 12px; - --shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04); - - /* Layout variables */ - --navbar-height: 65px; - --navbar-bg: rgba(255, 255, 255, 0.95); - --hero-gradient-blue: rgba(26, 54, 93, 0.9); - --hero-gradient-orange: rgba(255, 123, 0, 0.8); - - /* Responsive Typography Scale (Mobile-first) */ - --text-xs: 0.75rem; - --text-sm: 0.875rem; - --text-base: 1rem; - --text-lg: 1.125rem; - --text-xl: 1.25rem; - --text-2xl: 1.5rem; - --text-3xl: 1.875rem; - --text-4xl: 2.25rem; - --text-5xl: 3rem; - --text-6xl: 3.75rem; - - /* Semantic Typography Variables */ - --heading-h1: var(--text-4xl); - --heading-h2: var(--text-3xl); - --heading-h3: var(--text-xl); - --heading-h4: var(--text-lg); - --heading-h5: var(--text-base); - --text-subtitle: var(--text-lg); - --text-body: var(--text-base); - --text-small: var(--text-sm); - - /* Responsive Spacing Scale */ - --space-1: 0.25rem; - --space-2: 0.5rem; - --space-3: 0.75rem; - --space-4: 1rem; - --space-5: 1.25rem; - --space-6: 1.5rem; - --space-8: 2rem; - --space-10: 2.5rem; - --space-12: 3rem; - --space-16: 4rem; - --space-20: 5rem; - - /* Container and Grid Variables */ - --container-padding: var(--space-4); - --grid-gap: var(--space-6); - --card-padding: var(--space-6); - --section-spacing: var(--space-12); -} - -/* Tablet Breakpoint - 768px+ */ -@media (min-width: 768px) { - :root { - /* Larger typography for tablet */ - --text-3xl: 2.25rem; - --text-4xl: 2.75rem; - --text-5xl: 3.5rem; - --text-6xl: 4.5rem; - - /* Updated semantic typography for tablet */ - --heading-h1: var(--text-4xl); - --heading-h2: var(--text-3xl); - --heading-h3: var(--text-2xl); - --heading-h4: var(--text-xl); - --text-subtitle: var(--text-xl); - - /* Increased spacing for tablet */ - --container-padding: var(--space-6); - --grid-gap: var(--space-8); - --card-padding: var(--space-8); - --section-spacing: var(--space-16); - } -} - -/* Desktop Breakpoint - 1024px+ */ -@media (min-width: 1024px) { - :root { - /* Larger typography for desktop */ - --text-4xl: 2.5rem; - --text-5xl: 3rem; - --text-6xl: 3.5rem; - - /* Updated semantic typography for desktop */ - --heading-h1: var(--text-4xl); - --heading-h2: var(--text-3xl); - --heading-h3: var(--text-2xl); - --heading-h4: var(--text-xl); - - /* Increased spacing for desktop */ - --container-padding: var(--space-8); - --grid-gap: var(--space-10); - --card-padding: var(--space-10); - --section-spacing: var(--space-20); - } -} - -/* Large Desktop Breakpoint - 1200px+ */ -@media (min-width: 1200px) { - :root { - /* Maximum typography scaling */ - --text-6xl: 4rem; - - /* Maximum spacing */ - --section-spacing: var(--space-24, 6rem); - } -} - -* { - margin: 0; - padding: 0; - box-sizing: border-box; -} - -body { - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; - background: var(--bg); - color: var(--text); - line-height: 1.6; -} - -/* Navigation */ -.navbar { - padding: var(--space-4) var(--container-padding); - display: flex; - justify-content: space-between; - align-items: center; - position: fixed; - top: 0; - left: 0; - right: 0; - z-index: 1000; - transition: transform 0.3s ease; - backdrop-filter: opacity(0); - background: var(--navbar-bg); - height: var(--navbar-height); -} - -.navbar.hidden { - transform: translateY(-100%); -} - -body { - padding-top: var(--navbar-height); -} - -.nav-brand { - font-size: var(--text-xl); - font-weight: 600; - color: var(--text); - text-decoration: none; - display: flex; - align-items: center; - gap: var(--space-2); -} - -.nav-logo { - width: 28px; - height: 28px; -} - -.nav-menu { - display: flex; - list-style: none; - gap: var(--space-6); -} - -.nav-link { - color: var(--text-light); - text-decoration: none; - transition: all 0.2s ease; - border-radius: var(--space-1); - padding: var(--space-2); -} - -.nav-link:hover, -.nav-link.active { - color: var(--primary); -} - -.nav-link:focus { - outline: none; -} - -/* Hamburger Menu Button */ -.nav-toggle { - display: none; - flex-direction: column; - justify-content: space-between; - width: 24px; - height: 18px; - background: transparent; - border: none; - cursor: pointer; - padding: 0; - z-index: 1001; - border-radius: var(--space-1); -} - -.nav-toggle:focus { - outline: none; -} - -.hamburger-line { - width: 100%; - height: 2px; - background: var(--text); - transition: all 0.3s ease; - transform-origin: center; -} - -.nav-toggle.active .hamburger-line:nth-child(1) { - transform: rotate(45deg) translate(6px, 6px); -} - -.nav-toggle.active .hamburger-line:nth-child(2) { - opacity: 0; -} - -.nav-toggle.active .hamburger-line:nth-child(3) { - transform: rotate(-45deg) translate(6px, -6px); -} - -/* Tablet Responsive - Enhanced desktop experience */ -@media (min-width: 768px) and (max-width: 1023px) { - .nav-menu { - gap: var(--space-4); - } - - .nav-link { - font-size: var(--text-sm); - padding: var(--space-2) var(--space-3); - } -} - -/* Mobile Menu Styles - Hamburger menu only on mobile */ -@media (max-width: 767px) { - .nav-toggle { - display: flex; - } - - .navbar.menu-open { - background: rgba(255, 255, 255, 1); - backdrop-filter: opacity(0); - } - - .nav-menu { - position: fixed; - top: var(--navbar-height); - left: 0; - right: 0; - background: #fff; - backdrop-filter: opacity(0); - flex-direction: column; - padding: var(--space-6) var(--space-4) var(--space-8); - gap: 0; - transform: translateY(-100%); - opacity: 0; - visibility: hidden; - transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); - } - - .nav-menu.active { - transform: translateY(0); - opacity: 1; - visibility: visible; - } - - .nav-link { - font-size: var(--text-lg); - font-weight: 500; - padding: var(--space-2) var(--space-6); - border-radius: var(--space-2); - background: transparent; - border: none; - transition: all 0.2s ease; - position: relative; - width: fit-content; - display: block; - margin: 0 auto; - } - - .nav-link:hover { - background: var(--bg-secondary); - color: var(--primary); - transform: translateY(-2px); - } - - .nav-link.active { - background: var(--primary); - color: white; - font-weight: 600; - } - - .nav-link.active::before { - content: ''; - position: absolute; - left: 0; - top: 50%; - transform: translateY(-50%); - width: 4px; - height: 20px; - background: white; - border-radius: 2px; - } -} - -/* Container */ -.container { - max-width: 1000px; - margin: 0 auto; - padding: var(--card-padding); -} - -/* Universal Heading Styles */ -h1 { - font-size: var(--heading-h1); - margin-bottom: var(--space-4); - font-weight: 700; - line-height: 1.2; -} - -h2 { - font-size: var(--heading-h2); - margin-bottom: var(--space-4); - font-weight: 600; - line-height: 1.3; -} - -h3 { - font-size: var(--heading-h3); - margin-bottom: var(--space-3); - font-weight: 600; - line-height: 1.4; -} - -h4 { - font-size: var(--heading-h4); - margin-bottom: var(--space-2); - font-weight: 600; - line-height: 1.4; -} - -h5 { - font-size: var(--heading-h5); - margin-bottom: var(--space-2); - font-weight: 600; - line-height: 1.5; -} - -p { - color: var(--text-light); - font-size: var(--text-body); - margin-bottom: var(--space-8); - line-height: 1.6; -} - -/* Cards */ -.card-grid { - display: grid; - grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); - gap: var(--space-6); - margin-bottom: var(--section-spacing); -} - -.card { - background: var(--bg-secondary); - padding: var(--card-padding); - border-radius: var(--radius); - text-align: center; -} - -.card h2 { - font-size: var(--heading-h2); - margin-bottom: var(--space-4); -} - -.card p { - font-size: var(--text-body); - margin-bottom: var(--space-6); -} - -/* Buttons */ -.btn { - display: inline-block; - background: var(--primary); - color: white; - padding: var(--space-3) var(--space-6); - border: none; - border-radius: var(--radius); - cursor: pointer; - text-decoration: none; - font-size: var(--text-body); - font-weight: 500; - transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); - box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); -} - -.btn:hover { - background: var(--primary-dark); - transform: translateY(-2px); - box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); -} - -.btn:active { - transform: translateY(0); - box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); -} - -.btn:focus { - outline: none; -} - -.btn-small { - padding: var(--space-2) var(--space-4); - font-size: var(--text-sm); -} - -/* Hero Section */ -.hero { - height: calc(100vh - var(--navbar-height) - var(--container-padding)); - background: linear-gradient(135deg, var(--hero-gradient-blue), var(--hero-gradient-orange)), - url('/assets/images/example-background.jpg') center/cover; - background-size: contain; - color: white; - display: flex; - align-items: center; - justify-content: center; - text-align: center; - padding: var(--space-8) var(--container-padding); - position: relative; - overflow: hidden; - margin: 0rem var(--container-padding) var(--section-spacing); - border-radius: var(--radius); -} - -.hero.sub-page { - height: calc(50vh + var(--navbar-height)); - min-height: calc(300px + var(--navbar-height)); -} - -.hero-content { - max-width: 800px; - z-index: 1; -} - -.hero h1 { - font-size: var(--text-4xl); - margin-bottom: var(--space-4); - font-weight: 700; - text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3); -} - -.hero-subtitle { - font-size: var(--text-subtitle); - opacity: 0.95; - margin-bottom: var(--space-8); - color: white; -} - -.hero-buttons { - display: flex; - gap: var(--space-4); - justify-content: center; - flex-wrap: wrap; -} - -.btn-primary { - background: var(--primary); - color: white; -} - -.btn-primary:hover { - background: var(--primary-dark); - transform: translateY(-2px) scale(1.02); - box-shadow: 0 6px 16px rgba(234, 88, 12, 0.25); -} - -.btn-primary:focus { - outline: none; -} - -.btn-secondary { - background: rgba(255, 255, 255, 0.2); - color: white; - backdrop-filter: opacity(0); - box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); -} - -.btn-secondary:hover { - background: rgba(255, 255, 255, 0.3); - transform: translateY(-2px) scale(1.02); - box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15); -} - -.btn-secondary:focus { - outline: none; -} - -/* Features Section */ -.features-section { - padding: var(--section-spacing) 0; - background: var(--bg-secondary); - border-radius: var(--radius); - margin-top: var(--section-spacing); -} - -.feature-grid { - display: grid; - grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); - gap: var(--space-6); - margin-top: var(--space-8); -} - -.feature { - text-align: center; - padding: var(--space-6); -} - -.feature-icon { - font-size: 0.9rem; - font-weight: 600; - color: var(--secondary); - text-transform: uppercase; - letter-spacing: 0.1em; - display: block; - margin-bottom: var(--space-4); -} - -.feature h3 { - color: var(--secondary-dark); - margin-bottom: 0.5rem; -} - -.feature p { - color: var(--text-light); - font-size: var(--text-body); -} - -/* Example Section */ -.example-section { - background: var(--bg-secondary); - padding: var(--card-padding); - border-radius: var(--radius); - text-align: center; -} - -/* Aurora Studios Specific Styles */ -.section-subtitle { - font-size: var(--text-subtitle); - color: var(--text-light); - margin-bottom: var(--section-spacing); - text-align: center; - max-width: 600px; - margin-left: auto; - margin-right: auto; -} - -/* What We Do section title */ -#services h2 { - text-align: center; -} - -.service-icon { - font-size: var(--text-small); - font-weight: 600; - color: var(--primary); - text-transform: uppercase; - letter-spacing: 0.1em; - margin-bottom: var(--space-6); - display: block; -} - -/* Featured Work Section */ -.featured-work { - padding: var(--section-spacing) 0; - background: var(--bg-secondary); -} - -.featured-work h2 { - font-size: var(--heading-h2); - text-align: center; - margin-bottom: var(--section-spacing); - color: var(--text); -} - -.work-grid { - display: grid; - grid-template-columns: repeat(auto-fit, minmax(350px, 1fr)); - gap: var(--space-6); - max-width: 1200px; - margin: 0 auto; - padding: 0 var(--space-8); -} - -.work-item { - background: white; - border-radius: var(--radius); - overflow: hidden; - box-shadow: var(--shadow); - transition: transform 0.3s ease; -} - -.work-item:hover { - transform: translateY(-5px); -} - -.section-cta { - text-align: center; - margin-top: var(--space-8); - padding-top: var(--space-6); - border-top: 1px solid var(--border); -} - -.featured-work-cta { - text-align: center; - margin-top: var(--space-8); -} - -.work-image { - width: 100%; - height: 250px; - object-fit: cover; -} - -.work-info { - padding: var(--space-6); -} - -.work-info h3 { - color: var(--primary); - margin-bottom: var(--space-2); -} - -.work-info p { - color: var(--text-light); - font-size: var(--text-body); -} - -/* CTA Section */ -.cta-section { - background: linear-gradient(135deg, var(--secondary), var(--primary)); - color: white; - padding: var(--section-spacing) var(--space-8); - text-align: center; - margin: var(--section-spacing) var(--space-4); - border-radius: var(--radius); -} - -.cta-content h2 { - margin-bottom: var(--space-4); - font-size: var(--heading-h2); -} - -.cta-content p { - font-size: var(--text-subtitle); - opacity: 0.9; - margin-bottom: var(--space-8); - color: white; -} - -.cta-section .btn { - background: white; - color: var(--text); - font-weight: 600; - box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); -} - -.cta-section .btn:hover { - background: var(--bg-secondary); - transform: translateY(-2px) scale(1.02); - box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15); -} - -.cta-section .btn:focus { - outline: none; -} - -/* Page Header - Shared across sub-pages */ -.page-header { - text-align: center; - margin-bottom: var(--section-spacing); -} - -.page-header h1 { - font-size: var(--heading-h1); - margin-bottom: var(--space-4); - color: var(--text); -} - -.page-subtitle { - font-size: var(--text-subtitle); - color: var(--text-light); - max-width: 600px; - margin: 0 auto; -} - -/* Section Header Component */ -.section-header { - text-align: center; - margin-bottom: var(--section-spacing); -} - -.section-header h2 { - font-size: var(--heading-h2); - color: var(--text); - margin-bottom: var(--space-3); - position: relative; -} - -.section-header h2::after { - content: ''; - position: absolute; - bottom: -0.75rem; - left: 50%; - transform: translateX(-50%); - width: 2rem; - height: 3px; - background: var(--primary); - border-radius: 2px; -} - -.section-header .section-subtitle { - font-size: var(--text-subtitle); - color: var(--text-light); - margin-top: var(--space-6); - margin-bottom: 0; - max-width: 600px; - margin-left: auto; - margin-right: auto; - line-height: 1.6; -} - -/* Content Sections - Shared layout styles */ -.content-section { - margin-bottom: var(--section-spacing); -} - -.content-section h2 { - font-size: var(--heading-h2); - color: var(--text); - margin-bottom: var(--space-4); - position: relative; -} - -.content-section p { - font-size: var(--text-subtitle); - line-height: 1.8; - color: var(--text-light); - margin-bottom: var(--space-6); - text-align: center; -} - -/* Team Grid - Shared component */ -.team-grid { - display: grid; - grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); - gap: var(--space-6); - margin-top: var(--space-8); -} - -.team-member { - text-align: center; - padding: var(--card-padding); - background: var(--bg-secondary); - border-radius: var(--radius); - transition: transform 0.3s ease, box-shadow 0.3s ease; -} - -.team-member:hover { - transform: translateY(-5px); - box-shadow: var(--shadow); -} - -.team-member img { - width: 100px; - height: 100px; - border-radius: 50%; - object-fit: cover; - margin-bottom: var(--space-4); - border: 3px solid var(--primary); -} - -.team-member h3 { - font-size: var(--heading-h3); - color: var(--text); - margin-bottom: var(--space-2); -} - -.team-member .role { - color: var(--primary); - font-weight: 600; - margin-bottom: var(--space-4); -} - -.team-member p { - font-size: var(--text-small); - color: var(--text-light); - line-height: 1.6; -} - -/* Contact Page Components */ -.contact-card .contact-detail { - font-weight: 600; - color: var(--primary); - font-size: var(--text-base); - margin: var(--space-4) 0; - padding: var(--space-3); - background: var(--bg-secondary); - border-radius: var(--space-2); - text-align: center; -} - -.contact-form-section { - max-width: 600px; - margin: 0 auto; - background: white; - padding: var(--card-padding); - border-radius: var(--radius); - box-shadow: var(--shadow); -} - -.social-proof-container { - max-width: 800px; - margin: 0 auto; - text-align: center; -} - -/* Tablet Responsive Styles */ -@media (min-width: 768px) and (max-width: 1023px) { - /* Hero adjustments for tablet */ - .hero.sub-page { - height: calc(50vh + var(--navbar-height)); - min-height: calc(350px + var(--navbar-height)); - } - - /* Grid layout adjustments for tablet */ - .card-grid, - .work-grid, - .team-grid, - .portfolio-grid { - grid-template-columns: repeat(2, 1fr); - gap: var(--space-6); - } - -} - -/* Mobile Responsive Styles */ -@media (max-width: 767px) { - :root { - /* Mobile-optimized typography */ - --heading-h1: var(--text-3xl); - --heading-h2: var(--text-2xl); - --heading-h3: var(--text-lg); - --text-subtitle: var(--text-base); - - /* Tighter spacing for mobile */ - --section-spacing: var(--space-10); - --card-padding: var(--space-4); - } - - /* Hero section mobile adjustments */ - .hero { - margin: 0rem var(--space-4) var(--section-spacing); - padding: var(--space-6) var(--space-4); - } - - .hero h1 { - font-size: var(--text-4xl); - } - - .hero.sub-page { - height: calc(40vh + var(--navbar-height)); - min-height: calc(250px + var(--navbar-height)); - } - - /* Grid layout adjustments - single column for mobile */ - .card-grid, - .work-grid, - .team-grid, - .portfolio-grid { - grid-template-columns: 1fr; - gap: var(--space-4); - } - - - /* Mobile button improvements */ - .btn { - width: 100%; - max-width: 280px; - text-align: center; - } - - .hero-buttons { - flex-direction: column; - align-items: center; - gap: var(--space-3); - } - - /* Mobile typography improvements */ - p { - margin-bottom: var(--space-6); - } - - /* Contact form mobile adjustments */ - .form-row { - grid-template-columns: 1fr; - gap: var(--space-4); - margin-bottom: var(--space-4); - } - - .social-proof-stats { - grid-template-columns: 1fr; - gap: var(--space-6); - } - - .social-proof-text { - margin-left: 0; - border-left: none; - border-top: 3px solid var(--primary); - padding-left: 0; - padding-top: var(--space-4); - } -} - -.contact-info h2 { - font-size: var(--heading-h2); - color: var(--text); - margin-bottom: var(--space-4); -} - -.contact-info p { - font-size: var(--text-subtitle); - line-height: 1.8; - color: var(--text-light); - margin-bottom: var(--space-8); -} - - -/* Contact Form - Refactored */ -.contact-form-container { - padding: var(--card-padding); -} - -.contact-form-container .section-header { - text-align: left; - margin-bottom: var(--space-8); -} - -.contact-form-container .section-header h2 { - font-size: var(--heading-h2); - color: var(--text); - margin-bottom: var(--space-3); -} - -.contact-form-container .section-header p { - color: var(--text-light); - font-size: var(--text-base); - margin: 0; -} - -.form-row { - display: grid; - grid-template-columns: 1fr 1fr; - gap: var(--space-4); - margin-bottom: var(--space-6); -} - -.form-group { - margin-bottom: var(--space-6); -} - -.form-group label { - display: block; - font-weight: 600; - color: var(--text); - font-size: var(--text-body); - margin-bottom: var(--space-2); -} - -.form-group input, -.form-group select, -.form-group textarea { - width: 100%; - padding: var(--space-4); - border: 2px solid var(--border); - border-radius: var(--radius); - font-size: var(--text-body); - transition: border-color 0.3s ease, box-shadow 0.3s ease; -} - -.form-group input:focus, -.form-group select:focus, -.form-group textarea:focus { - outline: none; - border-color: var(--primary); - box-shadow: 0 0 0 3px rgba(234, 88, 12, 0.1); -} - -.form-group textarea { - resize: vertical; - min-height: 120px; -} - -.checkbox-group { - display: flex; - align-items: flex-start; - gap: var(--space-2); -} - -.checkbox-group input[type="checkbox"] { - width: auto; - margin: 0; - transform: scale(1.2); -} - -.checkbox-group label { - margin-bottom: 0; - font-weight: normal; - font-size: var(--text-small); - cursor: pointer; -} - -.error-message { - color: #ef4444; - font-size: var(--text-sm); - margin-top: var(--space-1); - display: block; -} - -.btn-full { - width: 100%; - padding: var(--space-4) var(--space-8); - font-size: var(--text-subtitle); - font-weight: 600; -} - -.form-success { - display: none; - background: #10b981; - color: white; - padding: var(--space-6); - border-radius: var(--radius); - margin-top: var(--space-4); - text-align: center; - border: 1px solid #059669; -} - -.form-success.show { - display: flex; - align-items: center; - justify-content: center; - gap: var(--space-3); -} - -.form-success .success-icon { - display: flex; - align-items: center; - justify-content: center; - width: 32px; - height: 32px; - background: rgba(255, 255, 255, 0.2); - border-radius: 50%; - flex-shrink: 0; -} - -.form-success .success-icon svg { - width: 20px; - height: 20px; - stroke: white; - stroke-width: 3; -} - -.form-success p { - margin: 0; - font-weight: 500; - font-size: var(--text-body); -} - -/* Social Proof Section */ -.contact-social-proof { - background: var(--bg-secondary); - padding: var(--card-padding); - border-radius: var(--radius); - border: 2px solid var(--border); -} - -.contact-social-proof h3 { - font-size: var(--heading-h3); - color: var(--text); - margin-bottom: var(--space-6); - text-align: center; -} - -.social-proof-stats { - display: grid; - grid-template-columns: repeat(3, 1fr); - gap: var(--space-4); - margin-bottom: var(--space-6); -} - -.stat { - text-align: center; - padding: var(--space-3); -} - -.stat-number { - font-size: var(--text-2xl); - font-weight: 700; - color: var(--primary); - margin-bottom: var(--space-1); -} - -.stat-label { - font-size: var(--text-sm); - color: var(--text-light); - font-weight: 500; -} - -.social-proof-text { - font-style: italic; - color: var(--text); - line-height: 1.6; - margin-bottom: var(--space-4); - text-align: center; - border-left: 3px solid var(--primary); - padding-left: var(--space-4); - margin-left: var(--space-4); -} - -.social-proof-attribution { - text-align: center; - color: var(--text-light); - font-size: var(--text-sm); -} - -.testimonial { - margin-top: var(--space-8); - padding: var(--space-6); - background: var(--bg-secondary); - border-radius: var(--radius); - border-left: 4px solid var(--primary); -} - -.testimonial-text { - font-size: var(--text-lg); - font-style: italic; - color: var(--text); - line-height: 1.6; - margin-bottom: var(--space-4); -} - -.testimonial-attribution { - color: var(--text-light); - font-size: var(--text-sm); -} - -/* Loading state for form submission */ -.contact-form.loading .btn-primary { - background: var(--neutral); - cursor: not-allowed; - position: relative; -} - -.contact-form.loading .btn-primary:after { - content: ''; - position: absolute; - width: 20px; - height: 20px; - margin: auto; - border: 2px solid white; - border-top: 2px solid transparent; - border-radius: 50%; - animation: spin 1s linear infinite; -} - -@keyframes spin { - 0% { transform: rotate(0deg); } - 100% { transform: rotate(360deg); } -} - -/* Form validation styles */ -.form-group.error input, -.form-group.error select, -.form-group.error textarea { - border-color: #ef4444; - background-color: #fef2f2; -} - -.form-group.success input, -.form-group.success select, -.form-group.success textarea { - border-color: #10b981; - background-color: #f0fdf4; -} - -/* Footer - Modern Light Design */ -.site-footer { - background: var(--bg-secondary); - border-top: 1px solid var(--border); - padding: var(--section-spacing) 0 0; - margin-top: var(--section-spacing); -} - -.footer-content { - max-width: 1200px; - margin: 0 auto; - padding: 0 var(--space-8) var(--section-spacing); - display: grid; - grid-template-columns: 1fr 2fr; - gap: var(--space-10); - align-items: start; -} - -/* Footer Brand Section */ -.footer-brand { - display: flex; - flex-direction: column; - gap: var(--space-4); -} - -.footer-logo { - display: flex; - align-items: center; - gap: var(--space-3); - font-size: var(--text-xl); - font-weight: 600; - color: var(--text); -} - -.footer-logo img { - width: 40px; - height: 40px; -} - -.footer-tagline { - color: var(--text-light); - font-size: var(--text-body); - margin: 0; - line-height: 1.5; -} - -.footer-social { - display: flex; - gap: var(--space-3); - margin-top: var(--space-2); -} - -.footer-social a { - width: 36px; - height: 36px; - display: flex; - align-items: center; - justify-content: center; - border-radius: 50%; - background: white; - color: var(--text); - text-decoration: none; - font-size: var(--text-base); - transition: all 0.2s ease; - border: 1px solid var(--border); -} - -.footer-social a:hover { - background: var(--primary); - color: white; - border-color: var(--primary); - transform: translateY(-2px); -} - -/* Footer Links Section */ -.footer-links-section { - display: grid; - grid-template-columns: 1fr 1fr; - gap: var(--space-8); -} - -.footer-column h4 { - font-size: var(--text-base); - font-weight: 600; - color: var(--text); - margin-bottom: var(--space-4); - text-transform: uppercase; - letter-spacing: 0.05em; -} - -.footer-links { - list-style: none; - padding: 0; - margin: 0; -} - -.footer-links li { - margin-bottom: var(--space-3); -} - -.footer-links a { - color: var(--text-light); - text-decoration: none; - font-size: var(--text-body); - transition: color 0.2s ease; - position: relative; -} - -.footer-links a:hover { - color: var(--primary); - transform: translateX(2px); - display: inline-block; -} - -/* Footer Bottom Bar */ -.footer-bottom { - border-top: 1px solid var(--border); - padding: var(--space-6) var(--space-8); - max-width: 1200px; - margin: 0 auto; - display: flex; - justify-content: space-between; - align-items: center; - flex-wrap: wrap; - gap: var(--space-4); -} - -.footer-hf-link { - display: flex; - align-items: center; - gap: var(--space-2); - color: var(--text-light); - text-decoration: none; - font-size: var(--text-sm); - font-weight: 500; - transition: all 0.2s ease; - padding: var(--space-1) var(--space-2); - border-radius: var(--space-1); -} - -.footer-hf-link:hover { - color: var(--primary); - background: rgba(234, 88, 12, 0.1); - transform: translateY(-1px); -} - -.footer-hf-link svg { - width: 16px; - height: 16px; - flex-shrink: 0; -} - -.footer-bottom-links { - display: flex; - align-items: center; - gap: var(--space-4); -} - -.footer-bottom-links a { - color: var(--text-light); - text-decoration: none; - font-size: var(--text-sm); - transition: color 0.2s ease; -} - -.footer-bottom-links a:hover { - color: var(--primary); -} - -.footer-bottom-links .separator { - color: var(--text-light); - font-size: var(--text-sm); -} - -/* Responsive Footer Styles */ -@media (max-width: 767px) { - .footer-content { - grid-template-columns: 1fr; - gap: var(--space-8); - padding: 0 var(--space-4) var(--space-8); - } - - .footer-brand { - text-align: center; - align-items: center; - } - - .footer-links-section { - grid-template-columns: 1fr 1fr; - gap: var(--space-6); - text-align: center; - } - - .footer-column h4 { - text-align: center; - } - - .footer-links { - text-align: center; - } - - .footer-links a { - display: inline-block; - } - - .footer-bottom { - flex-direction: column; - text-align: center; - padding: var(--space-4); - } - - .footer-bottom-links { - flex-wrap: wrap; - justify-content: center; - } -} - -`},{path:"/styles/portfolio.css",content:`/* Portfolio Page Styles */ - -/* Portfolio Filters */ -.portfolio-filters { - display: flex; - justify-content: center; - gap: var(--space-4); - margin-bottom: var(--section-spacing); - flex-wrap: wrap; -} - -.filter-btn { - padding: var(--space-3) var(--space-6); - border: 2px solid var(--border); - background: transparent; - border-radius: 50px; - cursor: pointer; - transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); - font-weight: 500; - font-size: var(--text-body); - color: var(--text-light); - box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05); -} - -.filter-btn:hover, -.filter-btn.active { - border-color: var(--primary); - background: var(--primary); - color: white; - transform: translateY(-1px) scale(1.01); - box-shadow: 0 4px 12px rgba(234, 88, 12, 0.2); -} - -.filter-btn:focus { - outline: none; -} - -.filter-btn:active { - transform: translateY(0) scale(0.99); -} - -/* Portfolio Grid */ -.portfolio-grid { - display: grid; - grid-template-columns: repeat(auto-fit, minmax(350px, 1fr)); - gap: var(--space-6); - margin-bottom: var(--section-spacing); -} - -.portfolio-item { - position: relative; - border-radius: var(--radius); - overflow: hidden; - box-shadow: var(--shadow); - transition: transform 0.3s ease; - cursor: pointer; -} - -.portfolio-item:hover { - transform: translateY(-10px); -} - -.portfolio-item.hidden { - display: none; -} - -.portfolio-image { - width: 100%; - height: 300px; - object-fit: cover; - transition: transform 0.3s ease; -} - -.portfolio-item:hover .portfolio-image { - transform: scale(1.05); -} - -.portfolio-overlay { - position: absolute; - bottom: 0; - left: 0; - right: 0; - background: linear-gradient(transparent, rgba(0,0,0,0.8)); - color: white; - padding: var(--card-padding); - transform: translateY(100%); - transition: transform 0.3s ease; -} - -.portfolio-item:hover .portfolio-overlay { - transform: translateY(0); -} - -.portfolio-overlay h3 { - font-size: var(--heading-h3); - margin-bottom: var(--space-2); -} - -.portfolio-overlay p { - margin-bottom: var(--space-4); - opacity: 0.9; - color: white; -} - -.portfolio-tags { - display: flex; - flex-wrap: wrap; - gap: var(--space-2); -} - -.tag { - background: rgba(255,255,255,0.2); - color: white; - padding: var(--space-1) var(--space-3); - border-radius: 20px; - font-size: var(--text-xs); - font-weight: 500; -}`},{path:"/scripts/main.js",content:`// Main JavaScript - Shared functionality - -// Multi-file demo loaded - -// Set up navigation highlighting -document.addEventListener('DOMContentLoaded', function() { - const currentPath = window.location.pathname; - const navLinks = document.querySelectorAll('.nav-link'); - - navLinks.forEach(link => { - if (link.getAttribute('href') === currentPath) { - link.classList.add('active'); - } else { - link.classList.remove('active'); - } - }); - - // Scroll-reactive navbar functionality - const navbar = document.querySelector('.navbar'); - const hero = document.querySelector('.hero'); - let lastScrollY = window.scrollY; - let heroHeight = hero ? hero.offsetHeight : 0; - - function updateNavbarVisibility() { - const currentScrollY = window.scrollY; - const scrollDifference = currentScrollY - lastScrollY; - - // Always show navbar in hero section - if (currentScrollY <= heroHeight) { - navbar.classList.remove('hidden'); - } - // Hide when scrolling down past hero section - else if (scrollDifference > 0) { - navbar.classList.add('hidden'); - } - // Show when scrolling up by 20px or more - else if (scrollDifference <= -20) { - navbar.classList.remove('hidden'); - } - - lastScrollY = currentScrollY; - } - - // Throttle scroll events for better performance - let ticking = false; - function handleScroll() { - if (!ticking) { - requestAnimationFrame(updateNavbarVisibility); - ticking = true; - setTimeout(() => { ticking = false; }, 16); // ~60fps - } - } - - window.addEventListener('scroll', handleScroll); - - // Recalculate hero height on resize - window.addEventListener('resize', function() { - heroHeight = hero ? hero.offsetHeight : 0; - }); - - // Mobile hamburger menu functionality - const navToggle = document.querySelector('.nav-toggle'); - const navMenu = document.querySelector('.nav-menu'); - const mobileNavLinks = document.querySelectorAll('.nav-link'); - - function toggleMobileMenu() { - navToggle.classList.toggle('active'); - navMenu.classList.toggle('active'); - navbar.classList.toggle('menu-open'); - - // Update ARIA attributes - const isExpanded = navToggle.classList.contains('active'); - navToggle.setAttribute('aria-expanded', isExpanded); - - // Prevent body scroll when menu is open - document.body.style.overflow = isExpanded ? 'hidden' : ''; - } - - function closeMobileMenu() { - navToggle.classList.remove('active'); - navMenu.classList.remove('active'); - navbar.classList.remove('menu-open'); - navToggle.setAttribute('aria-expanded', 'false'); - document.body.style.overflow = ''; - } - - // Toggle menu on button click - if (navToggle) { - navToggle.addEventListener('click', toggleMobileMenu); - } - - // Close menu when clicking nav links - mobileNavLinks.forEach(link => { - link.addEventListener('click', closeMobileMenu); - }); - - // Close menu on escape key - document.addEventListener('keydown', function(e) { - if (e.key === 'Escape' && navMenu.classList.contains('active')) { - closeMobileMenu(); - } - }); - - // Close menu when clicking outside - document.addEventListener('click', function(e) { - if (!navToggle.contains(e.target) && !navMenu.contains(e.target) && navMenu.classList.contains('active')) { - closeMobileMenu(); - } - }); - - // Close mobile menu when navbar hides (scroll reactive) - const originalUpdateNavbarVisibility = updateNavbarVisibility; - updateNavbarVisibility = function() { - originalUpdateNavbarVisibility(); - if (navbar.classList.contains('hidden') && navMenu.classList.contains('active')) { - closeMobileMenu(); - } - }; - -});`},{path:"/templates/navigation.hbs",content:``},{path:"/templates/footer.hbs",content:`
- - - -
`},{path:"/scripts/portfolio.js",content:`// Portfolio Filtering Functionality - -(function() { - let currentFilter = 'all'; - - function init() { - const filterButtons = document.querySelectorAll('.filter-btn'); - const portfolioItems = document.querySelectorAll('.portfolio-item'); - - if (!filterButtons.length || !portfolioItems.length) return; - - // Add event listeners to filter buttons - filterButtons.forEach(btn => { - btn.addEventListener('click', handleFilterClick); - }); - - // Show all items initially - showItems(portfolioItems, 'all'); - } - - function handleFilterClick(e) { - const button = e.target; - const filter = button.dataset.filter; - - if (!filter) return; - - // Update active button - document.querySelectorAll('.filter-btn').forEach(btn => { - btn.classList.remove('active'); - }); - button.classList.add('active'); - - // Filter and show items - const portfolioItems = document.querySelectorAll('.portfolio-item'); - showItems(portfolioItems, filter); - - currentFilter = filter; - } - - function showItems(items, filter) { - items.forEach(item => { - const itemCategory = item.dataset.category; - - if (filter === 'all' || itemCategory === filter) { - item.style.display = 'block'; - item.style.opacity = '0'; - - // Animate in - setTimeout(() => { - item.style.opacity = '1'; - item.style.transform = 'translateY(0)'; - }, 50); - } else { - item.style.opacity = '0'; - item.style.transform = 'translateY(20px)'; - - // Hide after animation - setTimeout(() => { - item.style.display = 'none'; - }, 300); - } - }); - } - - // Add smooth transitions to portfolio items - function addTransitions() { - const portfolioItems = document.querySelectorAll('.portfolio-item'); - portfolioItems.forEach(item => { - item.style.transition = 'opacity 0.3s ease, transform 0.3s ease'; - }); - } - - document.addEventListener('DOMContentLoaded', function() { - addTransitions(); - init(); - }); -})();`},{path:"/scripts/contact.js",content:`// Contact Form Validation and Submission - -(function() { - let form; - let submitButton; - let isSubmitting = false; - - function init() { - form = document.getElementById('contactForm'); - submitButton = form?.querySelector('button[type="submit"]'); - - if (!form || !submitButton) return; - - // Add event listeners - form.addEventListener('submit', handleSubmit); - - // Real-time validation - const inputs = form.querySelectorAll('input[required], textarea[required]'); - inputs.forEach(input => { - input.addEventListener('blur', validateField); - input.addEventListener('input', clearErrors); - }); - - // Email specific validation - const emailInput = form.querySelector('#email'); - if (emailInput) { - emailInput.addEventListener('blur', validateEmail); - } - } - - function handleSubmit(e) { - e.preventDefault(); - - if (isSubmitting) return; - - // Clear all previous errors - clearAllErrors(); - - // Validate all fields - const isValid = validateForm(); - - if (isValid) { - submitForm(); - } - } - - function validateForm() { - let isValid = true; - - // Required field validation - const requiredFields = [ - { id: 'name', name: 'Full Name' }, - { id: 'email', name: 'Email Address' }, - { id: 'message', name: 'Project Details' } - ]; - - requiredFields.forEach(field => { - const input = document.getElementById(field.id); - const value = input.value.trim(); - - if (!value) { - showError(field.id, \`\${field.name} is required\`); - isValid = false; - } - }); - - // Email format validation - const emailInput = document.getElementById('email'); - const emailValue = emailInput.value.trim(); - if (emailValue && !isValidEmail(emailValue)) { - showError('email', 'Please enter a valid email address'); - isValid = false; - } - - // Message length validation - const messageInput = document.getElementById('message'); - const messageValue = messageInput.value.trim(); - if (messageValue && messageValue.length < 20) { - showError('message', 'Please provide more details about your project (minimum 20 characters)'); - isValid = false; - } - - return isValid; - } - - function validateField(e) { - const field = e.target; - const value = field.value.trim(); - - clearErrors(e); - - if (field.hasAttribute('required') && !value) { - const fieldName = field.previousElementSibling.textContent.replace(' *', ''); - showError(field.id, \`\${fieldName} is required\`); - } - } - - function validateEmail(e) { - const emailInput = e.target; - const emailValue = emailInput.value.trim(); - - if (emailValue && !isValidEmail(emailValue)) { - showError('email', 'Please enter a valid email address'); - } - } - - function isValidEmail(email) { - const emailRegex = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/; - return emailRegex.test(email); - } - - function showError(fieldId, message) { - const field = document.getElementById(fieldId); - const formGroup = field.parentElement; - const errorElement = document.getElementById(fieldId + 'Error'); - - // Add error class to form group - formGroup.classList.add('error'); - formGroup.classList.remove('success'); - - // Show error message - if (errorElement) { - errorElement.textContent = message; - } - } - - function clearErrors(e) { - const field = e.target; - const formGroup = field.parentElement; - const errorElement = document.getElementById(field.id + 'Error'); - - // Remove error class - formGroup.classList.remove('error'); - - // Clear error message - if (errorElement) { - errorElement.textContent = ''; - } - - // Add success class if field has value and no errors - if (field.value.trim() && !formGroup.classList.contains('error')) { - formGroup.classList.add('success'); - } else { - formGroup.classList.remove('success'); - } - } - - function clearAllErrors() { - const errorMessages = form.querySelectorAll('.error-message'); - errorMessages.forEach(error => error.textContent = ''); - - const formGroups = form.querySelectorAll('.form-group'); - formGroups.forEach(group => { - group.classList.remove('error', 'success'); - }); - - // Hide success message - const successElement = document.getElementById('formSuccess'); - if (successElement) { - successElement.classList.remove('show'); - } - } - - function submitForm() { - if (isSubmitting) return; - - isSubmitting = true; - - // Add loading state - form.classList.add('loading'); - submitButton.disabled = true; - submitButton.textContent = 'Sending...'; - - // Collect form data - const formData = new FormData(form); - const data = { - name: formData.get('name'), - email: formData.get('email'), - company: formData.get('company'), - project: formData.get('project'), - budget: formData.get('budget'), - message: formData.get('message'), - newsletter: formData.get('newsletter') ? true : false, - timestamp: new Date().toISOString() - }; - - // Simulate form submission (replace with actual API call) - setTimeout(() => { - - // Show success message - showSuccess(); - - // Reset form - form.reset(); - clearAllErrors(); - - // Remove loading state - form.classList.remove('loading'); - submitButton.disabled = false; - submitButton.textContent = 'Send Message'; - - isSubmitting = false; - - // Auto-hide success message after 5 seconds - setTimeout(() => { - const successElement = document.getElementById('formSuccess'); - if (successElement) { - successElement.classList.remove('show'); - } - }, 5000); - - }, 2000); // Simulate network delay - } - - function showSuccess() { - const successElement = document.getElementById('formSuccess'); - if (successElement) { - successElement.classList.add('show'); - successElement.scrollIntoView({ behavior: 'smooth', block: 'nearest' }); - } - } - - // Initialize when DOM is ready - document.addEventListener('DOMContentLoaded', init); -})();`},{path:"/data.json",content:`{ - "siteName": "Example Studios", - "footerTagline": "Crafting digital experiences that inspire", - "navigation": [ - {"title": "Home", "url": "/"}, - {"title": "Portfolio", "url": "/portfolio.html"}, - {"title": "About", "url": "/about.html"}, - {"title": "Contact", "url": "/contact.html"} - ], - "social": [ - {"name": "Twitter", "url": "#", "icon": "𝕏"}, - {"name": "LinkedIn", "url": "#", "icon": "in"}, - {"name": "Instagram", "url": "#", "icon": "📷"}, - {"name": "GitHub", "url": "#", "icon": "⚡"} - ], - "services": [ - {"name": "Web Design", "url": "/portfolio.html"}, - {"name": "Development", "url": "/portfolio.html"}, - {"name": "Mobile Apps", "url": "/portfolio.html"}, - {"name": "Consulting", "url": "/portfolio.html"} - ], - "deepstudioLink": "https://huggingface.co/spaces/otst/oswstudio", - "deepstudioName": "OSW Studio", - "legalLinks": [ - {"name": "Privacy Policy", "url": "/privacy.html"}, - {"name": "Terms of Service", "url": "/terms.html"} - ] -}`},{path:"/assets/images/logo.svg",content:` - - - - - - - - - - - - -`},{path:"/assets/images/favicon.svg",content:` - - - - -`},{path:"/contact.html",content:` - - - - - Contact - Example Studios - - - - - - -
-
-
-

Let's Build Something Amazing

-

Ready to turn your ideas into reality? We'd love to hear about your project and show you how we can help.

-
-
- -
-
-

Get In Touch

-

Ready to start your next project? Choose how you'd like to connect with us

-
- -
-
-
Email
-

Send Us an Email

-

Drop us a line and we'll get back to you within 24 hours

-
hello@examplestudios.com
- Send Email -
- -
-
Phone
-

Give Us a Call

-

Speak directly with our team about your project

-
(555) 123-4567
- Call Now -
- -
-
Office
-

Visit Our Studio

-

Meet with us in person to discuss your vision

-
San Francisco, CA
By appointment only
- Schedule Visit -
-
-
- -
-
-

Start Your Project

-

Tell us about your vision and we'll get back to you within 24 hours

-
- -
-
-
-
- - - -
- -
- - - -
-
- -
- - - -
- - - -
-
- - - -
-

Thank you! We'll get back to you within 24 hours.

-
-
-
-
- - -
- - {{> footer}} - - - - -`},{path:"/privacy.html",content:` - - - - - Privacy Policy - Example Studios - - - - - {{> navigation}} - -
-
-
-

Privacy Policy

-

How we protect and handle your information

-
-
- -
-
-

Last updated: December 2024

- -

Overview

-

At Example Studios, we take your privacy seriously. This Privacy Policy explains how we collect, use, and protect your personal information when you use our services.

- -

Information We Collect

-

We may collect the following types of information:

-
    -
  • Contact Information: Name, email address, phone number when you contact us
  • -
  • Project Information: Details about your project requirements and preferences
  • -
  • Usage Data: How you interact with our website for improving our services
  • -
- -

How We Use Your Information

-

We use your information to:

-
    -
  • Provide and improve our design and development services
  • -
  • Communicate with you about your projects
  • -
  • Send you updates about our services (with your consent)
  • -
  • Analyze and improve our website and services
  • -
- -

Information Sharing

-

We do not sell, trade, or otherwise transfer your personal information to third parties without your consent, except:

-
    -
  • To trusted service providers who help us operate our business
  • -
  • When required by law or to protect our rights
  • -
  • With your explicit consent
  • -
- -

Data Security

-

We implement appropriate security measures to protect your personal information against unauthorized access, alteration, disclosure, or destruction.

- -

Your Rights

-

You have the right to:

-
    -
  • Access and review your personal information
  • -
  • Request corrections to your information
  • -
  • Request deletion of your information
  • -
  • Opt-out of marketing communications
  • -
- -

Contact Us

-

If you have questions about this Privacy Policy, please contact us at:

-

- Example Studios
- Email: hello@examplestudios.com
- Phone: (555) 123-4567 -

-
-
- -
-
-

Ready to Build Something Amazing?

-

Let's turn your ideas into reality. We'd love to hear about your project.

- Start Your Project -
-
-
- - {{> footer}} - - - -`},{path:"/terms.html",content:` - - - - - Terms of Service - Example Studios - - - - - {{> navigation}} - -
-
-
-

Terms of Service

-

Our terms and conditions for working together

-
-
- -
-
-

Last updated: December 2024

- -

Agreement to Terms

-

By accessing and using Example Studios' services, you agree to be bound by these Terms of Service and all applicable laws and regulations.

- -

Services

-

Example Studios provides web design, development, and digital consulting services. We reserve the right to modify or discontinue services with reasonable notice.

- -

Client Responsibilities

-

As a client, you agree to:

-
    -
  • Provide accurate and complete information for your project
  • -
  • Respond to requests for feedback in a timely manner
  • -
  • Collaborate effectively throughout the project
  • -
  • Respect intellectual property rights
  • -
- -

Project Process

-

Our typical process includes:

-
    -
  • Discovery: Understanding your requirements and goals
  • -
  • Proposal: Detailed scope, timeline, and pricing
  • -
  • Design & Development: Creating your solution
  • -
  • Review: Client feedback and revisions
  • -
  • Launch: Final delivery and launch support
  • -
- -

Project Timeline

-
    -
  • Project schedules will be outlined in individual agreements
  • -
  • Milestone deliverables will be clearly defined
  • -
  • Regular progress updates will be provided
  • -
- -

Intellectual Property

-

Upon project completion, clients receive ownership of custom work created specifically for their project, excluding any pre-existing intellectual property or third-party components.

- -

Limitation of Liability

-

Example Studios' liability is limited to the amount paid for services. We are not responsible for indirect, incidental, or consequential damages.

- -

Termination

-

Either party may terminate services with written notice. All completed work will be delivered upon termination.

- -

Changes to Terms

-

We reserve the right to update these terms with reasonable notice to existing clients.

- -

Contact

-

Questions about these terms? Contact us at:

-

- Example Studios
- Email: hello@examplestudios.com
- Phone: (555) 123-4567 -

-
-
-
- - {{> footer}} - - - -`},{path:"/portfolio/techflow-dashboard.html",content:` - - - - - TechFlow Dashboard - Example Studios - - - - - - -
-
-
-

TechFlow Dashboard

-

Modern analytics platform with real-time data visualization

-
-
- -
-
-
-

Project Overview

-

A comprehensive analytics solution built for modern businesses

-
- -
-
-
Challenge
-

Challenge

-

TechFlow needed a modern dashboard to visualize complex data streams in real-time, replacing their outdated reporting system with something more intuitive and scalable.

-
- -
-
Solution
-

Solution

-

We designed and built a React-based dashboard with D3.js visualizations, featuring customizable widgets and real-time data updates via WebSocket connections.

-
-
-
- -
-
-

Technology Stack

-
-
-
-
React
-

React

-

Modern component-based architecture for maintainable UI development

-
- -
-
Data
-

D3.js

-

Custom data visualizations with smooth animations and interactions

-
- -
-
Backend
-

Node.js

-

Robust backend API with real-time data processing capabilities

-
-
-
- -
-
-

Results

-
-
-
Results
-

Impact & Performance

-

The new dashboard reduced report generation time by 75% and improved user engagement by 300%. Real-time updates eliminated the need for manual refreshes, and the intuitive interface reduced training time for new users.

-
-
-
- -
-
-

Ready for Your Next Project?

-

Let's discuss how we can create a custom solution for your business needs.

- Start Your Project -
-
-
- - {{> footer}} - - - -`},{path:"/assets/README.md",content:`# Assets Directory - -This directory contains all static assets for the Example project. - -## Structure - -- \`/images/\` - Image files including: - - \`example-background.jpg\` - Hero section background image - - \`logo.svg\` - Site logo - - \`favicon.svg\` - Browser favicon - -## Background Image - -The \`example-background.jpg\` is automatically included when the demo project is created. It features a beautiful flowing gradient design that complements the orange (#ff7b00) and blue (#2563eb) color scheme. - -## File Types Supported - -The VFS system supports various file types: -- Images: PNG, JPG, JPEG, GIF, WebP, SVG, ICO -- Documents: HTML, CSS, JS, JSON, TXT, MD, XML -- Binary files up to 10MB - -This demonstrates the VFS capability to handle multiple file types and organize them in a structured directory system.`}],assets:[{filename:"example-background.jpg",path:"/assets/images/example-background.jpg"}]},lf={name:"Barebones Project",description:"A minimal starting template",directories:["/styles","/scripts","/templates"],files:[{path:"/index.html",content:` - - - - - New Project - - - - {{> welcome-card}} - - - -`},{path:"/styles/style.css",content:`/* - * Your project styles start here. - * Use this file to customize typography, layout, and colors. - */ - -body { - font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; - margin: 0; - padding: 2rem; - background: #f9fafb; - color: #0f172a; -} - -h1 { - font-size: 2.25rem; - margin-bottom: 0.5rem; -} - -p { - font-size: 1rem; - line-height: 1.6; -} - -.welcome-card { - /* Component styles can be added here */ -} -`},{path:"/scripts/main.js",content:`// Welcome to your project! -// Use this file to add interactivity to your pages. - -document.addEventListener('DOMContentLoaded', () => { - console.log('Project ready. Happy building!'); -}); -`},{path:"/templates/welcome-card.hbs",content:`
-

{{title}}

-

{{message}}

-
`},{path:"/data.json",content:`{ - "title": "Welcome", - "message": "Start building your website!" -}`}]};var lm=t(2623);async function lB(e,A,t,r){await lm.$.runWithSuppressedDirty(A,async()=>{for(let r of t.directories)await e.createDirectory(A,r);for(let r of t.files){let t=r.content;if(r.isBase64){let e=atob(r.content),A=new Uint8Array(e.length);for(let t=0;t0)for(let t of r)try{let r=await fetch(`${window.location.origin}/${t.filename}`);if(r.ok){let n=await r.arrayBuffer();await e.createFile(A,t.path,n)}}catch(e){}})}let lw=[{id:"blank",name:"Blank",description:"Minimal starting template with basic HTML/CSS/JS structure",isBuiltIn:!0,updatedAt:new Date("2025-01-01T00:00:00Z"),metadata:{author:"OSW Studio",tags:["starter","basic"]}},{id:"demo",name:"Example Studios",description:"Multi-page agency portfolio showcasing modern web development",isBuiltIn:!0,updatedAt:new Date("2025-01-01T00:00:00Z"),metadata:{author:"OSW Studio",tags:["portfolio","multi-page","example"]}}];var lx=t(5516),lv=t(4950),ly=t(3721),lb=t(8853),lC="Switch",[lQ,lF]=(0,eo.A)(lC),[lU,lk]=lQ(lC),lE=p.forwardRef((e,A)=>{let{__scopeSwitch:t,name:r,checked:n,defaultChecked:a,required:s,disabled:i,value:o="on",onCheckedChange:l,form:c,...u}=e,[h,g]=p.useState(null),f=(0,ei.s)(A,e=>g(e)),m=p.useRef(!1),B=!h||c||!!h.closest("form"),[w,x]=(0,el.i)({prop:n,defaultProp:a??!1,onChange:l,caller:lC});return(0,d.jsxs)(lU,{scope:t,checked:w,disabled:i,children:[(0,d.jsx)(ec.sG.button,{type:"button",role:"switch","aria-checked":w,"aria-required":s,"data-state":lS(w),"data-disabled":i?"":void 0,disabled:i,value:o,...u,ref:f,onClick:(0,es.mK)(e.onClick,e=>{x(e=>!e),B&&(m.current=e.isPropagationStopped(),m.current||e.stopPropagation())})}),B&&(0,d.jsx)(lH,{control:h,bubbles:!m.current,name:r,value:o,checked:w,required:s,disabled:i,form:c,style:{transform:"translateX(-100%)"}})]})});lE.displayName=lC;var lj="SwitchThumb",lI=p.forwardRef((e,A)=>{let{__scopeSwitch:t,...r}=e,n=lk(lj,t);return(0,d.jsx)(ec.sG.span,{"data-state":lS(n.checked),"data-disabled":n.disabled?"":void 0,...r,ref:A})});lI.displayName=lj;var lH=p.forwardRef(({__scopeSwitch:e,control:A,checked:t,bubbles:r=!0,...n},a)=>{let s=p.useRef(null),i=(0,ei.s)(s,a),o=(0,ly.Z)(t),l=(0,lb.X)(A);return p.useEffect(()=>{let e=s.current;if(!e)return;let A=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set;if(o!==t&&A){let n=new Event("click",{bubbles:r});A.call(e,t),e.dispatchEvent(n)}},[o,t,r]),(0,d.jsx)("input",{type:"checkbox","aria-hidden":!0,defaultChecked:t,...n,tabIndex:-1,ref:i,style:{...n.style,...l,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});function lS(e){return e?"checked":"unchecked"}function lN({className:e,...A}){return(0,d.jsx)(lE,{"data-slot":"switch",className:(0,y.cn)("peer data-[state=checked]:bg-primary data-[state=unchecked]:bg-input focus-visible:border-ring focus-visible:ring-ring/50 dark:data-[state=unchecked]:bg-input/80 inline-flex h-[1.15rem] w-8 shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",e),...A,children:(0,d.jsx)(lI,{"data-slot":"switch-thumb",className:(0,y.cn)("bg-background dark:data-[state=unchecked]:bg-foreground dark:data-[state=checked]:bg-primary-foreground pointer-events-none block size-4 rounded-full ring-0 transition-transform data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0")})})}lH.displayName="SwitchBubbleInput";var lL=t(218);let lD=(0,k.A)("palette",[["path",{d:"M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z",key:"e79jfc"}],["circle",{cx:"13.5",cy:"6.5",r:".5",fill:"currentColor",key:"1okk4w"}],["circle",{cx:"17.5",cy:"10.5",r:".5",fill:"currentColor",key:"f64h9f"}],["circle",{cx:"6.5",cy:"12.5",r:".5",fill:"currentColor",key:"qy21gx"}],["circle",{cx:"8.5",cy:"7.5",r:".5",fill:"currentColor",key:"fotxhn"}]]);var lT=t(5891);let lM=(0,k.A)("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]),lK=(0,k.A)("database",[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]]);var lR=t(6884);class lP{static{this.BACKUP_VERSION="1.9.0"}static{this.FILE_EXTENSION=".osws"}static{this.MAX_IMPORT_SIZE=0x6400000}static async exportAllData(){try{y.v.info("Starting data export...");let e={version:this.BACKUP_VERSION,exportDate:new Date().toISOString(),databases:{vfs:await this.exportUnifiedData(),conversations:[],checkpoints:[]},metadata:{projectCount:0,totalSize:0,exportedFrom:"oswstudio"}};e.metadata.projectCount=e.databases.vfs.projects.length,e.metadata.totalSize=this.calculateDataSize(e);let A=new(x());A.file("backup.json",JSON.stringify(e,null,2));let t=await A.generateAsync({type:"blob",compression:"DEFLATE",compressionOptions:{level:6}}),r=`oswstudio-backup-${new Date().toISOString().split("T")[0]}${this.FILE_EXTENSION}`;this.downloadBlob(t,r),y.v.info(`Export completed: ${e.metadata.projectCount} projects, ${this.formatBytes(e.metadata.totalSize)}`)}catch(e){throw y.v.error("Export failed:",e),Error(`Export failed: ${e instanceof Error?e.message:"Unknown error"}`)}}static async importAllData(e,A={mode:"merge"}){try{if(!e.name.endsWith(this.FILE_EXTENSION))throw Error(`Invalid file type. Expected ${this.FILE_EXTENSION} file.`);if(e.size>this.MAX_IMPORT_SIZE)throw Error(`File too large. Maximum size is ${this.formatBytes(this.MAX_IMPORT_SIZE)}.`);A.onProgress?.(10,"Reading backup file...");let r=new(x()),n=(await r.loadAsync(e)).file("backup.json");if(!n)throw Error("Invalid backup file format.");let a=await n.async("string"),s=JSON.parse(a);if(this.validateBackupData(s),A.onProgress?.(30,"Validating backup data..."),"replace"===A.mode){A.onProgress?.(40,"Clearing existing data...");try{let{vfs:e}=await Promise.resolve().then(t.bind(t,1338));e.db?.db&&(y.v.info("[Backup] Closing VFS database before deletion"),e.db.db.close())}catch(e){y.v.warn("[Backup] Could not close VFS database",e)}await this.clearAllData(),await new Promise(e=>setTimeout(e,500))}A.onProgress?.(50,"Importing all data...");let i={...s.databases.vfs,conversations:s.databases.vfs.conversations||s.databases.conversations||[],checkpoints:s.databases.vfs.checkpoints||s.databases.checkpoints||[]};await this.importUnifiedData(i),A.onProgress?.(100,"Import completed successfully!"),y.v.info(`Import completed: ${s.metadata.projectCount} projects restored`)}catch(e){throw y.v.error("Import failed:",e),Error(`Import failed: ${e instanceof Error?e.message:"Unknown error"}`)}}static async validateBackupFile(e){try{if(!e.name.endsWith(this.FILE_EXTENSION))return{valid:!1,reason:"Invalid file extension"};if(e.size>this.MAX_IMPORT_SIZE)return{valid:!1,reason:"File too large"};let A=new(x()),t=(await A.loadAsync(e)).file("backup.json");if(!t)return{valid:!1,reason:"Invalid backup file format"};let r=await t.async("string"),n=JSON.parse(r);return this.validateBackupData(n),{valid:!0,metadata:n.metadata}}catch(e){return{valid:!1,reason:e instanceof Error?e.message:"Unknown error"}}}static async exportUnifiedData(){let e={projects:[],files:[],fileTree:[],conversations:[],checkpoints:[]};return new Promise((A,t)=>{let r=indexedDB.open("osw-studio-db",1);r.onsuccess=async()=>{try{let t=r.result,n=t.transaction(["projects"],"readonly"),a=n.objectStore("projects").getAll();a.onsuccess=()=>{e.projects=a.result||[]};let s=t.transaction(["files"],"readonly"),i=s.objectStore("files").getAll();i.onsuccess=()=>{e.files=i.result||[]};let o=t.transaction(["fileTree"],"readonly"),l=o.objectStore("fileTree").getAll();l.onsuccess=()=>{e.fileTree=l.result||[]};let c=t.transaction(["conversations"],"readonly"),u=c.objectStore("conversations").getAll();u.onsuccess=()=>{e.conversations=u.result||[]};let d=t.transaction(["checkpoints"],"readonly"),p=d.objectStore("checkpoints").getAll();p.onsuccess=()=>{e.checkpoints=p.result||[]},await Promise.all([new Promise(e=>n.oncomplete=()=>e(void 0)),new Promise(e=>s.oncomplete=()=>e(void 0)),new Promise(e=>o.oncomplete=()=>e(void 0)),new Promise(e=>c.oncomplete=()=>e(void 0)),new Promise(e=>d.oncomplete=()=>e(void 0))]),A(e)}catch(e){t(e)}},r.onerror=()=>t(r.error)})}static async importLegacyConversations(){return new Promise(e=>{let A=indexedDB.open("DeepStudioConversations",1);A.onsuccess=()=>{let t=A.result.transaction(["conversations"],"readonly").objectStore("conversations").getAll();t.onsuccess=()=>{e(t.result||[])},t.onerror=()=>e([])},A.onerror=()=>e([])})}static async importLegacyCheckpoints(){return new Promise(e=>{let A=indexedDB.open("DeepStudioCheckpoints",1);A.onsuccess=()=>{let t=A.result.transaction(["checkpoints"],"readonly").objectStore("checkpoints").getAll();t.onsuccess=()=>{e(t.result||[])},t.onerror=()=>e([])},A.onerror=()=>e([])})}static async importUnifiedData(e){return new Promise((A,t)=>{y.v.info("[Import] Opening database for import...");let r=setTimeout(()=>{y.v.error("[Import] Database open timeout after 10s"),t(Error("Database open timeout"))},1e4),n=indexedDB.open("osw-studio-db",1);n.onerror=()=>{clearTimeout(r),y.v.error("[Import] Failed to open database for import",n.error),t(n.error)},n.onblocked=()=>{y.v.warn("[Import] Database open is blocked - waiting for connections to close")},n.onupgradeneeded=e=>{y.v.info("[Import] Creating database schema...");let A=e.target.result;if(!A.objectStoreNames.contains("projects")){let e=A.createObjectStore("projects",{keyPath:"id"});e.createIndex("name","name",{unique:!1}),e.createIndex("createdAt","createdAt",{unique:!1})}if(!A.objectStoreNames.contains("files")){let e=A.createObjectStore("files",{keyPath:"id"});e.createIndex("projectId","projectId",{unique:!1}),e.createIndex("path",["projectId","path"],{unique:!0}),e.createIndex("type","type",{unique:!1})}if(!A.objectStoreNames.contains("fileTree")){let e=A.createObjectStore("fileTree",{keyPath:"id"});e.createIndex("projectId","projectId",{unique:!1}),e.createIndex("path",["projectId","path"],{unique:!0}),e.createIndex("parentPath",["projectId","parentPath"],{unique:!1})}if(!A.objectStoreNames.contains("conversations")){let e=A.createObjectStore("conversations",{keyPath:"id"});e.createIndex("projectId","projectId",{unique:!1}),e.createIndex("lastUpdated","lastUpdated",{unique:!1})}if(!A.objectStoreNames.contains("checkpoints")){let e=A.createObjectStore("checkpoints",{keyPath:"id"});e.createIndex("projectId","projectId",{unique:!1}),e.createIndex("timestamp","timestamp",{unique:!1})}},n.onsuccess=async()=>{try{clearTimeout(r);let t=n.result;y.v.info("[Import] Database opened successfully"),y.v.info("[Import] Starting data import...",{projects:e.projects?.length||0,files:e.files?.length||0,fileTree:e.fileTree?.length||0,conversations:e.conversations?.length||0,checkpoints:e.checkpoints?.length||0});let a=t.transaction(["projects"],"readwrite").objectStore("projects");for(let A of e.projects||[])await new Promise((e,t)=>{let r=a.put(A);r.onsuccess=()=>e(),r.onerror=()=>{y.v.error("[Import] Failed to import project:",A.id,r.error),t(r.error)}});y.v.info("[Import] Projects imported");let s=t.transaction(["files"],"readwrite").objectStore("files");for(let A of e.files||[])await new Promise((e,t)=>{let r=s.put(A);r.onsuccess=()=>e(),r.onerror=()=>{y.v.error("[Import] Failed to import file:",A.path,r.error),t(r.error)}});y.v.info("[Import] Files imported");let i=t.transaction(["fileTree"],"readwrite").objectStore("fileTree");for(let A of e.fileTree||[])await new Promise((e,t)=>{let r=i.put(A);r.onsuccess=()=>e(),r.onerror=()=>{y.v.error("[Import] Failed to import tree node:",A.path,r.error),t(r.error)}});y.v.info("[Import] File tree imported");let o=e.conversations||[];if(o.length>0){y.v.info("[Import] Importing conversations:",o.length);let e=t.transaction(["conversations"],"readwrite").objectStore("conversations");for(let A of o)await new Promise((t,r)=>{let n=e.put(A);n.onsuccess=()=>t(),n.onerror=()=>{y.v.error("[Import] Failed to import conversation:",A.id,n.error),r(n.error)}});y.v.info("[Import] Conversations imported")}let l=e.checkpoints||[];if(l.length>0){y.v.info("[Import] Importing checkpoints:",l.length);let e=t.transaction(["checkpoints"],"readwrite").objectStore("checkpoints");for(let A of l)await new Promise((t,r)=>{let n=e.put(A);n.onsuccess=()=>t(),n.onerror=()=>{y.v.error("[Import] Failed to import checkpoint:",A.id,n.error),r(n.error)}});y.v.info("[Import] Checkpoints imported")}y.v.info("[Import] All data imported successfully"),A()}catch(e){t(e)}},n.onerror=()=>t(n.error)})}static async clearAllData(){for(let e of["osw-studio-db","osw-studio-vfs","OSWStudioConversations","OSWStudioCheckpoints","deepstudio-vfs","DeepStudioConversations","DeepStudioCheckpoints"])await new Promise(A=>{let t=setTimeout(()=>{y.v.warn(`[Backup] Database deletion timeout for: ${e}`),A()},2e3),r=indexedDB.deleteDatabase(e);r.onsuccess=()=>{clearTimeout(t),y.v.info(`[Backup] Deleted database: ${e}`),A()},r.onerror=()=>{clearTimeout(t),y.v.warn(`[Backup] Error deleting database: ${e}`,r.error),A()},r.onblocked=()=>{y.v.warn(`[Backup] Database deletion blocked: ${e}`)}});y.v.info("[Backup] All databases cleared")}static validateBackupData(e){if(!e.version||!e.exportDate||!e.databases||!e.metadata)throw Error("Invalid backup file structure");if(!e.databases.vfs||!e.databases.conversations||!e.databases.checkpoints)throw Error("Incomplete backup data");let A=e.version.split(".").map(Number),t=this.BACKUP_VERSION.split(".").map(Number);if(A[0]>t[0])throw Error(`Backup version ${e.version} is not compatible with current version ${this.BACKUP_VERSION}`)}static calculateDataSize(e){return JSON.stringify(e).length}static formatBytes(e){if(0===e)return"0 Bytes";let A=Math.floor(Math.log(e)/Math.log(1024));return parseFloat((e/Math.pow(1024,A)).toFixed(2))+" "+["Bytes","KB","MB","GB"][A]}static downloadBlob(e,A){let t=URL.createObjectURL(e),r=document.createElement("a");r.href=t,r.download=A,document.body.appendChild(r),r.click(),document.body.removeChild(r),URL.revokeObjectURL(t)}}var lO=t(6156),lV="Collapsible",[lG,lz]=(0,eo.A)(lV),[lq,lW]=lG(lV),lJ=p.forwardRef((e,A)=>{let{__scopeCollapsible:t,open:r,defaultOpen:n,disabled:a,onOpenChange:s,...i}=e,[o,l]=(0,el.i)({prop:r,defaultProp:n??!1,onChange:s,caller:lV});return(0,d.jsx)(lq,{scope:t,disabled:a,contentId:(0,ef.B)(),open:o,onOpenToggle:p.useCallback(()=>l(e=>!e),[l]),children:(0,d.jsx)(ec.sG.div,{"data-state":l0(o),"data-disabled":a?"":void 0,...i,ref:A})})});lJ.displayName=lV;var lX="CollapsibleTrigger",l_=p.forwardRef((e,A)=>{let{__scopeCollapsible:t,...r}=e,n=lW(lX,t);return(0,d.jsx)(ec.sG.button,{type:"button","aria-controls":n.contentId,"aria-expanded":n.open||!1,"data-state":l0(n.open),"data-disabled":n.disabled?"":void 0,disabled:n.disabled,...r,ref:A,onClick:(0,es.mK)(e.onClick,n.onOpenToggle)})});l_.displayName=lX;var lY="CollapsibleContent",l$=p.forwardRef((e,A)=>{let{forceMount:t,...r}=e,n=lW(lY,e.__scopeCollapsible);return(0,d.jsx)(ew.C,{present:t||n.open,children:({present:e})=>(0,d.jsx)(lZ,{...r,ref:A,present:e})})});l$.displayName=lY;var lZ=p.forwardRef((e,A)=>{let{__scopeCollapsible:t,present:r,children:n,...a}=e,s=lW(lY,t),[i,o]=p.useState(r),l=p.useRef(null),c=(0,ei.s)(A,l),u=p.useRef(0),h=u.current,g=p.useRef(0),f=g.current,m=s.open||i,B=p.useRef(m),w=p.useRef(void 0);return p.useEffect(()=>{let e=requestAnimationFrame(()=>B.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,lO.N)(()=>{let e=l.current;if(e){w.current=w.current||{transitionDuration:e.style.transitionDuration,animationName:e.style.animationName},e.style.transitionDuration="0s",e.style.animationName="none";let A=e.getBoundingClientRect();u.current=A.height,g.current=A.width,B.current||(e.style.transitionDuration=w.current.transitionDuration,e.style.animationName=w.current.animationName),o(r)}},[s.open,r]),(0,d.jsx)(ec.sG.div,{"data-state":l0(s.open),"data-disabled":s.disabled?"":void 0,id:s.contentId,hidden:!m,...a,ref:c,style:{"--radix-collapsible-content-height":h?`${h}px`:void 0,"--radix-collapsible-content-width":f?`${f}px`:void 0,...e.style},children:m&&n})});function l0(e){return e?"open":"closed"}function l1({...e}){return(0,d.jsx)(lJ,{"data-slot":"collapsible",...e})}function l2({...e}){return(0,d.jsx)(l_,{"data-slot":"collapsible-trigger",...e})}function l4({...e}){return(0,d.jsx)(l$,{"data-slot":"collapsible-content",...e})}function l3({onClose:e}){let[A,t]=(0,p.useState)({}),[r,n]=(0,p.useState)({}),{theme:a,setTheme:s}=(0,lL.D)(),[i,o]=(0,p.useState)(!1),[l,c]=(0,p.useState)(!1),[u,h]=(0,p.useState)(!1),[g,f]=(0,p.useState)(!1),[m,B]=(0,p.useState)(0),[w,x]=(0,p.useState)(""),[v,y]=(0,p.useState)({application:!0,costTracking:!1,dataManagement:!1}),b=(e,A)=>{lv.s.setSetting(e,A),t(t=>({...t,[e]:A}))},C=async()=>{try{h(!0),await lP.exportAllData(),A4.oR.success("Data exported successfully!")}catch(e){A4.oR.error(e instanceof Error?e.message:"Export failed")}finally{h(!1)}},U=e=>{y(A=>({...A,[e]:!A[e]}))};return(0,d.jsxs)("div",{className:"max-h-[calc(100vh-4rem)] overflow-y-auto",children:[(0,d.jsxs)("div",{className:"space-y-3 pb-4",children:[(0,d.jsxs)(l1,{open:v.application,onOpenChange:()=>U("application"),children:[(0,d.jsxs)(l2,{className:"flex items-center justify-between w-full p-3 rounded-lg hover:bg-muted/50 transition-colors",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)(lD,{className:"h-4 w-4"}),(0,d.jsx)("h4",{className:"font-medium text-sm",children:"Application Settings"})]}),(0,d.jsx)(lT.A,{className:`h-4 w-4 transition-transform duration-200 ${v.application?"rotate-180":""}`})]}),(0,d.jsxs)(l4,{className:"px-3 pt-2 pb-3",children:[(0,d.jsx)("p",{className:"text-muted-foreground text-xs mb-4",children:"Configure your preferences and display options"}),(0,d.jsx)("div",{className:"space-y-4",children:(0,d.jsxs)("div",{children:[(0,d.jsx)(lh.J,{htmlFor:"theme",children:"Theme"}),(0,d.jsxs)(tn.l6,{value:i?a:"dark",onValueChange:e=>{s(e),b("theme",e)},children:[(0,d.jsx)(tn.bq,{id:"theme",className:"mt-2",children:(0,d.jsx)(tn.yv,{})}),(0,d.jsxs)(tn.gC,{children:[(0,d.jsx)(tn.eb,{value:"light",children:"Light"}),(0,d.jsx)(tn.eb,{value:"dark",children:"Dark"}),(0,d.jsx)(tn.eb,{value:"system",children:"System"})]})]})]})})]})]}),(0,d.jsxs)(l1,{open:v.costTracking,onOpenChange:()=>U("costTracking"),children:[(0,d.jsxs)(l2,{className:"flex items-center justify-between w-full p-3 rounded-lg hover:bg-muted/50 transition-colors",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)(M,{className:"h-4 w-4"}),(0,d.jsx)("h4",{className:"font-medium text-sm",children:"Cost Tracking"})]}),(0,d.jsx)(lT.A,{className:`h-4 w-4 transition-transform duration-200 ${v.costTracking?"rotate-180":""}`})]}),(0,d.jsx)(l4,{className:"px-3 pt-2 pb-3",children:(0,d.jsxs)("div",{className:"space-y-4",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)(lh.J,{htmlFor:"show-costs",children:"Display Costs"}),(0,d.jsx)("p",{className:"text-sm text-muted-foreground",children:"Show cost information in messages"})]}),(0,d.jsx)(lN,{id:"show-costs",checked:!1!==r.showCosts,onCheckedChange:e=>{let A={...r,showCosts:e};lv.s.setCostSettings(A),n(A)}})]}),(0,d.jsxs)("div",{children:[(0,d.jsx)(lh.J,{htmlFor:"daily-limit",children:"Daily Cost Limit (USD)"}),(0,d.jsxs)("div",{className:"flex items-center gap-2 mt-2",children:[(0,d.jsx)(F.p,{id:"daily-limit",type:"number",min:"0",step:"0.01",placeholder:"No limit",value:r.dailyLimit||"",onChange:e=>{let A=e.target.value?parseFloat(e.target.value):void 0,t={...r,dailyLimit:A};lv.s.setCostSettings(t),n(t)}}),r.dailyLimit&&(0,d.jsxs)("span",{className:"text-sm text-muted-foreground",children:["$",r.dailyLimit.toFixed(2),"/day"]})]})]}),(0,d.jsxs)("div",{children:[(0,d.jsx)(lh.J,{htmlFor:"project-limit",children:"Project Cost Limit (USD)"}),(0,d.jsxs)("div",{className:"flex items-center gap-2 mt-2",children:[(0,d.jsx)(F.p,{id:"project-limit",type:"number",min:"0",step:"0.01",placeholder:"No limit",value:r.projectLimit||"",onChange:e=>{let A=e.target.value?parseFloat(e.target.value):void 0,t={...r,projectLimit:A};lv.s.setCostSettings(t),n(t)}}),r.projectLimit&&(0,d.jsxs)("span",{className:"text-sm text-muted-foreground",children:["$",r.projectLimit.toFixed(2),"/project"]})]})]}),(0,d.jsxs)("div",{children:[(0,d.jsx)(lh.J,{htmlFor:"warning-threshold",children:"Warning Threshold (%)"}),(0,d.jsxs)("div",{className:"flex items-center gap-2 mt-2",children:[(0,d.jsx)(F.p,{id:"warning-threshold",type:"number",min:"50",max:"100",step:"5",value:r.warningThreshold||80,onChange:e=>{let A=parseInt(e.target.value),t={...r,warningThreshold:A};lv.s.setCostSettings(t),n(t)}}),(0,d.jsxs)("span",{className:"text-sm text-muted-foreground flex items-center gap-1",children:[(0,d.jsx)(lM,{className:"h-3 w-3"}),"Warn at ",r.warningThreshold||80,"%"]})]})]}),(0,d.jsx)("div",{className:"border-t pt-3 mt-3",children:(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("div",{className:"text-sm font-medium",children:"Lifetime Total"}),(0,d.jsx)("div",{className:"text-xs text-muted-foreground",children:lR.U.formatCost(lv.s.getLifetimeCosts().total)})]}),(0,d.jsx)(Q.$,{variant:"outline",size:"sm",onClick:()=>{confirm("Reset lifetime cost tracking? This cannot be undone.")&&(lv.s.resetLifetimeCosts(),A4.oR.success("Lifetime costs reset"))},children:"Reset Stats"})]})})]})})]}),(0,d.jsxs)(l1,{open:v.dataManagement,onOpenChange:()=>U("dataManagement"),children:[(0,d.jsxs)(l2,{className:"flex items-center justify-between w-full p-3 rounded-lg hover:bg-muted/50 transition-colors",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)(lK,{className:"h-4 w-4"}),(0,d.jsx)("h4",{className:"font-medium text-sm",children:"Data Management"})]}),(0,d.jsx)(lT.A,{className:`h-4 w-4 transition-transform duration-200 ${v.dataManagement?"rotate-180":""}`})]}),(0,d.jsxs)(l4,{className:"px-3 pt-2 pb-3",children:[(0,d.jsx)("p",{className:"text-xs text-muted-foreground mb-4",children:"Backup and restore your projects, conversations, and settings. Use this to migrate your data to OSWStudio or create backups."}),(0,d.jsxs)("div",{className:"space-y-3",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("div",{className:"text-sm font-medium",children:"Export All Data"}),(0,d.jsx)("div",{className:"text-xs text-muted-foreground",children:"Download a backup file containing all your projects and data"})]}),(0,d.jsxs)(Q.$,{variant:"outline",size:"sm",onClick:C,disabled:u,className:"flex items-center gap-2",children:[(0,d.jsx)(V,{className:"h-4 w-4"}),u?"Exporting...":"Export"]})]}),(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("div",{className:"text-sm font-medium",children:"Import Data"}),(0,d.jsx)("div",{className:"text-xs text-muted-foreground",children:"Restore from a .osws backup file"})]}),(0,d.jsxs)(Q.$,{variant:"outline",size:"sm",onClick:()=>{let e=document.createElement("input");e.type="file",e.accept=".osws",e.onchange=async e=>{let A=e.target.files?.[0];if(A)try{f(!0),B(0),x("Validating file...");let e=await lP.validateBackupFile(A);if(!e.valid)return void A4.oR.error(`Invalid backup file: ${e.reason}`);let t=confirm(`Import ${e.metadata?.projectCount||0} projects? - -Choose OK to REPLACE all current data, or Cancel to MERGE with existing data.`);await lP.importAllData(A,{mode:t?"replace":"merge",onProgress:(e,A)=>{B(e),x(A)}}),A4.oR.success("Data imported successfully!"),setTimeout(()=>window.location.reload(),1e3)}catch(e){A4.oR.error(e instanceof Error?e.message:"Import failed")}finally{f(!1),B(0),x("")}},e.click()},disabled:g,className:"flex items-center gap-2",children:[(0,d.jsx)(ld,{className:"h-4 w-4"}),g?"Importing...":"Import"]})]}),g&&(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsxs)("div",{className:"flex justify-between text-xs",children:[(0,d.jsx)("span",{children:w}),(0,d.jsxs)("span",{children:[m,"%"]})]}),(0,d.jsx)("div",{className:"w-full bg-muted rounded-full h-2",children:(0,d.jsx)("div",{className:"bg-primary h-2 rounded-full transition-all duration-300",style:{width:`${m}%`}})})]})]})]})]})]}),(0,d.jsxs)("div",{className:"flex justify-between pt-4 px-3 border-t mt-4",children:[(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(Q.$,{variant:"destructive",onClick:()=>{confirm("Are you sure you want to clear all settings?")&&(lv.s.clearSettings(),t({}),A4.oR.success("Settings cleared"))},children:"Clear All Settings"}),(0,d.jsxs)(Q.$,{variant:"outline",onClick:()=>c(!0),children:[(0,d.jsx)(lr,{className:"mr-2 h-4 w-4"}),"About OSW Studio"]})]}),e&&(0,d.jsx)(Q.$,{onClick:e,children:"Close"})]}),(0,d.jsx)(lA,{open:l,onOpenChange:c})]})}let l5=[{id:"welcome",title:"Welcome to Open Source Web Studio",body:(0,d.jsxs)("div",{className:"space-y-2 text-sm text-muted-foreground",children:[(0,d.jsx)("p",{children:"Let's take a guided tour of the workspace so you can see how projects, agents, and saves all fit together."}),(0,d.jsx)("p",{children:"The tour takes under two minutes and you can skip at any time."})]}),location:"project-manager",primaryLabel:"Start tour",secondaryLabel:"Skip"},{id:"projects-overview",title:"Projects at a Glance",body:(0,d.jsxs)("div",{className:"space-y-2 text-sm text-muted-foreground",children:[(0,d.jsx)("p",{children:"This is your project gallery. Recent work appears here with quick actions for opening, duplicating, or exporting."}),(0,d.jsx)("p",{children:"I've loaded a demo project so you can explore without setting anything up."})]}),location:"project-manager",target:'[data-tour-id="projects-list"]',showBack:!0,primaryLabel:"Next",secondaryLabel:"Skip"},{id:"create-project",title:"Creating a Project",body:(0,d.jsx)("div",{className:"space-y-2 text-sm text-muted-foreground",children:(0,d.jsx)("p",{children:"Use the New Project button to start fresh. The dialog lets you name the project and add an optional description."})}),location:"project-manager",target:'[data-tour-id="new-project-button"]',showBack:!0,primaryLabel:"Next",secondaryLabel:"Skip"},{id:"project-controls",title:"Exporting a Project",body:(0,d.jsxs)("div",{className:"space-y-2 text-sm text-muted-foreground",children:[(0,d.jsx)("p",{children:"Click the dropdown menu on any project card to access export options. You can export as a ZIP for deployment or JSON for backup."}),(0,d.jsx)("p",{children:"Projects can also be duplicated or deleted from this menu."})]}),location:"project-manager",target:'[data-tour-id="project-export-json"]',showBack:!0,primaryLabel:"Next",secondaryLabel:"Skip"},{id:"edit-project",title:"Editing a Project",body:(0,d.jsxs)("div",{className:"space-y-2 text-sm text-muted-foreground",children:[(0,d.jsx)("p",{children:"To get to the workspace and start editing, simply click on the project card. This will open the full development environment."}),(0,d.jsx)("p",{children:"Click Next to enter the workspace and continue the tour."})]}),location:"project-manager",target:'[data-tour-id="project-card"]',showBack:!0,primaryLabel:"Next",secondaryLabel:"Skip"},{id:"workspace-overview",title:"Workspace Layout",body:(0,d.jsxs)("div",{className:"space-y-2 text-sm text-muted-foreground",children:[(0,d.jsx)("p",{children:"The workspace has four main areas: the assistant conversation, the virtual file explorer, your editor tabs, and the live preview."}),(0,d.jsx)("p",{children:"The VFS works like a project file tree—add HTML, CSS, JS, or assets and the agent can edit them just like local files."})]}),location:"workspace",target:'[data-tour-id="workspace-panels"]',showBack:!0,primaryLabel:"Next",secondaryLabel:"Skip"},{id:"workspace-edit",title:"See the Agent in Action",body:(0,d.jsxs)("div",{className:"space-y-2 text-sm text-muted-foreground",children:[(0,d.jsx)("p",{children:'I\'ll request the agent to change the color of "Our Services" button to a green accent and the agent performs the task.'}),(0,d.jsx)("p",{children:"This mimics what you will see when asking the agent to perform tasks."})]}),location:"workspace",target:'[data-tour-id="assistant-panel"]',showBack:!0,primaryLabel:"Next",secondaryLabel:"Skip"},{id:"workspace-focus",title:"Element Focus Tool",body:(0,d.jsxs)("div",{className:"space-y-2 text-sm text-muted-foreground",children:[(0,d.jsx)("p",{children:"The crosshair tool in the preview panel lets you select and focus on specific elements in your design."}),(0,d.jsx)("p",{children:"Click it to activate element selection mode, then click any element in the preview to highlight it."})]}),location:"workspace",target:'[data-tour-id="focus-crosshair-button"]',showBack:!0,primaryLabel:"Next",secondaryLabel:"Skip"},{id:"workspace-checkpoint",title:"Checkpoints & Manual Saves",body:(0,d.jsxs)("div",{className:"space-y-2 text-sm text-muted-foreground",children:[(0,d.jsx)("p",{children:'The "Discard Changes" button restores to the original saved point, letting you revert any changes back to your last manual save.'}),(0,d.jsx)("p",{children:"If you like the result, use the Save button to lock it in as your manual checkpoint."})]}),location:"workspace",target:'[data-tour-id="discard-changes-button"]',showBack:!0,primaryLabel:"Next",secondaryLabel:"Skip"},{id:"clear-conversation",title:"Clear Conversation",body:(0,d.jsxs)("div",{className:"space-y-2 text-sm text-muted-foreground",children:[(0,d.jsx)("p",{children:"The agent will have the last tasks and responses in memory. You can clear it with the trashcan button to start fresh."}),(0,d.jsx)("p",{children:"This removes the conversation history but keeps your project files intact."})]}),location:"workspace",target:'[data-tour-id="clear-chat-button"]',showBack:!0,primaryLabel:"Next",secondaryLabel:"Skip"},{id:"provider-settings",title:"Connect Your Provider",body:(0,d.jsxs)("div",{className:"space-y-2 text-sm text-muted-foreground",children:[(0,d.jsxs)("p",{children:["Set your API key under Settings → Provider. I recommend trying OpenRouter with the ",(0,d.jsx)("code",{children:"gpt-oss-120b"})," model, but you can use any supported provider."]}),(0,d.jsx)("p",{children:"You can return here anytime from the header menu."}),(0,d.jsx)("p",{className:"text-xs text-orange-500/90",children:"Privacy note: Remote LLM providers (OpenAI, Anthropic, etc.) will receive your code when generating. For complete privacy, use local models with Ollama or LM Studio."})]}),location:"workspace",target:'[data-tour-id="provider-settings-trigger"]',showBack:!0,primaryLabel:"Next",secondaryLabel:"Skip"},{id:"wrap-up",title:"You're Ready!",body:(0,d.jsxs)("div",{className:"space-y-2 text-sm text-muted-foreground",children:[(0,d.jsx)("p",{children:"That's the basics—prompt the agent, preview updates, and save when you're happy. You can replay this tour from the Help menu anytime."}),(0,d.jsx)("p",{children:"Have fun building! Let me know what you ship."})]}),location:"workspace",showBack:!0,primaryLabel:"Finish",secondaryLabel:"Skip"}];var l6=t(4742);let l8=(0,p.createContext)(null);function l9({children:e}){let[A,r]=(0,p.useState)("idle"),[n,a]=(0,p.useState)(0),[s,i]=(0,p.useState)(0),[o,l]=(0,p.useState)([]),[c,u]=(0,p.useState)(!1),[h,g]=(0,p.useState)([]),[f,m]=(0,p.useState)(null),[B,w]=(0,p.useState)(null),[x,v]=(0,p.useState)({projectId:null,preCheckpointId:null,postCheckpointId:null,originalCss:null,updatedCss:null}),y=(0,p.useRef)(x),b=(0,p.useRef)(null),C=(0,p.useRef)(null),Q=(0,p.useRef)(null),F=(0,p.useRef)(null),U=(0,p.useRef)(null),k=(0,p.useRef)(null),E=(0,p.useMemo)(()=>(function(e){if(!(e<0)&&!(e>=l5.length))return l5[e]})(n),[n]),j=(0,p.useCallback)(()=>{v({projectId:null,preCheckpointId:null,postCheckpointId:null,originalCss:null,updatedCss:null}),b.current=null,C.current=null,Q.current=null,F.current=null},[]),I=(0,p.useCallback)(()=>{"running"!==A&&(r("running"),a(0),i(e=>e+1),l([]),j())},[j,A]),H=(0,p.useCallback)(e=>{k.current=e},[]),S=(0,p.useCallback)(async(e="finish")=>{let A=y.current;if(A.projectId&&A.preCheckpointId&&A.postCheckpointId&&lm.$.runWithSuppressedDirty(A.projectId,async()=>{await l6.Y.restoreCheckpoint(A.preCheckpointId)}).then(()=>{}).catch(e=>{console.error("[GuidedTour] Failed to restore baseline during cleanup",e)}),B)try{if(h.filter(e=>e.id!==B).length>0){let{vfs:e}=await Promise.resolve().then(t.bind(t,1338));await e.init(),await e.deleteProject(B)}}catch(e){console.error("[GuidedTour] Failed to cleanup tour demo project",e)}j(),l([]),a(0),i(e=>e+1),r("finish"===e?"completed":"idle"),lv.s.setHasSeenTour(!0),U.current?.abort(),k.current=null},[j,B,h]),N=(0,p.useCallback)(()=>{S("skip")},[S]),L=(0,p.useCallback)(()=>{a(e=>{let A=e+1;if(A>=l5.length)return S(),e;let t=l5[A];return t?.location==="workspace"&&B&&setTimeout(()=>{m(B)},100),i(e=>e+1),A})},[S,B]),D=(0,p.useCallback)(()=>{a(e=>{let A=Math.max(0,e-1);return A!==e&&i(e=>e+1),A})},[]),T=(0,p.useMemo)(()=>({state:{status:A,stepIndex:n,stepKey:s,currentStep:E,transcript:o,isBusy:c,projectList:h},start:I,skip:N,next:L,previous:D,setProjectList:e=>{g(e)},setActiveProjectId:m,setTranscript:l,setWorkspaceHandler:H,setTourDemoProjectId:w}),[A,n,s,E,o,c,h,I,N,L,D,H]);return(0,d.jsx)(l8.Provider,{value:T,children:e})}function l7(){let e=(0,p.useContext)(l8);if(!e)throw Error("useGuidedTour must be used within a GuidedTourProvider");return e}var ce=t(1862);function cA({location:e}){let{state:A,next:t,previous:r,skip:n}=l7(),{status:a,currentStep:s,stepKey:i,isBusy:o,stepIndex:l}=A,[c,u]=(0,p.useState)(null),h=l5.length,g=(0,p.useMemo)(()=>!!s&&!!o&&("workspace-edit"===s.id||"workspace-focus"===s.id||"workspace-checkpoint"===s.id),[s,o]);if("running"!==a||!s||s.location!==e)return null;let f=s.primaryLabel??"Next",m=s.secondaryLabel??"Skip";return(0,d.jsxs)("div",{className:"fixed inset-0 z-[2000] pointer-events-auto",children:[(0,d.jsx)("div",{className:"absolute inset-0 bg-background/30"}),c&&(0,d.jsx)("div",{className:"pointer-events-none fixed rounded-xl border-2 border-primary ring-4 ring-primary/30 transition-all animate-ring-opacity",style:{top:c.top,left:c.left,width:c.width,height:c.height}}),(0,d.jsx)("div",{className:"absolute bottom-10 left-1/2 flex w-full max-w-xl -translate-x-1/2 flex-col gap-4 px-4",children:(0,d.jsxs)("div",{className:"pointer-events-auto rounded-2xl border bg-background/95 p-6 shadow-2xl",children:[(0,d.jsxs)("div",{className:"flex items-start justify-between gap-4",children:[(0,d.jsxs)("div",{className:"flex-1",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between gap-4",children:[(0,d.jsx)("h3",{className:"text-lg font-semibold text-foreground",children:s.title}),(0,d.jsxs)("span",{className:"text-sm text-muted-foreground font-medium",children:[l+1,"/",h]})]}),(0,d.jsx)("div",{className:"mt-2 text-sm leading-relaxed text-muted-foreground",children:s.body})]}),o&&(0,d.jsx)(ce.A,{className:"h-5 w-5 animate-spin text-primary"})]}),(0,d.jsxs)("div",{className:"mt-6 flex items-center justify-between",children:[s.showBack?(0,d.jsx)(Q.$,{variant:"ghost",onClick:r,disabled:o,children:"Back"}):(0,d.jsx)("div",{}),(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)(Q.$,{variant:"ghost",onClick:n,children:m}),(0,d.jsx)(Q.$,{onClick:t,disabled:g,children:f})]})]})]})})]})}var ct=t(4923);function cr({project:e,open:A,onOpenChange:t}){let[r,n]=(0,p.useState)(!1),[a,s]=(0,p.useState)({name:e?.name||"",description:e?.description||"",version:"1.0.0",author:"",authorUrl:"",license:"personal",tags:[],thumbnail:void 0,previewImages:[],downloadUrl:""}),[i,o]=(0,p.useState)(""),l=async()=>{if(e){if(!a.name||a.name.length<1||a.name.length>50)return void A4.oR.error("Template name must be between 1 and 50 characters");if(!a.description||a.description.length<10||a.description.length>500)return void A4.oR.error("Description must be between 10 and 500 characters");if(!a.version||!/^\d+\.\d+\.\d+$/.test(a.version))return void A4.oR.error("Version must be in format x.y.z (e.g., 1.0.0)");try{n(!0);let A=i.split(",").map(e=>e.trim()).filter(e=>e.length>0),r={...a,tags:A},l=await C.exportProjectAsTemplate(m.vfs,e.id,r),c=URL.createObjectURL(l),u=document.createElement("a");u.href=c,u.download=`${a.name.replace(/\s+/g,"-").toLowerCase()}.oswt`,document.body.appendChild(u),u.click(),document.body.removeChild(u),URL.revokeObjectURL(c),A4.oR.success("Template exported successfully!"),t(!1),s({name:"",description:"",version:"1.0.0",author:"",authorUrl:"",license:"personal",tags:[],thumbnail:void 0,previewImages:[],downloadUrl:""}),o("")}catch(e){y.v.error("Failed to export template:",e),A4.oR.error(e instanceof Error?e.message:"Failed to export template")}finally{n(!1)}}},c=ct.N2.find(e=>e.value===a.license);return(0,d.jsx)(oZ,{open:A,onOpenChange:t,children:(0,d.jsxs)(o2,{className:"max-w-2xl max-h-[90vh] overflow-y-auto",children:[(0,d.jsxs)(o4,{children:[(0,d.jsx)(o5,{children:"Export as Template"}),(0,d.jsx)(o6,{children:"Create a reusable template from this project"})]}),(0,d.jsxs)("div",{className:"space-y-4 py-4",children:[a.thumbnail&&(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)(lh.J,{children:"Preview Thumbnail"}),(0,d.jsx)("div",{className:"w-full rounded-lg overflow-hidden bg-muted border",children:(0,d.jsx)("img",{src:a.thumbnail,alt:"Template preview",className:"w-full h-auto"})}),(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:"This preview was captured when you saved the project"})]}),!a.thumbnail&&(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)(lh.J,{children:"Preview Thumbnail"}),(0,d.jsx)("div",{className:"w-full h-48 rounded-lg bg-muted flex items-center justify-center border",children:(0,d.jsxs)("div",{className:"text-center text-muted-foreground",children:[(0,d.jsx)(H,{className:"h-12 w-12 mx-auto mb-2"}),(0,d.jsx)("p",{className:"text-sm",children:"No preview available"}),(0,d.jsx)("p",{className:"text-xs",children:"Save your project to capture a preview"})]})})]}),(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsxs)("div",{className:"flex justify-between items-center",children:[(0,d.jsxs)(lh.J,{htmlFor:"template-name",children:["Template Name ",(0,d.jsx)("span",{className:"text-destructive",children:"*"})]}),(0,d.jsxs)("span",{className:"text-xs text-muted-foreground",children:[a.name.length,"/50"]})]}),(0,d.jsx)(F.p,{id:"template-name",value:a.name,onChange:e=>s({...a,name:e.target.value.slice(0,50)}),placeholder:"My Awesome Template",maxLength:50,required:!0})]}),(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsxs)("div",{className:"flex justify-between items-center",children:[(0,d.jsxs)(lh.J,{htmlFor:"template-description",children:["Description ",(0,d.jsx)("span",{className:"text-destructive",children:"*"})]}),(0,d.jsxs)("span",{className:"text-xs text-muted-foreground",children:[a.description.length,"/500"]})]}),(0,d.jsx)(U,{id:"template-description",value:a.description,onChange:e=>s({...a,description:e.target.value.slice(0,500)}),placeholder:"A complete multi-page template with...",className:"resize-none",rows:3,maxLength:500,required:!0})]}),(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsxs)(lh.J,{htmlFor:"template-version",children:["Version ",(0,d.jsx)("span",{className:"text-destructive",children:"*"})]}),(0,d.jsx)(F.p,{id:"template-version",value:a.version,onChange:e=>s({...a,version:e.target.value}),placeholder:"1.0.0",pattern:"^\\d+\\.\\d+\\.\\d+$",required:!0}),(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:"Semantic version format (e.g., 1.0.0)"})]}),(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)(lh.J,{htmlFor:"template-author",children:"Author"}),(0,d.jsx)(F.p,{id:"template-author",value:a.author,onChange:e=>s({...a,author:e.target.value.slice(0,50)}),placeholder:"Your Name",maxLength:50})]}),(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)(lh.J,{htmlFor:"template-author-url",children:"Author URL"}),(0,d.jsx)(F.p,{id:"template-author-url",type:"url",value:a.authorUrl,onChange:e=>s({...a,authorUrl:e.target.value}),placeholder:"https://yourwebsite.com"})]}),(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsxs)(lh.J,{htmlFor:"template-license",children:["License ",(0,d.jsx)("span",{className:"text-destructive",children:"*"})]}),(0,d.jsxs)(tn.l6,{value:a.license,onValueChange:e=>s({...a,license:e}),children:[(0,d.jsx)(tn.bq,{id:"template-license",children:(0,d.jsx)(tn.yv,{})}),(0,d.jsx)(tn.gC,{children:ct.N2.map(e=>(0,d.jsx)(tn.eb,{value:e.value,children:e.label},e.value))})]}),c&&(0,d.jsxs)("div",{className:"flex items-start gap-2 p-2 rounded-md bg-muted text-xs",children:[(0,d.jsx)(lr,{className:"h-3 w-3 mt-0.5 shrink-0 text-muted-foreground"}),(0,d.jsx)("p",{className:"text-muted-foreground",children:c.description})]})]}),(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)(lh.J,{htmlFor:"template-tags",children:"Tags"}),(0,d.jsx)(F.p,{id:"template-tags",value:i,onChange:e=>o(e.target.value),placeholder:"saas, marketing, landing (comma-separated)"}),(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:"Add up to 10 tags, separated by commas"})]}),(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)(lh.J,{htmlFor:"template-download-url",children:"Marketplace URL"}),(0,d.jsx)(F.p,{id:"template-download-url",type:"url",value:a.downloadUrl,onChange:e=>s({...a,downloadUrl:e.target.value}),placeholder:"https://example.com/templates/..."}),(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:"Where users can find this template"})]})]}),(0,d.jsxs)(o3,{children:[(0,d.jsx)(Q.$,{variant:"outline",onClick:()=>t(!1),disabled:r,children:"Cancel"}),(0,d.jsx)(Q.$,{onClick:l,disabled:r,children:r?"Exporting...":"Export Template"})]})]})})}let cn=(0,k.A)("link-2",[["path",{d:"M9 17H7A5 5 0 0 1 7 7h2",key:"8i5ue5"}],["path",{d:"M15 7h2a5 5 0 1 1 0 10h-2",key:"1b9ql8"}],["line",{x1:"8",x2:"16",y1:"12",y2:"12",key:"1jonct"}]]);var ca=t(9024),[cs,ci]=(0,eo.A)("Tooltip",[em.Bk]),co=(0,em.Bk)(),cl="TooltipProvider",cc="tooltip.open",[cu,cd]=cs(cl),cp=e=>{let{__scopeTooltip:A,delayDuration:t=700,skipDelayDuration:r=300,disableHoverableContent:n=!1,children:a}=e,s=p.useRef(!0),i=p.useRef(!1),o=p.useRef(0);return p.useEffect(()=>{let e=o.current;return()=>window.clearTimeout(e)},[]),(0,d.jsx)(cu,{scope:A,isOpenDelayedRef:s,delayDuration:t,onOpen:p.useCallback(()=>{window.clearTimeout(o.current),s.current=!1},[]),onClose:p.useCallback(()=>{window.clearTimeout(o.current),o.current=window.setTimeout(()=>s.current=!0,r)},[r]),isPointerInTransitRef:i,onPointerInTransitChange:p.useCallback(e=>{i.current=e},[]),disableHoverableContent:n,children:a})};cp.displayName=cl;var ch="Tooltip",[cg,cf]=cs(ch),cm=e=>{let{__scopeTooltip:A,children:t,open:r,defaultOpen:n,onOpenChange:a,disableHoverableContent:s,delayDuration:i}=e,o=cd(ch,e.__scopeTooltip),l=co(A),[c,u]=p.useState(null),h=(0,ef.B)(),g=p.useRef(0),f=s??o.disableHoverableContent,m=i??o.delayDuration,B=p.useRef(!1),[w,x]=(0,el.i)({prop:r,defaultProp:n??!1,onChange:e=>{e?(o.onOpen(),document.dispatchEvent(new CustomEvent(cc))):o.onClose(),a?.(e)},caller:ch}),v=p.useMemo(()=>w?B.current?"delayed-open":"instant-open":"closed",[w]),y=p.useCallback(()=>{window.clearTimeout(g.current),g.current=0,B.current=!1,x(!0)},[x]),b=p.useCallback(()=>{window.clearTimeout(g.current),g.current=0,x(!1)},[x]),C=p.useCallback(()=>{window.clearTimeout(g.current),g.current=window.setTimeout(()=>{B.current=!0,x(!0),g.current=0},m)},[m,x]);return p.useEffect(()=>()=>{g.current&&(window.clearTimeout(g.current),g.current=0)},[]),(0,d.jsx)(em.bL,{...l,children:(0,d.jsx)(cg,{scope:A,contentId:h,open:w,stateAttribute:v,trigger:c,onTriggerChange:u,onTriggerEnter:p.useCallback(()=>{o.isOpenDelayedRef.current?C():y()},[o.isOpenDelayedRef,C,y]),onTriggerLeave:p.useCallback(()=>{f?b():(window.clearTimeout(g.current),g.current=0)},[b,f]),onOpen:y,onClose:b,disableHoverableContent:f,children:t})})};cm.displayName=ch;var cB="TooltipTrigger",cw=p.forwardRef((e,A)=>{let{__scopeTooltip:t,...r}=e,n=cf(cB,t),a=cd(cB,t),s=co(t),i=p.useRef(null),o=(0,ei.s)(A,i,n.onTriggerChange),l=p.useRef(!1),c=p.useRef(!1),u=p.useCallback(()=>l.current=!1,[]);return p.useEffect(()=>()=>document.removeEventListener("pointerup",u),[u]),(0,d.jsx)(em.Mz,{asChild:!0,...s,children:(0,d.jsx)(ec.sG.button,{"aria-describedby":n.open?n.contentId:void 0,"data-state":n.stateAttribute,...r,ref:o,onPointerMove:(0,es.mK)(e.onPointerMove,e=>{"touch"!==e.pointerType&&(c.current||a.isPointerInTransitRef.current||(n.onTriggerEnter(),c.current=!0))}),onPointerLeave:(0,es.mK)(e.onPointerLeave,()=>{n.onTriggerLeave(),c.current=!1}),onPointerDown:(0,es.mK)(e.onPointerDown,()=>{n.open&&n.onClose(),l.current=!0,document.addEventListener("pointerup",u,{once:!0})}),onFocus:(0,es.mK)(e.onFocus,()=>{l.current||n.onOpen()}),onBlur:(0,es.mK)(e.onBlur,n.onClose),onClick:(0,es.mK)(e.onClick,n.onClose)})})});cw.displayName=cB;var cx="TooltipPortal",[cv,cy]=cs(cx,{forceMount:void 0}),cb=e=>{let{__scopeTooltip:A,forceMount:t,children:r,container:n}=e,a=cf(cx,A);return(0,d.jsx)(cv,{scope:A,forceMount:t,children:(0,d.jsx)(ew.C,{present:t||a.open,children:(0,d.jsx)(eB.Z,{asChild:!0,container:n,children:r})})})};cb.displayName=cx;var cC="TooltipContent",cQ=p.forwardRef((e,A)=>{let t=cy(cC,e.__scopeTooltip),{forceMount:r=t.forceMount,side:n="top",...a}=e,s=cf(cC,e.__scopeTooltip);return(0,d.jsx)(ew.C,{present:r||s.open,children:s.disableHoverableContent?(0,d.jsx)(cj,{side:n,...a,ref:A}):(0,d.jsx)(cF,{side:n,...a,ref:A})})}),cF=p.forwardRef((e,A)=>{let t=cf(cC,e.__scopeTooltip),r=cd(cC,e.__scopeTooltip),n=p.useRef(null),a=(0,ei.s)(A,n),[s,i]=p.useState(null),{trigger:o,onClose:l}=t,c=n.current,{onPointerInTransitChange:u}=r,h=p.useCallback(()=>{i(null),u(!1)},[u]),g=p.useCallback((e,A)=>{let t=e.currentTarget,r={x:e.clientX,y:e.clientY},n=function(e,A){let t=Math.abs(A.top-e.y),r=Math.abs(A.bottom-e.y),n=Math.abs(A.right-e.x),a=Math.abs(A.left-e.x);switch(Math.min(t,r,n,a)){case a:return"left";case n:return"right";case t:return"top";case r:return"bottom";default:throw Error("unreachable")}}(r,t.getBoundingClientRect());i(function(e){let A=e.slice();return A.sort((e,A)=>e.xA.x?1:e.yA.y)),function(e){if(e.length<=1)return e.slice();let A=[];for(let t=0;t=2;){let e=A[A.length-1],t=A[A.length-2];if((e.x-t.x)*(r.y-t.y)>=(e.y-t.y)*(r.x-t.x))A.pop();else break}A.push(r)}A.pop();let t=[];for(let A=e.length-1;A>=0;A--){let r=e[A];for(;t.length>=2;){let e=t[t.length-1],A=t[t.length-2];if((e.x-A.x)*(r.y-A.y)>=(e.y-A.y)*(r.x-A.x))t.pop();else break}t.push(r)}return(t.pop(),1===A.length&&1===t.length&&A[0].x===t[0].x&&A[0].y===t[0].y)?A:A.concat(t)}(A)}([...function(e,A,t=5){let r=[];switch(A){case"top":r.push({x:e.x-t,y:e.y+t},{x:e.x+t,y:e.y+t});break;case"bottom":r.push({x:e.x-t,y:e.y-t},{x:e.x+t,y:e.y-t});break;case"left":r.push({x:e.x+t,y:e.y-t},{x:e.x+t,y:e.y+t});break;case"right":r.push({x:e.x-t,y:e.y-t},{x:e.x-t,y:e.y+t})}return r}(r,n),...function(e){let{top:A,right:t,bottom:r,left:n}=e;return[{x:n,y:A},{x:t,y:A},{x:t,y:r},{x:n,y:r}]}(A.getBoundingClientRect())])),u(!0)},[u]);return p.useEffect(()=>()=>h(),[h]),p.useEffect(()=>{if(o&&c){let e=e=>g(e,c),A=e=>g(e,o);return o.addEventListener("pointerleave",e),c.addEventListener("pointerleave",A),()=>{o.removeEventListener("pointerleave",e),c.removeEventListener("pointerleave",A)}}},[o,c,g,h]),p.useEffect(()=>{if(s){let e=e=>{let A=e.target,t={x:e.clientX,y:e.clientY},r=o?.contains(A)||c?.contains(A),n=!function(e,A){let{x:t,y:r}=e,n=!1;for(let e=0,a=A.length-1;er!=u>r&&t<(c-o)*(r-l)/(u-l)+o&&(n=!n)}return n}(t,s);r?h():n&&(h(),l())};return document.addEventListener("pointermove",e),()=>document.removeEventListener("pointermove",e)}},[o,c,s,l,h]),(0,d.jsx)(cj,{...e,ref:a})}),[cU,ck]=cs(ch,{isInside:!1}),cE=(0,eT.Dc)("TooltipContent"),cj=p.forwardRef((e,A)=>{let{__scopeTooltip:t,children:r,"aria-label":n,onEscapeKeyDown:a,onPointerDownOutside:s,...i}=e,o=cf(cC,t),l=co(t),{onClose:c}=o;return p.useEffect(()=>(document.addEventListener(cc,c),()=>document.removeEventListener(cc,c)),[c]),p.useEffect(()=>{if(o.trigger){let e=e=>{let A=e.target;A?.contains(o.trigger)&&c()};return window.addEventListener("scroll",e,{capture:!0}),()=>window.removeEventListener("scroll",e,{capture:!0})}},[o.trigger,c]),(0,d.jsx)(ep.qW,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:a,onPointerDownOutside:s,onFocusOutside:e=>e.preventDefault(),onDismiss:c,children:(0,d.jsxs)(em.UC,{"data-state":o.stateAttribute,...l,...i,ref:A,style:{...i.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[(0,d.jsx)(cE,{children:r}),(0,d.jsx)(cU,{scope:t,isInside:!0,children:(0,d.jsx)(ca.bL,{id:o.contentId,role:"tooltip",children:n||r})})]})})});cQ.displayName=cC;var cI="TooltipArrow",cH=p.forwardRef((e,A)=>{let{__scopeTooltip:t,...r}=e,n=co(t);return ck(cI,t).isInside?null:(0,d.jsx)(em.i3,{...n,...r,ref:A})});function cS({delayDuration:e=0,...A}){return(0,d.jsx)(cp,{"data-slot":"tooltip-provider",delayDuration:e,...A})}function cN({...e}){return(0,d.jsx)(cS,{children:(0,d.jsx)(cm,{"data-slot":"tooltip",...e})})}function cL({...e}){return(0,d.jsx)(cw,{"data-slot":"tooltip-trigger",...e})}function cD({className:e,sideOffset:A=0,children:t,arrowStyle:r,...n}){return(0,d.jsx)(cb,{children:(0,d.jsxs)(cQ,{"data-slot":"tooltip-content",sideOffset:A,className:(0,y.cn)("bg-primary text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance",e),...n,children:[t,(0,d.jsx)(cH,{className:"bg-primary fill-primary z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]",style:r})]})})}function cT({template:e,onSelect:A,onDelete:t,onExport:r,viewMode:n="grid"}){let a="isBuiltIn"in e&&e.isBuiltIn,s=a?null:e,i=e=>{let A=ct.N2.find(A=>A.value===e);return A?.label||e},o=A=>{A.stopPropagation(),!a&&t&&t(e.id)},l=A=>{A.stopPropagation(),r&&r(e)},c=e=>{if(!e)return"Never";try{return ea(e,{addSuffix:!0})}catch{return"Recently"}};return"list"===n?(0,d.jsx)("div",{className:"border border-border rounded-lg p-4 bg-card",children:(0,d.jsxs)("div",{className:"flex items-center gap-4",children:[(0,d.jsxs)("div",{className:"relative shrink-0",children:[s?.metadata.thumbnail?(0,d.jsx)("div",{className:"w-24 h-16 rounded-md overflow-hidden bg-muted",children:(0,d.jsx)("img",{src:s.metadata.thumbnail,alt:e.name,className:"w-full h-full object-cover"})}):(0,d.jsx)("div",{className:"w-24 h-16 rounded-md bg-muted flex items-center justify-center",children:(0,d.jsx)(H,{className:"h-8 w-8 text-muted-foreground"})}),a&&(0,d.jsx)(cS,{children:(0,d.jsxs)(cN,{children:[(0,d.jsx)(cL,{asChild:!0,children:(0,d.jsx)("div",{className:"absolute top-1 right-1 bg-background/90 rounded-full p-1",children:(0,d.jsx)(cn,{className:"h-3 w-3 text-muted-foreground"})})}),(0,d.jsx)(cD,{children:"Built-in template"})]})})]}),(0,d.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,d.jsxs)("div",{className:"flex items-baseline gap-2 mb-1",children:[(0,d.jsx)("h3",{className:"font-semibold text-base truncate",title:e.name,children:e.name}),s&&(0,d.jsxs)("span",{className:"text-xs text-muted-foreground shrink-0",children:["v",s.version]})]}),(0,d.jsx)("p",{className:"text-sm text-muted-foreground line-clamp-1 mb-2",title:e.description,children:e.description}),(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-x-2 gap-y-1 text-xs text-muted-foreground",children:[(s?.metadata.author||e.metadata?.author)&&(0,d.jsxs)("span",{className:"truncate max-w-[150px]",title:s?.metadata.author||e.metadata?.author,children:["by ",s?.metadata.author||e.metadata?.author]}),s?.metadata.license&&(0,d.jsxs)(d.Fragment,{children:[s.metadata.author&&(0,d.jsx)("span",{children:"•"}),(0,d.jsx)(o9.E,{variant:"secondary",className:"text-xs px-1.5 py-0 h-auto",children:i(s.metadata.license)})]}),s?.files&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("span",{children:"•"}),(0,d.jsxs)("span",{children:[s.files.length," files"]})]}),(s?.metadata.tags||e.metadata?.tags)&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("span",{children:"•"}),(s?.metadata.tags||e.metadata?.tags||[]).slice(0,2).map(e=>(0,d.jsx)(o9.E,{variant:"outline",className:"text-xs px-1.5 py-0 h-auto",children:e},e)),(s?.metadata.tags||e.metadata?.tags||[]).length>2&&(0,d.jsxs)(o9.E,{variant:"outline",className:"text-xs px-1.5 py-0 h-auto",children:["+",(s?.metadata.tags||e.metadata?.tags||[]).length-2]})]})]})]}),(0,d.jsxs)("div",{className:"hidden md:flex items-center gap-3 shrink-0",children:[(0,d.jsx)("span",{className:"text-xs text-muted-foreground whitespace-nowrap",children:c(s?.updatedAt||e.updatedAt)}),(0,d.jsxs)(A$,{children:[(0,d.jsx)(AZ,{asChild:!0,children:(0,d.jsx)(Q.$,{size:"icon",variant:"ghost",className:"h-8 w-8",children:(0,d.jsx)(K,{className:"h-4 w-4"})})}),(0,d.jsxs)(A0,{align:"end",children:[(0,d.jsxs)(A1,{onClick:()=>A(e),children:[(0,d.jsx)(lu,{className:"mr-2 h-4 w-4"}),"Create Project"]}),r&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(A2,{}),(0,d.jsxs)(A1,{onClick:l,children:[(0,d.jsx)(V,{className:"mr-2 h-4 w-4"}),"Export Template"]})]}),t&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(A2,{}),(0,d.jsx)(cS,{children:(0,d.jsxs)(cN,{children:[(0,d.jsx)(cL,{asChild:!0,children:(0,d.jsx)("div",{children:(0,d.jsxs)(A1,{className:"text-destructive",onClick:o,disabled:a,children:[(0,d.jsx)(G,{className:"mr-2 h-4 w-4"}),"Delete"]})})}),a&&(0,d.jsx)(cD,{children:"Built-in templates cannot be deleted"})]})})]})]})]})]}),(0,d.jsx)("div",{className:"md:hidden",children:(0,d.jsxs)(A$,{children:[(0,d.jsx)(AZ,{asChild:!0,children:(0,d.jsx)(Q.$,{size:"icon",variant:"ghost",className:"h-8 w-8",children:(0,d.jsx)(K,{className:"h-4 w-4"})})}),(0,d.jsxs)(A0,{align:"end",children:[(0,d.jsxs)(A1,{onClick:()=>A(e),children:[(0,d.jsx)(lu,{className:"mr-2 h-4 w-4"}),"Create Project"]}),r&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(A2,{}),(0,d.jsxs)(A1,{onClick:l,children:[(0,d.jsx)(V,{className:"mr-2 h-4 w-4"}),"Export Template"]})]}),t&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(A2,{}),(0,d.jsxs)(A1,{className:"text-destructive",onClick:o,disabled:a,children:[(0,d.jsx)(G,{className:"mr-2 h-4 w-4"}),"Delete"]})]})]})]})})]})}):(0,d.jsxs)("div",{className:"border border-border rounded-lg overflow-hidden bg-card group",children:[(0,d.jsxs)("div",{className:"relative",children:[s?.metadata.thumbnail?(0,d.jsx)("div",{className:"w-full aspect-video bg-muted",children:(0,d.jsx)("img",{src:s.metadata.thumbnail,alt:e.name,className:"w-full h-full object-cover"})}):(0,d.jsx)("div",{className:"w-full aspect-video bg-muted flex items-center justify-center",children:(0,d.jsx)(H,{className:"h-16 w-16 text-muted-foreground"})}),a&&(0,d.jsx)(cS,{children:(0,d.jsxs)(cN,{children:[(0,d.jsx)(cL,{asChild:!0,children:(0,d.jsx)("div",{className:"absolute top-2 right-2 bg-background/90 rounded-full p-1.5 shadow-sm",children:(0,d.jsx)(cn,{className:"h-4 w-4 text-muted-foreground"})})}),(0,d.jsx)(cD,{children:"Built-in template"})]})}),s?.metadata.downloadUrl&&(0,d.jsx)(cS,{children:(0,d.jsxs)(cN,{children:[(0,d.jsx)(cL,{asChild:!0,children:(0,d.jsx)("a",{href:s.metadata.downloadUrl,target:"_blank",rel:"noopener noreferrer",className:"absolute top-2 left-2 bg-background/90 hover:bg-background rounded-full p-1.5 shadow-sm transition-colors",onClick:e=>e.stopPropagation(),children:(0,d.jsx)(le.A,{className:"h-4 w-4 text-muted-foreground"})})}),(0,d.jsx)(cD,{children:"View on marketplace"})]})})]}),(0,d.jsxs)("div",{className:"p-4 space-y-3",children:[(0,d.jsxs)("div",{className:"space-y-1",children:[(0,d.jsxs)("div",{className:"flex items-baseline gap-2",children:[(0,d.jsx)("h3",{className:"font-semibold text-base line-clamp-1 flex-1",title:e.name,children:e.name}),s&&(0,d.jsxs)("span",{className:"text-xs text-muted-foreground shrink-0",children:["v",s.version]})]}),(0,d.jsx)("p",{className:"text-sm text-muted-foreground line-clamp-2",title:e.description,children:e.description})]}),(0,d.jsxs)("div",{className:"space-y-2",children:[(s?.metadata.author||e.metadata?.author)&&(0,d.jsx)("div",{className:"text-xs text-muted-foreground",children:s?.metadata.authorUrl?(0,d.jsxs)("a",{href:s.metadata.authorUrl,target:"_blank",rel:"noopener noreferrer",className:"text-primary hover:underline inline-flex items-center gap-1",onClick:e=>e.stopPropagation(),children:["by ",s.metadata.author,(0,d.jsx)(le.A,{className:"h-3 w-3"})]}):(0,d.jsxs)("span",{children:["by ",s?.metadata.author||e.metadata?.author]})}),(s?.metadata.tags||e.metadata?.tags)&&(s?.metadata.tags||e.metadata?.tags||[]).length>0&&(0,d.jsxs)("div",{className:"flex flex-wrap gap-1",children:[(s?.metadata.tags||e.metadata?.tags||[]).slice(0,3).map(e=>(0,d.jsx)(o9.E,{variant:"secondary",className:"text-xs px-1.5 py-0.5",children:e},e)),(s?.metadata.tags||e.metadata?.tags||[]).length>3&&(0,d.jsxs)(o9.E,{variant:"secondary",className:"text-xs px-1.5 py-0.5",children:["+",(s?.metadata.tags||e.metadata?.tags||[]).length-3]})]}),(0,d.jsxs)("div",{className:"flex items-center gap-2 text-xs text-muted-foreground flex-wrap",children:[s?.metadata.license&&(0,d.jsx)(o9.E,{variant:"outline",className:"text-xs px-1.5 py-0 h-auto",children:i(s.metadata.license)}),s?.files&&(0,d.jsxs)(d.Fragment,{children:[s.metadata.license&&(0,d.jsx)("span",{children:"•"}),(0,d.jsxs)("span",{children:[s.files.length," files"]})]})]})]}),(0,d.jsxs)("div",{className:"pt-3 border-t flex items-center justify-between",children:[(0,d.jsx)("span",{className:"text-xs text-muted-foreground",children:c(s?.updatedAt||e.updatedAt)}),(0,d.jsxs)(A$,{children:[(0,d.jsx)(AZ,{asChild:!0,children:(0,d.jsx)(Q.$,{size:"icon",variant:"ghost",className:"h-8 w-8",children:(0,d.jsx)(K,{className:"h-4 w-4"})})}),(0,d.jsxs)(A0,{align:"end",children:[(0,d.jsxs)(A1,{onClick:()=>A(e),children:[(0,d.jsx)(lu,{className:"mr-2 h-4 w-4"}),"Create Project"]}),r&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(A2,{}),(0,d.jsxs)(A1,{onClick:l,children:[(0,d.jsx)(V,{className:"mr-2 h-4 w-4"}),"Export Template"]})]}),t&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(A2,{}),(0,d.jsx)(cS,{children:(0,d.jsxs)(cN,{children:[(0,d.jsx)(cL,{asChild:!0,children:(0,d.jsx)("div",{children:(0,d.jsxs)(A1,{className:"text-destructive",onClick:o,disabled:a,children:[(0,d.jsx)(G,{className:"mr-2 h-4 w-4"}),"Delete"]})})}),a&&(0,d.jsx)(cD,{children:"Built-in templates cannot be deleted"})]})})]})]})]})]})]})]})}function cM({onProjectCreated:e}){let[A,t]=(0,p.useState)([]),[r,n]=(0,p.useState)(!0),[a,s]=(0,p.useState)(""),[i,o]=(0,p.useState)("updated"),[l,c]=(0,p.useState)("grid"),u=(0,p.useCallback)(async()=>{try{n(!0);let e=await C.listCustomTemplates();t(e)}catch(e){y.v.error("Failed to load custom templates:",e),A4.oR.error("Failed to load custom templates")}finally{n(!1)}},[]),h=async()=>{let e=document.createElement("input");e.type="file",e.accept=".oswt",e.onchange=async e=>{let A=e.target.files?.[0];if(A)try{await C.importTemplateFile(A),A4.oR.success("Template imported successfully!"),await u()}catch(e){y.v.error("Failed to import template:",e),A4.oR.error(e instanceof Error?e.message:"Failed to import template")}},e.click()},g=async e=>{if(confirm("Are you sure you want to delete this template?"))try{await C.deleteCustomTemplate(e),A4.oR.success("Template deleted"),await u()}catch(e){y.v.error("Failed to delete template:",e),A4.oR.error("Failed to delete template")}},f=async e=>{try{if("isBuiltIn"in e&&e.isBuiltIn){A4.oR.info("Exporting built-in template as custom template...");let A=await m.vfs.createProject(e.name,e.description);"blank"===e.id?await lB(m.vfs,A.id,lf):"demo"===e.id&&await lB(m.vfs,A.id,lg,lg.assets);let t=await C.exportProjectAsTemplate(m.vfs,A.id,{name:e.name,description:e.description,version:"1.0.0",author:"OSW Studio",license:"mit",tags:e.metadata?.tags||[]});await m.vfs.deleteProject(A.id);let r=URL.createObjectURL(t),n=document.createElement("a");n.href=r,n.download=`${e.name.replace(/\s+/g,"-").toLowerCase()}.oswt`,document.body.appendChild(n),n.click(),document.body.removeChild(n),URL.revokeObjectURL(r),A4.oR.success("Template exported successfully!")}else{let A=await C.exportTemplateAsFile(e),t=URL.createObjectURL(A),r=document.createElement("a");r.href=t,r.download=`${e.name.replace(/\s+/g,"-").toLowerCase()}.oswt`,document.body.appendChild(r),r.click(),document.body.removeChild(r),URL.revokeObjectURL(t),A4.oR.success("Template exported successfully!")}}catch(e){y.v.error("Failed to export template:",e),A4.oR.error("Failed to export template")}},B=async A=>{try{let t="Blank"===A.name||"Example Studios"===A.name?`New ${A.name} Project`:A.name,r=await m.vfs.createProject(t,A.description);"isBuiltIn"in A&&A.isBuiltIn?"blank"===A.id?await lB(m.vfs,r.id,lf):"demo"===A.id&&await lB(m.vfs,r.id,lg,lg.assets):await lB(m.vfs,r.id,{name:A.name,description:A.description,files:A.files.map(e=>({path:e.path,content:"string"==typeof e.content?e.content:new TextDecoder().decode(e.content)})),directories:A.directories,assets:A.assets}),A4.oR.success(`Project "${r.name}" created successfully!`),e&&e(r.id)}catch(e){y.v.error("Failed to create project from template:",e),A4.oR.error("Failed to create project")}},w=[...[...lw,...A].filter(e=>{let A=a.toLowerCase();return e.name.toLowerCase().includes(A)||e.description.toLowerCase().includes(A)||"metadata"in e&&e.metadata?.author?.toLowerCase().includes(A)||"metadata"in e&&e.metadata?.tags?.some(e=>e.toLowerCase().includes(A))})].sort((e,A)=>{switch(i){case"updated":let t="updatedAt"in e&&e.updatedAt?e.updatedAt:new Date("2024-01-01");return("updatedAt"in A&&A.updatedAt?A.updatedAt:new Date("2024-01-01")).getTime()-t.getTime();case"name":return e.name.localeCompare(A.name);case"author":let r="metadata"in e&&e.metadata?.author||"",n="metadata"in A&&A.metadata?.author||"";return r.localeCompare(n);case"files":let a="files"in e&&e.files?.length||0;return("files"in A&&A.files?.length||0)-a;default:return 0}});return r?(0,d.jsx)("div",{className:"flex items-center justify-center h-screen",children:(0,d.jsxs)("div",{className:"text-center",children:[(0,d.jsx)("div",{className:"animate-spin rounded-full h-12 w-12 border-b-2 border-primary mx-auto"}),(0,d.jsx)("p",{className:"mt-4",children:"Loading templates..."})]})}):(0,d.jsxs)("div",{className:"h-full flex flex-col",children:[(0,d.jsx)("div",{className:"pt-4 px-4 pb-3 sm:pt-6 sm:px-6 sm:pb-3 shrink-0",children:(0,d.jsxs)("div",{className:"mx-auto max-w-7xl flex flex-col sm:flex-row gap-3",children:[(0,d.jsxs)("div",{className:"relative flex-1",children:[(0,d.jsx)(li.A,{className:"absolute left-3 top-1/2 transform -translate-y-1/2 h-4 w-4 text-muted-foreground"}),(0,d.jsx)(F.p,{placeholder:"Search templates...",value:a,onChange:e=>s(e.target.value),className:"pl-9"})]}),(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsxs)(lx.AM,{children:[(0,d.jsx)(lx.Wv,{asChild:!0,children:(0,d.jsxs)(Q.$,{variant:"outline",size:"sm",className:"gap-2",children:[(0,d.jsx)(lo,{className:"h-4 w-4"}),(0,d.jsx)("span",{className:"hidden sm:inline",children:"Sort"})]})}),(0,d.jsx)(lx.hl,{className:"w-48",align:"end",children:(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)("h4",{className:"font-semibold text-sm",children:"Sort by"}),(0,d.jsxs)(tn.l6,{value:i,onValueChange:e=>o(e),children:[(0,d.jsx)(tn.bq,{children:(0,d.jsx)(tn.yv,{})}),(0,d.jsxs)(tn.gC,{children:[(0,d.jsx)(tn.eb,{value:"updated",children:"Last Updated"}),(0,d.jsx)(tn.eb,{value:"name",children:"Name"}),(0,d.jsx)(tn.eb,{value:"author",children:"Author"}),(0,d.jsx)(tn.eb,{value:"files",children:"File Count"})]})]})]})})]}),(0,d.jsxs)("div",{className:"flex border rounded-full",children:[(0,d.jsx)(Q.$,{variant:"grid"===l?"secondary":"ghost",size:"sm",onClick:()=>c("grid"),className:"rounded-r-none rounded-l-full",children:(0,d.jsx)(ll,{className:"h-4 w-4"})}),(0,d.jsx)(Q.$,{variant:"list"===l?"secondary":"ghost",size:"sm",onClick:()=>c("list"),className:"rounded-l-none rounded-r-full",children:(0,d.jsx)(lc,{className:"h-4 w-4"})})]}),(0,d.jsxs)(Q.$,{onClick:h,size:"sm",className:"gap-2",children:[(0,d.jsx)(ld,{className:"h-4 w-4"}),(0,d.jsx)("span",{children:"Import"})]})]})]})}),(0,d.jsx)("div",{className:"flex-1 px-4 pt-3 pb-4 sm:px-6 sm:pt-3 sm:pb-6",children:(0,d.jsx)("div",{className:"mx-auto max-w-7xl",children:0===w.length?(0,d.jsx)("div",{className:"flex items-center justify-center h-full",children:(0,d.jsx)("div",{className:"text-center max-w-md",children:a?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(li.A,{className:"h-12 w-12 text-muted-foreground mx-auto mb-4"}),(0,d.jsx)("h3",{className:"font-semibold mb-2",children:"No templates found"}),(0,d.jsxs)("p",{className:"text-sm text-muted-foreground mb-4",children:['No templates match your search query "',a,'"']}),(0,d.jsx)(Q.$,{variant:"outline",onClick:()=>s(""),children:"Clear search"})]}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(O,{className:"h-12 w-12 text-muted-foreground mx-auto mb-4"}),(0,d.jsx)("h3",{className:"font-semibold mb-2",children:"No custom templates yet"}),(0,d.jsx)("p",{className:"text-sm text-muted-foreground mb-4",children:"Import custom templates to get started with professional designs."}),(0,d.jsxs)(Q.$,{onClick:h,children:[(0,d.jsx)(ld,{className:"h-4 w-4 mr-2"}),"Import Template"]})]})})}):(0,d.jsx)("div",{className:"grid"===l?"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-4":"space-y-3",children:w.map(e=>(0,d.jsx)(cT,{template:e,onSelect:B,onDelete:g,onExport:f,viewMode:l},e.id))})})})]})}cH.displayName=cI;var cK=t(8608);let cR=(0,k.A)("power",[["path",{d:"M12 2v10",key:"mnfbl"}],["path",{d:"M18.4 6.6a9 9 0 1 1-12.77.04",key:"obofu9"}]]),cP=(0,k.A)("square-pen",[["path",{d:"M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7",key:"1m0v6g"}],["path",{d:"M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z",key:"ohrbg2"}]]);var cO=t(262),cV=t(8559);let cG=(0,k.A)("save",[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]]);function cz({skill:e,mode:A,onSave:t,onCancel:r}){let[n,a]=(0,p.useState)(""),[s,i]=(0,p.useState)(""),[o,l]=(0,p.useState)(""),[c,u]=(0,p.useState)(""),[h,g]=(0,p.useState)("form"),[f,m]=(0,p.useState)(!1),B=e=>{u(e);try{let{frontmatter:A,markdown:t}=(0,cO.N1)(e);a(A.name),i(A.description),l(t)}catch(e){}},w=async()=>{m(!0);try{let{frontmatter:r}=(0,cO.N1)(c);"create"===A?(await cK.skillsService.createSkill(c),A4.oR.success(`Created skill: ${r.name}`)):e&&(await cK.skillsService.updateSkill(e.id,c),A4.oR.success(`Updated skill: ${r.name}`)),t()}catch(A){let e=A instanceof Error?A.message:"Failed to save skill";A4.oR.error(e)}finally{m(!1)}};return(0,d.jsxs)("div",{className:"flex flex-col bg-background h-[inherit]",children:[(0,d.jsx)("div",{className:"border-b px-6 py-4 shrink-0",children:(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsxs)("div",{className:"flex items-center gap-3",children:[(0,d.jsx)(Q.$,{variant:"ghost",size:"sm",onClick:r,children:(0,d.jsx)(cV.A,{className:"w-4 h-4"})}),(0,d.jsxs)("div",{children:[(0,d.jsx)("h1",{className:"text-2xl font-bold",children:"create"===A?"Create New Skill":"Edit Skill"}),(0,d.jsx)("p",{className:"text-sm text-muted-foreground",children:"Define specialized knowledge for the AI assistant"})]})]}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(Q.$,{variant:"outline",onClick:r,children:"Cancel"}),(0,d.jsxs)(Q.$,{onClick:w,disabled:f,children:[(0,d.jsx)(cG,{className:"w-4 h-4 mr-2"}),f?"Saving...":"Save Skill"]})]})]})}),(0,d.jsxs)("div",{className:"flex-1 flex flex-col overflow-auto",children:[(0,d.jsx)("div",{className:"border-b px-6 shrink-0",children:(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)("button",{onClick:()=>g("form"),className:`px-4 py-2 text-sm font-medium border-b-2 transition-colors ${"form"===h?"border-primary text-primary":"border-transparent text-muted-foreground hover:text-foreground"}`,children:"Form Editor"}),(0,d.jsx)("button",{onClick:()=>g("raw"),className:`px-4 py-2 text-sm font-medium border-b-2 transition-colors ${"raw"===h?"border-primary text-primary":"border-transparent text-muted-foreground hover:text-foreground"}`,children:"Raw Markdown"})]})}),"form"===h&&(0,d.jsx)("div",{className:"flex-1 overflow-y-auto px-6 py-4",children:(0,d.jsxs)("div",{className:"space-y-6",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)(lh.J,{htmlFor:"name",children:"Skill Name *"}),(0,d.jsx)(F.p,{id:"name",placeholder:"e.g., react-hooks, python-testing, ui-design",value:n,onChange:e=>a(e.target.value),className:"mt-1.5"}),(0,d.jsx)("p",{className:"text-xs text-muted-foreground mt-1",children:"Lowercase with hyphens (will be used as file name)"})]}),(0,d.jsxs)("div",{children:[(0,d.jsx)(lh.J,{htmlFor:"description",children:"Description *"}),(0,d.jsx)(F.p,{id:"description",placeholder:"Brief description of what this skill covers",value:s,onChange:e=>i(e.target.value),className:"mt-1.5"}),(0,d.jsx)("p",{className:"text-xs text-muted-foreground mt-1",children:"Max 200 characters - shown in skills list"})]}),(0,d.jsxs)("div",{children:[(0,d.jsx)(lh.J,{htmlFor:"markdown",children:"Skill Content *"}),(0,d.jsx)(U,{id:"markdown",placeholder:"Write the skill content in markdown format... ## Guidelines - Guideline 1 - Guideline 2 ## Examples ```javascript // Example code ```",value:o,onChange:e=>l(e.target.value),className:"mt-1.5 font-mono text-sm min-h-[400px]"}),(0,d.jsx)("p",{className:"text-xs text-muted-foreground mt-1",children:"Markdown content that the AI will read when using this skill"})]}),(0,d.jsxs)("div",{className:"bg-muted/50 rounded-lg p-4",children:[(0,d.jsxs)("h3",{className:"font-semibold mb-2 flex items-center gap-2",children:[(0,d.jsx)(j,{className:"w-4 h-4"}),"Tips for Writing Skills"]}),(0,d.jsxs)("ul",{className:"text-sm text-muted-foreground space-y-1 ml-5 list-disc",children:[(0,d.jsx)("li",{children:"Be specific and actionable - provide clear guidelines and examples"}),(0,d.jsx)("li",{children:"Use markdown formatting for better readability"}),(0,d.jsx)("li",{children:"Include code examples where relevant"}),(0,d.jsx)("li",{children:"Focus on practical knowledge the AI can apply"}),(0,d.jsx)("li",{children:"Keep it concise but comprehensive"})]})]})]})}),"raw"===h&&(0,d.jsx)("div",{className:"flex-1 overflow-auto px-6 py-4",children:(0,d.jsx)("div",{className:"max-w-4xl",children:(0,d.jsxs)("div",{children:[(0,d.jsx)(lh.J,{htmlFor:"raw-content",children:"Raw SKILL.md Content"}),(0,d.jsx)(U,{id:"raw-content",value:c,onChange:e=>B(e.target.value),className:"mt-1.5 font-mono text-sm min-h-[600px]",spellCheck:!1}),(0,d.jsx)("p",{className:"text-xs text-muted-foreground mt-1",children:"Direct editing of the SKILL.md file (YAML frontmatter + markdown)"})]})})})]})]})}function cq(){let[e,A]=(0,p.useState)([]),[t,r]=(0,p.useState)(!0),[n,a]=(0,p.useState)(""),[s,i]=(0,p.useState)(null),[o,l]=(0,p.useState)(null),[c,u]=(0,p.useState)(!1),[h,g]=(0,p.useState)(null),[f,m]=(0,p.useState)(!0),[B,w]=(0,p.useState)(new Set),x=async()=>{try{r(!0);let e=await cK.skillsService.getAllSkills();A(e)}catch(e){y.v.error("[SkillsManager] Failed to load skills",e),A4.oR.error("Failed to load skills")}finally{r(!1)}},v=async()=>{try{let e=await cK.skillsService.isGloballyEnabled();m(e);let A=await cK.skillsService.getAllSkills(),t=new Set;for(let e of A)await cK.skillsService.isSkillEnabled(e.id)&&t.add(e.id);w(t)}catch(e){y.v.error("[SkillsManager] Failed to load enabled state",e)}},b=async e=>{try{await cK.skillsService.setGlobalEnabled(e),m(e),A4.oR.success(e?"Skills enabled":"Skills disabled")}catch(e){A4.oR.error("Failed to update skills state")}},C=async(e,A)=>{try{A?(await cK.skillsService.enableSkill(e),w(A=>new Set([...A,e]))):(await cK.skillsService.disableSkill(e),w(A=>{let t=new Set(A);return t.delete(e),t}))}catch(e){A4.oR.error("Failed to toggle skill")}},U=()=>{i(null),l("create")},k=e=>{i(e),l("edit")},E=e=>{g(e),u(!0)},I=async()=>{if(h)try{await cK.skillsService.deleteSkill(h.id),A4.oR.success(`Deleted skill: ${h.name}`),await x(),await v()}catch(A){let e=A instanceof Error?A.message:"Failed to delete skill";A4.oR.error(e)}finally{u(!1),g(null)}},H=async()=>{let e=document.createElement("input");e.type="file",e.accept=".md,.zip",e.multiple=!1,e.onchange=async e=>{let A=e.target.files?.[0];if(A)try{if(A.name.endsWith(".zip")){let e=await cK.skillsService.importSkills(A);A4.oR.success(`Imported ${e.length} skill(s)`)}else{let e=await cK.skillsService.importSkillFile(A);A4.oR.success(`Imported skill: ${e.name}`)}await x(),await v()}catch(A){let e=A instanceof Error?A.message:"Failed to import skill";A4.oR.error(e)}},e.click()},S=async()=>{try{let A=e.filter(e=>!e.isBuiltIn);if(0===A.length)return void A4.oR.error("No custom skills to export");let t=await cK.skillsService.exportSkills(A.map(e=>e.id)),r=URL.createObjectURL(t),n=document.createElement("a");n.href=r,n.download=`osw-skills-${new Date().toISOString().split("T")[0]}.zip`,n.click(),URL.revokeObjectURL(r),A4.oR.success(`Exported ${A.length} skill(s)`)}catch(e){A4.oR.error("Failed to export skills")}},N=async()=>{l(null),i(null),await x(),await v()},L=()=>{l(null),i(null)},D=e.filter(e=>e.name.toLowerCase().includes(n.toLowerCase())||e.description.toLowerCase().includes(n.toLowerCase())),T=D.filter(e=>e.isBuiltIn),M=D.filter(e=>!e.isBuiltIn);return t?(0,d.jsx)("div",{className:"flex items-center justify-center h-screen",children:(0,d.jsxs)("div",{className:"text-center",children:[(0,d.jsx)("div",{className:"animate-spin rounded-full h-12 w-12 border-b-2 border-primary mx-auto"}),(0,d.jsx)("p",{className:"mt-4",children:"Loading skills..."})]})}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"h-full flex flex-col",children:[(0,d.jsx)("div",{className:"pt-4 px-4 pb-3 sm:pt-6 sm:px-6 sm:pb-3 shrink-0",children:(0,d.jsxs)("div",{className:"mx-auto max-w-7xl flex flex-col gap-3",children:[(0,d.jsxs)("div",{className:"flex flex-col sm:flex-row gap-3",children:[(0,d.jsxs)("div",{className:"relative flex-1",children:[(0,d.jsx)(li.A,{className:"absolute left-3 top-1/2 transform -translate-y-1/2 h-4 w-4 text-muted-foreground"}),(0,d.jsx)(F.p,{placeholder:"Search skills...",value:n,onChange:e=>a(e.target.value),className:"pl-9"})]}),(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsxs)(Q.$,{variant:"outline",size:"sm",onClick:H,children:[(0,d.jsx)(ld,{className:"w-4 h-4 mr-2"}),"Import"]}),(0,d.jsxs)(Q.$,{variant:"outline",size:"sm",onClick:S,children:[(0,d.jsx)(V,{className:"w-4 h-4 mr-2"}),"Export"]}),(0,d.jsxs)(Q.$,{onClick:U,size:"sm",children:[(0,d.jsx)(lu,{className:"w-4 h-4 mr-2"}),"New"]})]})]}),(0,d.jsxs)("div",{className:"flex items-center justify-between p-3 bg-muted/50 rounded-lg",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)(cR,{className:"w-4 h-4"}),(0,d.jsx)(lh.J,{htmlFor:"global-toggle",className:"text-sm font-medium cursor-pointer",children:"Enable Skills System"})]}),(0,d.jsx)(lN,{id:"global-toggle",checked:f,onCheckedChange:b})]})]})}),(0,d.jsx)("div",{className:"flex-1 px-4 pt-3 pb-4 sm:px-6 sm:pt-3 sm:pb-6 overflow-auto",children:(0,d.jsx)("div",{className:"mx-auto max-w-7xl",children:0===D.length?(0,d.jsxs)("div",{className:"text-center py-12",children:[(0,d.jsx)(ls.A,{className:"w-12 h-12 mx-auto mb-4 text-muted-foreground"}),(0,d.jsx)("h3",{className:"text-lg font-semibold mb-2",children:"No skills found"}),(0,d.jsx)("p",{className:"text-muted-foreground mb-4",children:n?"Try a different search query":"Create your first custom skill"}),!n&&(0,d.jsxs)(Q.$,{onClick:U,children:[(0,d.jsx)(lu,{className:"w-4 h-4 mr-2"}),"Create Skill"]})]}):(0,d.jsxs)("div",{className:"space-y-6",children:[T.length>0&&(0,d.jsxs)("div",{children:[(0,d.jsxs)("h2",{className:"text-lg font-semibold mb-3 flex items-center gap-2",children:[(0,d.jsx)(j,{className:"w-5 h-5"}),"Built-in Skills (",T.length,")"]}),(0,d.jsx)("div",{className:"grid gap-3",children:T.map(e=>(0,d.jsx)(cW,{skill:e,isEnabled:B.has(e.id),globalEnabled:f,onToggle:C,onEdit:k,onDelete:E},e.id))})]}),M.length>0&&(0,d.jsxs)("div",{children:[(0,d.jsxs)("h2",{className:"text-lg font-semibold mb-3 flex items-center gap-2",children:[(0,d.jsx)(ls.A,{className:"w-5 h-5"}),"Custom Skills (",M.length,")"]}),(0,d.jsx)("div",{className:"grid gap-3",children:M.map(e=>(0,d.jsx)(cW,{skill:e,isEnabled:B.has(e.id),globalEnabled:f,onToggle:C,onEdit:k,onDelete:E},e.id))})]})]})})})]}),(0,d.jsx)(oZ,{open:!!o,onOpenChange:e=>!e&&L(),children:(0,d.jsx)(o2,{className:"max-w-[90vw] sm:max-w-[85vw] lg:max-w-[75vw] xl:max-w-[1200px] h-[90vh] p-0 overflow-hidden",children:o&&(0,d.jsx)(cz,{skill:s,mode:o,onSave:N,onCancel:L})})}),(0,d.jsx)(oZ,{open:c,onOpenChange:u,children:(0,d.jsxs)(o2,{children:[(0,d.jsxs)(o4,{children:[(0,d.jsx)(o5,{children:"Delete Skill"}),(0,d.jsxs)(o6,{children:['Are you sure you want to delete "',h?.name,'"? This action cannot be undone.']})]}),(0,d.jsxs)(o3,{children:[(0,d.jsx)(Q.$,{variant:"outline",onClick:()=>u(!1),children:"Cancel"}),(0,d.jsx)(Q.$,{variant:"destructive",onClick:I,children:"Delete"})]})]})})]})}function cW({skill:e,isEnabled:A,globalEnabled:t,onToggle:r,onEdit:n,onDelete:a}){let[s,i]=(0,p.useState)(!1),o=t&&A;return(0,d.jsx)(l1,{open:s,onOpenChange:i,children:(0,d.jsxs)("div",{className:`border rounded-lg transition-colors ${o?"border-primary/30 bg-primary/5":"border-border"}`,children:[(0,d.jsx)("div",{className:"p-4",children:(0,d.jsxs)("div",{className:"flex items-start justify-between gap-4",children:[(0,d.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 mb-2",children:[(0,d.jsxs)(l2,{className:"flex items-center gap-2 hover:text-primary transition-colors",children:[s?(0,d.jsx)(lT.A,{className:"w-4 h-4 shrink-0"}):(0,d.jsx)(A9,{className:"w-4 h-4 shrink-0"}),(0,d.jsx)("h3",{className:"font-semibold truncate",children:e.name})]}),e.isBuiltIn&&(0,d.jsx)(o9.E,{variant:"secondary",className:"text-xs",children:"Built-in"}),!o&&(0,d.jsx)(o9.E,{variant:"outline",className:"text-xs text-muted-foreground",children:"Disabled"})]}),(0,d.jsx)("p",{className:"text-sm text-muted-foreground line-clamp-2",children:e.description})]}),(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)(lN,{checked:A,onCheckedChange:A=>r(e.id,A),disabled:!t}),!e.isBuiltIn&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(Q.$,{variant:"ghost",size:"sm",onClick:()=>n(e),children:(0,d.jsx)(cP,{className:"w-4 h-4"})}),(0,d.jsx)(Q.$,{variant:"ghost",size:"sm",onClick:()=>a(e),children:(0,d.jsx)(G,{className:"w-4 h-4"})})]})]})]})}),(0,d.jsx)(l4,{children:(0,d.jsx)("div",{className:"border-t px-4 py-3 bg-muted/30",children:(0,d.jsxs)("div",{className:"text-sm space-y-2",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 text-muted-foreground",children:[(0,d.jsx)("span",{className:"font-medium",children:"Updated:"}),(0,d.jsx)("span",{children:e.updatedAt.toLocaleDateString()})]}),(0,d.jsxs)("div",{children:[(0,d.jsx)("span",{className:"font-medium text-muted-foreground",children:"Description:"}),(0,d.jsx)("p",{className:"mt-1",children:e.description})]}),(0,d.jsxs)("div",{children:[(0,d.jsx)("span",{className:"font-medium text-muted-foreground",children:"Content:"}),(0,d.jsx)("pre",{className:"mt-1 text-xs bg-background p-3 rounded border overflow-auto max-h-96 whitespace-pre-wrap",children:e.markdown})]})]})})})]})})}function cJ({onProjectSelect:e}){let A=(0,f.useRouter)(),[t,r]=(0,p.useState)([]),[n,a]=(0,p.useState)(!0),[s,i]=(0,p.useState)(""),[o,l]=(0,p.useState)(!1),[c,u]=(0,p.useState)(""),[h,g]=(0,p.useState)(""),[B,w]=(0,p.useState)("blank"),[x,v]=(0,p.useState)([]),[b,k]=(0,p.useState)("updated"),[E,j]=(0,p.useState)("list"),[I,H]=(0,p.useState)(null),[S,N]=(0,p.useState)(!1),[L,T]=(0,p.useState)(null),[M,K]=(0,p.useState)("projects"),{state:R,setProjectList:P,start:O,setTourDemoProjectId:V}=l7(),G=R.currentStep?.id,z="running"===R.status,[q,W]=(0,p.useState)(!1),[J,X]=(0,p.useState)(null),_=(0,p.useRef)(!1),Y=(0,p.useRef)(!1),$=(0,p.useCallback)(async()=>{try{let e=await C.listCustomTemplates();v(e)}catch(e){y.v.error("Failed to load custom templates:",e)}},[]);(0,p.useCallback)(async()=>{if(!_.current){_.current=!0,a(!0);try{await m.vfs.init();let e=(await m.vfs.listProjects()).sort((e,A)=>A.updatedAt.getTime()-e.updatedAt.getTime());r(e),P(e),await $()}catch(e){y.v.error("Failed to load projects:",e),A4.oR.error("Failed to load projects")}finally{a(!1),W(!0),_.current=!1}}},[P,$]);let Z=(0,p.useCallback)(async()=>{try{await m.vfs.init();let e=(await m.vfs.listProjects()).sort((e,A)=>A.updatedAt.getTime()-e.updatedAt.getTime());r(e),P(e)}catch(e){y.v.error("Failed to reload projects:",e),A4.oR.error("Failed to reload projects")}},[P]),ee=async()=>{if(!Y.current){Y.current=!0;try{let A=await m.vfs.createProject("Multi-File Demo","Interactive examples showing how HTML, CSS, and JavaScript files work together");return await lB(m.vfs,A.id,lg,lg.assets),A4.oR.success("Demo project created successfully"),await Z(),e(A),A}catch(e){throw y.v.error("Failed to create demo project:",e),A4.oR.error("Failed to create demo project"),Y.current=!1,e}}},eA=async()=>{try{let e=await m.vfs.createProject("Example Studios (Tour)","Demo project for guided tour");await lB(m.vfs,e.id,lg,lg.assets),V(e.id),await Z(),O(),y.v.info("[Tour] Created tour demo project:",e.id)}catch(e){y.v.error("Failed to prepare for tour:",e),A4.oR.error("Failed to start tour - could not create demo project")}},et=async()=>{if(!c.trim())return void A4.oR.error("Please enter a project name");if(c.length>50)return void A4.oR.error("Project name must be 50 characters or less");if(h.length>200)return void A4.oR.error("Description must be 200 characters or less");try{let A=await m.vfs.createProject(c.trim().slice(0,50),h.trim().slice(0,200)||void 0);if(B.startsWith("custom:")){let e=B.replace("custom:",""),t=x.find(A=>A.id===e);t&&await lB(m.vfs,A.id,{name:t.name,description:t.description,files:t.files.map(e=>({path:e.path,content:"string"==typeof e.content?e.content:new TextDecoder().decode(e.content)})),directories:t.directories,assets:t.assets})}else"demo"===B?await lB(m.vfs,A.id,lg,lg.assets):await lB(m.vfs,A.id,lf);A4.oR.success("Project created successfully"),l(!1),u(""),g(""),w("blank"),await Z(),e(A)}catch(e){y.v.error("Failed to create project:",e),A4.oR.error("Failed to create project")}},er=async e=>{if(confirm(`Are you sure you want to delete "${e.name}"? This cannot be undone.`))try{await m.vfs.deleteProject(e.id),A4.oR.success("Project deleted"),await Z()}catch(e){y.v.error("Failed to delete project:",e),A4.oR.error("Failed to delete project")}},en=async A=>{try{let t=await m.vfs.duplicateProject(A.id);A4.oR.success("Project duplicated successfully"),await Z(),e(t)}catch(e){y.v.error("Failed to duplicate project:",e),A4.oR.error("Failed to duplicate project")}},ea=async e=>{try{let A=await m.vfs.exportProject(e.id),t=JSON.stringify(A,null,2),r=new Blob([t],{type:"application/json"}),n=URL.createObjectURL(r),a=document.createElement("a");a.href=n,a.download=`${e.name.replace(/\s+/g,"-")}-export.json`,document.body.appendChild(a),a.click(),document.body.removeChild(a),URL.revokeObjectURL(n),A4.oR.success("Project exported")}catch(e){y.v.error("Failed to export project:",e),A4.oR.error("Failed to export project")}},es=async e=>{try{let A=await m.vfs.exportProjectAsZip(e.id),t=URL.createObjectURL(A),r=document.createElement("a");r.href=t,r.download=`${e.name.replace(/\s+/g,"-")}.zip`,document.body.appendChild(r),r.click(),document.body.removeChild(r),URL.revokeObjectURL(t),A4.oR.success("Project exported as ZIP")}catch(e){y.v.error("Failed to export project as ZIP:",e),A4.oR.error("Failed to export project as ZIP")}},ei=async()=>{let A=document.createElement("input");A.type="file",A.accept=".json",A.onchange=async A=>{let t=A.target.files?.[0];if(t)try{let A=await t.text(),r=JSON.parse(A);if(!r.project||!r.files)throw Error("Invalid project file");let n=await m.vfs.importProject(r);A4.oR.success("Project imported successfully"),await Z(),e(n)}catch(e){y.v.error("Failed to import project:",e),A4.oR.error("Failed to import project")}},A.click()},eo=((e,A)=>{let t=[...e];switch(A){case"updated":return t.sort((e,A)=>A.updatedAt.getTime()-e.updatedAt.getTime());case"created":return t.sort((e,A)=>A.createdAt.getTime()-e.createdAt.getTime());case"name":return t.sort((e,A)=>e.name.localeCompare(A.name));case"size":return t.sort((e,A)=>A.updatedAt.getTime()-e.updatedAt.getTime());default:return t}})(t.filter(e=>e.name.toLowerCase().includes(s.toLowerCase())||e.description?.toLowerCase().includes(s.toLowerCase())),b);if(n&&!q)return(0,d.jsx)("div",{className:"flex items-center justify-center h-screen",children:(0,d.jsxs)("div",{className:"text-center",children:[(0,d.jsx)("div",{className:"animate-spin rounded-full h-12 w-12 border-b-2 border-primary mx-auto"}),(0,d.jsx)("p",{className:"mt-4",children:"Loading projects..."})]})});let el=(0,d.jsxs)(lx.AM,{children:[(0,d.jsx)(lx.Wv,{asChild:!0,children:(0,d.jsx)(Q.$,{variant:"outline",size:"icon",className:"h-8 w-8",children:(0,d.jsx)(lt,{className:"h-4 w-4"})})}),(0,d.jsx)(lx.hl,{className:"w-96",align:"end",children:(0,d.jsx)(l3,{})})]}),ec=(0,d.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,d.jsxs)(lx.AM,{children:[(0,d.jsx)(lx.Wv,{asChild:!0,children:(0,d.jsxs)(Q.$,{variant:"outline",size:"sm",className:"w-full justify-start",children:[(0,d.jsx)(lt,{className:"mr-2 h-4 w-4"}),"Settings"]})}),(0,d.jsx)(lx.hl,{className:"w-[calc(100vw-2rem)]",align:"start",children:(0,d.jsx)(l3,{})})]}),(0,d.jsx)("div",{className:"border-t my-2"}),(0,d.jsxs)(Q.$,{variant:"outline",size:"sm",onClick:eA,disabled:z,className:"w-full justify-start","data-tour-id":"footer-guided-tour",children:[(0,d.jsx)(lr,{className:"mr-2 h-4 w-4"}),"Guided Tour"]}),(0,d.jsxs)(Q.$,{variant:"outline",size:"sm",onClick:()=>A.push("/test-generation"),className:"w-full justify-start",children:[(0,d.jsx)(ln,{className:"mr-2 h-4 w-4"}),"Model Tester"]}),(0,d.jsxs)(Q.$,{variant:"outline",size:"sm",onClick:()=>N(!0),className:"w-full justify-start",children:[(0,d.jsx)(lr,{className:"mr-2 h-4 w-4"}),"About OSW Studio"]}),(0,d.jsx)(Q.$,{variant:"outline",size:"sm",asChild:!0,className:"w-full justify-start",children:(0,d.jsxs)("a",{href:"https://github.com/o-stahl/osw-studio",target:"_blank",rel:"noopener noreferrer",children:[(0,d.jsx)(o7,{className:"mr-2 h-4 w-4"}),"GitHub"]})})]}),eu=async A=>{await Z();let t=await m.vfs.getProject(A);t&&(K("projects"),e(t))};return(0,d.jsxs)("div",{className:"flex flex-col h-[100dvh]",style:{background:"linear-gradient(var(--project-background-tint), var(--project-background-tint)), var(--background)"},children:[(0,d.jsx)(lp.j,{onLogoClick:()=>N(!0),actions:[],mobileMenuContent:ec,desktopOnlyContent:el,leftText:"Open Source Web Studio",viewTabs:[{id:"projects",label:"Projects",icon:D},{id:"templates",label:"Templates",icon:la},{id:"skills",label:"Skills",icon:ls.A}],activeViewTab:M,onViewTabChange:e=>K(e)}),(0,d.jsx)("main",{className:"flex-1 min-h-0 overflow-auto",children:"templates"===M?(0,d.jsx)(cM,{onProjectCreated:eu}):"skills"===M?(0,d.jsx)(cq,{}):(0,d.jsxs)("div",{className:"h-full flex flex-col",children:[(0,d.jsx)("div",{className:"pt-4 px-4 pb-3 sm:pt-6 sm:px-6 sm:pb-3 shrink-0",children:(0,d.jsxs)("div",{className:"mx-auto max-w-7xl flex flex-col sm:flex-row gap-3","data-tour-id":"projects-actions",children:[(0,d.jsxs)("div",{className:"relative flex-1",children:[(0,d.jsx)(li.A,{className:"absolute left-3 top-1/2 transform -translate-y-1/2 h-4 w-4 text-muted-foreground"}),(0,d.jsx)(F.p,{placeholder:"Search projects...",value:s,onChange:e=>i(e.target.value),className:"pl-9"})]}),(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsxs)(lx.AM,{children:[(0,d.jsx)(lx.Wv,{asChild:!0,children:(0,d.jsxs)(Q.$,{variant:"outline",size:"sm",className:"gap-2",children:[(0,d.jsx)(lo,{className:"h-4 w-4"}),(0,d.jsx)("span",{className:"hidden sm:inline",children:"Sort"})]})}),(0,d.jsx)(lx.hl,{className:"w-48",align:"end",children:(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)("h4",{className:"font-semibold text-sm",children:"Sort by"}),(0,d.jsxs)(tn.l6,{value:b,onValueChange:e=>k(e),children:[(0,d.jsx)(tn.bq,{children:(0,d.jsx)(tn.yv,{})}),(0,d.jsxs)(tn.gC,{children:[(0,d.jsx)(tn.eb,{value:"updated",children:"Last Updated"}),(0,d.jsx)(tn.eb,{value:"created",children:"Date Created"}),(0,d.jsx)(tn.eb,{value:"name",children:"Name"})]})]})]})})]}),(0,d.jsxs)("div",{className:"flex border rounded-full",children:[(0,d.jsx)(Q.$,{variant:"grid"===E?"secondary":"ghost",size:"sm",onClick:()=>j("grid"),className:"rounded-r-none rounded-l-full",children:(0,d.jsx)(ll,{className:"h-4 w-4"})}),(0,d.jsx)(Q.$,{variant:"list"===E?"secondary":"ghost",size:"sm",onClick:()=>j("list"),className:"rounded-l-none rounded-r-full",children:(0,d.jsx)(lc,{className:"h-4 w-4"})})]}),(0,d.jsxs)(Q.$,{onClick:()=>l(!0),size:"sm",className:"gap-2","data-tour-id":"new-project-button",children:[(0,d.jsx)(lu,{className:"h-4 w-4"}),(0,d.jsx)("span",{children:"New"})]}),(0,d.jsxs)(Q.$,{onClick:ei,variant:"outline",size:"sm",className:"gap-2",children:[(0,d.jsx)(ld,{className:"h-4 w-4"}),(0,d.jsx)("span",{children:"Import"})]})]})]})}),(0,d.jsx)("div",{className:"flex-1 px-4 pt-3 pb-4 sm:px-6 sm:pt-3 sm:pb-6",children:(0,d.jsx)("div",{className:"mx-auto max-w-7xl",children:0===eo.length?(0,d.jsxs)("div",{className:"text-center py-12",children:[(0,d.jsx)(D,{className:"h-12 w-12 text-muted-foreground mx-auto mb-4"}),(0,d.jsx)("h2",{className:"text-xl font-semibold mb-2",children:s?"No projects found":"No projects yet"}),(0,d.jsx)("p",{className:"text-muted-foreground mb-6",children:s?"Try a different search term":"Create your first project to get started"}),!s&&(0,d.jsxs)("div",{className:"flex gap-3 justify-center",children:[(0,d.jsxs)(Q.$,{onClick:()=>l(!0),children:[(0,d.jsx)(lu,{className:"mr-2 h-4 w-4"}),"Create Project"]}),(0,d.jsxs)(Q.$,{variant:"outline",onClick:ee,children:[(0,d.jsx)(D,{className:"mr-2 h-4 w-4"}),"Create Demo Project"]})]})]}):(0,d.jsx)("div",{className:"grid"===E?"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-4":"space-y-3","data-tour-id":"projects-list",children:eo.map(A=>"object"==typeof A&&A.id&&A.name?(0,d.jsx)(A3,{project:A,onSelect:e,onDelete:er,onExport:ea,onExportZip:es,onDuplicate:en,onPreview:H,onExportAsTemplate:T,onUpdate:e=>{r(t.map(A=>A.id===e.id?e:A))},viewMode:E,forceMenuOpen:J===A.id,highlightExport:z&&"project-controls"===G&&J===A.id},A.id):(y.v.error("Invalid project object:",A),null))})})})]})}),(0,d.jsx)("footer",{className:"hidden md:block border-t bg-card/50 py-3 px-6",children:(0,d.jsxs)("div",{className:"flex justify-center gap-2",children:[(0,d.jsxs)(Q.$,{variant:"outline",size:"sm",onClick:eA,disabled:z,"data-tour-id":"footer-guided-tour",children:[(0,d.jsx)(lr,{className:"mr-2 h-4 w-4"}),"Guided Tour"]}),(0,d.jsxs)(Q.$,{variant:"outline",size:"sm",onClick:()=>A.push("/test-generation"),children:[(0,d.jsx)(ln,{className:"mr-2 h-4 w-4"}),"Model Tester"]}),(0,d.jsxs)(Q.$,{variant:"outline",size:"sm",onClick:()=>N(!0),children:[(0,d.jsx)(lr,{className:"mr-2 h-4 w-4"}),"About OSW Studio"]}),(0,d.jsx)(Q.$,{variant:"outline",size:"sm",asChild:!0,children:(0,d.jsxs)("a",{href:"https://github.com/o-stahl/osw-studio",target:"_blank",rel:"noopener noreferrer",children:[(0,d.jsx)(o7,{className:"mr-2 h-4 w-4"}),"GitHub"]})})]})}),(0,d.jsx)(oZ,{open:o,onOpenChange:l,children:(0,d.jsxs)(o2,{children:[(0,d.jsxs)(o4,{children:[(0,d.jsx)(o5,{children:"Create New Project"}),(0,d.jsx)(o6,{children:"Start a new multipage website project"})]}),(0,d.jsxs)("div",{className:"space-y-4",children:[(0,d.jsxs)("div",{children:[(0,d.jsxs)("div",{className:"flex justify-between items-center",children:[(0,d.jsx)(lh.J,{htmlFor:"name",children:"Project Name"}),(0,d.jsxs)("span",{className:"text-xs text-muted-foreground",children:[c.length,"/50"]})]}),(0,d.jsx)(F.p,{id:"name",value:c,onChange:e=>u(e.target.value.slice(0,50)),placeholder:"My Awesome Website",className:"mt-2",maxLength:50})]}),(0,d.jsxs)("div",{children:[(0,d.jsx)(lh.J,{htmlFor:"template",children:"Template"}),(0,d.jsxs)(tn.l6,{value:B,onValueChange:w,children:[(0,d.jsx)(tn.bq,{id:"template",className:"mt-2 w-full",children:(0,d.jsx)("div",{className:"truncate flex-1 text-left",children:(e=>{if(e.startsWith("custom:")){let A=e.replace("custom:",""),t=x.find(e=>e.id===A);return t?.name||"Custom Template"}let A=lw.find(A=>A.id===e);return A?.name||"Select a template"})(B)})}),(0,d.jsxs)(tn.gC,{children:[(0,d.jsxs)(tn.s3,{children:[(0,d.jsx)(tn.TR,{children:"Built-in Templates"}),lw.map(e=>(0,d.jsx)(tn.eb,{value:e.id,children:(0,d.jsxs)("div",{className:"flex flex-col gap-0.5",children:[(0,d.jsx)("div",{className:"font-medium",children:e.name}),(0,d.jsx)("div",{className:"text-xs text-muted-foreground",children:e.description})]})},e.id))]}),x.length>0&&(0,d.jsxs)(tn.s3,{children:[(0,d.jsx)(tn.TR,{children:"Custom Templates"}),x.map(e=>(0,d.jsx)(tn.eb,{value:`custom:${e.id}`,children:(0,d.jsxs)("div",{className:"flex flex-col gap-0.5",children:[(0,d.jsx)("div",{className:"font-medium",children:e.name}),(0,d.jsx)("div",{className:"text-xs text-muted-foreground",children:e.description})]})},e.id))]})]})]})]}),(0,d.jsxs)("div",{children:[(0,d.jsxs)("div",{className:"flex justify-between items-center",children:[(0,d.jsx)(lh.J,{htmlFor:"description",children:"Description (optional)"}),(0,d.jsxs)("span",{className:"text-xs text-muted-foreground",children:[h.length,"/200"]})]}),(0,d.jsx)(U,{id:"description",value:h,onChange:e=>g(e.target.value.slice(0,200)),placeholder:"A brief description of your project",className:"mt-2 resize-none",rows:3,maxLength:200})]})]}),(0,d.jsxs)(o3,{children:[(0,d.jsx)(Q.$,{variant:"outline",onClick:()=>l(!1),children:"Cancel"}),(0,d.jsx)(Q.$,{onClick:et,children:"Create Project"})]})]})}),I&&(0,d.jsx)(oZ,{open:!!I,onOpenChange:()=>H(null),children:(0,d.jsxs)(o2,{className:"max-w-[90vw] sm:max-w-[85vw] lg:max-w-[80vw] 2xl:max-w-[1400px] max-h-[90vh] w-full h-full p-0 flex flex-col",children:[(0,d.jsx)(o4,{className:"p-4 border-b",children:(0,d.jsxs)(o5,{children:["Preview: ",I.name]})}),(0,d.jsx)("div",{className:"flex-1 overflow-hidden",children:(0,d.jsx)(ow,{projectId:I.id})})]})}),(0,d.jsx)(cr,{project:L,open:!!L,onOpenChange:e=>{e||T(null)}}),(0,d.jsx)(lA,{open:S,onOpenChange:N}),(0,d.jsx)(cA,{location:"project-manager"})]})}let cX=(0,k.A)("folder",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]),c_=(0,k.A)("video",[["path",{d:"m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5",key:"ftymec"}],["rect",{x:"2",y:"6",width:"14",height:"12",rx:"2",key:"158x01"}]]),cY=(0,k.A)("file",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}]]),c$=(0,k.A)("folder-tree",[["path",{d:"M20 10a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-2.5a1 1 0 0 1-.8-.4l-.9-1.2A1 1 0 0 0 15 3h-2a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z",key:"hod4my"}],["path",{d:"M20 21a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1h-2.9a1 1 0 0 1-.88-.55l-.42-.85a1 1 0 0 0-.92-.6H13a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z",key:"w4yl2u"}],["path",{d:"M3 5a2 2 0 0 0 2 2h3",key:"f2jnh7"}],["path",{d:"M3 3v13a2 2 0 0 0 2 2h3",key:"k8epm1"}]]);var cZ=t(2597),c0="ContextMenu",[c1,c2]=(0,eo.A)(c0,[e_]),c4=e_(),[c3,c5]=c1(c0),c6=e=>{let{__scopeContextMenu:A,children:t,onOpenChange:r,dir:n,modal:a=!0}=e,[s,i]=p.useState(!1),o=c4(A),l=(0,ex.c)(r),c=p.useCallback(e=>{i(e),l(e)},[l]);return(0,d.jsx)(c3,{scope:A,open:s,onOpenChange:c,modal:a,children:(0,d.jsx)(e4,{...o,dir:n,open:s,onOpenChange:c,modal:a,children:t})})};c6.displayName=c0;var c8="ContextMenuTrigger",c9=p.forwardRef((e,A)=>{let{__scopeContextMenu:t,disabled:r=!1,...n}=e,a=c5(c8,t),s=c4(t),i=p.useRef({x:0,y:0}),o=p.useRef({getBoundingClientRect:()=>DOMRect.fromRect({width:0,height:0,...i.current})}),l=p.useRef(0),c=p.useCallback(()=>window.clearTimeout(l.current),[]),u=e=>{i.current={x:e.clientX,y:e.clientY},a.onOpenChange(!0)};return p.useEffect(()=>c,[c]),p.useEffect(()=>void(r&&c()),[r,c]),(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(e3,{...s,virtualRef:o}),(0,d.jsx)(ec.sG.span,{"data-state":a.open?"open":"closed","data-disabled":r?"":void 0,...n,ref:A,style:{WebkitTouchCallout:"none",...e.style},onContextMenu:r?e.onContextMenu:(0,es.mK)(e.onContextMenu,e=>{c(),u(e),e.preventDefault()}),onPointerDown:r?e.onPointerDown:(0,es.mK)(e.onPointerDown,uu(e=>{c(),l.current=window.setTimeout(()=>u(e),700)})),onPointerMove:r?e.onPointerMove:(0,es.mK)(e.onPointerMove,uu(c)),onPointerCancel:r?e.onPointerCancel:(0,es.mK)(e.onPointerCancel,uu(c)),onPointerUp:r?e.onPointerUp:(0,es.mK)(e.onPointerUp,uu(c))})]})});c9.displayName=c8;var c7=e=>{let{__scopeContextMenu:A,...t}=e,r=c4(A);return(0,d.jsx)(e9,{...r,...t})};c7.displayName="ContextMenuPortal";var ue="ContextMenuContent",uA=p.forwardRef((e,A)=>{let{__scopeContextMenu:t,...r}=e,n=c5(ue,t),a=c4(t),s=p.useRef(!1);return(0,d.jsx)(At,{...a,...r,ref:A,side:"right",sideOffset:2,align:"start",onCloseAutoFocus:A=>{e.onCloseAutoFocus?.(A),!A.defaultPrevented&&s.current&&A.preventDefault(),s.current=!1},onInteractOutside:A=>{e.onInteractOutside?.(A),A.defaultPrevented||n.modal||(s.current=!0)},style:{...e.style,"--radix-context-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-context-menu-content-available-width":"var(--radix-popper-available-width)","--radix-context-menu-content-available-height":"var(--radix-popper-available-height)","--radix-context-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-context-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});uA.displayName=ue,p.forwardRef((e,A)=>{let{__scopeContextMenu:t,...r}=e,n=c4(t);return(0,d.jsx)(Ai,{...n,...r,ref:A})}).displayName="ContextMenuGroup";var ut=p.forwardRef((e,A)=>{let{__scopeContextMenu:t,...r}=e,n=c4(t);return(0,d.jsx)(Ao,{...n,...r,ref:A})});ut.displayName="ContextMenuLabel";var ur=p.forwardRef((e,A)=>{let{__scopeContextMenu:t,...r}=e,n=c4(t);return(0,d.jsx)(Au,{...n,...r,ref:A})});ur.displayName="ContextMenuItem";var un=p.forwardRef((e,A)=>{let{__scopeContextMenu:t,...r}=e,n=c4(t);return(0,d.jsx)(Ap,{...n,...r,ref:A})});un.displayName="ContextMenuCheckboxItem",p.forwardRef((e,A)=>{let{__scopeContextMenu:t,...r}=e,n=c4(t);return(0,d.jsx)(Am,{...n,...r,ref:A})}).displayName="ContextMenuRadioGroup";var ua=p.forwardRef((e,A)=>{let{__scopeContextMenu:t,...r}=e,n=c4(t);return(0,d.jsx)(Aw,{...n,...r,ref:A})});ua.displayName="ContextMenuRadioItem";var us=p.forwardRef((e,A)=>{let{__scopeContextMenu:t,...r}=e,n=c4(t);return(0,d.jsx)(Ab,{...n,...r,ref:A})});us.displayName="ContextMenuItemIndicator";var ui=p.forwardRef((e,A)=>{let{__scopeContextMenu:t,...r}=e,n=c4(t);return(0,d.jsx)(AC,{...n,...r,ref:A})});ui.displayName="ContextMenuSeparator",p.forwardRef((e,A)=>{let{__scopeContextMenu:t,...r}=e,n=c4(t);return(0,d.jsx)(AQ,{...n,...r,ref:A})}).displayName="ContextMenuArrow";var uo="ContextMenuSub",ul=p.forwardRef((e,A)=>{let{__scopeContextMenu:t,...r}=e,n=c4(t);return(0,d.jsx)(AI,{...n,...r,ref:A})});ul.displayName="ContextMenuSubTrigger";var uc=p.forwardRef((e,A)=>{let{__scopeContextMenu:t,...r}=e,n=c4(t);return(0,d.jsx)(AS,{...n,...r,ref:A,style:{...e.style,"--radix-context-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-context-menu-content-available-width":"var(--radix-popper-available-width)","--radix-context-menu-content-available-height":"var(--radix-popper-available-height)","--radix-context-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-context-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});function uu(e){return A=>"mouse"!==A.pointerType?e(A):void 0}uc.displayName="ContextMenuSubContent";let ud=(0,k.A)("circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);p.forwardRef(({className:e,inset:A,children:t,...r},n)=>(0,d.jsxs)(ul,{ref:n,className:(0,y.cn)("flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground",A&&"pl-8",e),...r,children:[t,(0,d.jsx)(A9,{className:"ml-auto h-4 w-4"})]})).displayName=ul.displayName,p.forwardRef(({className:e,...A},t)=>(0,d.jsx)(uc,{ref:t,className:(0,y.cn)("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...A})).displayName=uc.displayName;let up=p.forwardRef(({className:e,...A},t)=>(0,d.jsx)(c7,{children:(0,d.jsx)(uA,{ref:t,className:(0,y.cn)("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...A})}));up.displayName=uA.displayName;let uh=p.forwardRef(({className:e,inset:A,...t},r)=>(0,d.jsx)(ur,{ref:r,className:(0,y.cn)("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",A&&"pl-8",e),...t}));function ug({projectId:e,onFileSelect:A,selectedPath:r,onClose:n}){let[a,s]=(0,p.useState)([]),[i,o]=(0,p.useState)([]),[l,c]=(0,p.useState)(new Set(["/"])),[u,h]=(0,p.useState)(null),[g,f]=(0,p.useState)(""),[B,w]=(0,p.useState)(!1),[x,v]=(0,p.useState)(null),[b,C]=(0,p.useState)(null),[U,k]=(0,p.useState)(!1),E=(0,p.useRef)(null),j=(0,p.useCallback)(async()=>{try{await m.vfs.init();let A=await m.vfs.getAllFilesAndDirectories(e);if(U){let r=(await m.vfs.listDirectory(e,"/",{includeTransient:!0})).filter(e=>e.path.startsWith("/.")),{skillsService:n}=await Promise.resolve().then(t.bind(t,8608)),a=await n.getEnabledSkills(),s=new Set(a.map(e=>`/.skills/${e.id}.md`)),i=r.filter(e=>!e.path.startsWith("/.skills/")||s.has(e.path));A.push(...i)}let r=A.filter(e=>"directory"!==e.type);s(r),o(H(A,U))}catch(e){y.v.error("Failed to load files:",e)}},[e,U]),H=(e,A)=>{let t=A?e:e.filter(e=>!e.path.startsWith("/.")),r=[],n=new Map;t.forEach(e=>{if("directory"===e.type){let A=e.path.split("/").filter(Boolean),t={path:e.path,name:e.name||A[A.length-1]||"unnamed",type:"directory",children:[]};n.set(e.path,t)}}),t.forEach(e=>{if("directory"!==e.type){let A=e.path.split("/").filter(Boolean),t="";for(let e=0;e{let t=A.split("/").filter(Boolean);if(1===t.length)r.push(e);else{let A="/"+t.slice(0,-1).join("/"),r=n.get(A);r&&r.children&&r.children.push(e)}}),e.forEach(e=>{if("directory"!==e.type){let A=e.path.split("/").filter(Boolean),t={path:e.path,name:e.name,type:"file"};if(1===A.length)r.push(t);else{let e="/"+A.slice(0,-1).join("/"),r=n.get(e);r&&r.children?.push(t)}}});let a=e=>{e.sort((e,A)=>e.type===A.type?e.name.localeCompare(A.name):"directory"===e.type?-1:1),e.forEach(e=>{e.children&&a(e.children)})};return a(r),r},S=e=>{c(A=>{let t=new Set(A);return t.has(e)?t.delete(e):t.add(e),t})},L=async e=>{if("directory"===e.type)S(e.path);else{let t=a.find(A=>A.path===e.path);t&&A&&A(t)}},T=async(A="/")=>{let t=prompt("Enter file name:");if(!t)return;let r="/"===A?`/${t}`:`${A}/${t}`;try{await m.vfs.createFile(e,r,""),await j()}catch(e){y.v.error("Failed to create file:",e)}},M=async(A="/")=>{let t=prompt("Enter directory name:");if(!t)return;let r="/"===A?`/${t}`:`${A}/${t}`;try{await m.vfs.createDirectory(e,r),await j()}catch(e){y.v.error("Failed to create directory:",e)}},K=async(A,t)=>{if(confirm(`Delete ${t} "${A}"?`))try{"file"===t?await m.vfs.deleteFile(e,A):await m.vfs.deleteDirectory(e,A),await j()}catch(e){y.v.error(`Failed to delete ${t}:`,e)}},P=async(A,t)=>{if(!g)return;let r=A.split("/");r[r.length-1]=g;let n=r.join("/");try{"directory"===t?await m.vfs.renameDirectory(e,A,n):await m.vfs.renameFile(e,A,n),await j(),h(null),f("")}catch(e){y.v.error(`Failed to rename ${t}:`,e)}},O=async e=>{for(let A of(e.preventDefault(),e.stopPropagation(),w(!1),Array.from(e.dataTransfer.items)))if("file"===A.kind){let e=A.getAsFile();e&&await V(e,"/")}},V=async(A,t)=>{if(!(0,ct.fu)(A.name))return void A4.oR.error(`File type not supported: ${A.name}`);let r=(0,ct.Gr)(A.name),n=ct.Q6[r];if(A.size>n)return void A4.oR.error(`File too large: ${A.name}. Maximum size is ${Math.round(n/1024/1024)}MB`);let a="/"===t?`/${A.name}`:`${t}/${A.name}`;try{let t;t="image"===r||"video"===r||"binary"===r?await A.arrayBuffer():await A.text(),await m.vfs.createFile(e,a,t),await j(),A4.oR.success(`Uploaded ${A.name}`)}catch(r){if(r.message?.includes("already exists")){if(confirm(`File "${A.name}" already exists. Overwrite?`))try{await m.vfs.deleteFile(e,a),await V(A,t)}catch(e){y.v.error("Failed to overwrite file:",e),A4.oR.error("Failed to overwrite file")}}else y.v.error("Failed to upload file:",r),A4.oR.error(`Failed to upload ${A.name}: ${r.message}`)}},G=(e,A)=>{e.stopPropagation(),v(A),e.dataTransfer.effectAllowed="move"},z=()=>{v(null),C(null)},q=(e,A)=>{e.preventDefault(),e.stopPropagation(),x&&A!==x.path&&(e.dataTransfer.dropEffect="move",C(A))},W=async(A,t)=>{if(A.preventDefault(),A.stopPropagation(),!x||t&&x.path===t.path)return void C(null);let r=t&&"directory"===t.type?t.path:"/";if("directory"===x.type){let e=x.path.endsWith("/")?x.path:x.path+"/";if((r.endsWith("/")?r:r+"/").startsWith(e)){A4.oR.error("Cannot move a folder into itself"),C(null);return}}let n=x.name,a="/"===r?`/${n}`:`${r}/${n}`;try{"directory"===x.type?await m.vfs.moveDirectory(e,x.path,a):await m.vfs.moveFile(e,x.path,a),await j(),A4.oR.success(`Moved ${x.name} to ${"/"===r?"root":r}`)}catch(e){y.v.error("Failed to move item:",e),A4.oR.error(`Failed to move: ${e.message}`)}C(null)},J=(e,A=0)=>{let t=l.has(e.path),n=r===e.path,a=u===e.path,s=b===e.path;return(0,d.jsxs)("div",{draggable:!a,onDragStart:A=>G(A,e),onDragEnd:z,onDragOver:A=>"directory"===e.type&&q(A,e.path),onDrop:A=>"directory"===e.type&&W(A,e),children:[(0,d.jsxs)(c6,{children:[(0,d.jsx)(c9,{children:(0,d.jsxs)("div",{className:(0,y.cn)("flex items-center gap-2 px-2 py-1.5 hover:bg-accent hover:text-accent-foreground cursor-pointer rounded-md transition-colors",n&&"bg-accent text-accent-foreground",s&&"directory"===e.type&&"bg-blue-500/20 border border-blue-500",x?.path===e.path&&"opacity-50","group"),style:{paddingLeft:`${16*A+8}px`},onClick:()=>L(e),children:["directory"===e.type?(0,d.jsxs)(d.Fragment,{children:[t?(0,d.jsx)(lT.A,{className:"w-4 h-4 text-muted-foreground"}):(0,d.jsx)(A9,{className:"w-4 h-4 text-muted-foreground"}),t?(0,d.jsx)(D,{className:"w-4 h-4 text-blue-500"}):(0,d.jsx)(cX,{className:"w-4 h-4 text-blue-500"})]}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("span",{className:"w-4"}),(()=>{let A=(0,ct.Gr)(e.path);return"image"===A?(0,d.jsx)(I,{className:"w-4 h-4 text-green-500"}):"video"===A?(0,d.jsx)(c_,{className:"w-4 h-4 text-purple-500"}):(0,d.jsx)(cY,{className:"w-4 h-4 text-muted-foreground"})})()]}),a?(0,d.jsx)(F.p,{value:g,onChange:e=>f(e.target.value),onBlur:()=>P(e.path,e.type),onKeyDown:A=>{"Enter"===A.key?P(e.path,e.type):"Escape"===A.key&&(h(null),f(""))},className:"h-5 text-sm",autoFocus:!0,onClick:e=>e.stopPropagation()}):(0,d.jsx)("span",{className:"text-sm flex-1",children:e.name})]})}),(0,d.jsxs)(up,{children:["directory"===e.type&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(uh,{onClick:()=>T(e.path),children:[(0,d.jsx)(cY,{className:"mr-2 h-4 w-4"}),"New File"]}),(0,d.jsxs)(uh,{onClick:()=>M(e.path),children:[(0,d.jsx)(cX,{className:"mr-2 h-4 w-4"}),"New Folder"]}),(0,d.jsxs)(uh,{onClick:()=>E.current?.click(),children:[(0,d.jsx)(ld,{className:"mr-2 h-4 w-4"}),"Upload Files"]})]}),(0,d.jsx)(uh,{onClick:()=>{h(e.path),f(e.name)},children:"Rename"}),(0,d.jsx)(uh,{onClick:()=>K(e.path,e.type),className:"text-destructive",children:"Delete"})]})]}),"directory"===e.type&&t&&e.children&&(0,d.jsx)("div",{children:e.children.map(e=>J(e,A+1))})]},e.path)};return(0,d.jsxs)("div",{className:"h-full flex flex-col",onDrop:O,onDragOver:e=>{e.preventDefault(),e.stopPropagation(),w(!0)},onDragLeave:e=>{e.preventDefault(),e.stopPropagation();let A=e.currentTarget.getBoundingClientRect(),t=e.clientX,r=e.clientY;(t=A.right||r=A.bottom)&&w(!1)},children:[(0,d.jsx)("input",{ref:E,type:"file",multiple:!0,className:"hidden",onChange:async e=>{for(let A of Array.from(e.target.files||[]))await V(A,"/");E.current&&(E.current.value="")}}),(0,d.jsxs)("div",{className:"p-3 border-b bg-muted/70 flex items-center justify-between",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)(c$,{className:"h-4 w-4 md:hidden",style:{color:"var(--button-files-active)"}}),n?(0,d.jsxs)("button",{type:"button",onClick:n,"aria-label":"Hide file explorer",className:"relative hidden h-6 w-6 items-center justify-center rounded-sm text-muted-foreground transition-colors hover:text-destructive md:flex group",children:[(0,d.jsx)(c$,{className:"h-4 w-4 transition-opacity group-hover:opacity-0",style:{color:"var(--button-files-active)"}}),(0,d.jsx)(N.A,{className:"absolute h-3 w-3 opacity-0 transition-opacity group-hover:opacity-100"})]}):(0,d.jsx)(c$,{className:"hidden h-4 w-4 md:inline-flex",style:{color:"var(--button-files-active)"}}),(0,d.jsx)("h3",{className:"text-sm font-medium",children:"File Explorer"})]}),(0,d.jsxs)("div",{className:"flex gap-1",children:[(0,d.jsx)(Q.$,{size:"icon",variant:"ghost",className:"h-5 w-5",onClick:()=>E.current?.click(),title:"Upload files",children:(0,d.jsx)(ld,{className:"h-3 w-3"})}),(0,d.jsx)(Q.$,{size:"icon",variant:"ghost",className:"h-5 w-5",onClick:()=>T("/"),title:"New file",children:(0,d.jsx)(cY,{className:"h-3 w-3"})}),(0,d.jsx)(Q.$,{size:"icon",variant:"ghost",className:"h-5 w-5",onClick:()=>M("/"),title:"New folder",children:(0,d.jsx)(cX,{className:"h-3 w-3"})})]})]}),(0,d.jsxs)(c6,{children:[(0,d.jsx)(c9,{asChild:!0,children:(0,d.jsxs)("div",{className:(0,y.cn)("flex-1 overflow-y-auto p-3 space-y-0.5 relative",B&&"bg-blue-500/10"),onDragOver:e=>{x&&(e.preventDefault(),e.stopPropagation(),C("/"))},onDrop:e=>{x&&W(e,null)},children:[B&&(0,d.jsx)("div",{className:"absolute inset-0 flex items-center justify-center pointer-events-none",children:(0,d.jsxs)("div",{className:"bg-blue-500/20 border-2 border-dashed border-blue-500 rounded-lg p-8",children:[(0,d.jsx)(ld,{className:"h-12 w-12 text-blue-500 mx-auto mb-2"}),(0,d.jsx)("p",{className:"text-sm text-blue-600",children:"Drop files here to upload"})]})}),0===i.length?(0,d.jsx)("div",{className:"flex-1 flex items-center justify-center py-8",children:(0,d.jsxs)("div",{className:"text-center space-y-3",children:[(0,d.jsx)(cX,{className:"h-12 w-12 mx-auto opacity-50 text-muted-foreground"}),(0,d.jsxs)("div",{className:"space-y-1",children:[(0,d.jsx)("p",{className:"text-base font-medium text-foreground",children:"No files yet"}),(0,d.jsx)("p",{className:"text-sm text-muted-foreground",children:"Create your first file to get started"})]})]})}):(0,d.jsx)("div",{className:"contents",children:i.map(e=>J(e))})]})}),(0,d.jsxs)(up,{children:[(0,d.jsxs)(uh,{onClick:()=>T("/"),children:[(0,d.jsx)(cY,{className:"mr-2 h-4 w-4"}),"New File"]}),(0,d.jsxs)(uh,{onClick:()=>M("/"),children:[(0,d.jsx)(cX,{className:"mr-2 h-4 w-4"}),"New Folder"]}),(0,d.jsxs)(uh,{onClick:()=>E.current?.click(),children:[(0,d.jsx)(ld,{className:"mr-2 h-4 w-4"}),"Upload Files"]}),(0,d.jsxs)(uh,{onClick:()=>k(!U),children:[U?(0,d.jsx)(cZ.A,{className:"mr-2 h-4 w-4"}):(0,d.jsx)(R.A,{className:"mr-2 h-4 w-4"}),U?"Hide Hidden Files":"Show Hidden Files"]})]})]})]})}function uf(e,A){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);A&&(r=r.filter(function(A){return Object.getOwnPropertyDescriptor(e,A).enumerable})),t.push.apply(t,r)}return t}uh.displayName=ur.displayName,p.forwardRef(({className:e,children:A,checked:t,...r},n)=>(0,d.jsxs)(un,{ref:n,className:(0,y.cn)("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),checked:t,...r,children:[(0,d.jsx)("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,d.jsx)(us,{children:(0,d.jsx)(S.A,{className:"h-4 w-4"})})}),A]})).displayName=un.displayName,p.forwardRef(({className:e,children:A,...t},r)=>(0,d.jsxs)(ua,{ref:r,className:(0,y.cn)("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),...t,children:[(0,d.jsx)("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,d.jsx)(us,{children:(0,d.jsx)(ud,{className:"h-2 w-2 fill-current"})})}),A]})).displayName=ua.displayName,p.forwardRef(({className:e,inset:A,...t},r)=>(0,d.jsx)(ut,{ref:r,className:(0,y.cn)("px-2 py-1.5 text-sm font-semibold text-foreground",A&&"pl-8",e),...t})).displayName=ut.displayName,p.forwardRef(({className:e,...A},t)=>(0,d.jsx)(ui,{ref:t,className:(0,y.cn)("-mx-1 my-1 h-px bg-border",e),...A})).displayName=ui.displayName;function um(e,A){(null==A||A>e.length)&&(A=e.length);for(var t=0,r=Array(A);t=e.length?e.apply(this,n):function(){for(var e=arguments.length,r=Array(e),a=0;a=e.length?e.apply(this,n):function(){for(var e=arguments.length,r=Array(e),a=0;a1&&void 0!==arguments[1]?arguments[1]:{};uC.initial(e),uC.handler(A);var t={current:e},r=ux(uU)(t,A),n=ux(uF)(t),a=ux(uC.changes)(e),s=ux(uQ)(t);return[function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:function(e){return e};return uC.selector(e),e(t.current)},function(e){(function(){for(var e=arguments.length,A=Array(e),t=0;t{r.current=!1}:e,A)};function uJ(){}function uX(e,A,t,r){var n,a,s,i,o,l;return n=e,a=r,n.editor.getModel(u_(n,a))||(s=e,i=A,o=t,l=r,s.editor.createModel(i,o,l?u_(s,l):void 0))}function u_(e,A){return e.Uri.parse(A)}(0,p.memo)(function({original:e,modified:A,language:t,originalLanguage:r,modifiedLanguage:n,originalModelPath:a,modifiedModelPath:s,keepCurrentOriginalModel:i=!1,keepCurrentModifiedModel:o=!1,theme:l="light",loading:c="Loading...",options:u={},height:d="100%",width:h="100%",className:g,wrapperProps:f={},beforeMount:m=uJ,onMount:B=uJ}){let[w,x]=(0,p.useState)(!1),[v,y]=(0,p.useState)(!0),b=(0,p.useRef)(null),C=(0,p.useRef)(null),Q=(0,p.useRef)(null),F=(0,p.useRef)(B),U=(0,p.useRef)(m),k=(0,p.useRef)(!1);uq(()=>{let e=uP.init();return e.then(e=>(C.current=e)&&y(!1)).catch(e=>e?.type!=="cancelation"&&console.error("Monaco initialization: error:",e)),()=>{let A;return b.current?(A=b.current?.getModel(),void(i||A?.original?.dispose(),o||A?.modified?.dispose(),b.current?.dispose())):e.cancel()}}),uW(()=>{if(b.current&&C.current){let A=b.current.getOriginalEditor(),n=uX(C.current,e||"",r||t||"text",a||"");n!==A.getModel()&&A.setModel(n)}},[a],w),uW(()=>{if(b.current&&C.current){let e=b.current.getModifiedEditor(),r=uX(C.current,A||"",n||t||"text",s||"");r!==e.getModel()&&e.setModel(r)}},[s],w),uW(()=>{let e=b.current.getModifiedEditor();e.getOption(C.current.editor.EditorOption.readOnly)?e.setValue(A||""):A!==e.getValue()&&(e.executeEdits("",[{range:e.getModel().getFullModelRange(),text:A||"",forceMoveMarkers:!0}]),e.pushUndoStop())},[A],w),uW(()=>{b.current?.getModel()?.original.setValue(e||"")},[e],w),uW(()=>{let{original:e,modified:A}=b.current.getModel();C.current.editor.setModelLanguage(e,r||t||"text"),C.current.editor.setModelLanguage(A,n||t||"text")},[t,r,n],w),uW(()=>{C.current?.editor.setTheme(l)},[l],w),uW(()=>{b.current?.updateOptions(u)},[u],w);let E=(0,p.useCallback)(()=>{if(!C.current)return;U.current(C.current);let i=uX(C.current,e||"",r||t||"text",a||""),o=uX(C.current,A||"",n||t||"text",s||"");b.current?.setModel({original:i,modified:o})},[t,A,n,e,r,a,s]),j=(0,p.useCallback)(()=>{!k.current&&Q.current&&(b.current=C.current.editor.createDiffEditor(Q.current,{automaticLayout:!0,...u}),E(),C.current?.editor.setTheme(l),x(!0),k.current=!0)},[u,l,E]);return(0,p.useEffect)(()=>{w&&F.current(b.current,C.current)},[w]),(0,p.useEffect)(()=>{v||w||j()},[v,w,j]),p.createElement(uz,{width:h,height:d,isEditorReady:w,loading:c,_ref:Q,className:g,wrapperProps:f})});var uY=function(e){let A=(0,p.useRef)();return(0,p.useEffect)(()=>{A.current=e},[e]),A.current},u$=new Map,uZ=(0,p.memo)(function({defaultValue:e,defaultLanguage:A,defaultPath:t,value:r,language:n,path:a,theme:s="light",line:i,loading:o="Loading...",options:l={},overrideServices:c={},saveViewState:u=!0,keepCurrentModel:d=!1,width:h="100%",height:g="100%",className:f,wrapperProps:m={},beforeMount:B=uJ,onMount:w=uJ,onChange:x,onValidate:v=uJ}){let[y,b]=(0,p.useState)(!1),[C,Q]=(0,p.useState)(!0),F=(0,p.useRef)(null),U=(0,p.useRef)(null),k=(0,p.useRef)(null),E=(0,p.useRef)(w),j=(0,p.useRef)(B),I=(0,p.useRef)(),H=(0,p.useRef)(r),S=uY(a),N=(0,p.useRef)(!1),L=(0,p.useRef)(!1);uq(()=>{let e=uP.init();return e.then(e=>(F.current=e)&&Q(!1)).catch(e=>e?.type!=="cancelation"&&console.error("Monaco initialization: error:",e)),()=>U.current?void(I.current?.dispose(),d?u&&u$.set(a,U.current.saveViewState()):U.current.getModel()?.dispose(),U.current.dispose()):e.cancel()}),uW(()=>{let s=uX(F.current,e||r||"",A||n||"",a||t||"");s!==U.current?.getModel()&&(u&&u$.set(S,U.current?.saveViewState()),U.current?.setModel(s),u&&U.current?.restoreViewState(u$.get(a)))},[a],y),uW(()=>{U.current?.updateOptions(l)},[l],y),uW(()=>{U.current&&void 0!==r&&(U.current.getOption(F.current.editor.EditorOption.readOnly)?U.current.setValue(r):r!==U.current.getValue()&&(L.current=!0,U.current.executeEdits("",[{range:U.current.getModel().getFullModelRange(),text:r,forceMoveMarkers:!0}]),U.current.pushUndoStop(),L.current=!1))},[r],y),uW(()=>{let e=U.current?.getModel();e&&n&&F.current?.editor.setModelLanguage(e,n)},[n],y),uW(()=>{void 0!==i&&U.current?.revealLine(i)},[i],y),uW(()=>{F.current?.editor.setTheme(s)},[s],y);let D=(0,p.useCallback)(()=>{if(!(!k.current||!F.current)&&!N.current){j.current(F.current);let o=a||t,d=uX(F.current,r||e||"",A||n||"",o||"");U.current=F.current?.editor.create(k.current,{model:d,automaticLayout:!0,...l},c),u&&U.current.restoreViewState(u$.get(o)),F.current.editor.setTheme(s),void 0!==i&&U.current.revealLine(i),b(!0),N.current=!0}},[e,A,t,r,n,a,l,c,u,s,i]);return(0,p.useEffect)(()=>{y&&E.current(U.current,F.current)},[y]),(0,p.useEffect)(()=>{C||y||D()},[C,y,D]),H.current=r,(0,p.useEffect)(()=>{y&&x&&(I.current?.dispose(),I.current=U.current?.onDidChangeModelContent(e=>{L.current||x(U.current.getValue(),e)}))},[y,x]),(0,p.useEffect)(()=>{if(y){let e=F.current.editor.onDidChangeMarkers(e=>{let A=U.current.getModel()?.uri;if(A&&e.find(e=>e.path===A.path)){let e=F.current.editor.getModelMarkers({resource:A});v?.(e)}});return()=>{e?.dispose()}}return()=>{}},[y,v]),p.createElement(uz,{width:h,height:g,isEditorReady:y,loading:o,_ref:k,className:f,wrapperProps:m})});let u0=(0,k.A)("code-xml",[["path",{d:"m18 16 4-4-4-4",key:"1inbqp"}],["path",{d:"m6 8-4 4 4 4",key:"15zrgr"}],["path",{d:"m14.5 4-5 16",key:"e7oirm"}]]);var u1=t(3613);function u2({projectId:e,onFilesChange:A,onClose:t}){let[r,n]=(0,p.useState)(new Map),[a,s]=(0,p.useState)(null),{resolvedTheme:i}=(0,lL.D)(),[o,l]=(0,p.useState)(!1),c=g().useRef(new Set),u=(e,A)=>{A&&A.stopPropagation();let t=r.get(e);if((!t?.modified||confirm(`Close ${t.file.name} without saving?`))&&(n(A=>{let t=new Map(A);return t.delete(e),t}),a===e)){let A=Array.from(r.keys()).filter(A=>A!==e);s(A.length>0?A[A.length-1]:null)}},h=(0,p.useCallback)((e,A)=>{void 0!==e&&"text"===B(A).type&&n(t=>{let r=new Map(t),n=r.get(A);if(n){let t=n.content!==e;r.set(A,{...n,content:e,modified:t})}return r})},[]),f=(0,p.useCallback)(async A=>{let t=r.get(A);if(t&&t.modified){c.current.add(A);try{await m.vfs.init();let r=await m.vfs.updateFile(e,A,t.content);n(e=>{let n=new Map(e);return n.set(A,{file:r,content:t.content,modified:!1}),n})}catch(e){y.v.error("Failed to save file:",e)}finally{setTimeout(()=>{c.current.delete(A)},100)}}},[r,e]);(0,p.useCallback)(e=>{(e.metaKey||e.ctrlKey)&&"s"===e.key&&(e.preventDefault(),a&&f(a))},[a,f]);let B=e=>{let A=e.split(".").pop()?.toLowerCase();if(["png","jpg","jpeg","gif","bmp","svg","webp"].includes(A||""))return{type:"image",language:"plaintext"};let t={js:"javascript",mjs:"javascript",ts:"typescript",tsx:"typescript",html:"html",htm:"html",css:"css",json:"json",md:"markdown",txt:"plaintext",xml:"xml",yaml:"yaml",yml:"yaml"};return t[A||""]?{type:"text",language:t[A||""]}:["zip","tar","gz","exe","bin","pdf","doc","docx","xls","xlsx","ppt","pptx"].includes(A||"")?{type:"unsupported",language:"plaintext"}:{type:"text",language:"plaintext"}},w=e=>B(e).language,x=a?r.get(a):null;return(0,d.jsxs)("div",{className:"h-full flex flex-col",children:[(0,d.jsxs)("div",{className:"p-3 border-b bg-muted/70 flex items-center justify-between",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)(u0,{className:"h-4 w-4 md:hidden",style:{color:"var(--button-editor-active)"}}),t?(0,d.jsxs)("button",{type:"button",onClick:t,"aria-label":"Hide code editor",className:"relative hidden h-6 w-6 items-center justify-center rounded-sm text-muted-foreground transition-colors hover:text-destructive md:flex group",children:[(0,d.jsx)(u0,{className:"h-4 w-4 transition-opacity group-hover:opacity-0",style:{color:"var(--button-editor-active)"}}),(0,d.jsx)(N.A,{className:"absolute h-3 w-3 opacity-0 transition-opacity group-hover:opacity-100"})]}):(0,d.jsx)(u0,{className:"hidden h-4 w-4 md:inline-flex",style:{color:"var(--button-editor-active)"}}),(0,d.jsx)("h3",{className:"text-sm font-medium",children:"Code Editor"})]}),x?.modified&&"text"===B(x.file.path).type&&(0,d.jsxs)(Q.$,{size:"sm",variant:"ghost",className:"h-5 px-2 gap-1.5",onClick:()=>f(a),children:[(0,d.jsx)(cG,{className:"h-3 w-3"}),(0,d.jsx)("span",{className:"text-xs",children:"Save"})]})]}),0===r.size?(0,d.jsx)("div",{className:"flex-1 flex items-center justify-center text-muted-foreground",children:(0,d.jsxs)("div",{className:"text-center space-y-3",children:[(0,d.jsx)(E,{className:"h-12 w-12 mx-auto opacity-50"}),(0,d.jsxs)("div",{className:"space-y-1",children:[(0,d.jsx)("p",{className:"text-base font-medium",children:"No files open"}),(0,d.jsx)("p",{className:"text-sm",children:"Select a file from the explorer to edit"})]})]})}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"border-b bg-muted/70",children:(0,d.jsx)("div",{className:"flex items-center overflow-x-auto scrollbar-thin",children:Array.from(r.entries()).map(([e,A])=>(0,d.jsxs)("div",{className:(0,y.cn)("flex items-center gap-2 px-4 py-2.5 border-r cursor-pointer transition-all relative group",a===e?"bg-background border-b-2 border-b-primary shadow-sm":"hover:bg-muted/50 border-b-2 border-b-transparent"),onClick:()=>s(e),children:[(0,d.jsxs)("span",{className:"text-sm",children:[A.file.name,A.modified&&(0,d.jsx)("span",{className:"text-orange-500 ml-1",children:"●"})]}),(0,d.jsx)(Q.$,{size:"icon",variant:"ghost",className:"h-4 w-4 p-0 opacity-0 group-hover:opacity-100 transition-opacity",onClick:A=>u(e,A),children:(0,d.jsx)(N.A,{className:"h-3 w-3 hover:text-destructive"})})]},e))})}),x&&(0,d.jsx)("div",{className:"flex-1 border-t",children:(()=>{let e=B(x.file.path);return"image"===e.type?(0,d.jsx)("div",{className:"h-full flex items-center justify-center bg-background p-8",children:(0,d.jsxs)("div",{className:"text-center space-y-4 max-w-2xl",children:[(0,d.jsx)(I,{className:"h-12 w-12 mx-auto text-muted-foreground"}),(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)("h3",{className:"text-lg font-medium",children:"Image Preview"}),(0,d.jsx)("p",{className:"text-sm text-muted-foreground",children:x.file.name})]}),(0,d.jsx)("div",{className:"border rounded-lg p-4 bg-muted/30 max-h-96 overflow-auto",children:(0,d.jsx)("img",{src:`data:image/${x.file.path.split(".").pop()};base64,${x.content}`,alt:x.file.name,className:"max-w-full h-auto rounded shadow-sm",onError:e=>{let A=e.target;if(A.style.display="none",!A.parentElement?.querySelector(".error-msg")){let e=document.createElement("div");e.className="error-msg text-sm text-muted-foreground flex items-center gap-2",e.innerHTML='Unable to display image',A.parentElement?.appendChild(e)}}})}),(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:"Image files cannot be edited in the text editor"})]})}):"unsupported"===e.type?(0,d.jsx)("div",{className:"h-full flex items-center justify-center bg-background p-8",children:(0,d.jsxs)("div",{className:"text-center space-y-4",children:[(0,d.jsx)(u1.A,{className:"h-12 w-12 mx-auto text-muted-foreground"}),(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)("h3",{className:"text-lg font-medium",children:"Unsupported File Type"}),(0,d.jsx)("p",{className:"text-sm text-muted-foreground",children:x.file.name}),(0,d.jsx)("p",{className:"text-sm text-muted-foreground max-w-md",children:"This file type is not supported for editing in the text editor. Binary files and certain document formats cannot be displayed here."})]})]})}):(0,d.jsx)(uZ,{height:"100%",language:w(x.file.path),value:x.content,onChange:e=>h(e,x.file.path),theme:o?"dark"===i?"vs-dark":"light":"vs-dark",options:{minimap:{enabled:!1},fontSize:14,lineNumbers:"on",roundedSelection:!1,scrollBeyondLastLine:!1,automaticLayout:!0,tabSize:2,wordWrap:"on",wrappingIndent:"indent"}})})()})]})]})}function u4(e){window.dispatchEvent(new CustomEvent("openFile",{detail:e}))}let u3=(0,k.A)("rotate-ccw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]),u5=(0,k.A)("message-square",[["path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z",key:"1lielz"}]]),u6=(0,k.A)("bug",[["path",{d:"m8 2 1.88 1.88",key:"fmnt4t"}],["path",{d:"M14.12 3.88 16 2",key:"qol33r"}],["path",{d:"M9 7.13v-1a3.003 3.003 0 1 1 6 0v1",key:"d7y7pr"}],["path",{d:"M12 20c-3.3 0-6-2.7-6-6v-3a4 4 0 0 1 4-4h4a4 4 0 0 1 4 4v3c0 3.3-2.7 6-6 6",key:"xs1cw7"}],["path",{d:"M12 20v-9",key:"1qisl0"}],["path",{d:"M6.53 9C4.6 8.8 3 7.1 3 5",key:"32zzws"}],["path",{d:"M6 13H2",key:"82j7cp"}],["path",{d:"M3 21c0-2.1 1.7-3.9 3.8-4",key:"4p0ekp"}],["path",{d:"M20.97 5c0 2.1-1.6 3.8-3.5 4",key:"18gb23"}],["path",{d:"M22 13h-4",key:"1jl80f"}],["path",{d:"M17.2 17c2.1.1 3.8 1.9 3.8 4",key:"k3fwyw"}]]);var u8=t(356),u9=t(158);class u7{async initDB(){if(this.isInitialized)return;let{vfs:e}=await Promise.resolve().then(t.bind(t,1338));await e.init(),this.isInitialized=!0}async getDB(){let{vfs:e}=await Promise.resolve().then(t.bind(t,1338));return e.db.getDatabase()}getDebugEventsId(e){return`debug_events_${e}`}async loadEvents(e){await this.initDB();let A=await this.getDB(),t=this.getDebugEventsId(e);return new Promise((r,n)=>{let a=A.transaction([this.storeName],"readonly").objectStore(this.storeName).get(t);a.onsuccess=()=>{let A=a.result;A&&A.events?(this.eventsCache.set(e,A.events),r(A.events)):r([])},a.onerror=()=>{y.v.error("Failed to load debug events from DB"),n(a.error)}})}async saveEvents(e,A){await this.initDB();let t=await this.getDB(),r={id:this.getDebugEventsId(e),projectId:e,events:A,lastUpdated:new Date().toISOString()};return new Promise((n,a)=>{let s=t.transaction([this.storeName],"readwrite").objectStore(this.storeName).put(r);s.onsuccess=()=>{this.eventsCache.set(e,A),n()},s.onerror=()=>{y.v.error("Failed to save debug events to DB"),a(s.error)}})}async appendEvent(e,A){let t=this.eventsCache.get(e);t||(t=await this.loadEvents(e)),t.push(A),this.eventsCache.set(e,t),await this.saveEvents(e,t)}async clearEvents(e){this.eventsCache.delete(e),await this.saveEvents(e,[]),y.v.debug(`[DebugEventsState] Cleared debug events for project ${e}`)}async truncateEvents(e,A){this.eventsCache.set(e,A),await this.saveEvents(e,A),y.v.debug(`[DebugEventsState] Truncated debug events for project ${e} to ${A.length} events`)}async getEvents(e){let A=this.eventsCache.get(e);return A||(A=await this.loadEvents(e)),A}async deleteProject(e){await this.initDB();let A=await this.getDB(),t=this.getDebugEventsId(e);return new Promise((r,n)=>{let a=A.transaction([this.storeName],"readwrite").objectStore(this.storeName).delete(t);a.onsuccess=()=>{this.eventsCache.delete(e),r()},a.onerror=()=>{y.v.error("Failed to delete debug events from DB"),n(a.error)}})}constructor(){this.eventsCache=new Map,this.storeName="debugEvents",this.isInitialized=!1}}let de=new u7,dA=(0,k.A)("grip-vertical",[["circle",{cx:"9",cy:"12",r:"1",key:"1vctgf"}],["circle",{cx:"9",cy:"5",r:"1",key:"hp0tcf"}],["circle",{cx:"9",cy:"19",r:"1",key:"fkjjf6"}],["circle",{cx:"15",cy:"12",r:"1",key:"1tmaij"}],["circle",{cx:"15",cy:"5",r:"1",key:"19l28e"}],["circle",{cx:"15",cy:"19",r:"1",key:"f4zoj3"}]]),dt=(0,p.createContext)(null);dt.displayName="PanelGroupContext";let dr={group:"data-panel-group",groupDirection:"data-panel-group-direction",groupId:"data-panel-group-id",panel:"data-panel",panelCollapsible:"data-panel-collapsible",panelId:"data-panel-id",panelSize:"data-panel-size",resizeHandle:"data-resize-handle",resizeHandleActive:"data-resize-handle-active",resizeHandleEnabled:"data-panel-resize-handle-enabled",resizeHandleId:"data-panel-resize-handle-id",resizeHandleState:"data-resize-handle-state"},dn=h["useId".toString()],da="function"==typeof dn?dn:()=>null,ds=0;function di(e=null){let A=da(),t=(0,p.useRef)(e||A||null);return null===t.current&&(t.current=""+ds++),null!=e?e:t.current}function dl({children:e,className:A="",collapsedSize:t,collapsible:r,defaultSize:n,forwardedRef:a,id:s,maxSize:i,minSize:o,onCollapse:l,onExpand:c,onResize:u,order:d,style:h,tagName:g="div",...f}){let m=(0,p.useContext)(dt);if(null===m)throw Error("Panel components must be rendered within a PanelGroup container");let{collapsePanel:B,expandPanel:w,getPanelSize:x,getPanelStyle:v,groupId:y,isPanelCollapsed:b,reevaluatePanelConstraints:C,registerPanel:Q,resizePanel:F,unregisterPanel:U}=m,k=di(s),E=(0,p.useRef)({callbacks:{onCollapse:l,onExpand:c,onResize:u},constraints:{collapsedSize:t,collapsible:r,defaultSize:n,maxSize:i,minSize:o},id:k,idIsFromProps:void 0!==s,order:d});(0,p.useRef)({didLogMissingDefaultSizeWarning:!1}),(0,p.useImperativeHandle)(a,()=>({collapse:()=>{B(E.current)},expand:e=>{w(E.current,e)},getId:()=>k,getSize:()=>x(E.current),isCollapsed:()=>b(E.current),isExpanded:()=>!b(E.current),resize:e=>{F(E.current,e)}}),[B,w,x,b,k,F]);let j=v(E.current,n);return(0,p.createElement)(g,{...f,children:e,className:A,id:k,style:{...j,...h},[dr.groupId]:y,[dr.panel]:"",[dr.panelCollapsible]:r||void 0,[dr.panelId]:k,[dr.panelSize]:parseFloat(""+j.flexGrow).toFixed(1)})}let dc=(0,p.forwardRef)((e,A)=>(0,p.createElement)(dl,{...e,forwardedRef:A}));dl.displayName="Panel",dc.displayName="forwardRef(Panel)";let du=null,dd=-1,dp=null;function dh(e,A,t){var n,a,s;0;let i=function(e,A,t){let r=(A&dC)!=0,n=(A&dQ)!=0,a=(A&dF)!=0,s=(A&dU)!=0;!1;if(A){if(r)if(a)return"se-resize";else if(s)return"ne-resize";else return"e-resize";else if(n)if(a)return"sw-resize";else if(s)return"nw-resize";else return"w-resize";else if(a)return"s-resize";else if(s)return"n-resize"}switch(e){case"horizontal":return"ew-resize";case"intersection":return"move";case"vertical":return"ns-resize"}}(e,A,t);if(du!==i){if(du=i,null===dp){dp=document.createElement("style");r&&dp.setAttribute("nonce",r),document.head.appendChild(dp)}dd>=0&&(null==(s=dp.sheet)||s.removeRule(dd)),dd=null!=(n=null==(a=dp.sheet)?void 0:a.insertRule(`*{cursor: ${i} !important;}`))?n:-1}}function dg(e){return"keydown"===e.type}function df(e){return e.type.startsWith("pointer")}function dm(e){return e.type.startsWith("mouse")}function dB(e){if(df(e)){if(e.isPrimary)return{x:e.clientX,y:e.clientY}}else if(dm(e))return{x:e.clientX,y:e.clientY};return{x:1/0,y:1/0}}let dw=/\b(?:position|zIndex|opacity|transform|webkitTransform|mixBlendMode|filter|webkitFilter|isolation)\b/;function dx(e){let A=e.length;for(;A--;){let t=e[A];if(dO(t,"Missing node"),function(e){let A=getComputedStyle(e);return!!("fixed"===A.position||"auto"!==A.zIndex&&("static"!==A.position||function(e){var A;let t=getComputedStyle(null!=(A=db(e))?A:e).display;return"flex"===t||"inline-flex"===t}(e))||1>+A.opacity||"transform"in A&&"none"!==A.transform||"webkitTransform"in A&&"none"!==A.webkitTransform||"mixBlendMode"in A&&"normal"!==A.mixBlendMode||"filter"in A&&"none"!==A.filter||"webkitFilter"in A&&"none"!==A.webkitFilter||"isolation"in A&&"isolate"===A.isolation||dw.test(A.willChange))||"touch"===A.webkitOverflowScrolling}(t))return t}return null}function dv(e){return e&&Number(getComputedStyle(e).zIndex)||0}function dy(e){let A=[];for(;e;)A.push(e),e=db(e);return A}function db(e){let{parentNode:A}=e;return A&&A instanceof ShadowRoot?A.host:A}let dC=1,dQ=2,dF=4,dU=8,dk="coarse"===function(){if("function"==typeof matchMedia)return matchMedia("(pointer:coarse)").matches?"coarse":"fine"}(),dE=[],dj=!1,dI=new Map,dH=new Map,dS=new Set;function dN(e){let{target:A}=e,{x:t,y:r}=dB(e);dj=!0,dM({target:A,x:t,y:r}),dR(),dE.length>0&&(dP("down",e),dK(),e.preventDefault(),dT(A)||e.stopImmediatePropagation())}function dL(e){let{x:A,y:t}=dB(e);if(dj&&"pointerleave"!==e.type&&0===e.buttons&&(dj=!1,dP("up",e)),!dj){let{target:r}=e;dM({target:r,x:A,y:t})}dP("move",e),dK(),dE.length>0&&e.preventDefault()}function dD(e){let{target:A}=e,{x:t,y:r}=dB(e);dH.clear(),dj=!1,dE.length>0&&(e.preventDefault(),dT(A)||e.stopImmediatePropagation()),dP("up",e),dM({target:A,x:t,y:r}),dK(),dR()}function dT(e){let A=e;for(;A;){if(A.hasAttribute(dr.resizeHandle))return!0;A=A.parentElement}return!1}function dM({target:e,x:A,y:t}){dE.splice(0);let r=null;(e instanceof HTMLElement||e instanceof SVGElement)&&(r=e),dS.forEach(e=>{let{element:n,hitAreaMargins:a}=e,s=n.getBoundingClientRect(),{bottom:i,left:o,right:l,top:c}=s,u=dk?a.coarse:a.fine;if(A>=o-u&&A<=l+u&&t>=c-u&&t<=i+u){if(null!==r&&document.contains(r)&&n!==r&&!n.contains(r)&&!r.contains(n)&&function(e,A){let t;if(e===A)throw Error("Cannot compare node with itself");let r={a:dy(e),b:dy(A)};for(;r.a.at(-1)===r.b.at(-1);)e=r.a.pop(),A=r.b.pop(),t=e;dO(t,"Stacking order can only be calculated for elements with a common ancestor");let n={a:dv(dx(r.a)),b:dv(dx(r.b))};if(n.a===n.b){let e=t.childNodes,A={a:r.a.at(-1),b:r.b.at(-1)},n=e.length;for(;n--;){let t=e[n];if(t===A.a)return 1;if(t===A.b)return -1}}return Math.sign(n.a-n.b)}(r,n)>0){let e=r,A=!1;for(;e&&!e.contains(n);){var d,p;if(d=e.getBoundingClientRect(),p=s,d.xp.x&&d.yp.y){A=!0;break}e=e.parentElement}if(A)return}dE.push(e)}})}function dK(){let e=!1,A=!1;dE.forEach(t=>{let{direction:r}=t;"horizontal"===r?e=!0:A=!0});let t=0;dH.forEach(e=>{t|=e}),e&&A?dh("intersection",t,dj):e?dh("horizontal",t,dj):A?dh("vertical",t,dj):null!==dp&&(document.head.removeChild(dp),du=null,dp=null,dd=-1)}function dR(){var e;null==(e=n)||e.abort();let A={capture:!0,signal:(n=new AbortController).signal};dS.size&&(dj?(dE.length>0&&dI.forEach((e,t)=>{let{body:r}=t;e>0&&(r.addEventListener("contextmenu",dD,A),r.addEventListener("pointerleave",dL,A),r.addEventListener("pointermove",dL,A))}),dI.forEach((e,t)=>{let{body:r}=t;r.addEventListener("pointerup",dD,A),r.addEventListener("pointercancel",dD,A)})):dI.forEach((e,t)=>{let{body:r}=t;e>0&&(r.addEventListener("pointerdown",dN,A),r.addEventListener("pointermove",dL,A))}))}function dP(e,A){dS.forEach(t=>{let{setResizeHandlerState:r}=t;r(e,dE.includes(t),A)})}function dO(e,A){if(!e)throw console.error(A),Error(A)}function dV(e,A,t=10){return e.toFixed(t)===A.toFixed(t)?0:e>A?1:-1}function dG(e,A,t=10){return 0===dV(e,A,t)}function dz(e,A,t){return 0===dV(e,A,t)}function dq({panelConstraints:e,panelIndex:A,size:t}){let r=e[A];dO(null!=r,`Panel constraints not found for index ${A}`);let{collapsedSize:n=0,collapsible:a,maxSize:s=100,minSize:i=0}=r;return 0>dV(t,i)&&(t=a&&0>dV(t,(n+i)/2)?n:i),t=parseFloat((t=Math.min(s,t)).toFixed(10))}function dW({delta:e,initialLayout:A,panelConstraints:t,pivotIndices:r,prevLayout:n,trigger:a}){if(dz(e,0))return A;let s=[...A],[i,o]=r;dO(null!=i,"Invalid first pivot index"),dO(null!=o,"Invalid second pivot index");let l=0;if("keyboard"===a){{let r=e<0?o:i,n=t[r];dO(n,`Panel constraints not found for index ${r}`);let{collapsedSize:a=0,collapsible:s,minSize:l=0}=n;if(s){let t=A[r];if(dO(null!=t,`Previous layout not found for panel index ${r}`),dz(t,a)){let A=l-t;dV(A,Math.abs(e))>0&&(e=e<0?0-A:A)}}}{let r=e<0?i:o,n=t[r];dO(n,`No panel constraints found for index ${r}`);let{collapsedSize:a=0,collapsible:s,minSize:l=0}=n;if(s){let t=A[r];if(dO(null!=t,`Previous layout not found for panel index ${r}`),dz(t,l)){let A=t-a;dV(A,Math.abs(e))>0&&(e=e<0?0-A:A)}}}}{let r=e<0?1:-1,n=e<0?o:i,a=0;for(;;){let e=A[n];if(dO(null!=e,`Previous layout not found for panel index ${n}`),a+=dq({panelConstraints:t,panelIndex:n,size:100})-e,(n+=r)<0||n>=t.length)break}let s=Math.min(Math.abs(e),Math.abs(a));e=e<0?0-s:s}{let r=e<0?i:o;for(;r>=0&&r=0))break;e<0?r--:r++}}if(function(e,A,t){if(e.length!==A.length)return!1;for(let t=0;t=0&&r0?r--:r++}}}return dz(s.reduce((e,A)=>A+e,0),100)?s:n}function dJ(e,A=document){return Array.from(A.querySelectorAll(`[${dr.resizeHandleId}][data-panel-group-id="${e}"]`))}function dX(e,A,t=document){let r=dJ(e,t).findIndex(e=>e.getAttribute(dr.resizeHandleId)===A);return null!=r?r:null}function d_(e,A,t){let r=dX(e,A,t);return null!=r?[r,r+1]:[-1,-1]}function dY(e,A=document){if((A instanceof HTMLElement||"object"==typeof A&&null!==A&&"tagName"in A&&"getAttribute"in A)&&A.dataset.panelGroupId==e)return A;let t=A.querySelector(`[data-panel-group][data-panel-group-id="${e}"]`);return t||null}function d$(e,A=document){let t=A.querySelector(`[${dr.resizeHandleId}="${e}"]`);return t||null}function dZ(e,A){let{x:t,y:r}=dB(A);return"horizontal"===e?t:r}function d0(e,A,t){A.forEach((A,r)=>{let n=e[r];dO(n,`Panel data not found for index ${r}`);let{callbacks:a,constraints:s,id:i}=n,{collapsedSize:o=0,collapsible:l}=s,c=t[i];if(null==c||A!==c){t[i]=A;let{onCollapse:e,onExpand:r,onResize:n}=a;n&&n(A,c),l&&(e||r)&&(r&&(null==c||dG(c,o))&&!dG(A,o)&&r(),e&&(null==c||!dG(c,o))&&dG(A,o)&&e())}})}function d1(e,A){if(e.length!==A.length)return!1;for(let t=0;tlocalStorage.getItem(e),e.setItem=(e,A)=>{localStorage.setItem(e,A)};else throw Error("localStorage not supported in this environment")}catch(A){console.error(A),e.getItem=()=>null,e.setItem=()=>{}}}function d4(e){return`react-resizable-panels:${e}`}function d3(e,A,t,r,n){var a;let s=d4(e),i=A.map(e=>{let{constraints:A,id:t,idIsFromProps:r,order:n}=e;return r?t:n?`${n}:${JSON.stringify(A)}`:JSON.stringify(A)}).sort((e,A)=>e.localeCompare(A)).join(","),o=null!=(a=function(e,A){try{let t=d4(e),r=A.getItem(t);if(r){let e=JSON.parse(r);if("object"==typeof e&&null!=e)return e}}catch(e){}return null}(e,n))?a:{};o[i]={expandToSizes:Object.fromEntries(t.entries()),layout:r};try{n.setItem(s,JSON.stringify(o))}catch(e){console.error(e)}}let d5={getItem:e=>(d2(d5),d5.getItem(e)),setItem:(e,A)=>{d2(d5),d5.setItem(e,A)}},d6={};function d8({autoSaveId:e=null,children:A,className:t="",direction:r,forwardedRef:n,id:a=null,onLayout:s=null,keyboardResizeBy:i=null,storage:o=d5,style:l,tagName:c="div",...u}){let d=di(a),h=(0,p.useRef)(null),[g,f]=(0,p.useState)(null),[m,B]=(0,p.useState)([]),w=function(){let[e,A]=(0,p.useState)(0);return(0,p.useCallback)(()=>A(e=>e+1),[])}(),x=(0,p.useRef)({}),v=(0,p.useRef)(new Map),y=(0,p.useRef)(0),b=(0,p.useRef)({autoSaveId:e,direction:r,dragState:g,id:d,keyboardResizeBy:i,onLayout:s,storage:o}),C=(0,p.useRef)({layout:m,panelDataArray:[],panelDataArrayChanged:!1});(0,p.useRef)({didLogIdAndOrderWarning:!1,didLogPanelConstraintsWarning:!1,prevPanelIds:[]}),(0,p.useImperativeHandle)(n,()=>({getId:()=>b.current.id,getLayout:()=>{let{layout:e}=C.current;return e},setLayout:e=>{let{onLayout:A}=b.current,{layout:t,panelDataArray:r}=C.current,n=function({layout:e,panelConstraints:A}){let t=[...e],r=t.reduce((e,A)=>e+A,0);if(t.length!==A.length)throw Error(`Invalid ${A.length} panel layout: ${t.map(e=>`${e}%`).join(", ")}`);if(!dz(r,100)&&t.length>0)for(let e=0;ee.constraints)});!function(e,A){if(e.length!==A.length)return!1;for(let t=0;t{if(!a)return;let e=A.current;dO(e,"Eager values not found");let{panelDataArray:n}=e;dO(null!=dY(t,a),`No group found for id "${t}"`);let i=dJ(t,a);dO(i,`No resize handles found for group id "${t}"`);let o=i.map(e=>{let A=e.getAttribute(dr.resizeHandleId);dO(A,"Resize handle element has no handle id attribute");let[i,o]=function(e,A,t,r=document){var n,a,s,i;let o=d$(A,r),l=dJ(e,r),c=o?l.indexOf(o):-1;return[null!=(n=null==(a=t[c])?void 0:a.id)?n:null,null!=(s=null==(i=t[c+1])?void 0:i.id)?s:null]}(t,A,n,a);if(null==i||null==o)return()=>{};let l=e=>{if(!e.defaultPrevented&&"Enter"===e.key){e.preventDefault();let o=n.findIndex(e=>e.id===i);if(o>=0){let e=n[o];dO(e,`No panel data found for index ${o}`);let i=r[o],{collapsedSize:l=0,collapsible:c,minSize:u=0}=e.constraints;if(null!=i&&c){let e=dW({delta:dz(i,l)?u-l:l-i,initialLayout:r,panelConstraints:n.map(e=>e.constraints),pivotIndices:d_(t,A,a),prevLayout:r,trigger:"keyboard"});r!==e&&s(e)}}}};return e.addEventListener("keydown",l),()=>{e.removeEventListener("keydown",l)}});return()=>{o.forEach(e=>e())}},[a,e,A,t,r,n,s])}({committedValuesRef:b,eagerValuesRef:C,groupId:d,layout:m,panelDataArray:C.current.panelDataArray,setLayout:B,panelGroupElement:h.current}),(0,p.useEffect)(()=>{let{panelDataArray:A}=C.current;if(e){if(0===m.length||m.length!==A.length)return;let t=d6[e];null==t&&(t=function(e,A=10){let t=null;return(...r)=>{null!==t&&clearTimeout(t),t=setTimeout(()=>{e(...r)},A)}}(d3,100),d6[e]=t),t(e,[...A],new Map(v.current),m,o)}},[e,m,o]),(0,p.useEffect)(()=>{});let Q=(0,p.useCallback)(e=>{let{onLayout:A}=b.current,{layout:t,panelDataArray:r}=C.current;if(e.constraints.collapsible){let n=r.map(e=>e.constraints),{collapsedSize:a=0,panelSize:s,pivotIndices:i}=pe(r,e,t);if(dO(null!=s,`Panel size not found for panel "${e.id}"`),!dG(s,a)){v.current.set(e.id,s);let o=dW({delta:d7(r,e)===r.length-1?s-a:a-s,initialLayout:t,panelConstraints:n,pivotIndices:i,prevLayout:t,trigger:"imperative-api"});d1(t,o)||(B(o),C.current.layout=o,A&&A(o),d0(r,o,x.current))}}},[]),F=(0,p.useCallback)((e,A)=>{let{onLayout:t}=b.current,{layout:r,panelDataArray:n}=C.current;if(e.constraints.collapsible){let a=n.map(e=>e.constraints),{collapsedSize:s=0,panelSize:i=0,minSize:o=0,pivotIndices:l}=pe(n,e,r),c=null!=A?A:o;if(dG(i,s)){let A=v.current.get(e.id),s=null!=A&&A>=c?A:c,o=dW({delta:d7(n,e)===n.length-1?i-s:s-i,initialLayout:r,panelConstraints:a,pivotIndices:l,prevLayout:r,trigger:"imperative-api"});d1(r,o)||(B(o),C.current.layout=o,t&&t(o),d0(n,o,x.current))}}},[]),U=(0,p.useCallback)(e=>{let{layout:A,panelDataArray:t}=C.current,{panelSize:r}=pe(t,e,A);return dO(null!=r,`Panel size not found for panel "${e.id}"`),r},[]),k=(0,p.useCallback)((e,A)=>{let{panelDataArray:t}=C.current,r=d7(t,e);return function({defaultSize:e,dragState:A,layout:t,panelData:r,panelIndex:n,precision:a=3}){let s,i=t[n];return{flexBasis:0,flexGrow:null==i?void 0!=e?e.toFixed(a):"1":1===r.length?"1":i.toFixed(a),flexShrink:1,overflow:"hidden",pointerEvents:null!==A?"none":void 0}}({defaultSize:A,dragState:g,layout:m,panelData:t,panelIndex:r})},[g,m]),E=(0,p.useCallback)(e=>{let{layout:A,panelDataArray:t}=C.current,{collapsedSize:r=0,collapsible:n,panelSize:a}=pe(t,e,A);return dO(null!=a,`Panel size not found for panel "${e.id}"`),!0===n&&dG(a,r)},[]),j=(0,p.useCallback)(e=>{let{layout:A,panelDataArray:t}=C.current,{collapsedSize:r=0,collapsible:n,panelSize:a}=pe(t,e,A);return dO(null!=a,`Panel size not found for panel "${e.id}"`),!n||dV(a,r)>0},[]),I=(0,p.useCallback)(e=>{let{panelDataArray:A}=C.current;A.push(e),A.sort((e,A)=>{let t=e.order,r=A.order;return null==t&&null==r?0:null==t?-1:null==r?1:t-r}),C.current.panelDataArrayChanged=!0,w()},[w]),H=(0,p.useCallback)(e=>{let A=!1,t=h.current;return t&&"rtl"===window.getComputedStyle(t,null).getPropertyValue("direction")&&(A=!0),function(t){var r,n;t.preventDefault();let a=h.current;if(!a)return()=>null;let{direction:s,dragState:i,id:o,keyboardResizeBy:l,onLayout:c}=b.current,{layout:u,panelDataArray:d}=C.current,{initialLayout:p}=null!=i?i:{},g=d_(o,e,a),f=function(e,A,t,r,n,a){if(dg(e)){let A="horizontal"===t,r=0;r=e.shiftKey?100:null!=n?n:10;let a=0;switch(e.key){case"ArrowDown":a=A?0:r;break;case"ArrowLeft":a=A?-r:0;break;case"ArrowRight":a=A?r:0;break;case"ArrowUp":a=A?0:-r;break;case"End":a=100;break;case"Home":a=-100}return a}return null==r?0:function(e,A,t,r,n){let a="horizontal"===t,s=d$(A,n);dO(s,`No resize handle element found for id "${A}"`);let i=s.getAttribute(dr.groupId);dO(i,"Resize handle element has no group id attribute");let{initialCursorPosition:o}=r,l=dZ(t,e),c=dY(i,n);dO(c,`No group element found for id "${i}"`);let u=c.getBoundingClientRect();return(l-o)/(a?u.width:u.height)*100}(e,A,t,r,a)}(t,e,s,i,l,a),m="horizontal"===s;m&&A&&(f=-f);let w=dW({delta:f,initialLayout:null!=p?p:u,panelConstraints:d.map(e=>e.constraints),pivotIndices:g,prevLayout:u,trigger:dg(t)?"keyboard":"mouse-or-touch"}),v=!d1(u,w);(df(t)||dm(t))&&y.current!=f&&((y.current=f,v||0===f)?dH.set(e,0):m?(r=f<0?dC:dQ,dH.set(e,r)):(n=f<0?dF:dU,dH.set(e,n))),v&&(B(w),C.current.layout=w,c&&c(w),d0(d,w,x.current))}},[]),S=(0,p.useCallback)((e,A)=>{let{onLayout:t}=b.current,{layout:r,panelDataArray:n}=C.current,a=n.map(e=>e.constraints),{panelSize:s,pivotIndices:i}=pe(n,e,r);dO(null!=s,`Panel size not found for panel "${e.id}"`);let o=dW({delta:d7(n,e)===n.length-1?s-A:A-s,initialLayout:r,panelConstraints:a,pivotIndices:i,prevLayout:r,trigger:"imperative-api"});d1(r,o)||(B(o),C.current.layout=o,t&&t(o),d0(n,o,x.current))},[]),N=(0,p.useCallback)((e,A)=>{let{layout:t,panelDataArray:r}=C.current,{collapsedSize:n=0,collapsible:a}=A,{collapsedSize:s=0,collapsible:i,maxSize:o=100,minSize:l=0}=e.constraints,{panelSize:c}=pe(r,e,t);null!=c&&(a&&i&&dG(c,n)?dG(n,s)||S(e,s):co&&S(e,o))},[S]),L=(0,p.useCallback)((e,A)=>{let{direction:t}=b.current,{layout:r}=C.current;if(!h.current)return;let n=d$(e,h.current);dO(n,`Drag handle element not found for id "${e}"`);let a=dZ(t,A);f({dragHandleId:e,dragHandleRect:n.getBoundingClientRect(),initialCursorPosition:a,initialLayout:r})},[]),D=(0,p.useCallback)(()=>{f(null)},[]),T=(0,p.useCallback)(e=>{let{panelDataArray:A}=C.current,t=d7(A,e);t>=0&&(A.splice(t,1),delete x.current[e.id],C.current.panelDataArrayChanged=!0,w())},[w]),M=(0,p.useMemo)(()=>({collapsePanel:Q,direction:r,dragState:g,expandPanel:F,getPanelSize:U,getPanelStyle:k,groupId:d,isPanelCollapsed:E,isPanelExpanded:j,reevaluatePanelConstraints:N,registerPanel:I,registerResizeHandle:H,resizePanel:S,startDragging:L,stopDragging:D,unregisterPanel:T,panelGroupElement:h.current}),[Q,g,r,F,U,k,d,E,j,N,I,H,S,L,D,T]);return(0,p.createElement)(dt.Provider,{value:M},(0,p.createElement)(c,{...u,children:A,className:t,id:a,ref:h,style:{display:"flex",flexDirection:"horizontal"===r?"row":"column",height:"100%",overflow:"hidden",width:"100%",...l},[dr.group]:"",[dr.groupDirection]:r,[dr.groupId]:d}))}let d9=(0,p.forwardRef)((e,A)=>(0,p.createElement)(d8,{...e,forwardedRef:A}));function d7(e,A){return e.findIndex(e=>e===A||e.id===A.id)}function pe(e,A,t){let r=d7(e,A),n=r===e.length-1,a=t[r];return{...A.constraints,panelSize:a,pivotIndices:n?[r-1,r]:[r,r+1]}}function pA({children:e=null,className:A="",disabled:t=!1,hitAreaMargins:r,id:n,onBlur:a,onClick:s,onDragging:i,onFocus:o,onPointerDown:l,onPointerUp:c,style:u={},tabIndex:d=0,tagName:h="div",...g}){var f,m;let B=(0,p.useRef)(null),w=(0,p.useRef)({onClick:s,onDragging:i,onPointerDown:l,onPointerUp:c});(0,p.useEffect)(()=>{w.current.onClick=s,w.current.onDragging=i,w.current.onPointerDown=l,w.current.onPointerUp=c});let x=(0,p.useContext)(dt);if(null===x)throw Error("PanelResizeHandle components must be rendered within a PanelGroup container");let{direction:v,groupId:y,registerResizeHandle:b,startDragging:C,stopDragging:Q,panelGroupElement:F}=x,U=di(n),[k,E]=(0,p.useState)("inactive"),[j,I]=(0,p.useState)(!1),[H,S]=(0,p.useState)(null),N=(0,p.useRef)({state:k});(0,p.useEffect)(()=>{if(t)S(null);else{let e=b(U);S(()=>e)}},[t,U,b]);let L=null!=(f=null==r?void 0:r.coarse)?f:15,D=null!=(m=null==r?void 0:r.fine)?m:5;return(0,p.useEffect)(()=>{if(t||null==H)return;let e=B.current;dO(e,"Element ref not attached");let A=!1;return function(e,A,t,r,n){var a;let{ownerDocument:s}=A,i={direction:t,element:A,hitAreaMargins:r,setResizeHandlerState:n},o=null!=(a=dI.get(s))?a:0;return dI.set(s,o+1),dS.add(i),dR(),function(){var A;dH.delete(e),dS.delete(i);let t=null!=(A=dI.get(s))?A:1;if(dI.set(s,t-1),dR(),1===t&&dI.delete(s),dE.includes(i)){let e=dE.indexOf(i);e>=0&&dE.splice(e,1),dK(),n("up",!0,null)}}}(U,e,v,{coarse:L,fine:D},(e,t,r)=>{if(!t)return void E("inactive");switch(e){case"down":{E("drag"),A=!1,dO(r,'Expected event to be defined for "down" action'),C(U,r);let{onDragging:e,onPointerDown:t}=w.current;null==e||e(!0),null==t||t();break}case"move":{let{state:e}=N.current;A=!0,"drag"!==e&&E("hover"),dO(r,'Expected event to be defined for "move" action'),H(r);break}case"up":{E("hover"),Q();let{onClick:e,onDragging:t,onPointerUp:r}=w.current;null==t||t(!1),null==r||r(),A||null==e||e()}}})},[L,v,t,D,b,U,H,C,Q]),!function({disabled:e,handleId:A,resizeHandler:t,panelGroupElement:r}){(0,p.useEffect)(()=>{if(e||null==t||null==r)return;let n=d$(A,r);if(null==n)return;let a=e=>{if(!e.defaultPrevented)switch(e.key){case"ArrowDown":case"ArrowLeft":case"ArrowRight":case"ArrowUp":case"End":case"Home":e.preventDefault(),t(e);break;case"F6":{e.preventDefault();let t=n.getAttribute(dr.groupId);dO(t,`No group element found for id "${t}"`);let a=dJ(t,r),s=dX(t,A,r);dO(null!==s,`No resize element found for id "${A}"`);let i=e.shiftKey?s>0?s-1:a.length-1:s+1{n.removeEventListener("keydown",a)}},[r,e,A,t])}({disabled:t,handleId:U,resizeHandler:H,panelGroupElement:F}),(0,p.createElement)(h,{...g,children:e,className:A,id:n,onBlur:()=>{I(!1),null==a||a()},onFocus:()=>{I(!0),null==o||o()},ref:B,role:"separator",style:{touchAction:"none",userSelect:"none",...u},tabIndex:d,[dr.groupDirection]:v,[dr.groupId]:y,[dr.resizeHandle]:"",[dr.resizeHandleActive]:"drag"===k?"pointer":j?"keyboard":void 0,[dr.resizeHandleEnabled]:!t,[dr.resizeHandleId]:U,[dr.resizeHandleState]:k})}d8.displayName="PanelGroup",d9.displayName="forwardRef(PanelGroup)",pA.displayName="PanelResizeHandle";let pt=({className:e,...A})=>(0,d.jsx)(d9,{className:(0,y.cn)("flex h-full w-full data-[panel-group-direction=vertical]:flex-col",e),...A}),pr=({withHandle:e,className:A,...t})=>(0,d.jsx)(pA,{className:(0,y.cn)("group relative flex w-2 mx-1 items-center justify-center bg-transparent hover:bg-border/50 transition-colors after:absolute after:inset-y-0 after:left-1/2 after:w-4 after:-translate-x-1/2 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1 data-[panel-group-direction=vertical]:h-2 data-[panel-group-direction=vertical]:my-1 data-[panel-group-direction=vertical]:mx-0 data-[panel-group-direction=vertical]:w-full data-[panel-group-direction=vertical]:after:left-0 data-[panel-group-direction=vertical]:after:h-4 data-[panel-group-direction=vertical]:after:w-full data-[panel-group-direction=vertical]:after:-translate-y-1/2 data-[panel-group-direction=vertical]:after:translate-x-0 [&[data-panel-group-direction=vertical]>div]:rotate-90 cursor-col-resize data-[panel-group-direction=vertical]:cursor-row-resize",A),...t,children:e&&(0,d.jsx)("div",{className:"z-10 flex h-12 w-1 items-center justify-center rounded-full bg-border/30 hover:bg-border/50 transition-colors opacity-0 group-hover:opacity-100",children:(0,d.jsx)(dA,{className:"h-3 w-3 text-muted-foreground/50"})})});var pn=t(3589);function pa({events:e,onClear:A,onClose:t}){let[r,n]=(0,p.useState)(""),[a,s]=(0,p.useState)(!0),i=(0,p.useRef)(null),[o,l]=(0,p.useState)(!0),c=(0,p.useMemo)(()=>{let A=[],t=null;for(let r of e)"assistant_delta"===r.event||"tool_param_delta"===r.event?t&&t.event===r.event?(t.count=(t.count||1)+1,t.data.all||(t.data={all:[t.data]}),t.data.all.push(r.data)):(t&&A.push(t),t={...r,count:1}):(t&&(A.push(t),t=null),A.push(r));return t&&A.push(t),A},[e]),u=r?c.filter(e=>e.event.toLowerCase().includes(r.toLowerCase())):c,h=e.reduce((e,A)=>(e[A.event]=(e[A.event]||0)+1,e),{});return(0,d.jsxs)("div",{className:"h-full flex flex-col bg-card border border-border rounded-lg overflow-hidden",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between p-3 border-b border-border bg-muted/30 shrink-0",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)(u6,{className:"h-4 w-4 md:hidden"}),t?(0,d.jsxs)("button",{type:"button",onClick:t,"aria-label":"Hide debug panel",className:"relative hidden h-6 w-6 items-center justify-center rounded-sm text-muted-foreground transition-colors hover:text-destructive md:flex group",children:[(0,d.jsx)(u6,{className:"h-4 w-4 transition-opacity group-hover:opacity-0"}),(0,d.jsx)(N.A,{className:"absolute h-3 w-3 opacity-0 transition-opacity group-hover:opacity-100"})]}):(0,d.jsx)(u6,{className:"hidden h-4 w-4 md:inline-flex"}),(0,d.jsx)("span",{className:"font-semibold text-sm",children:"Debug Events"}),(0,d.jsxs)("span",{className:"text-xs text-muted-foreground",children:["(",u.length,"/",e.length,")"]})]}),(0,d.jsxs)("div",{className:"flex items-center gap-1",children:[(0,d.jsx)(Q.$,{variant:"ghost",size:"sm",onClick:()=>{A?.()},className:"h-7 px-2 hover:bg-muted",title:"Clear all events",children:(0,d.jsx)(G,{className:"h-3 w-3"})}),(0,d.jsx)(Q.$,{variant:"ghost",size:"sm",onClick:()=>{let A=new Blob([JSON.stringify(e,null,2)],{type:"application/json"}),t=URL.createObjectURL(A),r=document.createElement("a");r.href=t,r.download=`debug-events-${Date.now()}.json`,r.click(),URL.revokeObjectURL(t)},className:"h-7 px-2 text-xs hover:bg-muted",title:"Export to JSON",children:"Export"})]})]}),(0,d.jsx)("div",{className:"p-2 border-b border-border bg-muted/20 text-xs",children:(0,d.jsx)("div",{className:"flex flex-wrap gap-2",children:Object.entries(h).map(([e,A])=>(0,d.jsxs)("button",{onClick:()=>n(r===e?"":e),className:`px-2 py-1 rounded ${r===e?"bg-primary text-primary-foreground":"bg-muted hover:bg-muted/80"}`,children:[e," (",A,")"]},e))})}),(0,d.jsx)("div",{className:"p-2 border-b border-border",children:(0,d.jsx)("input",{type:"text",placeholder:"Filter events...",value:r,onChange:e=>n(e.target.value),className:"w-full px-2 py-1 text-xs rounded bg-background border border-border"})}),(0,d.jsx)("div",{className:"p-2 border-b border-border flex items-center gap-2",children:(0,d.jsxs)("label",{className:"text-xs flex items-center gap-1 cursor-pointer",children:[(0,d.jsx)("input",{type:"checkbox",checked:o,onChange:e=>l(e.target.checked),className:"rounded"}),"Auto-scroll"]})}),(0,d.jsxs)("div",{className:"flex-1 overflow-y-auto p-2 space-y-1",children:[0===u.length?(0,d.jsx)("div",{className:"text-xs text-muted-foreground text-center p-4",children:"No events yet. Events will appear here as they occur."}):u.map(e=>(0,d.jsx)(ps,{event:e},e.id)),(0,d.jsx)("div",{ref:i})]})]})}function ps({event:e}){var A;let[t,r]=(0,p.useState)(!1),n=new Date(e.timestamp).toLocaleTimeString();return(0,d.jsxs)(l1,{open:t,onOpenChange:r,children:[(0,d.jsx)(l2,{className:"w-full text-left",children:(0,d.jsxs)("div",{className:"flex items-center gap-2 p-1.5 rounded hover:bg-muted/50 text-xs",children:[t?(0,d.jsx)(pn.A,{className:"h-3 w-3"}):(0,d.jsx)(lT.A,{className:"h-3 w-3"}),(0,d.jsx)("span",{className:"text-muted-foreground font-mono",children:n}),(0,d.jsx)("span",{className:`font-semibold ${(A=e.event).includes("error")||A.includes("failed")?"text-red-500":A.includes("retry")?"text-yellow-500":A.includes("completed")||A.includes("success")?"text-green-500":A.includes("tool")?"text-blue-500":A.includes("agent")?"text-purple-500":A.includes("plan")?"text-orange-500":"text-foreground"}`,children:e.event}),e.count&&e.count>1&&(0,d.jsxs)("span",{className:"text-muted-foreground font-mono",children:["(",e.count,")"]})]})}),(0,d.jsx)(l4,{children:(0,d.jsx)("div",{className:"ml-6 p-2 bg-muted/30 rounded text-xs font-mono overflow-x-auto",children:(0,d.jsx)("pre",{children:JSON.stringify(e.data,null,2)})})})]})}var pi=t(5336),po=t(5071);let pl=(0,k.A)("send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]]),pc=(0,k.A)("code",[["path",{d:"m16 18 6-6-6-6",key:"eg8j8"}],["path",{d:"m8 6-6 6 6 6",key:"ppft3o"}]]),pu=(0,k.A)("clipboard-list",[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2",key:"116196"}],["path",{d:"M12 11h4",key:"1jrz19"}],["path",{d:"M12 16h4",key:"n85exb"}],["path",{d:"M8 11h.01",key:"1dfujw"}],["path",{d:"M8 16h.01",key:"18s6g9"}]]),pd=(0,k.A)("bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]]),pp=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,ph=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,pg={};function pf(e,A){return((A||pg).jsx?ph:pp).test(e)}let pm=/[ \t\n\f\r]/g;function pB(e){return""===e.replace(pm,"")}class pw{constructor(e,A,t){this.normal=A,this.property=e,t&&(this.space=t)}}function px(e,A){let t={},r={};for(let A of e)Object.assign(t,A.property),Object.assign(r,A.normal);return new pw(t,r,A)}function pv(e){return e.toLowerCase()}pw.prototype.normal={},pw.prototype.property={},pw.prototype.space=void 0;class py{constructor(e,A){this.attribute=A,this.property=e}}py.prototype.attribute="",py.prototype.booleanish=!1,py.prototype.boolean=!1,py.prototype.commaOrSpaceSeparated=!1,py.prototype.commaSeparated=!1,py.prototype.defined=!1,py.prototype.mustUseProperty=!1,py.prototype.number=!1,py.prototype.overloadedBoolean=!1,py.prototype.property="",py.prototype.spaceSeparated=!1,py.prototype.space=void 0;let pb=0,pC=pI(),pQ=pI(),pF=pI(),pU=pI(),pk=pI(),pE=pI(),pj=pI();function pI(){return 2**++pb}let pH=Object.keys(c);class pS extends py{constructor(e,A,t,r){let n=-1;if(super(e,A),function(e,A,t){t&&(e[A]=t)}(this,"space",r),"number"==typeof t)for(;++n"role"===A?A:"aria-"+A.slice(4).toLowerCase()});function pD(e,A){return A in e?e[A]:A}function pT(e,A){return pD(e,A.toLowerCase())}let pM=pN({attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:pE,acceptCharset:pk,accessKey:pk,action:null,allow:null,allowFullScreen:pC,allowPaymentRequest:pC,allowUserMedia:pC,alt:null,as:null,async:pC,autoCapitalize:null,autoComplete:pk,autoFocus:pC,autoPlay:pC,blocking:pk,capture:null,charSet:null,checked:pC,cite:null,className:pk,cols:pU,colSpan:null,content:null,contentEditable:pQ,controls:pC,controlsList:pk,coords:pU|pE,crossOrigin:null,data:null,dateTime:null,decoding:null,default:pC,defer:pC,dir:null,dirName:null,disabled:pC,download:pF,draggable:pQ,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:pC,formTarget:null,headers:pk,height:pU,hidden:pF,high:pU,href:null,hrefLang:null,htmlFor:pk,httpEquiv:pk,id:null,imageSizes:null,imageSrcSet:null,inert:pC,inputMode:null,integrity:null,is:null,isMap:pC,itemId:null,itemProp:pk,itemRef:pk,itemScope:pC,itemType:pk,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:pC,low:pU,manifest:null,max:null,maxLength:pU,media:null,method:null,min:null,minLength:pU,multiple:pC,muted:pC,name:null,nonce:null,noModule:pC,noValidate:pC,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforeMatch:null,onBeforePrint:null,onBeforeToggle:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextLost:null,onContextMenu:null,onContextRestored:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onScrollEnd:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:pC,optimum:pU,pattern:null,ping:pk,placeholder:null,playsInline:pC,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:pC,referrerPolicy:null,rel:pk,required:pC,reversed:pC,rows:pU,rowSpan:pU,sandbox:pk,scope:null,scoped:pC,seamless:pC,selected:pC,shadowRootClonable:pC,shadowRootDelegatesFocus:pC,shadowRootMode:null,shape:null,size:pU,sizes:null,slot:null,span:pU,spellCheck:pQ,src:null,srcDoc:null,srcLang:null,srcSet:null,start:pU,step:null,style:null,tabIndex:pU,target:null,title:null,translate:null,type:null,typeMustMatch:pC,useMap:null,value:pQ,width:pU,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:pk,axis:null,background:null,bgColor:null,border:pU,borderColor:null,bottomMargin:pU,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:pC,declare:pC,event:null,face:null,frame:null,frameBorder:null,hSpace:pU,leftMargin:pU,link:null,longDesc:null,lowSrc:null,marginHeight:pU,marginWidth:pU,noResize:pC,noHref:pC,noShade:pC,noWrap:pC,object:null,profile:null,prompt:null,rev:null,rightMargin:pU,rules:null,scheme:null,scrolling:pQ,standby:null,summary:null,text:null,topMargin:pU,valueType:null,version:null,vAlign:null,vLink:null,vSpace:pU,allowTransparency:null,autoCorrect:null,autoSave:null,disablePictureInPicture:pC,disableRemotePlayback:pC,prefix:null,property:null,results:pU,security:null,unselectable:null},space:"html",transform:pT}),pK=pN({attributes:{accentHeight:"accent-height",alignmentBaseline:"alignment-baseline",arabicForm:"arabic-form",baselineShift:"baseline-shift",capHeight:"cap-height",className:"class",clipPath:"clip-path",clipRule:"clip-rule",colorInterpolation:"color-interpolation",colorInterpolationFilters:"color-interpolation-filters",colorProfile:"color-profile",colorRendering:"color-rendering",crossOrigin:"crossorigin",dataType:"datatype",dominantBaseline:"dominant-baseline",enableBackground:"enable-background",fillOpacity:"fill-opacity",fillRule:"fill-rule",floodColor:"flood-color",floodOpacity:"flood-opacity",fontFamily:"font-family",fontSize:"font-size",fontSizeAdjust:"font-size-adjust",fontStretch:"font-stretch",fontStyle:"font-style",fontVariant:"font-variant",fontWeight:"font-weight",glyphName:"glyph-name",glyphOrientationHorizontal:"glyph-orientation-horizontal",glyphOrientationVertical:"glyph-orientation-vertical",hrefLang:"hreflang",horizAdvX:"horiz-adv-x",horizOriginX:"horiz-origin-x",horizOriginY:"horiz-origin-y",imageRendering:"image-rendering",letterSpacing:"letter-spacing",lightingColor:"lighting-color",markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",navDown:"nav-down",navDownLeft:"nav-down-left",navDownRight:"nav-down-right",navLeft:"nav-left",navNext:"nav-next",navPrev:"nav-prev",navRight:"nav-right",navUp:"nav-up",navUpLeft:"nav-up-left",navUpRight:"nav-up-right",onAbort:"onabort",onActivate:"onactivate",onAfterPrint:"onafterprint",onBeforePrint:"onbeforeprint",onBegin:"onbegin",onCancel:"oncancel",onCanPlay:"oncanplay",onCanPlayThrough:"oncanplaythrough",onChange:"onchange",onClick:"onclick",onClose:"onclose",onCopy:"oncopy",onCueChange:"oncuechange",onCut:"oncut",onDblClick:"ondblclick",onDrag:"ondrag",onDragEnd:"ondragend",onDragEnter:"ondragenter",onDragExit:"ondragexit",onDragLeave:"ondragleave",onDragOver:"ondragover",onDragStart:"ondragstart",onDrop:"ondrop",onDurationChange:"ondurationchange",onEmptied:"onemptied",onEnd:"onend",onEnded:"onended",onError:"onerror",onFocus:"onfocus",onFocusIn:"onfocusin",onFocusOut:"onfocusout",onHashChange:"onhashchange",onInput:"oninput",onInvalid:"oninvalid",onKeyDown:"onkeydown",onKeyPress:"onkeypress",onKeyUp:"onkeyup",onLoad:"onload",onLoadedData:"onloadeddata",onLoadedMetadata:"onloadedmetadata",onLoadStart:"onloadstart",onMessage:"onmessage",onMouseDown:"onmousedown",onMouseEnter:"onmouseenter",onMouseLeave:"onmouseleave",onMouseMove:"onmousemove",onMouseOut:"onmouseout",onMouseOver:"onmouseover",onMouseUp:"onmouseup",onMouseWheel:"onmousewheel",onOffline:"onoffline",onOnline:"ononline",onPageHide:"onpagehide",onPageShow:"onpageshow",onPaste:"onpaste",onPause:"onpause",onPlay:"onplay",onPlaying:"onplaying",onPopState:"onpopstate",onProgress:"onprogress",onRateChange:"onratechange",onRepeat:"onrepeat",onReset:"onreset",onResize:"onresize",onScroll:"onscroll",onSeeked:"onseeked",onSeeking:"onseeking",onSelect:"onselect",onShow:"onshow",onStalled:"onstalled",onStorage:"onstorage",onSubmit:"onsubmit",onSuspend:"onsuspend",onTimeUpdate:"ontimeupdate",onToggle:"ontoggle",onUnload:"onunload",onVolumeChange:"onvolumechange",onWaiting:"onwaiting",onZoom:"onzoom",overlinePosition:"overline-position",overlineThickness:"overline-thickness",paintOrder:"paint-order",panose1:"panose-1",pointerEvents:"pointer-events",referrerPolicy:"referrerpolicy",renderingIntent:"rendering-intent",shapeRendering:"shape-rendering",stopColor:"stop-color",stopOpacity:"stop-opacity",strikethroughPosition:"strikethrough-position",strikethroughThickness:"strikethrough-thickness",strokeDashArray:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset",strokeLineCap:"stroke-linecap",strokeLineJoin:"stroke-linejoin",strokeMiterLimit:"stroke-miterlimit",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",tabIndex:"tabindex",textAnchor:"text-anchor",textDecoration:"text-decoration",textRendering:"text-rendering",transformOrigin:"transform-origin",typeOf:"typeof",underlinePosition:"underline-position",underlineThickness:"underline-thickness",unicodeBidi:"unicode-bidi",unicodeRange:"unicode-range",unitsPerEm:"units-per-em",vAlphabetic:"v-alphabetic",vHanging:"v-hanging",vIdeographic:"v-ideographic",vMathematical:"v-mathematical",vectorEffect:"vector-effect",vertAdvY:"vert-adv-y",vertOriginX:"vert-origin-x",vertOriginY:"vert-origin-y",wordSpacing:"word-spacing",writingMode:"writing-mode",xHeight:"x-height",playbackOrder:"playbackorder",timelineBegin:"timelinebegin"},properties:{about:pj,accentHeight:pU,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:pU,amplitude:pU,arabicForm:null,ascent:pU,attributeName:null,attributeType:null,azimuth:pU,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:pU,by:null,calcMode:null,capHeight:pU,className:pk,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:pU,diffuseConstant:pU,direction:null,display:null,dur:null,divisor:pU,dominantBaseline:null,download:pC,dx:null,dy:null,edgeMode:null,editable:null,elevation:pU,enableBackground:null,end:null,event:null,exponent:pU,externalResourcesRequired:null,fill:null,fillOpacity:pU,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:pE,g2:pE,glyphName:pE,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:pU,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:pU,horizOriginX:pU,horizOriginY:pU,id:null,ideographic:pU,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:pU,k:pU,k1:pU,k2:pU,k3:pU,k4:pU,kernelMatrix:pj,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:pU,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:pU,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:pU,overlineThickness:pU,paintOrder:null,panose1:null,path:null,pathLength:pU,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:pk,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:pU,pointsAtY:pU,pointsAtZ:pU,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:pj,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:pj,rev:pj,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:pj,requiredFeatures:pj,requiredFonts:pj,requiredFormats:pj,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:pU,specularExponent:pU,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:pU,strikethroughThickness:pU,string:null,stroke:null,strokeDashArray:pj,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:pU,strokeOpacity:pU,strokeWidth:null,style:null,surfaceScale:pU,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:pj,tabIndex:pU,tableValues:null,target:null,targetX:pU,targetY:pU,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:pj,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:pU,underlineThickness:pU,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:pU,values:null,vAlphabetic:pU,vMathematical:pU,vectorEffect:null,vHanging:pU,vIdeographic:pU,version:null,vertAdvY:pU,vertOriginX:pU,vertOriginY:pU,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:pU,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null},space:"svg",transform:pD}),pR=pN({properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null},space:"xlink",transform:(e,A)=>"xlink:"+A.slice(5).toLowerCase()}),pP=pN({attributes:{xmlnsxlink:"xmlns:xlink"},properties:{xmlnsXLink:null,xmlns:null},space:"xmlns",transform:pT}),pO=pN({properties:{xmlBase:null,xmlLang:null,xmlSpace:null},space:"xml",transform:(e,A)=>"xml:"+A.slice(3).toLowerCase()}),pV=px([pL,pM,pR,pP,pO],"html"),pG=px([pL,pK,pR,pP,pO],"svg"),pz=/[A-Z]/g,pq=/-[a-z]/g,pW=/^data[-\w.:]+$/i;function pJ(e){return"-"+e.toLowerCase()}function pX(e){return e.charAt(1).toUpperCase()}let p_={classId:"classID",dataType:"datatype",itemId:"itemID",strokeDashArray:"strokeDasharray",strokeDashOffset:"strokeDashoffset",strokeLineCap:"strokeLinecap",strokeLineJoin:"strokeLinejoin",strokeMiterLimit:"strokeMiterlimit",typeOf:"typeof",xLinkActuate:"xlinkActuate",xLinkArcRole:"xlinkArcrole",xLinkHref:"xlinkHref",xLinkRole:"xlinkRole",xLinkShow:"xlinkShow",xLinkTitle:"xlinkTitle",xLinkType:"xlinkType",xmlnsXLink:"xmlnsXlink"};var pY=t(8739);let p$=p0("end"),pZ=p0("start");function p0(e){return function(A){let t=A&&A.position&&A.position[e]||{};if("number"==typeof t.line&&t.line>0&&"number"==typeof t.column&&t.column>0)return{line:t.line,column:t.column,offset:"number"==typeof t.offset&&t.offset>-1?t.offset:void 0}}}function p1(e){return e&&"object"==typeof e?"position"in e||"type"in e?p4(e.position):"start"in e||"end"in e?p4(e):"line"in e||"column"in e?p2(e):"":""}function p2(e){return p3(e&&e.line)+":"+p3(e&&e.column)}function p4(e){return p2(e&&e.start)+"-"+p2(e&&e.end)}function p3(e){return e&&"number"==typeof e?e:1}class p5 extends Error{constructor(e,A,t){super(),"string"==typeof A&&(t=A,A=void 0);let r="",n={},a=!1;if(A&&(n="line"in A&&"column"in A||"start"in A&&"end"in A?{place:A}:"type"in A?{ancestors:[A],place:A.position}:{...A}),"string"==typeof e?r=e:!n.cause&&e&&(a=!0,r=e.message,n.cause=e),!n.ruleId&&!n.source&&"string"==typeof t){let e=t.indexOf(":");-1===e?n.ruleId=t:(n.source=t.slice(0,e),n.ruleId=t.slice(e+1))}if(!n.place&&n.ancestors&&n.ancestors){let e=n.ancestors[n.ancestors.length-1];e&&(n.place=e.position)}let s=n.place&&"start"in n.place?n.place.start:n.place;this.ancestors=n.ancestors||void 0,this.cause=n.cause||void 0,this.column=s?s.column:void 0,this.fatal=void 0,this.file="",this.message=r,this.line=s?s.line:void 0,this.name=p1(n.place)||"1:1",this.place=n.place||void 0,this.reason=this.message,this.ruleId=n.ruleId||void 0,this.source=n.source||void 0,this.stack=a&&n.cause&&"string"==typeof n.cause.stack?n.cause.stack:"",this.actual=void 0,this.expected=void 0,this.note=void 0,this.url=void 0}}p5.prototype.file="",p5.prototype.name="",p5.prototype.reason="",p5.prototype.message="",p5.prototype.stack="",p5.prototype.column=void 0,p5.prototype.line=void 0,p5.prototype.ancestors=void 0,p5.prototype.cause=void 0,p5.prototype.fatal=void 0,p5.prototype.place=void 0,p5.prototype.ruleId=void 0,p5.prototype.source=void 0;let p6={}.hasOwnProperty,p8=new Map,p9=/[A-Z]/g,p7=new Set(["table","tbody","thead","tfoot","tr"]),he=new Set(["td","th"]),hA="https://github.com/syntax-tree/hast-util-to-jsx-runtime";function ht(e,A,t){var r;return"element"===A.type?function(e,A,t){let r=e.schema,n=r;"svg"===A.tagName.toLowerCase()&&"html"===r.space&&(e.schema=pG),e.ancestors.push(A);let a=hs(e,A.tagName,!1),s=function(e,A){let t,r,n={};for(r in A.properties)if("children"!==r&&p6.call(A.properties,r)){let a=function(e,A,t){let r=function(e,A){let t=pv(A),r=A,n=py;if(t in e.normal)return e.property[e.normal[t]];if(t.length>4&&"data"===t.slice(0,4)&&pW.test(A)){if("-"===A.charAt(4)){let e=A.slice(5).replace(pq,pX);r="data"+e.charAt(0).toUpperCase()+e.slice(1)}else{let e=A.slice(4);if(!pq.test(e)){let t=e.replace(pz,pJ);"-"!==t.charAt(0)&&(t="-"+t),A="data"+t}}n=pS}return new n(r,A)}(e.schema,A);if(!(null==t||"number"==typeof t&&Number.isNaN(t))){if(Array.isArray(t)&&(t=r.commaSeparated?function(e,A){let t={};return(""===e[e.length-1]?[...e,""]:e).join((t.padRight?" ":"")+","+(!1===t.padLeft?"":" ")).trim()}(t):t.join(" ").trim()),"style"===r.property){let A="object"==typeof t?t:function(e,A){try{return pY(A,{reactCompat:!0})}catch(t){if(e.ignoreInvalidStyle)return{};let A=new p5("Cannot parse `style` attribute",{ancestors:e.ancestors,cause:t,ruleId:"style",source:"hast-util-to-jsx-runtime"});throw A.file=e.filePath||void 0,A.url=hA+"#cannot-parse-style-attribute",A}}(e,String(t));return"css"===e.stylePropertyNameCase&&(A=function(e){let A,t={};for(A in e)p6.call(e,A)&&(t[function(e){let A=e.replace(p9,ho);return"ms-"===A.slice(0,3)&&(A="-"+A),A}(A)]=e[A]);return t}(A)),["style",A]}return["react"===e.elementAttributeNameCase&&r.space?p_[r.property]||r.property:r.attribute,t]}}(e,r,A.properties[r]);if(a){let[r,s]=a;e.tableCellAlignToStyle&&"align"===r&&"string"==typeof s&&he.has(A.tagName)?t=s:n[r]=s}}return t&&((n.style||(n.style={}))["css"===e.stylePropertyNameCase?"text-align":"textAlign"]=t),n}(e,A),i=ha(e,A);return p7.has(A.tagName)&&(i=i.filter(function(e){return"string"!=typeof e||!("object"==typeof e?"text"===e.type&&pB(e.value):pB(e))})),hr(e,s,a,A),hn(s,i),e.ancestors.pop(),e.schema=r,e.create(A,a,s,t)}(e,A,t):"mdxFlowExpression"===A.type||"mdxTextExpression"===A.type?function(e,A){if(A.data&&A.data.estree&&e.evaluater){let t=A.data.estree.body[0];return t.type,e.evaluater.evaluateExpression(t.expression)}hi(e,A.position)}(e,A):"mdxJsxFlowElement"===A.type||"mdxJsxTextElement"===A.type?function(e,A,t){let r=e.schema,n=r;"svg"===A.name&&"html"===r.space&&(e.schema=pG),e.ancestors.push(A);let a=null===A.name?e.Fragment:hs(e,A.name,!0),s=function(e,A){let t={};for(let r of A.attributes)if("mdxJsxExpressionAttribute"===r.type)if(r.data&&r.data.estree&&e.evaluater){let A=r.data.estree.body[0];A.type;let n=A.expression;n.type;let a=n.properties[0];a.type,Object.assign(t,e.evaluater.evaluateExpression(a.argument))}else hi(e,A.position);else{let n,a=r.name;if(r.value&&"object"==typeof r.value)if(r.value.data&&r.value.data.estree&&e.evaluater){let A=r.value.data.estree.body[0];A.type,n=e.evaluater.evaluateExpression(A.expression)}else hi(e,A.position);else n=null===r.value||r.value;t[a]=n}return t}(e,A),i=ha(e,A);return hr(e,s,a,A),hn(s,i),e.ancestors.pop(),e.schema=r,e.create(A,a,s,t)}(e,A,t):"mdxjsEsm"===A.type?function(e,A){if(A.data&&A.data.estree&&e.evaluater)return e.evaluater.evaluateProgram(A.data.estree);hi(e,A.position)}(e,A):"root"===A.type?function(e,A,t){let r={};return hn(r,ha(e,A)),e.create(A,e.Fragment,r,t)}(e,A,t):"text"===A.type?(r=0,A.value):void 0}function hr(e,A,t,r){"string"!=typeof t&&t!==e.Fragment&&e.passNode&&(A.node=r)}function hn(e,A){if(A.length>0){let t=A.length>1?A:A[0];t&&(e.children=t)}}function ha(e,A){let t=[],r=-1,n=e.passKeys?new Map:p8;for(;++ra?0:a+A:A>a?a:A,t=t>0?t:0,r.length<1e4)(n=Array.from(r)).unshift(A,t),e.splice(...n);else for(t&&e.splice(A,t);s0?(hp(e,e.length,0,A),e):A}class hg{constructor(e){this.left=e?[...e]:[],this.right=[]}get(e){if(e<0||e>=this.left.length+this.right.length)throw RangeError("Cannot access index `"+e+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return ethis.left.length?this.right.slice(this.right.length-t+this.left.length,this.right.length-e+this.left.length).reverse():this.left.slice(e).concat(this.right.slice(this.right.length-t+this.left.length).reverse())}splice(e,A,t){this.setCursor(Math.trunc(e));let r=this.right.splice(this.right.length-(A||0),Number.POSITIVE_INFINITY);return t&&hf(this.left,t),r.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(e){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(e)}pushMany(e){this.setCursor(Number.POSITIVE_INFINITY),hf(this.left,e)}unshift(e){this.setCursor(0),this.right.push(e)}unshiftMany(e){this.setCursor(0),hf(this.right,e.reverse())}setCursor(e){if(e!==this.left.length&&(!(e>this.left.length)||0!==this.right.length)&&(!(e<0)||0!==this.left.length))if(e-1&&e.test(String.fromCharCode(A))}}function hH(e,A,t,r){let n=r?r-1:Number.POSITIVE_INFINITY,a=0;return function(r){return hk(r)?(e.enter(t),function r(s){return hk(s)&&a++r))return;let i=n.events.length,o=i;for(;o--;)if("exit"===n.events[o][0]&&"chunkFlow"===n.events[o][1].type){if(e){t=n.events[o][1].end;break}e=!0}for(f(s),a=i;aA;){let A=a[t];n.containerState=A[1],A[0].exit.call(n,e)}a.length=A}function m(){A.write([null]),t=void 0,A=void 0,n.containerState._closeFlow=void 0}}},hL={tokenize:function(e,A,t){return hH(e,e.attempt(this.parser.constructs.document,A,t),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}},hD={partial:!0,tokenize:function(e,A,t){return function(A){return hk(A)?hH(e,r,"linePrefix")(A):r(A)};function r(e){return null===e||hF(e)?A(e):t(e)}}},hT={resolve:function(e){return hm(e),e},tokenize:function(e,A){let t;return function(A){return e.enter("content"),t=e.enter("chunkContent",{contentType:"content"}),r(A)};function r(A){return null===A?n(A):hF(A)?e.check(hM,a,n)(A):(e.consume(A),r)}function n(t){return e.exit("chunkContent"),e.exit("content"),A(t)}function a(A){return e.consume(A),e.exit("chunkContent"),t.next=e.enter("chunkContent",{contentType:"content",previous:t}),t=t.next,r}}},hM={partial:!0,tokenize:function(e,A,t){let r=this;return function(A){return e.exit("chunkContent"),e.enter("lineEnding"),e.consume(A),e.exit("lineEnding"),hH(e,n,"linePrefix")};function n(n){if(null===n||hF(n))return t(n);let a=r.events[r.events.length-1];return!r.parser.constructs.disable.null.includes("codeIndented")&&a&&"linePrefix"===a[1].type&&a[2].sliceSerialize(a[1],!0).length>=4?A(n):e.interrupt(r.parser.constructs.flow,t,A)(n)}}},hK={tokenize:function(e){let A=this,t=e.attempt(hD,function(r){return null===r?void e.consume(r):(e.enter("lineEndingBlank"),e.consume(r),e.exit("lineEndingBlank"),A.currentConstruct=void 0,t)},e.attempt(this.parser.constructs.flowInitial,r,hH(e,e.attempt(this.parser.constructs.flow,r,e.attempt(hT,r)),"linePrefix")));return t;function r(r){return null===r?void e.consume(r):(e.enter("lineEnding"),e.consume(r),e.exit("lineEnding"),A.currentConstruct=void 0,t)}}},hR={resolveAll:hG()},hP=hV("string"),hO=hV("text");function hV(e){return{resolveAll:hG("text"===e?hz:void 0),tokenize:function(A){let t=this,r=this.parser.constructs[e],n=A.attempt(r,a,s);return a;function a(e){return o(e)?n(e):s(e)}function s(e){return null===e?void A.consume(e):(A.enter("data"),A.consume(e),i)}function i(e){return o(e)?(A.exit("data"),n(e)):(A.consume(e),i)}function o(e){if(null===e)return!0;let A=r[e],n=-1;if(A)for(;++n=3&&(null===s||hF(s))?(e.exit("thematicBreak"),A(s)):t(s)}(s)}}},hW={continuation:{tokenize:function(e,A,t){let r=this;return r.containerState._closeFlow=void 0,e.check(hD,function(t){return r.containerState.furtherBlankLines=r.containerState.furtherBlankLines||r.containerState.initialBlankLine,hH(e,A,"listItemIndent",r.containerState.size+1)(t)},function(t){return r.containerState.furtherBlankLines||!hk(t)?(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,n(t)):(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,e.attempt(hX,A,n)(t))});function n(n){return r.containerState._closeFlow=!0,r.interrupt=void 0,hH(e,e.attempt(hW,A,t),"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(n)}}},exit:function(e){e.exit(this.containerState.type)},name:"list",tokenize:function(e,A,t){let r=this,n=r.events[r.events.length-1],a=n&&"linePrefix"===n[1].type?n[2].sliceSerialize(n[1],!0).length:0,s=0;return function(A){let n=r.containerState.type||(42===A||43===A||45===A?"listUnordered":"listOrdered");if("listUnordered"===n?!r.containerState.marker||A===r.containerState.marker:hb(A)){if(r.containerState.type||(r.containerState.type=n,e.enter(n,{_container:!0})),"listUnordered"===n)return e.enter("listItemPrefix"),42===A||45===A?e.check(hq,t,i)(A):i(A);if(!r.interrupt||49===A)return e.enter("listItemPrefix"),e.enter("listItemValue"),function A(n){return hb(n)&&++s<10?(e.consume(n),A):(!r.interrupt||s<2)&&(r.containerState.marker?n===r.containerState.marker:41===n||46===n)?(e.exit("listItemValue"),i(n)):t(n)}(A)}return t(A)};function i(A){return e.enter("listItemMarker"),e.consume(A),e.exit("listItemMarker"),r.containerState.marker=r.containerState.marker||A,e.check(hD,r.interrupt?t:o,e.attempt(hJ,c,l))}function o(e){return r.containerState.initialBlankLine=!0,a++,c(e)}function l(A){return hk(A)?(e.enter("listItemPrefixWhitespace"),e.consume(A),e.exit("listItemPrefixWhitespace"),c):t(A)}function c(t){return r.containerState.size=a+r.sliceSerialize(e.exit("listItemPrefix"),!0).length,A(t)}}},hJ={partial:!0,tokenize:function(e,A,t){let r=this;return hH(e,function(e){let n=r.events[r.events.length-1];return!hk(e)&&n&&"listItemPrefixWhitespace"===n[1].type?A(e):t(e)},"listItemPrefixWhitespace",r.parser.constructs.disable.null.includes("codeIndented")?void 0:5)}},hX={partial:!0,tokenize:function(e,A,t){let r=this;return hH(e,function(e){let n=r.events[r.events.length-1];return n&&"listItemIndent"===n[1].type&&n[2].sliceSerialize(n[1],!0).length===r.containerState.size?A(e):t(e)},"listItemIndent",r.containerState.size+1)}},h_={continuation:{tokenize:function(e,A,t){let r=this;return function(A){return hk(A)?hH(e,n,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(A):n(A)};function n(r){return e.attempt(h_,A,t)(r)}}},exit:function(e){e.exit("blockQuote")},name:"blockQuote",tokenize:function(e,A,t){let r=this;return function(A){if(62===A){let t=r.containerState;return t.open||(e.enter("blockQuote",{_container:!0}),t.open=!0),e.enter("blockQuotePrefix"),e.enter("blockQuoteMarker"),e.consume(A),e.exit("blockQuoteMarker"),n}return t(A)};function n(t){return hk(t)?(e.enter("blockQuotePrefixWhitespace"),e.consume(t),e.exit("blockQuotePrefixWhitespace"),e.exit("blockQuotePrefix"),A):(e.exit("blockQuotePrefix"),A(t))}}};function hY(e,A,t,r,n,a,s,i,o){let l=o||Number.POSITIVE_INFINITY,c=0;return function(A){return 60===A?(e.enter(r),e.enter(n),e.enter(a),e.consume(A),e.exit(a),u):null===A||32===A||41===A||hy(A)?t(A):(e.enter(r),e.enter(s),e.enter(i),e.enter("chunkString",{contentType:"string"}),h(A))};function u(t){return 62===t?(e.enter(a),e.consume(t),e.exit(a),e.exit(n),e.exit(r),A):(e.enter(i),e.enter("chunkString",{contentType:"string"}),d(t))}function d(A){return 62===A?(e.exit("chunkString"),e.exit(i),u(A)):null===A||60===A||hF(A)?t(A):(e.consume(A),92===A?p:d)}function p(A){return 60===A||62===A||92===A?(e.consume(A),d):d(A)}function h(n){return!c&&(null===n||41===n||hU(n))?(e.exit("chunkString"),e.exit(i),e.exit(s),e.exit(r),A(n)):c999||null===u||91===u||93===u&&!s||94===u&&!o&&"_hiddenFootnoteSupport"in i.parser.constructs?t(u):93===u?(e.exit(a),e.enter(n),e.consume(u),e.exit(n),e.exit(r),A):hF(u)?(e.enter("lineEnding"),e.consume(u),e.exit("lineEnding"),l):(e.enter("chunkString",{contentType:"string"}),c(u))}function c(A){return null===A||91===A||93===A||hF(A)||o++>999?(e.exit("chunkString"),l(A)):(e.consume(A),s||(s=!hk(A)),92===A?u:c)}function u(A){return 91===A||92===A||93===A?(e.consume(A),o++,c):c(A)}}function hZ(e,A,t,r,n,a){let s;return function(A){return 34===A||39===A||40===A?(e.enter(r),e.enter(n),e.consume(A),e.exit(n),s=40===A?41:A,i):t(A)};function i(t){return t===s?(e.enter(n),e.consume(t),e.exit(n),e.exit(r),A):(e.enter(a),o(t))}function o(A){return A===s?(e.exit(a),i(s)):null===A?t(A):hF(A)?(e.enter("lineEnding"),e.consume(A),e.exit("lineEnding"),hH(e,o,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),l(A))}function l(A){return A===s||null===A||hF(A)?(e.exit("chunkString"),o(A)):(e.consume(A),92===A?c:l)}function c(A){return A===s||92===A?(e.consume(A),l):l(A)}}function h0(e,A){let t;return function r(n){return hF(n)?(e.enter("lineEnding"),e.consume(n),e.exit("lineEnding"),t=!0,r):hk(n)?hH(e,r,t?"linePrefix":"lineSuffix")(n):A(n)}}function h1(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}let h2={partial:!0,tokenize:function(e,A,t){return function(A){return hU(A)?h0(e,r)(A):t(A)};function r(A){return hZ(e,n,t,"definitionTitle","definitionTitleMarker","definitionTitleString")(A)}function n(A){return hk(A)?hH(e,a,"whitespace")(A):a(A)}function a(e){return null===e||hF(e)?A(e):t(e)}}},h4={name:"codeIndented",tokenize:function(e,A,t){let r=this;return function(A){return e.enter("codeIndented"),hH(e,n,"linePrefix",5)(A)};function n(A){let n=r.events[r.events.length-1];return n&&"linePrefix"===n[1].type&&n[2].sliceSerialize(n[1],!0).length>=4?function A(t){return null===t?a(t):hF(t)?e.attempt(h3,A,a)(t):(e.enter("codeFlowValue"),function t(r){return null===r||hF(r)?(e.exit("codeFlowValue"),A(r)):(e.consume(r),t)}(t))}(A):t(A)}function a(t){return e.exit("codeIndented"),A(t)}}},h3={partial:!0,tokenize:function(e,A,t){let r=this;return n;function n(A){return r.parser.lazy[r.now().line]?t(A):hF(A)?(e.enter("lineEnding"),e.consume(A),e.exit("lineEnding"),n):hH(e,a,"linePrefix",5)(A)}function a(e){let a=r.events[r.events.length-1];return a&&"linePrefix"===a[1].type&&a[2].sliceSerialize(a[1],!0).length>=4?A(e):hF(e)?n(e):t(e)}}},h5={name:"setextUnderline",resolveTo:function(e,A){let t,r,n,a=e.length;for(;a--;)if("enter"===e[a][0]){if("content"===e[a][1].type){t=a;break}"paragraph"===e[a][1].type&&(r=a)}else"content"===e[a][1].type&&e.splice(a,1),n||"definition"!==e[a][1].type||(n=a);let s={type:"setextHeading",start:{...e[t][1].start},end:{...e[e.length-1][1].end}};return e[r][1].type="setextHeadingText",n?(e.splice(r,0,["enter",s,A]),e.splice(n+1,0,["exit",e[t][1],A]),e[t][1].end={...e[n][1].end}):e[t][1]=s,e.push(["exit",s,A]),e},tokenize:function(e,A,t){let r,n=this;return function(A){var s;let i,o=n.events.length;for(;o--;)if("lineEnding"!==n.events[o][1].type&&"linePrefix"!==n.events[o][1].type&&"content"!==n.events[o][1].type){i="paragraph"===n.events[o][1].type;break}return!n.parser.lazy[n.now().line]&&(n.interrupt||i)?(e.enter("setextHeadingLine"),r=A,s=A,e.enter("setextHeadingLineSequence"),function A(t){return t===r?(e.consume(t),A):(e.exit("setextHeadingLineSequence"),hk(t)?hH(e,a,"lineSuffix")(t):a(t))}(s)):t(A)};function a(r){return null===r||hF(r)?(e.exit("setextHeadingLine"),A(r)):t(r)}}},h6=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],h8=["pre","script","style","textarea"],h9={partial:!0,tokenize:function(e,A,t){return function(r){return e.enter("lineEnding"),e.consume(r),e.exit("lineEnding"),e.attempt(hD,A,t)}}},h7={partial:!0,tokenize:function(e,A,t){let r=this;return function(A){return hF(A)?(e.enter("lineEnding"),e.consume(A),e.exit("lineEnding"),n):t(A)};function n(e){return r.parser.lazy[r.now().line]?t(e):A(e)}}},ge={partial:!0,tokenize:function(e,A,t){let r=this;return function(A){return null===A?t(A):(e.enter("lineEnding"),e.consume(A),e.exit("lineEnding"),n)};function n(e){return r.parser.lazy[r.now().line]?t(e):A(e)}}},gA={concrete:!0,name:"codeFenced",tokenize:function(e,A,t){let r,n=this,a={partial:!0,tokenize:function(e,A,t){let a=0;return function(A){return e.enter("lineEnding"),e.consume(A),e.exit("lineEnding"),s};function s(A){return e.enter("codeFencedFence"),hk(A)?hH(e,o,"linePrefix",n.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(A):o(A)}function o(A){return A===r?(e.enter("codeFencedFenceSequence"),function A(n){return n===r?(a++,e.consume(n),A):a>=i?(e.exit("codeFencedFenceSequence"),hk(n)?hH(e,l,"whitespace")(n):l(n)):t(n)}(A)):t(A)}function l(r){return null===r||hF(r)?(e.exit("codeFencedFence"),A(r)):t(r)}}},s=0,i=0;return function(A){var a=A;let l=n.events[n.events.length-1];return s=l&&"linePrefix"===l[1].type?l[2].sliceSerialize(l[1],!0).length:0,r=a,e.enter("codeFenced"),e.enter("codeFencedFence"),e.enter("codeFencedFenceSequence"),function A(n){return n===r?(i++,e.consume(n),A):i<3?t(n):(e.exit("codeFencedFenceSequence"),hk(n)?hH(e,o,"whitespace")(n):o(n))}(a)};function o(a){return null===a||hF(a)?(e.exit("codeFencedFence"),n.interrupt?A(a):e.check(ge,c,h)(a)):(e.enter("codeFencedFenceInfo"),e.enter("chunkString",{contentType:"string"}),function A(n){return null===n||hF(n)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),o(n)):hk(n)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),hH(e,l,"whitespace")(n)):96===n&&n===r?t(n):(e.consume(n),A)}(a))}function l(A){return null===A||hF(A)?o(A):(e.enter("codeFencedFenceMeta"),e.enter("chunkString",{contentType:"string"}),function A(n){return null===n||hF(n)?(e.exit("chunkString"),e.exit("codeFencedFenceMeta"),o(n)):96===n&&n===r?t(n):(e.consume(n),A)}(A))}function c(A){return e.attempt(a,h,u)(A)}function u(A){return e.enter("lineEnding"),e.consume(A),e.exit("lineEnding"),d}function d(A){return s>0&&hk(A)?hH(e,p,"linePrefix",s+1)(A):p(A)}function p(A){return null===A||hF(A)?e.check(ge,c,h)(A):(e.enter("codeFlowValue"),function A(t){return null===t||hF(t)?(e.exit("codeFlowValue"),p(t)):(e.consume(t),A)}(A))}function h(t){return e.exit("codeFenced"),A(t)}}},gt={AElig:"\xc6",AMP:"&",Aacute:"\xc1",Abreve:"Ă",Acirc:"\xc2",Acy:"А",Afr:"\uD835\uDD04",Agrave:"\xc0",Alpha:"Α",Amacr:"Ā",And:"⩓",Aogon:"Ą",Aopf:"\uD835\uDD38",ApplyFunction:"⁡",Aring:"\xc5",Ascr:"\uD835\uDC9C",Assign:"≔",Atilde:"\xc3",Auml:"\xc4",Backslash:"∖",Barv:"⫧",Barwed:"⌆",Bcy:"Б",Because:"∵",Bernoullis:"ℬ",Beta:"Β",Bfr:"\uD835\uDD05",Bopf:"\uD835\uDD39",Breve:"˘",Bscr:"ℬ",Bumpeq:"≎",CHcy:"Ч",COPY:"\xa9",Cacute:"Ć",Cap:"⋒",CapitalDifferentialD:"ⅅ",Cayleys:"ℭ",Ccaron:"Č",Ccedil:"\xc7",Ccirc:"Ĉ",Cconint:"∰",Cdot:"Ċ",Cedilla:"\xb8",CenterDot:"\xb7",Cfr:"ℭ",Chi:"Χ",CircleDot:"⊙",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",Colon:"∷",Colone:"⩴",Congruent:"≡",Conint:"∯",ContourIntegral:"∮",Copf:"ℂ",Coproduct:"∐",CounterClockwiseContourIntegral:"∳",Cross:"⨯",Cscr:"\uD835\uDC9E",Cup:"⋓",CupCap:"≍",DD:"ⅅ",DDotrahd:"⤑",DJcy:"Ђ",DScy:"Ѕ",DZcy:"Џ",Dagger:"‡",Darr:"↡",Dashv:"⫤",Dcaron:"Ď",Dcy:"Д",Del:"∇",Delta:"Δ",Dfr:"\uD835\uDD07",DiacriticalAcute:"\xb4",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",Diamond:"⋄",DifferentialD:"ⅆ",Dopf:"\uD835\uDD3B",Dot:"\xa8",DotDot:"⃜",DotEqual:"≐",DoubleContourIntegral:"∯",DoubleDot:"\xa8",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrow:"↓",DownArrowBar:"⤓",DownArrowUpArrow:"⇵",DownBreve:"̑",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVector:"↽",DownLeftVectorBar:"⥖",DownRightTeeVector:"⥟",DownRightVector:"⇁",DownRightVectorBar:"⥗",DownTee:"⊤",DownTeeArrow:"↧",Downarrow:"⇓",Dscr:"\uD835\uDC9F",Dstrok:"Đ",ENG:"Ŋ",ETH:"\xd0",Eacute:"\xc9",Ecaron:"Ě",Ecirc:"\xca",Ecy:"Э",Edot:"Ė",Efr:"\uD835\uDD08",Egrave:"\xc8",Element:"∈",Emacr:"Ē",EmptySmallSquare:"◻",EmptyVerySmallSquare:"▫",Eogon:"Ę",Eopf:"\uD835\uDD3C",Epsilon:"Ε",Equal:"⩵",EqualTilde:"≂",Equilibrium:"⇌",Escr:"ℰ",Esim:"⩳",Eta:"Η",Euml:"\xcb",Exists:"∃",ExponentialE:"ⅇ",Fcy:"Ф",Ffr:"\uD835\uDD09",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",Fopf:"\uD835\uDD3D",ForAll:"∀",Fouriertrf:"ℱ",Fscr:"ℱ",GJcy:"Ѓ",GT:">",Gamma:"Γ",Gammad:"Ϝ",Gbreve:"Ğ",Gcedil:"Ģ",Gcirc:"Ĝ",Gcy:"Г",Gdot:"Ġ",Gfr:"\uD835\uDD0A",Gg:"⋙",Gopf:"\uD835\uDD3E",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"\uD835\uDCA2",Gt:"≫",HARDcy:"Ъ",Hacek:"ˇ",Hat:"^",Hcirc:"Ĥ",Hfr:"ℌ",HilbertSpace:"ℋ",Hopf:"ℍ",HorizontalLine:"─",Hscr:"ℋ",Hstrok:"Ħ",HumpDownHump:"≎",HumpEqual:"≏",IEcy:"Е",IJlig:"IJ",IOcy:"Ё",Iacute:"\xcd",Icirc:"\xce",Icy:"И",Idot:"İ",Ifr:"ℑ",Igrave:"\xcc",Im:"ℑ",Imacr:"Ī",ImaginaryI:"ⅈ",Implies:"⇒",Int:"∬",Integral:"∫",Intersection:"⋂",InvisibleComma:"⁣",InvisibleTimes:"⁢",Iogon:"Į",Iopf:"\uD835\uDD40",Iota:"Ι",Iscr:"ℐ",Itilde:"Ĩ",Iukcy:"І",Iuml:"\xcf",Jcirc:"Ĵ",Jcy:"Й",Jfr:"\uD835\uDD0D",Jopf:"\uD835\uDD41",Jscr:"\uD835\uDCA5",Jsercy:"Ј",Jukcy:"Є",KHcy:"Х",KJcy:"Ќ",Kappa:"Κ",Kcedil:"Ķ",Kcy:"К",Kfr:"\uD835\uDD0E",Kopf:"\uD835\uDD42",Kscr:"\uD835\uDCA6",LJcy:"Љ",LT:"<",Lacute:"Ĺ",Lambda:"Λ",Lang:"⟪",Laplacetrf:"ℒ",Larr:"↞",Lcaron:"Ľ",Lcedil:"Ļ",Lcy:"Л",LeftAngleBracket:"⟨",LeftArrow:"←",LeftArrowBar:"⇤",LeftArrowRightArrow:"⇆",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVector:"⇃",LeftDownVectorBar:"⥙",LeftFloor:"⌊",LeftRightArrow:"↔",LeftRightVector:"⥎",LeftTee:"⊣",LeftTeeArrow:"↤",LeftTeeVector:"⥚",LeftTriangle:"⊲",LeftTriangleBar:"⧏",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVector:"↿",LeftUpVectorBar:"⥘",LeftVector:"↼",LeftVectorBar:"⥒",Leftarrow:"⇐",Leftrightarrow:"⇔",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",LessLess:"⪡",LessSlantEqual:"⩽",LessTilde:"≲",Lfr:"\uD835\uDD0F",Ll:"⋘",Lleftarrow:"⇚",Lmidot:"Ŀ",LongLeftArrow:"⟵",LongLeftRightArrow:"⟷",LongRightArrow:"⟶",Longleftarrow:"⟸",Longleftrightarrow:"⟺",Longrightarrow:"⟹",Lopf:"\uD835\uDD43",LowerLeftArrow:"↙",LowerRightArrow:"↘",Lscr:"ℒ",Lsh:"↰",Lstrok:"Ł",Lt:"≪",Map:"⤅",Mcy:"М",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"\uD835\uDD10",MinusPlus:"∓",Mopf:"\uD835\uDD44",Mscr:"ℳ",Mu:"Μ",NJcy:"Њ",Nacute:"Ń",Ncaron:"Ň",Ncedil:"Ņ",Ncy:"Н",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",Nfr:"\uD835\uDD11",NoBreak:"⁠",NonBreakingSpace:"\xa0",Nopf:"ℕ",Not:"⫬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",NotLeftTriangle:"⋪",NotLeftTriangleBar:"⧏̸",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangle:"⋫",NotRightTriangleBar:"⧐̸",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",Nscr:"\uD835\uDCA9",Ntilde:"\xd1",Nu:"Ν",OElig:"Œ",Oacute:"\xd3",Ocirc:"\xd4",Ocy:"О",Odblac:"Ő",Ofr:"\uD835\uDD12",Ograve:"\xd2",Omacr:"Ō",Omega:"Ω",Omicron:"Ο",Oopf:"\uD835\uDD46",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",Or:"⩔",Oscr:"\uD835\uDCAA",Oslash:"\xd8",Otilde:"\xd5",Otimes:"⨷",Ouml:"\xd6",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",PartialD:"∂",Pcy:"П",Pfr:"\uD835\uDD13",Phi:"Φ",Pi:"Π",PlusMinus:"\xb1",Poincareplane:"ℌ",Popf:"ℙ",Pr:"⪻",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",Prime:"″",Product:"∏",Proportion:"∷",Proportional:"∝",Pscr:"\uD835\uDCAB",Psi:"Ψ",QUOT:'"',Qfr:"\uD835\uDD14",Qopf:"ℚ",Qscr:"\uD835\uDCAC",RBarr:"⤐",REG:"\xae",Racute:"Ŕ",Rang:"⟫",Rarr:"↠",Rarrtl:"⤖",Rcaron:"Ř",Rcedil:"Ŗ",Rcy:"Р",Re:"ℜ",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",Rfr:"ℜ",Rho:"Ρ",RightAngleBracket:"⟩",RightArrow:"→",RightArrowBar:"⇥",RightArrowLeftArrow:"⇄",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVector:"⇂",RightDownVectorBar:"⥕",RightFloor:"⌋",RightTee:"⊢",RightTeeArrow:"↦",RightTeeVector:"⥛",RightTriangle:"⊳",RightTriangleBar:"⧐",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVector:"↾",RightUpVectorBar:"⥔",RightVector:"⇀",RightVectorBar:"⥓",Rightarrow:"⇒",Ropf:"ℝ",RoundImplies:"⥰",Rrightarrow:"⇛",Rscr:"ℛ",Rsh:"↱",RuleDelayed:"⧴",SHCHcy:"Щ",SHcy:"Ш",SOFTcy:"Ь",Sacute:"Ś",Sc:"⪼",Scaron:"Š",Scedil:"Ş",Scirc:"Ŝ",Scy:"С",Sfr:"\uD835\uDD16",ShortDownArrow:"↓",ShortLeftArrow:"←",ShortRightArrow:"→",ShortUpArrow:"↑",Sigma:"Σ",SmallCircle:"∘",Sopf:"\uD835\uDD4A",Sqrt:"√",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",Sscr:"\uD835\uDCAE",Star:"⋆",Sub:"⋐",Subset:"⋐",SubsetEqual:"⊆",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",SuchThat:"∋",Sum:"∑",Sup:"⋑",Superset:"⊃",SupersetEqual:"⊇",Supset:"⋑",THORN:"\xde",TRADE:"™",TSHcy:"Ћ",TScy:"Ц",Tab:" ",Tau:"Τ",Tcaron:"Ť",Tcedil:"Ţ",Tcy:"Т",Tfr:"\uD835\uDD17",Therefore:"∴",Theta:"Θ",ThickSpace:"  ",ThinSpace:" ",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",Topf:"\uD835\uDD4B",TripleDot:"⃛",Tscr:"\uD835\uDCAF",Tstrok:"Ŧ",Uacute:"\xda",Uarr:"↟",Uarrocir:"⥉",Ubrcy:"Ў",Ubreve:"Ŭ",Ucirc:"\xdb",Ucy:"У",Udblac:"Ű",Ufr:"\uD835\uDD18",Ugrave:"\xd9",Umacr:"Ū",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",Uopf:"\uD835\uDD4C",UpArrow:"↑",UpArrowBar:"⤒",UpArrowDownArrow:"⇅",UpDownArrow:"↕",UpEquilibrium:"⥮",UpTee:"⊥",UpTeeArrow:"↥",Uparrow:"⇑",Updownarrow:"⇕",UpperLeftArrow:"↖",UpperRightArrow:"↗",Upsi:"ϒ",Upsilon:"Υ",Uring:"Ů",Uscr:"\uD835\uDCB0",Utilde:"Ũ",Uuml:"\xdc",VDash:"⊫",Vbar:"⫫",Vcy:"В",Vdash:"⊩",Vdashl:"⫦",Vee:"⋁",Verbar:"‖",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"\uD835\uDD19",Vopf:"\uD835\uDD4D",Vscr:"\uD835\uDCB1",Vvdash:"⊪",Wcirc:"Ŵ",Wedge:"⋀",Wfr:"\uD835\uDD1A",Wopf:"\uD835\uDD4E",Wscr:"\uD835\uDCB2",Xfr:"\uD835\uDD1B",Xi:"Ξ",Xopf:"\uD835\uDD4F",Xscr:"\uD835\uDCB3",YAcy:"Я",YIcy:"Ї",YUcy:"Ю",Yacute:"\xdd",Ycirc:"Ŷ",Ycy:"Ы",Yfr:"\uD835\uDD1C",Yopf:"\uD835\uDD50",Yscr:"\uD835\uDCB4",Yuml:"Ÿ",ZHcy:"Ж",Zacute:"Ź",Zcaron:"Ž",Zcy:"З",Zdot:"Ż",ZeroWidthSpace:"​",Zeta:"Ζ",Zfr:"ℨ",Zopf:"ℤ",Zscr:"\uD835\uDCB5",aacute:"\xe1",abreve:"ă",ac:"∾",acE:"∾̳",acd:"∿",acirc:"\xe2",acute:"\xb4",acy:"а",aelig:"\xe6",af:"⁡",afr:"\uD835\uDD1E",agrave:"\xe0",alefsym:"ℵ",aleph:"ℵ",alpha:"α",amacr:"ā",amalg:"⨿",amp:"&",and:"∧",andand:"⩕",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsd:"∡",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"\xc5",angzarr:"⍼",aogon:"ą",aopf:"\uD835\uDD52",ap:"≈",apE:"⩰",apacir:"⩯",ape:"≊",apid:"≋",apos:"'",approx:"≈",approxeq:"≊",aring:"\xe5",ascr:"\uD835\uDCB6",ast:"*",asymp:"≈",asympeq:"≍",atilde:"\xe3",auml:"\xe4",awconint:"∳",awint:"⨑",bNot:"⫭",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",barvee:"⊽",barwed:"⌅",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",beta:"β",beth:"ℶ",between:"≬",bfr:"\uD835\uDD1F",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bnot:"⌐",bopf:"\uD835\uDD53",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxDL:"╗",boxDR:"╔",boxDl:"╖",boxDr:"╓",boxH:"═",boxHD:"╦",boxHU:"╩",boxHd:"╤",boxHu:"╧",boxUL:"╝",boxUR:"╚",boxUl:"╜",boxUr:"╙",boxV:"║",boxVH:"╬",boxVL:"╣",boxVR:"╠",boxVh:"╫",boxVl:"╢",boxVr:"╟",boxbox:"⧉",boxdL:"╕",boxdR:"╒",boxdl:"┐",boxdr:"┌",boxh:"─",boxhD:"╥",boxhU:"╨",boxhd:"┬",boxhu:"┴",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxuL:"╛",boxuR:"╘",boxul:"┘",boxur:"└",boxv:"│",boxvH:"╪",boxvL:"╡",boxvR:"╞",boxvh:"┼",boxvl:"┤",boxvr:"├",bprime:"‵",breve:"˘",brvbar:"\xa6",bscr:"\uD835\uDCB7",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsol:"\\",bsolb:"⧅",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",bumpeq:"≏",cacute:"ć",cap:"∩",capand:"⩄",capbrcup:"⩉",capcap:"⩋",capcup:"⩇",capdot:"⩀",caps:"∩︀",caret:"⁁",caron:"ˇ",ccaps:"⩍",ccaron:"č",ccedil:"\xe7",ccirc:"ĉ",ccups:"⩌",ccupssm:"⩐",cdot:"ċ",cedil:"\xb8",cemptyv:"⦲",cent:"\xa2",centerdot:"\xb7",cfr:"\uD835\uDD20",chcy:"ч",check:"✓",checkmark:"✓",chi:"χ",cir:"○",cirE:"⧃",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledR:"\xae",circledS:"Ⓢ",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",clubs:"♣",clubsuit:"♣",colon:":",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",conint:"∮",copf:"\uD835\uDD54",coprod:"∐",copy:"\xa9",copysr:"℗",crarr:"↵",cross:"✗",cscr:"\uD835\uDCB8",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cup:"∪",cupbrcap:"⩈",cupcap:"⩆",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"\xa4",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dArr:"⇓",dHar:"⥥",dagger:"†",daleth:"ℸ",darr:"↓",dash:"‐",dashv:"⊣",dbkarow:"⤏",dblac:"˝",dcaron:"ď",dcy:"д",dd:"ⅆ",ddagger:"‡",ddarr:"⇊",ddotseq:"⩷",deg:"\xb0",delta:"δ",demptyv:"⦱",dfisht:"⥿",dfr:"\uD835\uDD21",dharl:"⇃",dharr:"⇂",diam:"⋄",diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"\xa8",digamma:"ϝ",disin:"⋲",div:"\xf7",divide:"\xf7",divideontimes:"⋇",divonx:"⋇",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",dopf:"\uD835\uDD55",dot:"˙",doteq:"≐",doteqdot:"≑",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",downarrow:"↓",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",dscr:"\uD835\uDCB9",dscy:"ѕ",dsol:"⧶",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",dzcy:"џ",dzigrarr:"⟿",eDDot:"⩷",eDot:"≑",eacute:"\xe9",easter:"⩮",ecaron:"ě",ecir:"≖",ecirc:"\xea",ecolon:"≕",ecy:"э",edot:"ė",ee:"ⅇ",efDot:"≒",efr:"\uD835\uDD22",eg:"⪚",egrave:"\xe8",egs:"⪖",egsdot:"⪘",el:"⪙",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",emacr:"ē",empty:"∅",emptyset:"∅",emptyv:"∅",emsp13:" ",emsp14:" ",emsp:" ",eng:"ŋ",ensp:" ",eogon:"ę",eopf:"\uD835\uDD56",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",equals:"=",equest:"≟",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erDot:"≓",erarr:"⥱",escr:"ℯ",esdot:"≐",esim:"≂",eta:"η",eth:"\xf0",euml:"\xeb",euro:"€",excl:"!",exist:"∃",expectation:"ℰ",exponentiale:"ⅇ",fallingdotseq:"≒",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",ffr:"\uD835\uDD23",filig:"fi",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",fopf:"\uD835\uDD57",forall:"∀",fork:"⋔",forkv:"⫙",fpartint:"⨍",frac12:"\xbd",frac13:"⅓",frac14:"\xbc",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"\xbe",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"\uD835\uDCBB",gE:"≧",gEl:"⪌",gacute:"ǵ",gamma:"γ",gammad:"ϝ",gap:"⪆",gbreve:"ğ",gcirc:"ĝ",gcy:"г",gdot:"ġ",ge:"≥",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",ges:"⩾",gescc:"⪩",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",gfr:"\uD835\uDD24",gg:"≫",ggg:"⋙",gimel:"ℷ",gjcy:"ѓ",gl:"≷",glE:"⪒",gla:"⪥",glj:"⪤",gnE:"≩",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gneq:"⪈",gneqq:"≩",gnsim:"⋧",gopf:"\uD835\uDD58",grave:"`",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gt:">",gtcc:"⪧",gtcir:"⩺",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",hArr:"⇔",hairsp:" ",half:"\xbd",hamilt:"ℋ",hardcy:"ъ",harr:"↔",harrcir:"⥈",harrw:"↭",hbar:"ℏ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"\uD835\uDD25",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"\uD835\uDD59",horbar:"―",hscr:"\uD835\uDCBD",hslash:"ℏ",hstrok:"ħ",hybull:"⁃",hyphen:"‐",iacute:"\xed",ic:"⁣",icirc:"\xee",icy:"и",iecy:"е",iexcl:"\xa1",iff:"⇔",ifr:"\uD835\uDD26",igrave:"\xec",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",ijlig:"ij",imacr:"ī",image:"ℑ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",imof:"⊷",imped:"Ƶ",in:"∈",incare:"℅",infin:"∞",infintie:"⧝",inodot:"ı",int:"∫",intcal:"⊺",integers:"ℤ",intercal:"⊺",intlarhk:"⨗",intprod:"⨼",iocy:"ё",iogon:"į",iopf:"\uD835\uDD5A",iota:"ι",iprod:"⨼",iquest:"\xbf",iscr:"\uD835\uDCBE",isin:"∈",isinE:"⋹",isindot:"⋵",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",itilde:"ĩ",iukcy:"і",iuml:"\xef",jcirc:"ĵ",jcy:"й",jfr:"\uD835\uDD27",jmath:"ȷ",jopf:"\uD835\uDD5B",jscr:"\uD835\uDCBF",jsercy:"ј",jukcy:"є",kappa:"κ",kappav:"ϰ",kcedil:"ķ",kcy:"к",kfr:"\uD835\uDD28",kgreen:"ĸ",khcy:"х",kjcy:"ќ",kopf:"\uD835\uDD5C",kscr:"\uD835\uDCC0",lAarr:"⇚",lArr:"⇐",lAtail:"⤛",lBarr:"⤎",lE:"≦",lEg:"⪋",lHar:"⥢",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",lambda:"λ",lang:"⟨",langd:"⦑",langle:"⟨",lap:"⪅",laquo:"\xab",larr:"←",larrb:"⇤",larrbfs:"⤟",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",lat:"⪫",latail:"⤙",late:"⪭",lates:"⪭︀",lbarr:"⤌",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",lcaron:"ľ",lcedil:"ļ",lceil:"⌈",lcub:"{",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",leftarrow:"←",leftarrowtail:"↢",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",leftthreetimes:"⋋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",les:"⩽",lescc:"⪨",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",lessgtr:"≶",lesssim:"≲",lfisht:"⥼",lfloor:"⌊",lfr:"\uD835\uDD29",lg:"≶",lgE:"⪑",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",ljcy:"љ",ll:"≪",llarr:"⇇",llcorner:"⌞",llhard:"⥫",lltri:"◺",lmidot:"ŀ",lmoust:"⎰",lmoustache:"⎰",lnE:"≨",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",longleftrightarrow:"⟷",longmapsto:"⟼",longrightarrow:"⟶",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",lopf:"\uD835\uDD5D",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"\uD835\uDCC1",lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",lstrok:"ł",lt:"<",ltcc:"⪦",ltcir:"⩹",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltrPar:"⦖",ltri:"◃",ltrie:"⊴",ltrif:"◂",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",mDDot:"∺",macr:"\xaf",male:"♂",malt:"✠",maltese:"✠",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",mcy:"м",mdash:"—",measuredangle:"∡",mfr:"\uD835\uDD2A",mho:"℧",micro:"\xb5",mid:"∣",midast:"*",midcir:"⫰",middot:"\xb7",minus:"−",minusb:"⊟",minusd:"∸",minusdu:"⨪",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",mopf:"\uD835\uDD5E",mp:"∓",mscr:"\uD835\uDCC2",mstpos:"∾",mu:"μ",multimap:"⊸",mumap:"⊸",nGg:"⋙̸",nGt:"≫⃒",nGtv:"≫̸",nLeftarrow:"⇍",nLeftrightarrow:"⇎",nLl:"⋘̸",nLt:"≪⃒",nLtv:"≪̸",nRightarrow:"⇏",nVDash:"⊯",nVdash:"⊮",nabla:"∇",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natur:"♮",natural:"♮",naturals:"ℕ",nbsp:"\xa0",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",ncaron:"ň",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",ncy:"н",ndash:"–",ne:"≠",neArr:"⇗",nearhk:"⤤",nearr:"↗",nearrow:"↗",nedot:"≐̸",nequiv:"≢",nesear:"⤨",nesim:"≂̸",nexist:"∄",nexists:"∄",nfr:"\uD835\uDD2B",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",ngsim:"≵",ngt:"≯",ngtr:"≯",nhArr:"⇎",nharr:"↮",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",njcy:"њ",nlArr:"⇍",nlE:"≦̸",nlarr:"↚",nldr:"‥",nle:"≰",nleftarrow:"↚",nleftrightarrow:"↮",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nlsim:"≴",nlt:"≮",nltri:"⋪",nltrie:"⋬",nmid:"∤",nopf:"\uD835\uDD5F",not:"\xac",notin:"∉",notinE:"⋹̸",notindot:"⋵̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",npar:"∦",nparallel:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",npre:"⪯̸",nprec:"⊀",npreceq:"⪯̸",nrArr:"⇏",nrarr:"↛",nrarrc:"⤳̸",nrarrw:"↝̸",nrightarrow:"↛",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",nscr:"\uD835\uDCC3",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",ntilde:"\xf1",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",nu:"ν",num:"#",numero:"№",numsp:" ",nvDash:"⊭",nvHarr:"⤄",nvap:"≍⃒",nvdash:"⊬",nvge:"≥⃒",nvgt:">⃒",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwArr:"⇖",nwarhk:"⤣",nwarr:"↖",nwarrow:"↖",nwnear:"⤧",oS:"Ⓢ",oacute:"\xf3",oast:"⊛",ocir:"⊚",ocirc:"\xf4",ocy:"о",odash:"⊝",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",oelig:"œ",ofcir:"⦿",ofr:"\uD835\uDD2C",ogon:"˛",ograve:"\xf2",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",omacr:"ō",omega:"ω",omicron:"ο",omid:"⦶",ominus:"⊖",oopf:"\uD835\uDD60",opar:"⦷",operp:"⦹",oplus:"⊕",or:"∨",orarr:"↻",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"\xaa",ordm:"\xba",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oscr:"ℴ",oslash:"\xf8",osol:"⊘",otilde:"\xf5",otimes:"⊗",otimesas:"⨶",ouml:"\xf6",ovbar:"⌽",par:"∥",para:"\xb6",parallel:"∥",parsim:"⫳",parsl:"⫽",part:"∂",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",pfr:"\uD835\uDD2D",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plus:"+",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plusdo:"∔",plusdu:"⨥",pluse:"⩲",plusmn:"\xb1",plussim:"⨦",plustwo:"⨧",pm:"\xb1",pointint:"⨕",popf:"\uD835\uDD61",pound:"\xa3",pr:"≺",prE:"⪳",prap:"⪷",prcue:"≼",pre:"⪯",prec:"≺",precapprox:"⪷",preccurlyeq:"≼",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",precsim:"≾",prime:"′",primes:"ℙ",prnE:"⪵",prnap:"⪹",prnsim:"⋨",prod:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",propto:"∝",prsim:"≾",prurel:"⊰",pscr:"\uD835\uDCC5",psi:"ψ",puncsp:" ",qfr:"\uD835\uDD2E",qint:"⨌",qopf:"\uD835\uDD62",qprime:"⁗",qscr:"\uD835\uDCC6",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',rAarr:"⇛",rArr:"⇒",rAtail:"⤜",rBarr:"⤏",rHar:"⥤",race:"∽̱",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"\xbb",rarr:"→",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",rarrtl:"↣",rarrw:"↝",ratail:"⤚",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",rcaron:"ř",rcedil:"ŗ",rceil:"⌉",rcub:"}",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",rect:"▭",reg:"\xae",rfisht:"⥽",rfloor:"⌋",rfr:"\uD835\uDD2F",rhard:"⇁",rharu:"⇀",rharul:"⥬",rho:"ρ",rhov:"ϱ",rightarrow:"→",rightarrowtail:"↣",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",rightthreetimes:"⋌",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoust:"⎱",rmoustache:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"\uD835\uDD63",roplus:"⨮",rotimes:"⨵",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",rsaquo:"›",rscr:"\uD835\uDCC7",rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",ruluhar:"⥨",rx:"℞",sacute:"ś",sbquo:"‚",sc:"≻",scE:"⪴",scap:"⪸",scaron:"š",sccue:"≽",sce:"⪰",scedil:"ş",scirc:"ŝ",scnE:"⪶",scnap:"⪺",scnsim:"⋩",scpolint:"⨓",scsim:"≿",scy:"с",sdot:"⋅",sdotb:"⊡",sdote:"⩦",seArr:"⇘",searhk:"⤥",searr:"↘",searrow:"↘",sect:"\xa7",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",sfr:"\uD835\uDD30",sfrown:"⌢",sharp:"♯",shchcy:"щ",shcy:"ш",shortmid:"∣",shortparallel:"∥",shy:"\xad",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",softcy:"ь",sol:"/",solb:"⧄",solbar:"⌿",sopf:"\uD835\uDD64",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",squ:"□",square:"□",squarf:"▪",squf:"▪",srarr:"→",sscr:"\uD835\uDCC8",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"\xaf",sub:"⊂",subE:"⫅",subdot:"⪽",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",subseteq:"⊆",subseteqq:"⫅",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succ:"≻",succapprox:"⪸",succcurlyeq:"≽",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",sum:"∑",sung:"♪",sup1:"\xb9",sup2:"\xb2",sup3:"\xb3",sup:"⊃",supE:"⫆",supdot:"⪾",supdsub:"⫘",supe:"⊇",supedot:"⫄",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swArr:"⇙",swarhk:"⤦",swarr:"↙",swarrow:"↙",swnwar:"⤪",szlig:"\xdf",target:"⌖",tau:"τ",tbrk:"⎴",tcaron:"ť",tcedil:"ţ",tcy:"т",tdot:"⃛",telrec:"⌕",tfr:"\uD835\uDD31",there4:"∴",therefore:"∴",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",thinsp:" ",thkap:"≈",thksim:"∼",thorn:"\xfe",tilde:"˜",times:"\xd7",timesb:"⊠",timesbar:"⨱",timesd:"⨰",tint:"∭",toea:"⤨",top:"⊤",topbot:"⌶",topcir:"⫱",topf:"\uD835\uDD65",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",tscr:"\uD835\uDCC9",tscy:"ц",tshcy:"ћ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",uArr:"⇑",uHar:"⥣",uacute:"\xfa",uarr:"↑",ubrcy:"ў",ubreve:"ŭ",ucirc:"\xfb",ucy:"у",udarr:"⇅",udblac:"ű",udhar:"⥮",ufisht:"⥾",ufr:"\uD835\uDD32",ugrave:"\xf9",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",umacr:"ū",uml:"\xa8",uogon:"ų",uopf:"\uD835\uDD66",uparrow:"↑",updownarrow:"↕",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",upsi:"υ",upsih:"ϒ",upsilon:"υ",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",uring:"ů",urtri:"◹",uscr:"\uD835\uDCCA",utdot:"⋰",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",uuml:"\xfc",uwangle:"⦧",vArr:"⇕",vBar:"⫨",vBarv:"⫩",vDash:"⊨",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vcy:"в",vdash:"⊢",vee:"∨",veebar:"⊻",veeeq:"≚",vellip:"⋮",verbar:"|",vert:"|",vfr:"\uD835\uDD33",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",vopf:"\uD835\uDD67",vprop:"∝",vrtri:"⊳",vscr:"\uD835\uDCCB",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",vzigzag:"⦚",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",wedgeq:"≙",weierp:"℘",wfr:"\uD835\uDD34",wopf:"\uD835\uDD68",wp:"℘",wr:"≀",wreath:"≀",wscr:"\uD835\uDCCC",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",xfr:"\uD835\uDD35",xhArr:"⟺",xharr:"⟷",xi:"ξ",xlArr:"⟸",xlarr:"⟵",xmap:"⟼",xnis:"⋻",xodot:"⨀",xopf:"\uD835\uDD69",xoplus:"⨁",xotime:"⨂",xrArr:"⟹",xrarr:"⟶",xscr:"\uD835\uDCCD",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",yacute:"\xfd",yacy:"я",ycirc:"ŷ",ycy:"ы",yen:"\xa5",yfr:"\uD835\uDD36",yicy:"ї",yopf:"\uD835\uDD6A",yscr:"\uD835\uDCCE",yucy:"ю",yuml:"\xff",zacute:"ź",zcaron:"ž",zcy:"з",zdot:"ż",zeetrf:"ℨ",zeta:"ζ",zfr:"\uD835\uDD37",zhcy:"ж",zigrarr:"⇝",zopf:"\uD835\uDD6B",zscr:"\uD835\uDCCF",zwj:"‍",zwnj:"‌"},gr={}.hasOwnProperty;function gn(e){return!!gr.call(gt,e)&>[e]}let ga={name:"characterReference",tokenize:function(e,A,t){let r,n,a=this,s=0;return function(A){return e.enter("characterReference"),e.enter("characterReferenceMarker"),e.consume(A),e.exit("characterReferenceMarker"),i};function i(A){return 35===A?(e.enter("characterReferenceMarkerNumeric"),e.consume(A),e.exit("characterReferenceMarkerNumeric"),o):(e.enter("characterReferenceValue"),r=31,n=hx,l(A))}function o(A){return 88===A||120===A?(e.enter("characterReferenceMarkerHexadecimal"),e.consume(A),e.exit("characterReferenceMarkerHexadecimal"),e.enter("characterReferenceValue"),r=6,n=hC,l):(e.enter("characterReferenceValue"),r=7,n=hb,l(A))}function l(i){if(59===i&&s){let r=e.exit("characterReferenceValue");return n!==hx||gn(a.sliceSerialize(r))?(e.enter("characterReferenceMarker"),e.consume(i),e.exit("characterReferenceMarker"),e.exit("characterReference"),A):t(i)}return n(i)&&s++1&&e[c][1].end.offset-e[c][1].start.offset>1?2:1;let u={...e[t][1].end},d={...e[c][1].start};gf(u,-i),gf(d,i),a={type:i>1?"strongSequence":"emphasisSequence",start:u,end:{...e[t][1].end}},s={type:i>1?"strongSequence":"emphasisSequence",start:{...e[c][1].start},end:d},n={type:i>1?"strongText":"emphasisText",start:{...e[t][1].end},end:{...e[c][1].start}},r={type:i>1?"strong":"emphasis",start:{...a.start},end:{...s.end}},e[t][1].end={...a.start},e[c][1].start={...s.end},o=[],e[t][1].end.offset-e[t][1].start.offset&&(o=hh(o,[["enter",e[t][1],A],["exit",e[t][1],A]])),o=hh(o,[["enter",r,A],["enter",a,A],["exit",a,A],["enter",n,A]]),o=hh(o,go(A.parser.constructs.insideSpan.null,e.slice(t+1,c),A)),o=hh(o,[["exit",n,A],["enter",s,A],["exit",s,A],["exit",r,A]]),e[c][1].end.offset-e[c][1].start.offset?(l=2,o=hh(o,[["enter",e[c][1],A],["exit",e[c][1],A]])):l=0,hp(e,t-1,c-t+3,o),c=t+o.length-l-2;break}}for(c=-1;++ca&&"whitespace"===e[n][1].type&&(n-=2),"atxHeadingSequence"===e[n][1].type&&(a===n-1||n-4>a&&"whitespace"===e[n-2][1].type)&&(n-=a+1===n?2:4),n>a&&(t={type:"atxHeadingText",start:e[a][1].start,end:e[n][1].end},r={type:"chunkText",start:e[a][1].start,end:e[n][1].end,contentType:"text"},hp(e,a,n-a+1,[["enter",t,A],["enter",r,A],["exit",r,A],["exit",t,A]])),e},tokenize:function(e,A,t){let r=0;return function(n){var a;return e.enter("atxHeading"),a=n,e.enter("atxHeadingSequence"),function n(a){return 35===a&&r++<6?(e.consume(a),n):null===a||hU(a)?(e.exit("atxHeadingSequence"),function t(r){return 35===r?(e.enter("atxHeadingSequence"),function A(r){return 35===r?(e.consume(r),A):(e.exit("atxHeadingSequence"),t(r))}(r)):null===r||hF(r)?(e.exit("atxHeading"),A(r)):hk(r)?hH(e,t,"whitespace")(r):(e.enter("atxHeadingText"),function A(r){return null===r||35===r||hU(r)?(e.exit("atxHeadingText"),t(r)):(e.consume(r),A)}(r))}(a)):t(a)}(a)}}},42:hq,45:[h5,hq],60:{concrete:!0,name:"htmlFlow",resolveTo:function(e){let A=e.length;for(;A--&&("enter"!==e[A][0]||"htmlFlow"!==e[A][1].type););return A>1&&"linePrefix"===e[A-2][1].type&&(e[A][1].start=e[A-2][1].start,e[A+1][1].start=e[A-2][1].start,e.splice(A-2,2)),e},tokenize:function(e,A,t){let r,n,a,s,i,o=this;return function(A){var t;return t=A,e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(t),l};function l(s){return 33===s?(e.consume(s),c):47===s?(e.consume(s),n=!0,p):63===s?(e.consume(s),r=3,o.interrupt?A:H):hw(s)?(e.consume(s),a=String.fromCharCode(s),h):t(s)}function c(n){return 45===n?(e.consume(n),r=2,u):91===n?(e.consume(n),r=5,s=0,d):hw(n)?(e.consume(n),r=4,o.interrupt?A:H):t(n)}function u(r){return 45===r?(e.consume(r),o.interrupt?A:H):t(r)}function d(r){let n="CDATA[";return r===n.charCodeAt(s++)?(e.consume(r),s===n.length)?o.interrupt?A:C:d:t(r)}function p(A){return hw(A)?(e.consume(A),a=String.fromCharCode(A),h):t(A)}function h(s){if(null===s||47===s||62===s||hU(s)){let i=47===s,l=a.toLowerCase();return!i&&!n&&h8.includes(l)?(r=1,o.interrupt?A(s):C(s)):h6.includes(a.toLowerCase())?(r=6,i)?(e.consume(s),g):o.interrupt?A(s):C(s):(r=7,o.interrupt&&!o.parser.lazy[o.now().line]?t(s):n?function A(t){return hk(t)?(e.consume(t),A):y(t)}(s):f(s))}return 45===s||hx(s)?(e.consume(s),a+=String.fromCharCode(s),h):t(s)}function g(r){return 62===r?(e.consume(r),o.interrupt?A:C):t(r)}function f(A){return 47===A?(e.consume(A),y):58===A||95===A||hw(A)?(e.consume(A),m):hk(A)?(e.consume(A),f):y(A)}function m(A){return 45===A||46===A||58===A||95===A||hx(A)?(e.consume(A),m):B(A)}function B(A){return 61===A?(e.consume(A),w):hk(A)?(e.consume(A),B):f(A)}function w(A){return null===A||60===A||61===A||62===A||96===A?t(A):34===A||39===A?(e.consume(A),i=A,x):hk(A)?(e.consume(A),w):function A(t){return null===t||34===t||39===t||47===t||60===t||61===t||62===t||96===t||hU(t)?B(t):(e.consume(t),A)}(A)}function x(A){return A===i?(e.consume(A),i=null,v):null===A||hF(A)?t(A):(e.consume(A),x)}function v(e){return 47===e||62===e||hk(e)?f(e):t(e)}function y(A){return 62===A?(e.consume(A),b):t(A)}function b(A){return null===A||hF(A)?C(A):hk(A)?(e.consume(A),b):t(A)}function C(A){return 45===A&&2===r?(e.consume(A),k):60===A&&1===r?(e.consume(A),E):62===A&&4===r?(e.consume(A),S):63===A&&3===r?(e.consume(A),H):93===A&&5===r?(e.consume(A),I):hF(A)&&(6===r||7===r)?(e.exit("htmlFlowData"),e.check(h9,N,Q)(A)):null===A||hF(A)?(e.exit("htmlFlowData"),Q(A)):(e.consume(A),C)}function Q(A){return e.check(h7,F,N)(A)}function F(A){return e.enter("lineEnding"),e.consume(A),e.exit("lineEnding"),U}function U(A){return null===A||hF(A)?Q(A):(e.enter("htmlFlowData"),C(A))}function k(A){return 45===A?(e.consume(A),H):C(A)}function E(A){return 47===A?(e.consume(A),a="",j):C(A)}function j(A){if(62===A){let t=a.toLowerCase();return h8.includes(t)?(e.consume(A),S):C(A)}return hw(A)&&a.length<8?(e.consume(A),a+=String.fromCharCode(A),j):C(A)}function I(A){return 93===A?(e.consume(A),H):C(A)}function H(A){return 62===A?(e.consume(A),S):45===A&&2===r?(e.consume(A),H):C(A)}function S(A){return null===A||hF(A)?(e.exit("htmlFlowData"),N(A)):(e.consume(A),S)}function N(t){return e.exit("htmlFlow"),A(t)}}},61:h5,95:hq,96:gA,126:gA},gy={38:ga,92:gs},gb={[-5]:gi,[-4]:gi,[-3]:gi,33:gp,38:ga,42:gg,60:[{name:"autolink",tokenize:function(e,A,t){let r=0;return function(A){return e.enter("autolink"),e.enter("autolinkMarker"),e.consume(A),e.exit("autolinkMarker"),e.enter("autolinkProtocol"),n};function n(A){return hw(A)?(e.consume(A),a):64===A?t(A):i(A)}function a(A){return 43===A||45===A||46===A||hx(A)?(r=1,function A(t){return 58===t?(e.consume(t),r=0,s):(43===t||45===t||46===t||hx(t))&&r++<32?(e.consume(t),A):(r=0,i(t))}(A)):i(A)}function s(r){return 62===r?(e.exit("autolinkProtocol"),e.enter("autolinkMarker"),e.consume(r),e.exit("autolinkMarker"),e.exit("autolink"),A):null===r||32===r||60===r||hy(r)?t(r):(e.consume(r),s)}function i(A){return 64===A?(e.consume(A),o):hv(A)?(e.consume(A),i):t(A)}function o(n){return hx(n)?function n(a){return 46===a?(e.consume(a),r=0,o):62===a?(e.exit("autolinkProtocol").type="autolinkEmail",e.enter("autolinkMarker"),e.consume(a),e.exit("autolinkMarker"),e.exit("autolink"),A):function A(a){if((45===a||hx(a))&&r++<63){let t=45===a?A:n;return e.consume(a),t}return t(a)}(a)}(n):t(n)}}},{name:"htmlText",tokenize:function(e,A,t){let r,n,a,s=this;return function(A){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(A),i};function i(A){return 33===A?(e.consume(A),o):47===A?(e.consume(A),x):63===A?(e.consume(A),B):hw(A)?(e.consume(A),y):t(A)}function o(A){return 45===A?(e.consume(A),l):91===A?(e.consume(A),n=0,p):hw(A)?(e.consume(A),m):t(A)}function l(A){return 45===A?(e.consume(A),d):t(A)}function c(A){return null===A?t(A):45===A?(e.consume(A),u):hF(A)?(a=c,j(A)):(e.consume(A),c)}function u(A){return 45===A?(e.consume(A),d):c(A)}function d(e){return 62===e?E(e):45===e?u(e):c(e)}function p(A){let r="CDATA[";return A===r.charCodeAt(n++)?(e.consume(A),n===r.length?h:p):t(A)}function h(A){return null===A?t(A):93===A?(e.consume(A),g):hF(A)?(a=h,j(A)):(e.consume(A),h)}function g(A){return 93===A?(e.consume(A),f):h(A)}function f(A){return 62===A?E(A):93===A?(e.consume(A),f):h(A)}function m(A){return null===A||62===A?E(A):hF(A)?(a=m,j(A)):(e.consume(A),m)}function B(A){return null===A?t(A):63===A?(e.consume(A),w):hF(A)?(a=B,j(A)):(e.consume(A),B)}function w(e){return 62===e?E(e):B(e)}function x(A){return hw(A)?(e.consume(A),v):t(A)}function v(A){return 45===A||hx(A)?(e.consume(A),v):function A(t){return hF(t)?(a=A,j(t)):hk(t)?(e.consume(t),A):E(t)}(A)}function y(A){return 45===A||hx(A)?(e.consume(A),y):47===A||62===A||hU(A)?b(A):t(A)}function b(A){return 47===A?(e.consume(A),E):58===A||95===A||hw(A)?(e.consume(A),C):hF(A)?(a=b,j(A)):hk(A)?(e.consume(A),b):E(A)}function C(A){return 45===A||46===A||58===A||95===A||hx(A)?(e.consume(A),C):function A(t){return 61===t?(e.consume(t),Q):hF(t)?(a=A,j(t)):hk(t)?(e.consume(t),A):b(t)}(A)}function Q(A){return null===A||60===A||61===A||62===A||96===A?t(A):34===A||39===A?(e.consume(A),r=A,F):hF(A)?(a=Q,j(A)):hk(A)?(e.consume(A),Q):(e.consume(A),U)}function F(A){return A===r?(e.consume(A),r=void 0,k):null===A?t(A):hF(A)?(a=F,j(A)):(e.consume(A),F)}function U(A){return null===A||34===A||39===A||60===A||61===A||96===A?t(A):47===A||62===A||hU(A)?b(A):(e.consume(A),U)}function k(e){return 47===e||62===e||hU(e)?b(e):t(e)}function E(r){return 62===r?(e.consume(r),e.exit("htmlTextData"),e.exit("htmlText"),A):t(r)}function j(A){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(A),e.exit("lineEnding"),I}function I(A){return hk(A)?hH(e,H,"linePrefix",s.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(A):H(A)}function H(A){return e.enter("htmlTextData"),a(A)}}}],91:gm,92:[{name:"hardBreakEscape",tokenize:function(e,A,t){return function(A){return e.enter("hardBreakEscape"),e.consume(A),r};function r(r){return hF(r)?(e.exit("hardBreakEscape"),A(r)):t(r)}}},gs],93:gl,95:gg,96:{name:"codeText",previous:function(e){return 96!==e||"characterEscape"===this.events[this.events.length-1][1].type},resolve:function(e){let A,t,r=e.length-4,n=3;if(("lineEnding"===e[3][1].type||"space"===e[n][1].type)&&("lineEnding"===e[r][1].type||"space"===e[r][1].type)){for(A=n;++A13&&t<32||t>126&&t<160||t>55295&&t<57344||t>64975&&t<65008||(65535&t)==65535||(65535&t)==65534||t>1114111?"�":String.fromCodePoint(t)}let gE=/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;function gj(e,A,t){if(A)return A;if(35===t.charCodeAt(0)){let e=t.charCodeAt(1),A=120===e||88===e;return gk(t.slice(A?2:1),A?16:10)}return gn(t)||e}let gI={}.hasOwnProperty;function gH(e){return{line:e.line,column:e.column,offset:e.offset}}function gS(e,A){if(e)throw Error("Cannot close `"+e.type+"` ("+p1({start:e.start,end:e.end})+"): a different token (`"+A.type+"`, "+p1({start:A.start,end:A.end})+") is open");throw Error("Cannot close document, a token (`"+A.type+"`, "+p1({start:A.start,end:A.end})+") is still open")}function gN(e){let A=this;A.parser=function(t){var r,n;let a,s,i,o;return"string"!=typeof(r={...A.data("settings"),...e,extensions:A.data("micromarkExtensions")||[],mdastExtensions:A.data("fromMarkdownExtensions")||[]})&&(n=r,r=void 0),(function(e){let A={transforms:[],canContainEols:["emphasis","fragment","heading","paragraph","strong"],enter:{autolink:r(m),autolinkProtocol:l,autolinkEmail:l,atxHeading:r(h),blockQuote:r(function(){return{type:"blockquote",children:[]}}),characterEscape:l,characterReference:l,codeFenced:r(p),codeFencedFenceInfo:n,codeFencedFenceMeta:n,codeIndented:r(p,n),codeText:r(function(){return{type:"inlineCode",value:""}},n),codeTextData:l,data:l,codeFlowValue:l,definition:r(function(){return{type:"definition",identifier:"",label:null,title:null,url:""}}),definitionDestinationString:n,definitionLabelString:n,definitionTitleString:n,emphasis:r(function(){return{type:"emphasis",children:[]}}),hardBreakEscape:r(g),hardBreakTrailing:r(g),htmlFlow:r(f,n),htmlFlowData:l,htmlText:r(f,n),htmlTextData:l,image:r(function(){return{type:"image",title:null,url:"",alt:null}}),label:n,link:r(m),listItem:r(function(e){return{type:"listItem",spread:e._spread,checked:null,children:[]}}),listItemValue:function(e){this.data.expectingFirstListItemValue&&(this.stack[this.stack.length-2].start=Number.parseInt(this.sliceSerialize(e),10),this.data.expectingFirstListItemValue=void 0)},listOrdered:r(B,function(){this.data.expectingFirstListItemValue=!0}),listUnordered:r(B),paragraph:r(function(){return{type:"paragraph",children:[]}}),reference:function(){this.data.referenceType="collapsed"},referenceString:n,resourceDestinationString:n,resourceTitleString:n,setextHeading:r(h),strong:r(function(){return{type:"strong",children:[]}}),thematicBreak:r(function(){return{type:"thematicBreak"}})},exit:{atxHeading:s(),atxHeadingSequence:function(e){let A=this.stack[this.stack.length-1];A.depth||(A.depth=this.sliceSerialize(e).length)},autolink:s(),autolinkEmail:function(e){c.call(this,e),this.stack[this.stack.length-1].url="mailto:"+this.sliceSerialize(e)},autolinkProtocol:function(e){c.call(this,e),this.stack[this.stack.length-1].url=this.sliceSerialize(e)},blockQuote:s(),characterEscapeValue:c,characterReferenceMarkerHexadecimal:d,characterReferenceMarkerNumeric:d,characterReferenceValue:function(e){let A,t=this.sliceSerialize(e),r=this.data.characterReferenceType;r?(A=gk(t,"characterReferenceMarkerNumeric"===r?10:16),this.data.characterReferenceType=void 0):A=gn(t);let n=this.stack[this.stack.length-1];n.value+=A},characterReference:function(e){this.stack.pop().position.end=gH(e.end)},codeFenced:s(function(){let e=this.resume();this.stack[this.stack.length-1].value=e.replace(/^(\r?\n|\r)|(\r?\n|\r)$/g,""),this.data.flowCodeInside=void 0}),codeFencedFence:function(){this.data.flowCodeInside||(this.buffer(),this.data.flowCodeInside=!0)},codeFencedFenceInfo:function(){let e=this.resume();this.stack[this.stack.length-1].lang=e},codeFencedFenceMeta:function(){let e=this.resume();this.stack[this.stack.length-1].meta=e},codeFlowValue:c,codeIndented:s(function(){let e=this.resume();this.stack[this.stack.length-1].value=e.replace(/(\r?\n|\r)$/g,"")}),codeText:s(function(){let e=this.resume();this.stack[this.stack.length-1].value=e}),codeTextData:c,data:c,definition:s(),definitionDestinationString:function(){let e=this.resume();this.stack[this.stack.length-1].url=e},definitionLabelString:function(e){let A=this.resume(),t=this.stack[this.stack.length-1];t.label=A,t.identifier=h1(this.sliceSerialize(e)).toLowerCase()},definitionTitleString:function(){let e=this.resume();this.stack[this.stack.length-1].title=e},emphasis:s(),hardBreakEscape:s(u),hardBreakTrailing:s(u),htmlFlow:s(function(){let e=this.resume();this.stack[this.stack.length-1].value=e}),htmlFlowData:c,htmlText:s(function(){let e=this.resume();this.stack[this.stack.length-1].value=e}),htmlTextData:c,image:s(function(){let e=this.stack[this.stack.length-1];if(this.data.inReference){let A=this.data.referenceType||"shortcut";e.type+="Reference",e.referenceType=A,delete e.url,delete e.title}else delete e.identifier,delete e.label;this.data.referenceType=void 0}),label:function(){let e=this.stack[this.stack.length-1],A=this.resume(),t=this.stack[this.stack.length-1];this.data.inReference=!0,"link"===t.type?t.children=e.children:t.alt=A},labelText:function(e){let A=this.sliceSerialize(e),t=this.stack[this.stack.length-2];t.label=A.replace(gE,gj),t.identifier=h1(A).toLowerCase()},lineEnding:function(e){let t=this.stack[this.stack.length-1];if(this.data.atHardBreak){t.children[t.children.length-1].position.end=gH(e.end),this.data.atHardBreak=void 0;return}!this.data.setextHeadingSlurpLineEnding&&A.canContainEols.includes(t.type)&&(l.call(this,e),c.call(this,e))},link:s(function(){let e=this.stack[this.stack.length-1];if(this.data.inReference){let A=this.data.referenceType||"shortcut";e.type+="Reference",e.referenceType=A,delete e.url,delete e.title}else delete e.identifier,delete e.label;this.data.referenceType=void 0}),listItem:s(),listOrdered:s(),listUnordered:s(),paragraph:s(),referenceString:function(e){let A=this.resume(),t=this.stack[this.stack.length-1];t.label=A,t.identifier=h1(this.sliceSerialize(e)).toLowerCase(),this.data.referenceType="full"},resourceDestinationString:function(){let e=this.resume();this.stack[this.stack.length-1].url=e},resourceTitleString:function(){let e=this.resume();this.stack[this.stack.length-1].title=e},resource:function(){this.data.inReference=void 0},setextHeading:s(function(){this.data.setextHeadingSlurpLineEnding=void 0}),setextHeadingLineSequence:function(e){this.stack[this.stack.length-1].depth=61===this.sliceSerialize(e).codePointAt(0)?1:2},setextHeadingText:function(){this.data.setextHeadingSlurpLineEnding=!0},strong:s(),thematicBreak:s()}};!function e(A,t){let r=-1;for(;++r0){let e=s.tokenStack[s.tokenStack.length-1];(e[1]||gS).call(s,void 0,e[0])}for(r.position={start:gH(e.length>0?e[0][1].start:{line:1,column:1,offset:0}),end:gH(e.length>0?e[e.length-2][1].end:{line:1,column:1,offset:0})},c=-1;++c-1){let e=t[0];"string"==typeof e?t[0]=e.slice(n):t.shift()}s>0&&t.push(e[a].slice(0,s))}return t}(s,e)}function d(){let{_bufferIndex:e,_index:A,line:t,column:n,offset:a}=r;return{_bufferIndex:e,_index:A,line:t,column:n,offset:a}}function p(e,A){A.restore()}function h(e,A){return function(t,n,a){var s;let c,u,p,h;return Array.isArray(t)?g(t):"tokenize"in t?g([t]):(s=t,function(e){let A=null!==e&&s[e],t=null!==e&&s.null;return g([...Array.isArray(A)?A:A?[A]:[],...Array.isArray(t)?t:t?[t]:[]])(e)});function g(e){return(c=e,u=0,0===e.length)?a:m(e[u])}function m(e){return function(t){return(h=function(){let e=d(),A=l.previous,t=l.currentConstruct,n=l.events.length,a=Array.from(i);return{from:n,restore:function(){r=e,l.previous=A,l.currentConstruct=t,l.events.length=n,i=a,f()}}}(),p=e,e.partial||(l.currentConstruct=e),e.name&&l.parser.constructs.disable.null.includes(e.name))?w(t):e.tokenize.call(A?Object.assign(Object.create(l),A):l,o,B,w)(t)}}function B(A){return e(p,h),n}function w(e){return(h.restore(),++u{let t=(A,t)=>(e.set(t,A),A),r=n=>{if(e.has(n))return e.get(n);let[a,s]=A[n];switch(a){case 0:case -1:return t(s,n);case 1:{let e=t([],n);for(let A of s)e.push(r(A));return e}case 2:{let e=t({},n);for(let[A,t]of s)e[r(A)]=r(t);return e}case 3:return t(new Date(s),n);case 4:{let{source:e,flags:A}=s;return t(new RegExp(e,A),n)}case 5:{let e=t(new Map,n);for(let[A,t]of s)e.set(r(A),r(t));return e}case 6:{let e=t(new Set,n);for(let A of s)e.add(r(A));return e}case 7:{let{name:e,message:A}=s;return t(new gL[e](A),n)}case 8:return t(BigInt(s),n);case"BigInt":return t(Object(BigInt(s)),n);case"ArrayBuffer":return t(new Uint8Array(s).buffer,s);case"DataView":{let{buffer:e}=new Uint8Array(s);return t(new DataView(e),s)}}return t(new gL[a](s),n)};return r},gT=e=>gD(new Map,e)(0),{toString:gM}={},{keys:gK}=Object,gR=e=>{let A=typeof e;if("object"!==A||!e)return[0,A];let t=gM.call(e).slice(8,-1);switch(t){case"Array":return[1,""];case"Object":return[2,""];case"Date":return[3,""];case"RegExp":return[4,""];case"Map":return[5,""];case"Set":return[6,""];case"DataView":return[1,t]}return t.includes("Array")?[1,t]:t.includes("Error")?[7,t]:[2,t]},gP=([e,A])=>0===e&&("function"===A||"symbol"===A),gO=(e,A,t,r)=>{let n=(e,A)=>{let n=r.push(e)-1;return t.set(A,n),n},a=r=>{if(t.has(r))return t.get(r);let[s,i]=gR(r);switch(s){case 0:{let A=r;switch(i){case"bigint":s=8,A=r.toString();break;case"function":case"symbol":if(e)throw TypeError("unable to serialize "+i);A=null;break;case"undefined":return n([-1],r)}return n([s,A],r)}case 1:{if(i){let e=r;return"DataView"===i?e=new Uint8Array(r.buffer):"ArrayBuffer"===i&&(e=new Uint8Array(r)),n([i,[...e]],r)}let e=[],A=n([s,e],r);for(let A of r)e.push(a(A));return A}case 2:{if(i)switch(i){case"BigInt":return n([i,r.toString()],r);case"Boolean":case"Number":case"String":return n([i,r.valueOf()],r)}if(A&&"toJSON"in r)return a(r.toJSON());let t=[],o=n([s,t],r);for(let A of gK(r))(e||!gP(gR(r[A])))&&t.push([a(A),a(r[A])]);return o}case 3:return n([s,r.toISOString()],r);case 4:{let{source:e,flags:A}=r;return n([s,{source:e,flags:A}],r)}case 5:{let A=[],t=n([s,A],r);for(let[t,n]of r)(e||!(gP(gR(t))||gP(gR(n))))&&A.push([a(t),a(n)]);return t}case 6:{let A=[],t=n([s,A],r);for(let t of r)(e||!gP(gR(t)))&&A.push(a(t));return t}}let{message:o}=r;return n([s,{name:i,message:o}],r)};return a},gV=(e,{json:A,lossy:t}={})=>{let r=[];return gO(!(A||t),!!A,new Map,r)(e),r},gG="function"==typeof structuredClone?(e,A)=>A&&("json"in A||"lossy"in A)?gT(gV(e,A)):structuredClone(e):(e,A)=>gT(gV(e,A));function gz(e){let A=[],t=-1,r=0,n=0;for(;++t55295&&a<57344){let A=e.charCodeAt(t+1);a<56320&&A>56319&&A<57344?(s=String.fromCharCode(a,A),n=1):s="�"}else s=String.fromCharCode(a);s&&(A.push(e.slice(r,t),encodeURIComponent(s)),r=t+n+1,s=""),n&&(t+=n,n=0)}return A.join("")+e.slice(r)}function gq(e,A){let t=[{type:"text",value:"↩"}];return A>1&&t.push({type:"element",tagName:"sup",properties:{},children:[{type:"text",value:String(A)}]}),t}function gW(e,A){return"Back to reference "+(e+1)+(A>1?"-"+A:"")}let gJ=function(e){var A,t;if(null==e)return g_;if("function"==typeof e)return gX(e);if("object"==typeof e){return Array.isArray(e)?function(e){let A=[],t=-1;for(;++t":"")+"\x1b[39m)"})}return a;function a(){var n;let a,s,i,p=gY;if((!o||u(A,t,r[r.length-1]||void 0))&&!1===(p=Array.isArray(n=l(A,r))?n:"number"==typeof n?[!0,n]:null==n?gY:[n])[0])return p;if("children"in A&&A.children&&A.children&&"skip"!==p[0])for(s=(c?A.children.length:-1)+d,i=r.concat(A);s>-1&&s1:A}function g1(e,A,t){let r=0,n=e.length;if(A){let A=e.codePointAt(r);for(;9===A||32===A;)r++,A=e.codePointAt(r)}if(t){let A=e.codePointAt(n-1);for(;9===A||32===A;)n--,A=e.codePointAt(n-1)}return n>r?e.slice(r,n):""}let g2={blockquote:function(e,A){let t={type:"element",tagName:"blockquote",properties:{},children:e.wrap(e.all(A),!0)};return e.patch(A,t),e.applyData(A,t)},break:function(e,A){let t={type:"element",tagName:"br",properties:{},children:[]};return e.patch(A,t),[e.applyData(A,t),{type:"text",value:"\n"}]},code:function(e,A){let t=A.value?A.value+"\n":"",r={};A.lang&&(r.className=["language-"+A.lang]);let n={type:"element",tagName:"code",properties:r,children:[{type:"text",value:t}]};return A.meta&&(n.data={meta:A.meta}),e.patch(A,n),n={type:"element",tagName:"pre",properties:{},children:[n=e.applyData(A,n)]},e.patch(A,n),n},delete:function(e,A){let t={type:"element",tagName:"del",properties:{},children:e.all(A)};return e.patch(A,t),e.applyData(A,t)},emphasis:function(e,A){let t={type:"element",tagName:"em",properties:{},children:e.all(A)};return e.patch(A,t),e.applyData(A,t)},footnoteReference:function(e,A){let t,r="string"==typeof e.options.clobberPrefix?e.options.clobberPrefix:"user-content-",n=String(A.identifier).toUpperCase(),a=gz(n.toLowerCase()),s=e.footnoteOrder.indexOf(n),i=e.footnoteCounts.get(n);void 0===i?(i=0,e.footnoteOrder.push(n),t=e.footnoteOrder.length):t=s+1,i+=1,e.footnoteCounts.set(n,i);let o={type:"element",tagName:"a",properties:{href:"#"+r+"fn-"+a,id:r+"fnref-"+a+(i>1?"-"+i:""),dataFootnoteRef:!0,ariaDescribedBy:["footnote-label"]},children:[{type:"text",value:String(t)}]};e.patch(A,o);let l={type:"element",tagName:"sup",properties:{},children:[o]};return e.patch(A,l),e.applyData(A,l)},heading:function(e,A){let t={type:"element",tagName:"h"+A.depth,properties:{},children:e.all(A)};return e.patch(A,t),e.applyData(A,t)},html:function(e,A){if(e.options.allowDangerousHtml){let t={type:"raw",value:A.value};return e.patch(A,t),e.applyData(A,t)}},imageReference:function(e,A){let t=String(A.identifier).toUpperCase(),r=e.definitionById.get(t);if(!r)return gZ(e,A);let n={src:gz(r.url||""),alt:A.alt};null!==r.title&&void 0!==r.title&&(n.title=r.title);let a={type:"element",tagName:"img",properties:n,children:[]};return e.patch(A,a),e.applyData(A,a)},image:function(e,A){let t={src:gz(A.url)};null!==A.alt&&void 0!==A.alt&&(t.alt=A.alt),null!==A.title&&void 0!==A.title&&(t.title=A.title);let r={type:"element",tagName:"img",properties:t,children:[]};return e.patch(A,r),e.applyData(A,r)},inlineCode:function(e,A){let t={type:"text",value:A.value.replace(/\r?\n|\r/g," ")};e.patch(A,t);let r={type:"element",tagName:"code",properties:{},children:[t]};return e.patch(A,r),e.applyData(A,r)},linkReference:function(e,A){let t=String(A.identifier).toUpperCase(),r=e.definitionById.get(t);if(!r)return gZ(e,A);let n={href:gz(r.url||"")};null!==r.title&&void 0!==r.title&&(n.title=r.title);let a={type:"element",tagName:"a",properties:n,children:e.all(A)};return e.patch(A,a),e.applyData(A,a)},link:function(e,A){let t={href:gz(A.url)};null!==A.title&&void 0!==A.title&&(t.title=A.title);let r={type:"element",tagName:"a",properties:t,children:e.all(A)};return e.patch(A,r),e.applyData(A,r)},listItem:function(e,A,t){let r=e.all(A),n=t?function(e){let A=!1;if("list"===e.type){A=e.spread||!1;let t=e.children,r=-1;for(;!A&&++r0&&e.children.unshift({type:"text",value:" "}),e.children.unshift({type:"element",tagName:"input",properties:{type:"checkbox",checked:A.checked,disabled:!0},children:[]}),a.className=["task-list-item"]}let i=-1;for(;++i0){let r={type:"element",tagName:"tbody",properties:{},children:e.wrap(t,!0)},a=pZ(A.children[1]),s=p$(A.children[A.children.length-1]);a&&s&&(r.position={start:a,end:s}),n.push(r)}let a={type:"element",tagName:"table",properties:{},children:e.wrap(n,!0)};return e.patch(A,a),e.applyData(A,a)},tableCell:function(e,A){let t={type:"element",tagName:"td",properties:{},children:e.all(A)};return e.patch(A,t),e.applyData(A,t)},tableRow:function(e,A,t){let r=t?t.children:void 0,n=0===(r?r.indexOf(A):1)?"th":"td",a=t&&"table"===t.type?t.align:void 0,s=a?a.length:A.children.length,i=-1,o=[];for(;++i0,!0),r[0]),n=r.index+r[0].length,r=t.exec(A);return a.push(g1(A.slice(n),n>0,!1)),a.join("")}(String(A.value))};return e.patch(A,t),e.applyData(A,t)},thematicBreak:function(e,A){let t={type:"element",tagName:"hr",properties:{},children:[]};return e.patch(A,t),e.applyData(A,t)},toml:g4,yaml:g4,definition:g4,footnoteDefinition:g4};function g4(){}let g3={}.hasOwnProperty,g5={};function g6(e,A){e.position&&(A.position=function(e){let A=pZ(e),t=p$(e);if(A&&t)return{start:A,end:t}}(e))}function g8(e,A){let t=A;if(e&&e.data){let A=e.data.hName,r=e.data.hChildren,n=e.data.hProperties;"string"==typeof A&&("element"===t.type?t.tagName=A:t={type:"element",tagName:A,properties:{},children:"children"in t?t.children:[t]}),"element"===t.type&&n&&Object.assign(t.properties,gG(n)),"children"in t&&t.children&&null!=r&&(t.children=r)}return t}function g9(e,A){let t=[],r=-1;for(A&&t.push({type:"text",value:"\n"});++r0&&t.push({type:"text",value:"\n"}),t}function g7(e){let A=0,t=e.charCodeAt(A);for(;9===t||32===t;)A++,t=e.charCodeAt(A);return e.slice(A)}function fe(e,A){let t=function(e,A){let t=A||g5,r=new Map,n=new Map,a={all:function(e){let A=[];if("children"in e){let t=e.children,r=-1;for(;++r0&&u.push({type:"text",value:" "});let e="string"==typeof t?t:t(o,c);"string"==typeof e&&(e={type:"text",value:e}),u.push({type:"element",tagName:"a",properties:{href:"#"+A+"fnref-"+l+(c>1?"-"+c:""),dataFootnoteBackref:"",ariaLabel:"string"==typeof r?r:r(o,c),className:["data-footnote-backref"]},children:Array.isArray(e)?e:[e]})}let p=a[a.length-1];if(p&&"element"===p.type&&"p"===p.tagName){let e=p.children[p.children.length-1];e&&"text"===e.type?e.value+=" ":p.children.push({type:"text",value:" "}),p.children.push(...u)}else a.push(...u);let h={type:"element",tagName:"li",properties:{id:A+"fn-"+l},children:e.wrap(a,!0)};e.patch(n,h),i.push(h)}if(0!==i.length)return{type:"element",tagName:"section",properties:{dataFootnotes:!0,className:["footnotes"]},children:[{type:"element",tagName:a,properties:{...gG(s),id:"footnote-label"},children:[{type:"text",value:n}]},{type:"text",value:"\n"},{type:"element",tagName:"ol",properties:{},children:e.wrap(i,!0)},{type:"text",value:"\n"}]}}(t),a=Array.isArray(r)?{type:"root",children:r}:r||{type:"root",children:[]};return n&&a.children.push({type:"text",value:"\n"},n),a}function fA(e,A){return e&&"run"in e?async function(t,r){let n=fe(t,{file:r,...A});await e.run(n,r)}:function(t,r){return fe(t,{file:r,...e||A})}}function ft(e){if(e)throw e}var fr=t(9566);function fn(e){if("object"!=typeof e||null===e)return!1;let A=Object.getPrototypeOf(e);return(null===A||A===Object.prototype||null===Object.getPrototypeOf(A))&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)}let fa=require("node:path"),fs=require("node:process");function fi(e){return!!(null!==e&&"object"==typeof e&&"href"in e&&e.href&&"protocol"in e&&e.protocol&&void 0===e.auth)}let fo=require("node:url"),fl=["history","path","basename","stem","extname","dirname"];class fc{constructor(e){let A,t;A=e?fi(e)?{path:e}:"string"==typeof e||function(e){return!!(e&&"object"==typeof e&&"byteLength"in e&&"byteOffset"in e)}(e)?{value:e}:e:{},this.cwd="cwd"in A?"":fs.cwd(),this.data={},this.history=[],this.messages=[],this.value,this.map,this.result,this.stored;let r=-1;for(;++rA.length;s&&A.push(r);try{a=e.apply(this,A)}catch(e){if(s&&t)throw e;return r(e)}s||(a&&a.then&&"function"==typeof a.then?a.then(n,r):a instanceof Error?r(a):n(a))};function r(e,...n){t||(t=!0,A(e,...n))}function n(e){r(null,e)}})(i,n)(...s):r(null,...s)}(null,...A)},use:function(t){if("function"!=typeof t)throw TypeError("Expected `middelware` to be a function, not "+t);return e.push(t),A}};return A}()}copy(){let e=new ff,A=-1;for(;++A0){let[r,...a]=A,s=t[n][1];fn(s)&&fn(r)&&(r=fr(!0,s,r)),t[n]=[e,r,...a]}}}}let fm=new ff().freeze();function fB(e,A){if("function"!=typeof A)throw TypeError("Cannot `"+e+"` without `parser`")}function fw(e,A){if("function"!=typeof A)throw TypeError("Cannot `"+e+"` without `compiler`")}function fx(e,A){if(A)throw Error("Cannot call `"+e+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function fv(e){if(!fn(e)||"string"!=typeof e.type)throw TypeError("Expected node, got `"+e+"`")}function fy(e,A,t){if(!t)throw Error("`"+e+"` finished async. Use `"+A+"` instead")}function fb(e){var A;return(A=e)&&"object"==typeof A&&"message"in A&&"messages"in A?e:new fc(e)}let fC=[],fQ={allowDangerousHtml:!0},fF=/^(https?|ircs?|mailto|xmpp)$/i,fU=[{from:"astPlugins",id:"remove-buggy-html-in-markdown-parser"},{from:"allowDangerousHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"allowNode",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowElement"},{from:"allowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowedElements"},{from:"className",id:"remove-classname"},{from:"disallowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"disallowedElements"},{from:"escapeHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"includeElementIndex",id:"#remove-includeelementindex"},{from:"includeNodeIndex",id:"change-includenodeindex-to-includeelementindex"},{from:"linkTarget",id:"remove-linktarget"},{from:"plugins",id:"change-plugins-to-remarkplugins",to:"remarkPlugins"},{from:"rawSourcePos",id:"#remove-rawsourcepos"},{from:"renderers",id:"change-renderers-to-components",to:"components"},{from:"source",id:"change-source-to-children",to:"children"},{from:"sourcePos",id:"#remove-sourcepos"},{from:"transformImageUri",id:"#add-urltransform",to:"urlTransform"},{from:"transformLinkUri",id:"#add-urltransform",to:"urlTransform"}];function fk(e){let A=function(e){let A=e.rehypePlugins||fC,t=e.remarkPlugins||fC,r=e.remarkRehypeOptions?{...e.remarkRehypeOptions,...fQ}:fQ;return fm().use(gN).use(t).use(fA,r).use(A)}(e),t=function(e){let A=e.children||"",t=new fc;return"string"==typeof A&&(t.value=A),t}(e);return function(e,A){let t=A.allowedElements,r=A.allowElement,n=A.components,a=A.disallowedElements,s=A.skipHtml,i=A.unwrapDisallowed,o=A.urlTransform||fE;for(let e of fU)Object.hasOwn(A,e.from)&&(e.from,e.to&&e.to,e.id);return g$(e,function(e,A,n){if("raw"===e.type&&n&&"number"==typeof A)return s?n.children.splice(A,1):n.children[A]={type:"text",value:e.value},A;if("element"===e.type){let A;for(A in hl)if(Object.hasOwn(hl,A)&&Object.hasOwn(e.properties,A)){let t=e.properties[A],r=hl[A];(null===r||r.includes(e.tagName))&&(e.properties[A]=o(String(t||""),A,e))}}if("element"===e.type){let s=t?!t.includes(e.tagName):!!a&&a.includes(e.tagName);if(!s&&r&&"number"==typeof A&&(s=!r(e,A,n)),s&&n&&"number"==typeof A)return i&&e.children?n.children.splice(A,1,...e.children):n.children.splice(A,1),A}}),function(e,A){var t,r,n,a,s;let i;if(!A||void 0===A.Fragment)throw TypeError("Expected `Fragment` in options");let o=A.filePath||void 0;if(A.development){if("function"!=typeof A.jsxDEV)throw TypeError("Expected `jsxDEV` in options when `development: true`");t=o,r=A.jsxDEV,i=function(e,A,n,a){let s=Array.isArray(n.children),i=pZ(e);return r(A,n,a,s,{columnNumber:i?i.column-1:void 0,fileName:t,lineNumber:i?i.line:void 0},void 0)}}else{if("function"!=typeof A.jsx)throw TypeError("Expected `jsx` in production options");if("function"!=typeof A.jsxs)throw TypeError("Expected `jsxs` in production options");n=0,a=A.jsx,s=A.jsxs,i=function(e,A,t,r){let n=Array.isArray(t.children)?s:a;return r?n(A,t,r):n(A,t)}}let l={Fragment:A.Fragment,ancestors:[],components:A.components||{},create:i,elementAttributeNameCase:A.elementAttributeNameCase||"react",evaluater:A.createEvaluater?A.createEvaluater():void 0,filePath:o,ignoreInvalidStyle:A.ignoreInvalidStyle||!1,passKeys:!1!==A.passKeys,passNode:A.passNode||!1,schema:"svg"===A.space?pG:pV,stylePropertyNameCase:A.stylePropertyNameCase||"dom",tableCellAlignToStyle:!1!==A.tableCellAlignToStyle},c=ht(l,e,void 0);return c&&"string"!=typeof c?c:l.create(e,l.Fragment,{children:c||void 0},void 0)}(e,{Fragment:d.Fragment,components:n,ignoreInvalidStyle:!0,jsx:d.jsx,jsxs:d.jsxs,passKeys:!0,passNode:!0})}(A.runSync(A.parse(t),t),e)}function fE(e){let A=e.indexOf(":"),t=e.indexOf("?"),r=e.indexOf("#"),n=e.indexOf("/");return -1===A||-1!==n&&A>n||-1!==t&&A>t||-1!==r&&A>r||fF.test(e.slice(0,A))?e:""}function fj({content:e,className:A,skipNormalization:t=!1}){let r=t?e:function(e){if(!e||"string"!=typeof e)return"";let A=e.split("\n"),t=[],r=!1,n=0,a=e=>{let A=e.trim();return/^```/.test(A)},s=e=>{let A=e.trim();return/^[-*+]\s/.test(A)||/^\d+\.\s/.test(A)},i=e=>/^\s*>/.test(e),o=e=>{let A=e.trim();return!!A&&!(A.length<3)&&[/^(const|let|var|function|class|import|export|return|if|for|while)\s/,/^[a-zA-Z_$][a-zA-Z0-9_$]*\s*[=:({]/,/[{};()[\]]/,/^\/\//,/^#/].some(e=>e.test(A))};for(let e=0;e=4&&!o(l)||c>=2&&c<4){t.push(l.trim());continue}t.push(l)}return t.join("\n").trim()}(e);return(0,d.jsx)("div",{className:(0,y.cn)("prose prose-sm dark:prose-invert max-w-none",A),children:(0,d.jsx)(fk,{components:{h1:({children:e})=>(0,d.jsx)("h1",{className:"text-xl font-bold mb-2 mt-4",children:e}),h2:({children:e})=>(0,d.jsx)("h2",{className:"text-lg font-semibold mb-2 mt-3",children:e}),h3:({children:e})=>(0,d.jsx)("h3",{className:"text-base font-semibold mb-1 mt-2",children:e}),h4:({children:e})=>(0,d.jsx)("h4",{className:"text-sm font-semibold mb-1 mt-2",children:e}),p:({children:e})=>(0,d.jsx)("p",{className:"mb-2 last:mb-0",children:e}),ul:({children:e})=>(0,d.jsx)("ul",{className:"list-disc pl-5 mb-2 space-y-0.5",children:e}),ol:({children:e})=>(0,d.jsx)("ol",{className:"list-decimal pl-5 mb-2 space-y-0.5",children:e}),li:({children:e})=>(0,d.jsx)("li",{className:"text-sm",children:e}),pre:({children:e,...A})=>(0,d.jsx)("pre",{className:"p-3 rounded-md bg-muted overflow-x-auto mb-2",...A,children:e}),code:({className:e,children:A,...t})=>/language-(\w+)/.exec(e||"")?(0,d.jsx)("code",{className:"font-mono text-xs",...t,children:A}):(0,d.jsx)("code",{className:"px-1.5 py-0.5 rounded bg-muted font-mono text-xs",...t,children:A}),blockquote:({children:e})=>(0,d.jsx)("blockquote",{className:"border-l-2 border-muted-foreground/30 pl-3 py-0.5 mb-2 italic text-muted-foreground",children:e}),a:({href:e,children:A})=>(0,d.jsx)("a",{href:e,className:"text-primary hover:underline",target:"_blank",rel:"noopener noreferrer",children:A}),strong:({children:e})=>(0,d.jsx)("strong",{className:"font-semibold",children:e}),em:({children:e})=>(0,d.jsx)("em",{className:"italic",children:e}),hr:()=>(0,d.jsx)("hr",{className:"my-3 border-muted"}),table:({children:e})=>(0,d.jsx)("div",{className:"overflow-x-auto mb-2",children:(0,d.jsx)("table",{className:"min-w-full divide-y divide-muted",children:e})}),thead:({children:e})=>(0,d.jsx)("thead",{className:"bg-muted/30",children:e}),tbody:({children:e})=>(0,d.jsx)("tbody",{className:"divide-y divide-muted",children:e}),tr:({children:e})=>(0,d.jsx)("tr",{children:e}),th:({children:e})=>(0,d.jsx)("th",{className:"px-2 py-1 text-left text-xs font-medium",children:e}),td:({children:e})=>(0,d.jsx)("td",{className:"px-2 py-1 text-xs",children:e})},children:r})})}var fI="Toggle",fH=p.forwardRef((e,A)=>{let{pressed:t,defaultPressed:r,onPressedChange:n,...a}=e,[s,i]=(0,el.i)({prop:t,onChange:n,defaultProp:r??!1,caller:fI});return(0,d.jsx)(ec.sG.button,{type:"button","aria-pressed":s,"data-state":s?"on":"off","data-disabled":e.disabled?"":void 0,...a,ref:A,onClick:(0,es.mK)(e.onClick,()=>{e.disabled||i(!s)})})});fH.displayName=fI;var fS="ToggleGroup",[fN,fL]=(0,eo.A)(fS,[ek]),fD=ek(),fT=p.forwardRef((e,A)=>{let{type:t,...r}=e;if("single"===t)return(0,d.jsx)(fR,{...r,ref:A});if("multiple"===t)return(0,d.jsx)(fP,{...r,ref:A});throw Error(`Missing prop \`type\` expected on \`${fS}\``)});fT.displayName=fS;var[fM,fK]=fN(fS),fR=p.forwardRef((e,A)=>{let{value:t,defaultValue:r,onValueChange:n=()=>{},...a}=e,[s,i]=(0,el.i)({prop:t,defaultProp:r??"",onChange:n,caller:fS});return(0,d.jsx)(fM,{scope:e.__scopeToggleGroup,type:"single",value:p.useMemo(()=>s?[s]:[],[s]),onItemActivate:i,onItemDeactivate:p.useCallback(()=>i(""),[i]),children:(0,d.jsx)(fG,{...a,ref:A})})}),fP=p.forwardRef((e,A)=>{let{value:t,defaultValue:r,onValueChange:n=()=>{},...a}=e,[s,i]=(0,el.i)({prop:t,defaultProp:r??[],onChange:n,caller:fS}),o=p.useCallback(e=>i((A=[])=>[...A,e]),[i]),l=p.useCallback(e=>i((A=[])=>A.filter(A=>A!==e)),[i]);return(0,d.jsx)(fM,{scope:e.__scopeToggleGroup,type:"multiple",value:s,onItemActivate:o,onItemDeactivate:l,children:(0,d.jsx)(fG,{...a,ref:A})})});fT.displayName=fS;var[fO,fV]=fN(fS),fG=p.forwardRef((e,A)=>{let{__scopeToggleGroup:t,disabled:r=!1,rovingFocus:n=!0,orientation:a,dir:s,loop:i=!0,...o}=e,l=fD(t),c=(0,ed.jH)(s),u={role:"group",dir:c,...o};return(0,d.jsx)(fO,{scope:t,rovingFocus:n,disabled:r,children:n?(0,d.jsx)(eI,{asChild:!0,...l,orientation:a,dir:c,loop:i,children:(0,d.jsx)(ec.sG.div,{...u,ref:A})}):(0,d.jsx)(ec.sG.div,{...u,ref:A})})}),fz="ToggleGroupItem",fq=p.forwardRef((e,A)=>{let t=fK(fz,e.__scopeToggleGroup),r=fV(fz,e.__scopeToggleGroup),n=fD(e.__scopeToggleGroup),a=t.value.includes(e.value),s=r.disabled||e.disabled,i={...e,pressed:a,disabled:s},o=p.useRef(null);return r.rovingFocus?(0,d.jsx)(eN,{asChild:!0,...n,focusable:!s,active:a,ref:o,children:(0,d.jsx)(fW,{...i,ref:A})}):(0,d.jsx)(fW,{...i,ref:A})});fq.displayName=fz;var fW=p.forwardRef((e,A)=>{let{__scopeToggleGroup:t,value:r,...n}=e,a=fK(fz,t),s={role:"radio","aria-checked":e.pressed,"aria-pressed":void 0},i="single"===a.type?s:void 0;return(0,d.jsx)(fH,{...i,...n,ref:A,onPressedChange:e=>{e?a.onItemActivate(r):a.onItemDeactivate(r)}})});let fJ=(0,t(4224).F)("inline-flex items-center justify-center rounded-md text-sm font-medium transition-colors hover:bg-muted hover:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground",{variants:{variant:{default:"bg-transparent",outline:"border border-input bg-transparent shadow-sm hover:bg-accent hover:text-accent-foreground"},size:{default:"h-9 px-3",sm:"h-8 px-2",lg:"h-10 px-3"}},defaultVariants:{variant:"default",size:"default"}}),fX=p.forwardRef(({className:e,...A},t)=>(0,d.jsx)(fT,{ref:t,className:(0,y.cn)("inline-flex items-center justify-center gap-1 rounded-md bg-muted p-1",e),...A}));fX.displayName=fT.displayName;let f_=p.forwardRef(({className:e,variant:A,size:t,...r},n)=>(0,d.jsx)(fq,{ref:n,className:(0,y.cn)(fJ({variant:A,size:t}),e),...r}));f_.displayName=fq.displayName;var fY=t(9929);let f$={shell:(0,d.jsx)(A9,{className:"h-3 w-3 text-blue-500"}),json_patch:(0,d.jsx)(E,{className:"h-3 w-3 text-orange-500"})},fZ={pending:(0,d.jsx)(ce.A,{className:"h-3 w-3 animate-spin text-gray-400"}),executing:(0,d.jsx)(ce.A,{className:"h-3 w-3 animate-spin text-blue-500"}),completed:(0,d.jsx)(pi.A,{className:"h-3 w-3 text-green-500"}),failed:(0,d.jsx)(po.A,{className:"h-3 w-3 text-red-500"})};function f0({events:e,onRestore:A,onRetry:t,prompt:r,setPrompt:n,generating:a,onGenerate:s,onStop:i,focusContext:o,setFocusContext:l,focusPreviewSnippet:c,chatMode:u,setChatMode:h,currentModel:g,setCurrentModel:f,getModelDisplayName:m,isTourLockingInput:B=!1,onClearChat:w,onClose:x}){let v=(0,p.useRef)(null),[y,b]=(0,p.useState)(!0),[C,F]=(0,p.useState)(!1),[k,E]=(0,p.useState)(new Set);(0,p.useRef)(!1);let j=(0,p.useRef)(0),I=(0,p.useRef)(new Map),H=(0,p.useRef)({result:[],currentTurn:{id:`turn-${Date.now()}`,items:[]},currentToolBatch:0,toolsByBatchAndIndex:new Map,itemIdCounter:0}),S=(0,p.useMemo)(()=>{let A,t=H.current,r=e.length-j.current;if(0===e.length||j.current>e.length)return j.current=0,I.current=new Map,H.current={result:[],currentTurn:{id:`turn-${Date.now()}`,items:[]},currentToolBatch:0,toolsByBatchAndIndex:new Map,itemIdCounter:0},[];let n=e[e.length-1],a=n&&("assistant_delta"===n.event||"tool_param_delta"===n.event),s=I.current.get(n?.id||""),i=a&&n.version&&s!==n.version;if(0===r&&!i)return[...t.result,...t.currentTurn.items.length>0?[t.currentTurn]:[]];for(let r of(i?(A=[n],I.current.set(n.id,n.version)):A=e.slice(j.current),A))switch(r.event){case"thinking":t.currentTurn.items.push({id:`item-${t.itemIdCounter++}`,type:"thinking",timestamp:r.timestamp,data:null});break;case"toolCalls":let e=r.data?.toolCalls||[];for(let A=0;A"thinking"!==e.type);break;case"tool_status":let{toolIndex:A,status:n,result:a,error:s}=r.data||{},i=`${t.currentToolBatch-1}-${A}`,o=t.toolsByBatchAndIndex.get(i);o&&(o.status=n,a&&(o.result=a),s&&(o.error=s));break;case"tool_result":let l=r.data?.toolIndex,c=`${t.currentToolBatch-1}-${l}`,u=t.toolsByBatchAndIndex.get(c);u&&r.data?.result&&(u.result=r.data.result);break;case"tool_param_delta":for(let e of r.data?.all||[r.data]){let{toolId:A,partialArguments:r}=e||{};if(!A)continue;let n=t.currentTurn.items.find(e=>"tool"===e.type&&e.data?.id===A);if(n){let e=n.data;try{e.parameters=JSON.parse(r)}catch{e.parameters={_raw:r}}}}break;case"assistant_delta":let d=r.data?.all||[r.data],p=t.currentTurn.items.findLast(e=>"text"===e.type);for(let e of d){let A=e?.text||"",n=e?.snapshot;void 0!==n?p?p.data=n:(p={id:`item-${t.itemIdCounter++}`,type:"text",timestamp:r.timestamp,data:n},t.currentTurn.items.push(p)):A&&(p?p.data+=A:(p={id:`item-${t.itemIdCounter++}`,type:"text",timestamp:r.timestamp,data:A},t.currentTurn.items.push(p)))}t.currentTurn.items=t.currentTurn.items.filter(e=>"thinking"!==e.type);break;case"plan_message":t.currentTurn.items.push({id:`item-${t.itemIdCounter++}`,type:"plan",timestamp:r.timestamp,data:r.data?.content||""});break;case"agent_message":t.currentTurn.items.push({id:`item-${t.itemIdCounter++}`,type:"agent",timestamp:r.timestamp,data:r.data?.content||""});break;case"task_progress":t.currentTurn.items.push({id:`item-${t.itemIdCounter++}`,type:"progress",timestamp:r.timestamp,data:r.data?.content||""});break;case"conversation_message":let h=r.data?.message;if(h?.role==="user"){if(h.content?.includes("Before finishing, you must call the evaluation tool"))break;t.currentTurn.items.push({id:`item-${t.itemIdCounter++}`,type:"user",timestamp:r.timestamp,data:h.content||""})}break;case"user_message":t.currentTurn.items.push({id:`item-${t.itemIdCounter++}`,type:"user",timestamp:r.timestamp,data:r.data?.content||""});break;case"error":t.currentTurn.items.push({id:`item-${t.itemIdCounter++}`,type:"error",timestamp:r.timestamp,data:r.data}),t.currentTurn.items=t.currentTurn.items.filter(e=>"thinking"!==e.type);break;case"usage":t.currentTurn.usage=r.data;break;case"checkpoint_created":t.currentTurn.checkpointId=r.data?.checkpointId;break;case"iteration":t.currentTurn.iteration=r.data?.iteration,t.currentTurn.items.length>0&&(t.result.push(t.currentTurn),t.currentTurn={id:`turn-${Date.now()}-${t.result.length}`,items:[]})}return i||(j.current=e.length),[...t.result,...t.currentTurn.items.length>0?[t.currentTurn]:[]]},[e]),L=e=>{E(A=>{let t=new Set(A);return t.has(e)?t.delete(e):t.add(e),t})},D=c?.trim()??"",T=o?(0,d.jsxs)("div",{id:"focus-context-hint",className:"rounded-md border border-dashed border-primary/40 bg-primary/5 px-3 py-2 text-xs text-muted-foreground shadow-sm",children:[(0,d.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2 text-foreground",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("span",{className:"font-medium text-xs uppercase tracking-wide text-primary",children:"context"}),(0,d.jsx)("span",{className:"text-[10px] uppercase tracking-wide text-muted-foreground",children:"included in next message"})]}),(0,d.jsx)(Q.$,{size:"sm",variant:"ghost",className:"h-6 px-2 text-xs",onClick:()=>l(null),title:"Clear focus context",children:"Clear"})]}),(0,d.jsxs)("div",{className:"mt-2 space-y-2",children:[o.domPath&&(0,d.jsx)("div",{className:"text-[11px] font-mono text-muted-foreground/80 break-all leading-snug",children:o.domPath}),D&&(0,d.jsx)("pre",{className:"max-h-24 overflow-auto rounded border border-border/50 bg-background/90 px-2 py-1 text-[11px] text-foreground leading-relaxed",children:(0,d.jsx)("code",{children:D})})]})]}):null;return(0,d.jsxs)("div",{className:"h-full flex flex-col bg-card border border-border rounded-lg overflow-hidden","data-tour-id":"assistant-panel",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between p-3 border-b border-border bg-muted/30 shrink-0",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)(u5,{className:"h-4 w-4 md:hidden",style:{color:"var(--button-assistant-active)"}}),x?(0,d.jsxs)("button",{type:"button",onClick:x,"aria-label":"Hide chat panel",className:"relative hidden h-6 w-6 items-center justify-center rounded-sm text-muted-foreground transition-colors hover:text-destructive md:flex group",children:[(0,d.jsx)(u5,{className:"h-4 w-4 transition-opacity group-hover:opacity-0",style:{color:"var(--button-assistant-active)"}}),(0,d.jsx)(N.A,{className:"absolute h-3 w-3 opacity-0 transition-opacity group-hover:opacity-100"})]}):(0,d.jsx)(u5,{className:"hidden h-4 w-4 md:inline-flex",style:{color:"var(--button-assistant-active)"}}),(0,d.jsx)("span",{className:"font-semibold text-sm",children:"Chat"})]}),(0,d.jsx)("div",{className:"flex items-center gap-1",children:w&&(0,d.jsx)(Q.$,{variant:"ghost",size:"sm",onClick:w,className:"h-7 px-2 hover:bg-muted",title:"Clear chat","data-tour-id":"clear-chat-button",children:(0,d.jsx)(G,{className:"h-3 w-3"})})})]}),(0,d.jsx)("div",{ref:v,className:"flex-1 overflow-y-auto p-4 space-y-4",children:0===S.length?(0,d.jsx)("div",{className:"text-xs text-muted-foreground text-center p-4",children:"No messages yet. Start a conversation to see it here."}):S.map(e=>(0,d.jsx)(f1,{turn:e,onRestore:A,onRetry:t,expandedItems:k,onToggleExpanded:L},e.id))}),(0,d.jsxs)("div",{className:"p-3 space-y-2",children:[T,(0,d.jsxs)("div",{className:"bg-card border border-border rounded-lg shadow-sm overflow-hidden",children:[(0,d.jsxs)("div",{className:"relative flex bg-card rounded-lg transition-all",children:[(0,d.jsx)(U,{value:r,onChange:e=>n(e.target.value),onKeyDown:e=>{!B&&"Enter"===e.key&&(e.ctrlKey||e.metaKey)&&(e.preventDefault(),s())},placeholder:"Describe what you want to build...",className:"flex-1 px-3 py-2 bg-transparent border-0 resize-none focus:outline-none text-sm placeholder:text-muted-foreground text-foreground",rows:3,disabled:a||B}),(0,d.jsx)("div",{className:"flex flex-col p-2 gap-2",children:(0,d.jsx)(Q.$,{onClick:a?i:s,disabled:B?!a:!a&&!r.trim(),size:"sm",className:"flex items-center gap-2",children:a?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(ce.A,{className:"h-4 w-4 animate-spin"}),"Stop"]}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(pl,{className:"h-4 w-4"}),"Send"]})})})]}),(0,d.jsx)("div",{className:"border-t border-border bg-muted/50 px-2 py-2",children:(0,d.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,d.jsxs)(lx.AM,{open:C,onOpenChange:F,children:[(0,d.jsx)(lx.Wv,{asChild:!0,children:(0,d.jsxs)(Q.$,{variant:"outline",size:"sm",className:"h-7 text-xs","data-tour-id":"provider-settings-trigger",children:[(0,d.jsx)("span",{children:m(g)}),C?(0,d.jsx)(lT.A,{className:"h-3 w-3 ml-1"}):(0,d.jsx)(pn.A,{className:"h-3 w-3 ml-1"})]})}),(0,d.jsx)(lx.hl,{className:"w-[36rem] max-w-[calc(100vw-2rem)]",align:"start","data-tour-id":"provider-settings-popup",children:(0,d.jsx)(fY.t,{onClose:()=>F(!1),onModelChange:e=>f(e)})})]}),(0,d.jsxs)(fX,{type:"single",value:u?"chat":"code",onValueChange:e=>{e&&h("chat"===e)},className:"gap-1",children:[(0,d.jsxs)(f_,{value:"chat",className:"h-7 text-xs px-2",children:[(0,d.jsx)(u5,{className:"h-3 w-3 mr-1"}),"Chat"]}),(0,d.jsxs)(f_,{value:"code",className:"h-7 text-xs px-2",children:[(0,d.jsx)(pc,{className:"h-3 w-3 mr-1"}),"Code"]})]})]})})]})]})]})}function f1({turn:e,onRestore:A,onRetry:t,expandedItems:r,onToggleExpanded:n}){return(0,d.jsxs)("div",{className:"space-y-2",children:[e.items.map(e=>{switch(e.type){case"thinking":return(0,d.jsx)("div",{className:"bg-muted/30 rounded-md p-2 opacity-70",children:(0,d.jsxs)("div",{className:"flex items-center gap-2 px-1",children:[(0,d.jsx)(ce.A,{className:"h-3 w-3 animate-spin text-blue-400"}),(0,d.jsx)("span",{className:"text-xs text-muted-foreground",children:"Thinking..."})]})},e.id);case"plan":return(0,d.jsx)(f4,{itemId:e.id,content:e.data,isExpanded:r.has(e.id),onToggle:()=>n(e.id)},e.id);case"agent":return(0,d.jsx)(f3,{itemId:e.id,content:e.data,isExpanded:r.has(e.id),onToggle:()=>n(e.id)},e.id);case"progress":return(0,d.jsx)(f5,{itemId:e.id,content:e.data,isExpanded:r.has(e.id),onToggle:()=>n(e.id)},e.id);case"tool":return(0,d.jsx)(f2,{itemId:e.id,tool:e.data,isExpanded:r.has(e.id),onToggle:()=>n(e.id)},e.id);case"text":return(0,d.jsx)("div",{className:"text-sm text-foreground/90 bg-muted/20 px-3 py-2 rounded",children:(0,d.jsx)(fj,{content:e.data})},e.id);case"user":return(0,d.jsxs)("div",{className:"text-sm text-foreground bg-primary/10 px-3 py-2 rounded border border-primary/20",children:[(0,d.jsx)("div",{className:"font-semibold text-primary mb-1 text-xs",children:"User"}),(0,d.jsx)("div",{className:"whitespace-pre-wrap",children:e.data})]},e.id);case"error":return(0,d.jsx)("div",{className:"text-sm bg-destructive/10 border border-destructive/20 px-3 py-2 rounded",children:(0,d.jsxs)("div",{className:"flex items-start gap-2",children:[(0,d.jsx)(po.A,{className:"h-4 w-4 text-destructive mt-0.5 shrink-0"}),(0,d.jsxs)("div",{className:"flex-1",children:[(0,d.jsx)("div",{className:"font-semibold text-destructive mb-1",children:"Error"}),(0,d.jsx)("div",{className:"text-destructive/90 whitespace-pre-wrap font-mono text-xs",children:e.data?.message||JSON.stringify(e.data,null,2)}),e.data?.stack&&(0,d.jsxs)("details",{className:"mt-2",children:[(0,d.jsx)("summary",{className:"text-xs text-destructive/70 cursor-pointer hover:text-destructive",children:"Stack trace"}),(0,d.jsx)("pre",{className:"text-[10px] text-destructive/60 mt-1 overflow-x-auto",children:e.data.stack})]})]})]})},e.id);default:return null}}),(e.usage||e.checkpointId)&&(0,d.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[e.usage&&(0,d.jsxs)("div",{className:"text-xs text-muted-foreground",children:["Tokens: ",(e.usage.usage?.totalTokens||e.usage.totalTokens)?.toLocaleString()||"N/A",(void 0!==e.usage.totalCost||void 0!==e.usage.cost)&&` • Cost: $${((e.usage.totalCost??e.usage.cost)||0).toFixed(4)}`]}),e.checkpointId&&(A||t)&&(0,d.jsxs)("div",{className:"flex items-center gap-1",children:[A&&(0,d.jsxs)(Q.$,{size:"sm",variant:"ghost",onClick:()=>A(e.checkpointId),className:"h-6 px-2 text-xs",title:"Restore to this checkpoint",children:[(0,d.jsx)(u3,{className:"h-3 w-3 mr-1"}),"Restore"]}),t&&(0,d.jsxs)(Q.$,{size:"sm",variant:"ghost",onClick:()=>t(e.checkpointId),className:"h-6 px-2 text-xs",title:"Retry from this checkpoint",children:[(0,d.jsx)(A6.A,{className:"h-3 w-3 mr-1"}),"Retry"]})]})]})]})}function f2({itemId:e,tool:A,isExpanded:t,onToggle:r}){return(0,d.jsxs)("div",{className:`bg-muted/30 rounded-md transition-all ${"executing"===A.status?"ring-2 ring-blue-500/20 animate-pulse":""} ${t?"p-2":"p-1.5"}`,children:[(0,d.jsxs)("button",{onClick:r,className:"flex items-center gap-2 w-full text-left hover:bg-muted/50 rounded px-1",children:[(0,d.jsxs)("div",{className:"flex items-center gap-1.5",children:[f$[A.name]||(0,d.jsx)(A9,{className:"h-3 w-3"}),(0,d.jsx)("span",{className:"text-xs font-mono",children:A.name})]}),"shell"===A.name&&A.parameters?.cmd&&(0,d.jsx)("code",{className:"text-xs text-muted-foreground",children:Array.isArray(A.parameters.cmd)?A.parameters.cmd.slice(1).join(" ").substring(0,50):String(A.parameters.cmd).substring(0,50)}),(A.parameters?.path||A.parameters?.file_path)&&(0,d.jsx)("code",{className:"text-xs text-muted-foreground",children:A.parameters.path||A.parameters.file_path}),(0,d.jsx)("div",{className:"ml-auto",children:fZ[A.status||"completed"]})]}),t&&(0,d.jsxs)("div",{className:"mt-2 space-y-2",children:[A.parameters&&Object.keys(A.parameters).length>0&&(0,d.jsxs)("div",{className:"px-2",children:[(0,d.jsx)("div",{className:"text-[10px] uppercase tracking-wider text-muted-foreground mb-1",children:"Parameters"}),(0,d.jsx)("pre",{className:"text-xs bg-muted/50 p-2 rounded overflow-x-auto",children:JSON.stringify(A.parameters,null,2)})]}),A.result&&(0,d.jsxs)("div",{className:"px-2",children:[(0,d.jsx)("div",{className:"text-[10px] uppercase tracking-wider text-muted-foreground mb-1",children:"Result"}),(0,d.jsx)("pre",{className:"text-xs bg-muted/50 p-2 rounded overflow-x-auto max-h-40 overflow-y-auto",children:"string"==typeof A.result?A.result:JSON.stringify(A.result,null,2)})]}),A.error&&(0,d.jsxs)("div",{className:"px-2",children:[(0,d.jsx)("div",{className:"text-[10px] uppercase tracking-wider text-destructive mb-1",children:"Error"}),(0,d.jsx)("pre",{className:"text-xs bg-destructive/10 text-destructive p-2 rounded overflow-x-auto",children:A.error})]})]})]})}function f4({itemId:e,content:A,isExpanded:t,onToggle:r}){let n=A.split("\n"),a=n[0]?.replace(/^\*\*|\*\*$/g,"").substring(0,50)||"Plan";return(0,d.jsxs)("div",{className:"bg-muted/30 rounded-md transition-all p-1.5",children:[(0,d.jsxs)("button",{onClick:r,className:"flex items-center gap-2 w-full text-left hover:bg-muted/50 rounded px-1",children:[(0,d.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,d.jsx)(pu,{className:"h-3 w-3 text-orange-500"}),(0,d.jsx)("span",{className:"text-xs font-mono",children:"plan"})]}),(0,d.jsx)("code",{className:"text-xs text-muted-foreground truncate flex-1",children:a}),(0,d.jsx)("div",{className:"ml-auto",children:(0,d.jsx)(A9,{className:`h-3 w-3 transition-transform ${t?"rotate-90":""}`})})]}),t&&(0,d.jsx)("div",{className:"mt-2 px-2",children:(0,d.jsx)("pre",{className:"text-xs bg-muted/50 p-2 rounded overflow-x-auto whitespace-pre-wrap",children:A})})]})}function f3({itemId:e,content:A,isExpanded:t,onToggle:r}){let n=A.split("\n"),a=n[0]?.replace(/^\*\*|\*\*$/g,"").replace(/^🤖\s*/,"").substring(0,50)||"Agent";return(0,d.jsxs)("div",{className:"bg-muted/30 rounded-md transition-all p-1.5",children:[(0,d.jsxs)("button",{onClick:r,className:"flex items-center gap-2 w-full text-left hover:bg-muted/50 rounded px-1",children:[(0,d.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,d.jsx)(pd,{className:"h-3 w-3 text-purple-500"}),(0,d.jsx)("span",{className:"text-xs font-mono",children:"agent"})]}),(0,d.jsx)("code",{className:"text-xs text-muted-foreground truncate flex-1",children:a}),(0,d.jsx)("div",{className:"ml-auto",children:(0,d.jsx)(A9,{className:`h-3 w-3 transition-transform ${t?"rotate-90":""}`})})]}),t&&(0,d.jsx)("div",{className:"mt-2 px-2",children:(0,d.jsx)("pre",{className:"text-xs bg-muted/50 p-2 rounded overflow-x-auto whitespace-pre-wrap",children:A})})]})}function f5({itemId:e,content:A,isExpanded:t,onToggle:r}){let n=A.includes("✅"),a=A.replace(/^[✅🔄]\s*/,"").substring(0,50);return(0,d.jsxs)("div",{className:"bg-muted/30 rounded-md transition-all p-1.5",children:[(0,d.jsxs)("button",{onClick:r,className:"flex items-center gap-2 w-full text-left hover:bg-muted/50 rounded px-1",children:[(0,d.jsxs)("div",{className:"flex items-center gap-1.5",children:[n?(0,d.jsx)(pi.A,{className:"h-3 w-3 text-green-500"}):(0,d.jsx)(ce.A,{className:"h-3 w-3 animate-spin text-blue-500"}),(0,d.jsx)("span",{className:"text-xs font-mono",children:"progress"})]}),(0,d.jsx)("code",{className:"text-xs text-muted-foreground truncate flex-1",children:a}),(0,d.jsx)("div",{className:"ml-auto",children:(0,d.jsx)(A9,{className:`h-3 w-3 transition-transform ${t?"rotate-90":""}`})})]}),t&&(0,d.jsx)("div",{className:"mt-2 px-2",children:(0,d.jsx)("pre",{className:"text-xs bg-muted/50 p-2 rounded overflow-x-auto whitespace-pre-wrap",children:A})})]})}function f6({project:e,onBack:A}){let[t,r]=(0,p.useState)(0),[n,a]=(0,p.useState)(""),[s,i]=(0,p.useState)(!1),[o,l]=(0,p.useState)(null),[c,u]=(0,p.useState)(null),[h,g]=(0,p.useState)("preview"),[f,B]=(0,p.useState)(!1),[w,x]=(0,p.useState)(!1),[v,b]=(0,p.useState)(e.lastSavedAt??null),[C,F]=(0,p.useState)(null),[U,k]=(0,p.useState)(()=>!1),E=(0,p.useRef)(null),j=(0,p.useRef)(null),I=(0,p.useRef)(!1),[H,S]=(0,p.useState)(null),[N,L]=(0,p.useState)(lv.s.getDefaultModel()),[D,T]=(0,p.useState)(!1),[M,K]=(0,p.useState)(!1),[P,O]=(0,p.useState)(0),{state:V,start:G,setWorkspaceHandler:z}=l7(),q=V.currentStep?.id,W="running"===V.status&&"wrap-up"!==q,{shouldShowCosts:J}=function(){let[e,A]=(0,p.useState)(()=>lv.s.getCostSettings()),t=!1!==e.showCosts;return{costSettings:e,shouldShowCosts:t}}(),[X,_]=(0,p.useState)(!0),[Y,$]=(0,p.useState)(!0),[Z,ee]=(0,p.useState)(!1),[eA,et]=(0,p.useState)(!0),[er,en]=(0,p.useState)(!1),[ea,es]=(0,p.useState)([]),ei=(0,p.useRef)(0),eo=(0,p.useRef)(null),el=(0,p.useCallback)(A=>{eo.current&&clearTimeout(eo.current),eo.current=setTimeout(()=>{de.saveEvents(e.id,A).catch(e=>{y.v.error("Failed to persist debug events:",e)})},500)},[e.id]),ec=(0,p.useCallback)(async(e,A)=>{es(t=>{let r;if(("assistant_delta"===e||"tool_param_delta"===e)&&t.length>0){let n=t[t.length-1];if(n.event===e){let e={...n,timestamp:Date.now(),version:(n.version||1)+1,count:(n.count||1)+1,data:{all:n.data.all?[...n.data.all,A]:[n.data,A]}};return el(r=[...t.slice(0,-1),e]),r}}return el(r=[...t,{id:`${Date.now()}-${ei.current++}`,timestamp:Date.now(),event:e,data:A,count:1,version:1}]),r})},[e.id,el]),eu=(0,p.useCallback)(async()=>{es([]),await de.clearEvents(e.id),u(null)},[e.id]),ed=(()=>{let e=[X,Y,Z,eA,er].filter(Boolean).length;return 5===e?{chat:20,files:15,editor:25,preview:20,debug:20}:4===e?{chat:25,files:15,editor:35,preview:25,debug:0}:3===e?{chat:33,files:33,editor:33,preview:33,debug:0}:2===e?{chat:50,files:50,editor:50,preview:50,debug:0}:{chat:100,files:100,editor:100,preview:100,debug:0}})(),ep=e=>{if(!e)return"Select Model";let A=e.split("/");return A[A.length-1].split("-").map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(" ")},eh=(0,p.useCallback)((e,A=1200)=>{if(!e)return"";if(e.length<=A)return e;let t=Math.max(0,Math.floor(.6*A)),r=Math.max(0,Math.floor(.3*A)),n=e.slice(0,t),a=r>0?e.slice(-r):"";return`${n} - (...truncated...) -${a}`},[]),eg=(0,p.useCallback)(e=>{let A=Object.entries(e.attributes||{}).slice(0,6);if(0===A.length)return`<${e.tagName}>`;let t=A.map(([e,A])=>{let t=A.length>40?`${A.slice(0,37)}…`:A;return`${e}="${t}"`}).join(" ");return`<${e.tagName} ${t}>`},[]),ef=(0,p.useCallback)(e=>{let A=eg(e),t=eh(e.outerHTML,1200),r=e.domPath||"(unknown path)";return["Focus context:",`- Target: ${A}`,`- DOM path: ${r}`,"- HTML snippet:","```html",t,"```"].join("\n")},[eg,eh]),em=(0,p.useCallback)(e=>{if(!e){F(null),E.current=null;return}let A=`${e.domPath||""}::${e.tagName||""}::${e.outerHTML?e.outerHTML.length:0}`,t=Date.now();if(E.current&&E.current.signature===A&&t-E.current.timestamp<400)return;let r={...e,timestamp:t};F(r),A4.oR.info("Focus context set",{description:eg(r)}),E.current={signature:A,timestamp:t}},[eg]),eB=(0,p.useCallback)(()=>{et(!1)},[]);C&&eg(C);let ew=C?eh(C.outerHTML,240):"";ew?.trim(),C&&(Q.$,C.domPath&&C.domPath);let ex=(0,p.useCallback)(e=>{window.innerWidth<768?(g("editor"),setTimeout(()=>{u4(e)},0)):Z?u4(e):(ee(!0),setTimeout(()=>{u4(e)},0))},[Z]),ev=(0,p.useCallback)(()=>{r(e=>e+1),window.dispatchEvent(new CustomEvent("filesChanged"))},[]),ey=(0,p.useCallback)(async()=>{if(!w){x(!0);try{let A;if(j.current)try{let e=new Promise((e,A)=>{setTimeout(()=>A(Error("Screenshot capture timeout")),5e3)}),t=await Promise.race([j.current.captureScreenshot(),e]);t&&(A=t)}catch(e){y.v.warn("Failed to capture preview screenshot, continuing save:",e)}let t=await lm.$.save(e.id),r=await m.vfs.getProject(e.id);A&&(r.previewImage=A,r.previewUpdatedAt=new Date,await m.vfs.updateProject(r)),b(r.lastSavedAt??new Date(t.timestamp)),S(t.id),A4.oR.success("Project saved")}catch(e){y.v.error("Failed to save project",e),A4.oR.error("Failed to save project")}finally{x(!1)}}},[e.id,w]),eb=(0,p.useCallback)(async(A,t)=>{try{if(!await l6.Y.checkpointExists(A)){A4.oR.error("Checkpoint no longer exists - it may have been cleaned up"),y.v.warn(`[Workspace] Checkpoint ${A} no longer exists`);return}if(await lm.$.runWithSuppressedDirty(e.id,()=>l6.Y.restoreCheckpoint(A))){A4.oR.success(`Restored to: ${t||"checkpoint"}`),ev();let r=lm.$.getSavedCheckpointId(e.id);if(r&&r===A){lm.$.markClean(e.id);let A=await m.vfs.getProject(e.id);b(A.lastSavedAt??null)}else lm.$.markDirty(e.id)}else A4.oR.error("Failed to restore checkpoint")}catch(e){y.v.error("Error restoring checkpoint:",e),A4.oR.error("Failed to restore checkpoint")}},[ev,e.id]),eC=(0,p.useCallback)(async A=>{try{if(!await l6.Y.checkpointExists(A)){A4.oR.error("Checkpoint no longer exists - cannot retry"),y.v.warn(`[Workspace] Checkpoint ${A} no longer exists`);return}let t=null,r=ea.findIndex(e=>"checkpoint_created"===e.event&&e.data?.checkpointId===A);if(r>=0){for(let e=r-1;e>=0;e--)if("conversation_message"===ea[e].event&&ea[e].data?.message?.role==="user"){t=ea[e].data.message.content;break}}if(!t){A4.oR.error("Cannot find original user message to retry"),y.v.warn("[Workspace] No user message found before checkpoint");return}let n=-1;for(let e=r-1;e>=0;e--)if("conversation_message"===ea[e].event&&ea[e].data?.message?.role==="user"&&ea[e].data.message.content===t){n=e;break}if(-1===n){A4.oR.error("Cannot find user message event to truncate"),y.v.warn("[Workspace] User message event not found in debug events");return}if(!await lm.$.runWithSuppressedDirty(e.id,()=>l6.Y.restoreCheckpoint(A)))return void A4.oR.error("Failed to restore checkpoint");let s=lm.$.getSavedCheckpointId(e.id);if(s&&s===A){lm.$.markClean(e.id);let A=await m.vfs.getProject(e.id);b(A.lastSavedAt??null)}else lm.$.markDirty(e.id);let i=ea.slice(0,n+1);es(i),await de.truncateEvents(e.id,i),u(null),A4.oR.success("Restored checkpoint and retrying..."),ev(),a(t),I.current=!0}catch(e){y.v.error("Error during retry:",e),A4.oR.error("Failed to retry")}},[ev,e.id,ea,a]),eQ=async()=>{if(W)return;let A=n.trim();if(!A)return void A4.oR.error("Please enter a prompt");let t=lv.s.getSelectedProvider(),r=(0,u9.sO)(t),s=lv.s.getApiKey();if(r.apiKeyRequired&&!s)return void A4.oR.error(`Please set your ${r.name} API key in settings`);if(r.isLocal&&!lv.s.getProviderModel(t))return void A4.oR.error(`No model selected for ${r.name}. Please select a model in settings.`);let o=lv.s.getProviderModel(t)||lv.s.getDefaultModel();if(!o)return void A4.oR.error(`No model selected for ${U?"chat":"code"} mode. Please select a model in settings.`);i(!0);let d=C?`${ef(C)} - -${A}`:A;try{let A=c;if(!A){A=new u8.t(e.id,"orchestrator",ec,{chatMode:U,model:o});let t=ea.filter(e=>"conversation_message"===e.event).map(e=>e.data.message);t.length>0&&(A.importConversation(t),y.v.debug(`[Workspace] Restored ${t.length} conversation messages from debug events`)),u(A)}l(A);let t=await A.execute(d);y.v.debug("[Workspace] Orchestrator result:",{success:t.success,summary:t.summary,totalCost:t.totalCost}),t.success?(ev(),A4.oR.success("Task completed")):A4.oR.error(t.summary||"Generation failed",{duration:5e3,position:"bottom-center"}),a(""),C&&F(null)}catch(A){y.v.error("Generation error:",A);let e=A instanceof Error?A.message:"Failed to generate";A4.oR.error(e,{duration:5e3,position:"bottom-center"})}finally{i(!1),l(null)}},eF=(0,p.useCallback)(()=>{o&&(o.stop(),A4.oR.info("Generation stopped"))},[o]),eU=[{id:"back",label:"Back to projects",icon:cV.A,onClick:A,variant:"outline"}];eU.push({id:"save",label:w?"Saving…":f?"Save":"Saved",icon:cG,onClick:ey,variant:f?"default":"outline",disabled:!f||w}),H&&eU.push({id:"discard",label:"Discard Changes",icon:u3,onClick:()=>eb(H,"Last saved state"),variant:"outline",disabled:w||!f,dataTourId:"discard-changes-button"});let ek=(0,d.jsxs)(lx.AM,{children:[(0,d.jsx)(lx.Wv,{asChild:!0,children:(0,d.jsxs)(Q.$,{variant:"outline",size:"sm",className:"h-8 px-3 flex items-center gap-2",title:"Project cost and settings",children:[J&&(0,d.jsxs)("span",{className:"text-sm font-medium",children:["$",P.toFixed(3)]}),(0,d.jsx)(lt,{className:"h-4 w-4"})]})}),(0,d.jsx)(lx.hl,{className:"w-96",align:"end",children:(0,d.jsx)(l3,{})})]}),eE=(0,d.jsxs)("div",{className:"space-y-2",children:[J&&(0,d.jsx)("div",{className:"pb-2 border-b border-border/50",children:(0,d.jsxs)("span",{className:"text-sm font-medium",children:["Project cost: $",P.toFixed(P>=10?2:3)]})}),(0,d.jsxs)(lx.AM,{children:[(0,d.jsx)(lx.Wv,{asChild:!0,children:(0,d.jsxs)(Q.$,{variant:"outline",size:"sm",className:"w-full justify-start",children:[(0,d.jsx)(lt,{className:"h-4 w-4 mr-2"}),"Settings"]})}),(0,d.jsx)(lx.hl,{className:"w-[calc(100vw-2rem)]",align:"start",children:(0,d.jsx)(l3,{})})]})]});return(0,d.jsxs)(cS,{children:[(0,d.jsxs)("div",{className:"h-screen flex flex-col",children:[(0,d.jsx)(lp.j,{leftText:e.name,onLogoClick:A,actions:eU,mobileMenuContent:eE,desktopOnlyContent:ek,mobileVisibleActions:f?["save"]:[]}),(0,d.jsxs)("div",{className:"hidden md:flex flex-1 overflow-hidden bg-background",children:[(0,d.jsxs)("div",{className:"w-10 bg-muted/70 border-r border-border flex flex-col items-center py-3 gap-1.5",children:[(0,d.jsxs)(cN,{children:[(0,d.jsx)(cL,{asChild:!0,children:(0,d.jsx)("button",{className:`h-5 w-5 px-1 rounded-sm flex items-center justify-center transition-all ${X?"shadow-sm":"bg-transparent text-muted-foreground hover:bg-muted/80 hover:text-foreground"}`,style:{backgroundColor:X?"var(--button-assistant-active)":void 0,color:X?"white":void 0},onClick:()=>_(!X),children:(0,d.jsx)(u5,{className:"h-3.5 w-3.5"})})}),(0,d.jsx)(cD,{side:"right",className:"border-0",style:{backgroundColor:"#ff6b35",color:"white"},arrowStyle:{backgroundColor:"#ff6b35",fill:"#ff6b35"},children:(0,d.jsx)("p",{children:"Chat"})})]}),(0,d.jsxs)(cN,{children:[(0,d.jsx)(cL,{asChild:!0,children:(0,d.jsx)("button",{className:`h-5 w-5 px-1 rounded-sm flex items-center justify-center transition-all ${Y?"shadow-sm":"bg-transparent text-muted-foreground hover:bg-muted/80 hover:text-foreground"}`,style:{backgroundColor:Y?"var(--button-files-active)":void 0,color:Y?"white":void 0},onClick:()=>$(!Y),children:(0,d.jsx)(c$,{className:"h-3.5 w-3.5"})})}),(0,d.jsx)(cD,{side:"right",className:"border-0",style:{backgroundColor:"var(--button-files-active)",color:"white"},arrowStyle:{backgroundColor:"var(--button-files-active)",fill:"var(--button-files-active)"},children:(0,d.jsx)("p",{children:"File Explorer"})})]}),(0,d.jsxs)(cN,{children:[(0,d.jsx)(cL,{asChild:!0,children:(0,d.jsx)("button",{className:`h-5 w-5 px-1 rounded-sm flex items-center justify-center transition-all ${Z?"shadow-sm":"bg-transparent text-muted-foreground hover:bg-muted/80 hover:text-foreground"}`,style:{backgroundColor:Z?"var(--button-editor-active)":void 0,color:Z?"white":void 0},onClick:()=>ee(!Z),children:(0,d.jsx)(u0,{className:"h-3.5 w-3.5"})})}),(0,d.jsx)(cD,{side:"right",className:"border-0",style:{backgroundColor:"var(--button-editor-active)",color:"white"},arrowStyle:{backgroundColor:"var(--button-editor-active)",fill:"var(--button-editor-active)"},children:(0,d.jsx)("p",{children:"Code Editor"})})]}),(0,d.jsxs)(cN,{children:[(0,d.jsx)(cL,{asChild:!0,children:(0,d.jsx)("button",{className:`h-5 w-5 mx-1 rounded-sm flex items-center justify-center transition-all ${eA?"shadow-sm":"bg-transparent text-muted-foreground hover:bg-muted/80 hover:text-foreground"}`,style:{backgroundColor:eA?"var(--button-preview-active)":void 0,color:eA?"white":void 0},onClick:()=>et(!eA),children:(0,d.jsx)(R.A,{className:"h-3.5 w-3.5"})})}),(0,d.jsx)(cD,{side:"right",className:"border-0",style:{backgroundColor:"var(--button-preview-active)",color:"white"},arrowStyle:{backgroundColor:"var(--button-preview-active)",fill:"var(--button-preview-active)"},children:(0,d.jsx)("p",{children:"Preview"})})]}),(0,d.jsxs)(cN,{children:[(0,d.jsx)(cL,{asChild:!0,children:(0,d.jsx)("button",{className:`h-5 w-5 px-1 rounded-sm flex items-center justify-center transition-all ${er?"bg-foreground shadow-sm":"bg-transparent text-muted-foreground hover:bg-muted/80 hover:text-foreground"}`,style:{color:er?"var(--background)":void 0},onClick:()=>en(!er),children:(0,d.jsx)(u6,{className:"h-3.5 w-3.5"})})}),(0,d.jsx)(cD,{side:"right",className:"border-0 bg-foreground text-background",arrowStyle:{backgroundColor:"var(--foreground)",fill:"var(--foreground)"},children:(0,d.jsx)("p",{children:"Debug Events"})})]})]}),(0,d.jsx)("div",{className:"flex-1 p-2 overflow-hidden","data-tour-id":"workspace-panels",children:(0,d.jsxs)(pt,{direction:"horizontal",autoSaveId:"workspace-layout",children:[X&&(0,d.jsx)(dc,{id:"chat",order:1,defaultSize:ed.chat,minSize:15,children:(0,d.jsx)(f0,{events:ea,onRestore:eb,onRetry:eC,prompt:n,setPrompt:a,generating:s,onGenerate:eQ,onStop:eF,focusContext:C,setFocusContext:F,focusPreviewSnippet:ew,chatMode:U,setChatMode:k,currentModel:N,setCurrentModel:L,getModelDisplayName:ep,isTourLockingInput:W,onClearChat:eu,onClose:()=>_(!1)})}),X&&(Y||Z||eA||er)&&(0,d.jsx)(pr,{withHandle:!0}),Y&&(0,d.jsx)(dc,{id:"files",order:2,defaultSize:ed.files,minSize:14,children:(0,d.jsx)("div",{className:"h-full border border-border rounded-lg shadow-sm overflow-hidden relative",style:{background:"linear-gradient(0deg, rgba(var(--panel-files-rgb), 0.01), rgba(var(--panel-files-rgb), 0.01)), var(--card)",minWidth:"240px"},children:(0,d.jsx)(ug,{projectId:e.id,onFileSelect:ex,onClose:()=>$(!1)})})}),Y&&(Z||eA)&&(0,d.jsx)(pr,{withHandle:!0}),Z&&(0,d.jsx)(dc,{id:"editor",order:3,defaultSize:ed.editor,minSize:20,children:(0,d.jsx)("div",{className:"h-full border border-border rounded-lg shadow-sm overflow-hidden relative",style:{background:"linear-gradient(0deg, rgba(var(--panel-editor-rgb), 0.01), rgba(var(--panel-editor-rgb), 0.01)), var(--card)",minWidth:"240px"},children:(0,d.jsx)(u2,{projectId:e.id,onFilesChange:ev,onClose:()=>ee(!1)})})}),Z&&eA&&(0,d.jsx)(pr,{withHandle:!0}),eA&&(0,d.jsx)(dc,{id:"preview",order:4,defaultSize:ed.preview,minSize:20,children:(0,d.jsx)("div",{className:"h-full border border-border rounded-lg shadow-sm overflow-hidden relative",style:{background:"linear-gradient(0deg, rgba(var(--panel-preview-rgb), 0.01), rgba(var(--panel-preview-rgb), 0.01)), var(--card)",minWidth:"240px"},children:(0,d.jsx)(ow,{ref:j,projectId:e.id,refreshTrigger:t,onFocusSelection:em,hasFocusTarget:!!C,onClose:eB})})}),eA&&er&&(0,d.jsx)(pr,{withHandle:!0}),er&&(0,d.jsx)(dc,{id:"debug",order:5,defaultSize:ed.debug,minSize:15,children:(0,d.jsx)(pa,{events:ea,onClear:eu,onClose:()=>en(!1)})})]})})]}),(0,d.jsxs)("div",{className:"flex md:hidden flex-1 overflow-hidden bg-background flex-col",children:[(0,d.jsxs)("div",{className:"flex-1 p-2 pb-16 overflow-hidden",children:["chat"===h&&(0,d.jsx)(f0,{events:ea,onRestore:eb,onRetry:eC,prompt:n,setPrompt:a,generating:s,onGenerate:eQ,onStop:eF,focusContext:C,setFocusContext:F,focusPreviewSnippet:ew,chatMode:U,setChatMode:k,currentModel:N,setCurrentModel:L,getModelDisplayName:ep,isTourLockingInput:W,onClearChat:eu}),"files"===h&&(0,d.jsx)("div",{className:"h-full border border-border rounded-lg shadow-sm overflow-hidden relative",style:{background:"linear-gradient(0deg, rgba(var(--panel-files-rgb), 0.01), rgba(var(--panel-files-rgb), 0.01)), var(--card)"},children:(0,d.jsx)(ug,{projectId:e.id,onFileSelect:ex,onClose:()=>$(!1)})}),"editor"===h&&(0,d.jsx)("div",{className:"h-full border border-border rounded-lg shadow-sm overflow-hidden relative",style:{background:"linear-gradient(0deg, rgba(var(--panel-editor-rgb), 0.01), rgba(var(--panel-editor-rgb), 0.01)), var(--card)"},children:(0,d.jsx)(u2,{projectId:e.id,onFilesChange:ev,onClose:()=>ee(!1)})}),"preview"===h&&(0,d.jsx)("div",{className:"h-full border border-border rounded-lg shadow-sm overflow-hidden relative",style:{background:"linear-gradient(0deg, rgba(var(--panel-preview-rgb), 0.01), rgba(var(--panel-preview-rgb), 0.01)), var(--card)"},children:(0,d.jsx)(ow,{ref:j,projectId:e.id,refreshTrigger:t,onFocusSelection:em,hasFocusTarget:!!C,onClose:eB})})]}),(0,d.jsx)("div",{className:"fixed bottom-0 left-0 right-0 bg-card border-t border-border",children:(0,d.jsxs)("div",{className:"flex justify-center items-center p-2 gap-2",children:[(0,d.jsx)("button",{className:`flex items-center justify-center py-2 px-2 rounded-lg transition-all shadow-sm ${"chat"===h?"text-white":"bg-transparent text-muted-foreground hover:bg-muted/80 hover:text-foreground"}`,style:{backgroundColor:"chat"===h?"var(--button-assistant-active)":void 0},onClick:()=>g("chat"),children:(0,d.jsx)(u5,{className:"h-4 w-4"})}),(0,d.jsx)("button",{className:`flex items-center justify-center py-2 px-2 rounded-lg transition-all shadow-sm ${"files"===h?"text-white":"bg-transparent text-muted-foreground hover:bg-muted/80 hover:text-foreground"}`,style:{backgroundColor:"files"===h?"var(--button-files-active)":void 0},onClick:()=>g("files"),children:(0,d.jsx)(c$,{className:"h-4 w-4"})}),(0,d.jsx)("button",{className:`flex items-center justify-center py-2 px-2 rounded-lg transition-all shadow-sm ${"editor"===h?"text-white":"bg-transparent text-muted-foreground hover:bg-muted/80 hover:text-foreground"}`,style:{backgroundColor:"editor"===h?"var(--button-editor-active)":void 0},onClick:()=>g("editor"),children:(0,d.jsx)(u0,{className:"h-4 w-4"})}),(0,d.jsx)("button",{className:`flex items-center justify-center py-2 px-2 rounded-lg transition-all shadow-sm ${"preview"===h?"text-white":"bg-transparent text-muted-foreground hover:bg-muted/80 hover:text-foreground"}`,style:{backgroundColor:"preview"===h?"var(--button-preview-active)":void 0},onClick:()=>g("preview"),children:(0,d.jsx)(R.A,{className:"h-4 w-4"})})]})})]})]}),(0,d.jsx)(cA,{location:"workspace"}),(0,d.jsx)(cA,{location:"settings"})]})}function f8(){let[e,A]=(0,p.useState)(null),{state:t,setActiveProjectId:r}=l7();t.currentStep?.id,t.status;let n=(0,p.useMemo)(()=>e?(0,d.jsx)(f6,{project:e,onBack:()=>A(null)}):(0,d.jsx)(cJ,{onProjectSelect:A}),[e]);return(0,d.jsxs)(d.Fragment,{children:[n,(0,d.jsx)(cA,{location:"global"})]})}function f9(){return(0,d.jsx)(l9,{children:(0,d.jsx)(f8,{})})}},8354:e=>{"use strict";e.exports=require("util")},8739:function(e,A,t){"use strict";var r=(this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}})(t(5840)),n=t(6908);function a(e,A){var t={};return e&&"string"==typeof e&&(0,r.default)(e,function(e,r){e&&r&&(t[(0,n.camelCase)(e,A)]=r)}),t}a.default=a,e.exports=a},9021:e=>{"use strict";e.exports=require("fs")},9121:e=>{"use strict";e.exports=require("next/dist/server/app-render/action-async-storage.external.js")},9294:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-async-storage.external.js")},9428:e=>{"use strict";e.exports=require("buffer")},9566:e=>{"use strict";var A=Object.prototype.hasOwnProperty,t=Object.prototype.toString,r=Object.defineProperty,n=Object.getOwnPropertyDescriptor,a=function(e){return"function"==typeof Array.isArray?Array.isArray(e):"[object Array]"===t.call(e)},s=function(e){if(!e||"[object Object]"!==t.call(e))return!1;var r,n=A.call(e,"constructor"),a=e.constructor&&e.constructor.prototype&&A.call(e.constructor.prototype,"isPrototypeOf");if(e.constructor&&!n&&!a)return!1;for(r in e);return void 0===r||A.call(e,r)},i=function(e,A){r&&"__proto__"===A.name?r(e,A.name,{enumerable:!0,configurable:!0,value:A.newValue,writable:!0}):e[A.name]=A.newValue},o=function(e,t){if("__proto__"===t){if(!A.call(e,t))return;else if(n)return n(e,t).value}return e[t]};e.exports=function e(){var A,t,r,n,l,c,u=arguments[0],d=1,p=arguments.length,h=!1;for("boolean"==typeof u&&(h=u,u=arguments[1]||{},d=2),(null==u||"object"!=typeof u&&"function"!=typeof u)&&(u={});dA(A.s=e),r=A.X(0,[447,55,988,531],()=>t(2501));module.exports=r})(); \ No newline at end of file +(()=>{var e={};e.id=8974,e.ids=[8974],e.modules={1708:e=>{"use strict";e.exports=require("node:process")},3295:e=>{"use strict";e.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},12501:(e,t,r)=>{"use strict";r.r(t),r.d(t,{GlobalError:()=>n.a,__next_app__:()=>l,pages:()=>d,routeModule:()=>c,tree:()=>p});var s=r(65239),o=r(48088),i=r(88170),n=r.n(i),u=r(30893),a={};for(let e in u)0>["default","tree","pages","GlobalError","__next_app__","routeModule"].indexOf(e)&&(a[e]=()=>u[e]);r.d(t,a);let p=["",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(r.bind(r,90597)),"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page.tsx"]}]},{layout:[()=>Promise.resolve().then(r.bind(r,58014)),"/Users/otto/Desktop/deepstudio/osw-studio-git/app/layout.tsx"],"not-found":[()=>Promise.resolve().then(r.t.bind(r,57398,23)),"next/dist/client/components/not-found-error"],forbidden:[()=>Promise.resolve().then(r.t.bind(r,89999,23)),"next/dist/client/components/forbidden-error"],unauthorized:[()=>Promise.resolve().then(r.t.bind(r,65284,23)),"next/dist/client/components/unauthorized-error"]}],d=["/Users/otto/Desktop/deepstudio/osw-studio-git/app/page.tsx"],l={require:r,loadChunk:()=>Promise.resolve()},c=new s.AppPageRouteModule({definition:{kind:o.RouteKind.APP_PAGE,page:"/page",pathname:"/",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:p}})},19121:e=>{"use strict";e.exports=require("next/dist/server/app-render/action-async-storage.external.js")},21820:e=>{"use strict";e.exports=require("os")},27910:e=>{"use strict";e.exports=require("stream")},28354:e=>{"use strict";e.exports=require("util")},29021:e=>{"use strict";e.exports=require("fs")},29294:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:e=>{"use strict";e.exports=require("path")},34631:e=>{"use strict";e.exports=require("tls")},43555:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>h});var s=r(60687),o=r(43210),i=r.n(o),n=r(16189),u=r(76277),a=r(2565);r(4950),r(30758);var p=r(13265),d=r(46800),l=r(53975),c=r(96597);function x(){(0,n.useRouter)(),(0,n.useSearchParams)().get("doc");let[e,t]=(0,o.useState)(null),[r,i]=(0,o.useState)("projects"),[x,f]=(0,o.useState)(!1),{state:h,setActiveProjectId:m,start:g}=(0,a.C)();h.currentStep?.id,h.status;let v=(0,o.useMemo)(()=>e?(0,s.jsx)(u.a,{project:e,onBack:()=>t(null)}):(0,s.jsx)(l.f,{view:r,onProjectSelect:t}),[e,r]),j=(0,o.useCallback)(()=>{t(null),i("projects"),g&&g()},[g]);return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(d.M,{currentView:r,onNavigate:e=>i(e),onProjectSelect:t,onStartTour:j,onOpenAbout:()=>f(!0),showSidebar:!e,children:v}),(0,s.jsx)(p.V,{location:"global"}),(0,s.jsx)(c.V,{open:x,onOpenChange:f})]})}function f(){return(0,s.jsx)(a.g,{children:(0,s.jsx)(i().Suspense,{fallback:(0,s.jsx)("div",{className:"min-h-screen flex items-center justify-center bg-[#0a0a0a]",children:(0,s.jsx)("p",{className:"text-zinc-400",children:"Loading..."})}),children:(0,s.jsx)(x,{})})})}function h(){return(0,n.useRouter)(),(0,s.jsx)(f,{})}},46539:(e,t,r)=>{Promise.resolve().then(r.bind(r,43555))},55511:e=>{"use strict";e.exports=require("crypto")},63033:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73136:e=>{"use strict";e.exports=require("node:url")},74998:e=>{"use strict";e.exports=require("perf_hooks")},76760:e=>{"use strict";e.exports=require("node:path")},79428:e=>{"use strict";e.exports=require("buffer")},86291:(e,t,r)=>{Promise.resolve().then(r.bind(r,90597))},90597:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>s});let s=(0,r(12907).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page.tsx","default")},91645:e=>{"use strict";e.exports=require("net")},94735:e=>{"use strict";e.exports=require("events")}};var t=require("../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),s=t.X(0,[4447,8055,2168,32,9243,2437,5504],()=>r(12501));module.exports=s})(); \ No newline at end of file diff --git a/.next/server/app/page.js.nft.json b/.next/server/app/page.js.nft.json index 63579d6c85bb2de5a0affcc65713a805adbe6c59..2210618ce269fd95b25f51aae8a5026e4f1b3dad 100644 --- a/.next/server/app/page.js.nft.json +++ b/.next/server/app/page.js.nft.json @@ -1 +1 @@ -{"version":1,"files":["../../../node_modules/next/dist/client/components/app-router-headers.js","../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../node_modules/next/dist/server/app-render/clean-async-snapshot-instance.js","../../../node_modules/next/dist/server/app-render/clean-async-snapshot.external.js","../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../node_modules/next/dist/server/lib/trace/constants.js","../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../node_modules/next/package.json","../../package.json","../chunks/447.js","../chunks/531.js","../chunks/55.js","../chunks/988.js","../webpack-runtime.js","page_client-reference-manifest.js"]} \ No newline at end of file +{"version":1,"files":["../../../node_modules/next/dist/client/components/app-router-headers.js","../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../node_modules/next/dist/server/app-render/clean-async-snapshot-instance.js","../../../node_modules/next/dist/server/app-render/clean-async-snapshot.external.js","../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../node_modules/next/dist/server/lib/trace/constants.js","../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../node_modules/next/package.json","../../package.json","../chunks/1519.js","../chunks/2168.js","../chunks/2437.js","../chunks/32.js","../chunks/4447.js","../chunks/5504.js","../chunks/8055.js","../chunks/9243.js","../chunks/9579.js","../webpack-runtime.js","page_client-reference-manifest.js"]} \ No newline at end of file diff --git a/.next/server/app/page_client-reference-manifest.js b/.next/server/app/page_client-reference-manifest.js index 796a241dfa933b98fd8bb1bcf2d7d3c2e24d3c13..258abe7e8fc364eec3708ffbeab91e3a6b1ca203 100644 --- a/.next/server/app/page_client-reference-manifest.js +++ b/.next/server/app/page_client-reference-manifest.js @@ -1 +1 @@ -globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/page"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"894":{"*":{"id":"6346","name":"*","chunks":[],"async":false}},"1295":{"*":{"id":"7173","name":"*","chunks":[],"async":false}},"1321":{"*":{"id":"9197","name":"*","chunks":[],"async":false}},"2715":{"*":{"id":"8287","name":"*","chunks":[],"async":false}},"4911":{"*":{"id":"8827","name":"*","chunks":[],"async":false}},"4970":{"*":{"id":"7924","name":"*","chunks":[],"async":false}},"5388":{"*":{"id":"3014","name":"*","chunks":[],"async":false}},"5851":{"*":{"id":"4593","name":"*","chunks":[],"async":false}},"6614":{"*":{"id":"5656","name":"*","chunks":[],"async":false}},"6910":{"*":{"id":"4628","name":"*","chunks":[],"async":false}},"6975":{"*":{"id":"99","name":"*","chunks":[],"async":false}},"7555":{"*":{"id":"8243","name":"*","chunks":[],"async":false}},"9665":{"*":{"id":"2763","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-page.js":{"id":894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-page.js":{"id":894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-segment.js":{"id":4970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-segment.js":{"id":4970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/error-boundary.js":{"id":6614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":6614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":6975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":6975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/layout-router.js":{"id":7555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/layout-router.js":{"id":7555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/async-metadata.js":{"id":4911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/async-metadata.js":{"id":4911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/metadata-boundary.js":{"id":9665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/metadata-boundary.js":{"id":9665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/render-from-template-context.js":{"id":1295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":1295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/tanstack-query-provider.tsx":{"id":5388,"name":"*","chunks":["671","static/chunks/671-f7ad2a6bc6db0f05.js","138","static/chunks/138-9f738090dc749a6c.js","177","static/chunks/app/layout-4145df182a98063f.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/theme-provider.tsx":{"id":1321,"name":"*","chunks":["671","static/chunks/671-f7ad2a6bc6db0f05.js","138","static/chunks/138-9f738090dc749a6c.js","177","static/chunks/app/layout-4145df182a98063f.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/ui/sonner.tsx":{"id":5851,"name":"*","chunks":["671","static/chunks/671-f7ad2a6bc6db0f05.js","138","static/chunks/138-9f738090dc749a6c.js","177","static/chunks/app/layout-4145df182a98063f.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"variable\":\"--font-inter-sans\",\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"}":{"id":9755,"name":"*","chunks":["671","static/chunks/671-f7ad2a6bc6db0f05.js","138","static/chunks/138-9f738090dc749a6c.js","177","static/chunks/app/layout-4145df182a98063f.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"PT_Sans\",\"arguments\":[{\"variable\":\"--font-ptSans-mono\",\"subsets\":[\"latin\"],\"weight\":[\"400\",\"700\"]}],\"variableName\":\"ptSans\"}":{"id":6382,"name":"*","chunks":["671","static/chunks/671-f7ad2a6bc6db0f05.js","138","static/chunks/138-9f738090dc749a6c.js","177","static/chunks/app/layout-4145df182a98063f.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/assets/globals.css":{"id":5410,"name":"*","chunks":["671","static/chunks/671-f7ad2a6bc6db0f05.js","138","static/chunks/138-9f738090dc749a6c.js","177","static/chunks/app/layout-4145df182a98063f.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page.tsx":{"id":2715,"name":"*","chunks":["948","static/chunks/06bf0ff1-f728958255a9b8b2.js","316","static/chunks/ad2866b8-eb5f2e8eab9b0b0c.js","671","static/chunks/671-f7ad2a6bc6db0f05.js","543","static/chunks/543-48a1c5f1f67a3b29.js","525","static/chunks/525-4e767ea62b4b7b1e.js","361","static/chunks/361-0bdc2b83974d9545.js","974","static/chunks/app/page-05cb2cd5b350e411.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/test-generation/page.tsx":{"id":6910,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/otto/Desktop/deepstudio/osw-studio-git/":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/layout":[{"inlined":false,"path":"static/css/fd087a0139b3b65e.css"}],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page":[]},"rscModuleMapping":{"894":{"*":{"id":"6444","name":"*","chunks":[],"async":false}},"1295":{"*":{"id":"1307","name":"*","chunks":[],"async":false}},"1321":{"*":{"id":"9035","name":"*","chunks":[],"async":false}},"2715":{"*":{"id":"597","name":"*","chunks":[],"async":false}},"4911":{"*":{"id":"2089","name":"*","chunks":[],"async":false}},"4970":{"*":{"id":"6042","name":"*","chunks":[],"async":false}},"5388":{"*":{"id":"1900","name":"*","chunks":[],"async":false}},"5410":{"*":{"id":"4348","name":"*","chunks":[],"async":false}},"5851":{"*":{"id":"363","name":"*","chunks":[],"async":false}},"6614":{"*":{"id":"8170","name":"*","chunks":[],"async":false}},"6910":{"*":{"id":"5004","name":"*","chunks":[],"async":false}},"6975":{"*":{"id":"9477","name":"*","chunks":[],"async":false}},"7555":{"*":{"id":"9345","name":"*","chunks":[],"async":false}},"9665":{"*":{"id":"6577","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}} \ No newline at end of file +globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/page"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"3727":{"*":{"id":"12913","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"94593","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"69001","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"53014","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"35656","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"64628","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"97173","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"43555","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"40099","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"20435","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"62763","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"99197","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"28827","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"38243","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"86346","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"27924","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/tanstack-query-provider.tsx":{"id":25388,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/theme-provider.tsx":{"id":61321,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/ui/sonner.tsx":{"id":15851,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"variable\":\"--font-inter-sans\",\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"}":{"id":9755,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"PT_Sans\",\"arguments\":[{\"variable\":\"--font-ptSans-mono\",\"subsets\":[\"latin\"],\"weight\":[\"400\",\"700\"]}],\"variableName\":\"ptSans\"}":{"id":56382,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/assets/globals.css":{"id":85410,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/page-wrapper/index.tsx":{"id":19009,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/page.tsx":{"id":57161,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/test-generation/page.tsx":{"id":26910,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page.tsx":{"id":40796,"name":"*","chunks":["5948","static/chunks/06bf0ff1-2f6b5dbae626a171.js","4316","static/chunks/ad2866b8-a4659a388c5e0680.js","6671","static/chunks/6671-cfa51652ff77a475.js","189","static/chunks/189-4f09a71b91c59be3.js","5370","static/chunks/5370-dad62d5f4907e0f9.js","4750","static/chunks/4750-b402a0050286a424.js","5375","static/chunks/5375-a5738c494d0f24e9.js","8974","static/chunks/app/page-79207d5f775baf7d.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/login/page.tsx":{"id":3727,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/otto/Desktop/deepstudio/osw-studio-git/":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/layout":[{"inlined":false,"path":"static/css/e420bcf6619594d2.css"}],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page":[]},"rscModuleMapping":{"3727":{"*":{"id":"9911","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"80363","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"36903","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"41900","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"88170","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"82623","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"31307","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"90597","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"49477","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"49441","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"46577","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"39035","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"12089","name":"*","chunks":[],"async":false}},"85410":{"*":{"id":"94348","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"29345","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"16444","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"16042","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}} \ No newline at end of file diff --git a/.next/server/app/sites/[id]/[...path]/route.js b/.next/server/app/sites/[id]/[...path]/route.js new file mode 100644 index 0000000000000000000000000000000000000000..3c364d0051231ff04f6eb652c9ef83f1eb7311f9 --- /dev/null +++ b/.next/server/app/sites/[id]/[...path]/route.js @@ -0,0 +1 @@ +(()=>{var e={};e.id=5585,e.ids=[5585],e.modules={3295:e=>{"use strict";e.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},29021:e=>{"use strict";e.exports=require("fs")},29294:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:e=>{"use strict";e.exports=require("path")},44870:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},63033:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},78335:()=>{},96487:()=>{},97720:(e,t,r)=>{"use strict";r.r(t),r.d(t,{patchFetch:()=>h,routeModule:()=>x,serverHooks:()=>f,workAsyncStorage:()=>g,workUnitAsyncStorage:()=>m});var s={};r.r(s),r.d(s,{GET:()=>l});var o=r(96559),i=r(48088),a=r(37719),n=r(32190),p=r(29021),u=r(33873),c=r.n(u);let d={html:"text/html",htm:"text/html",css:"text/css",js:"application/javascript",json:"application/json",png:"image/png",jpg:"image/jpeg",jpeg:"image/jpeg",gif:"image/gif",svg:"image/svg+xml",ico:"image/x-icon",webp:"image/webp",woff:"font/woff",woff2:"font/woff2",ttf:"font/ttf",eot:"application/vnd.ms-fontobject",txt:"text/plain",pdf:"application/pdf",xml:"application/xml"};async function l(e,{params:t}){try{let{id:e,path:r=[]}=await t,s=r.length>0?r.join("/"):"index.html",o=c().join(process.cwd(),"public","sites",e,s);try{await p.promises.access(o)}catch{return new n.NextResponse("File not found",{status:404})}let i=await p.promises.readFile(o),a=d[s.split(".").pop()?.toLowerCase()||""]||"application/octet-stream";return new n.NextResponse(i.toString("utf-8"),{status:200,headers:{"Content-Type":a,"Cache-Control":"public, max-age=3600"}})}catch(e){return console.error("[Sites Route] Error:",e),new n.NextResponse("Internal server error",{status:500})}}let x=new o.AppRouteRouteModule({definition:{kind:i.RouteKind.APP_ROUTE,page:"/sites/[id]/[...path]/route",pathname:"/sites/[id]/[...path]",filename:"route",bundlePath:"app/sites/[id]/[...path]/route"},resolvedPagePath:"/Users/otto/Desktop/deepstudio/osw-studio-git/app/sites/[id]/[...path]/route.ts",nextConfigOutput:"standalone",userland:s}),{workAsyncStorage:g,workUnitAsyncStorage:m,serverHooks:f}=x;function h(){return(0,a.patchFetch)({workAsyncStorage:g,workUnitAsyncStorage:m})}}};var t=require("../../../../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),s=t.X(0,[4447,580],()=>r(97720));module.exports=s})(); \ No newline at end of file diff --git a/.next/server/app/sites/[id]/[...path]/route.js.nft.json b/.next/server/app/sites/[id]/[...path]/route.js.nft.json new file mode 100644 index 0000000000000000000000000000000000000000..cbe9f71ca1bd0f3fba1151169b9d50a52926c1bd --- /dev/null +++ b/.next/server/app/sites/[id]/[...path]/route.js.nft.json @@ -0,0 +1 @@ +{"version":1,"files":["../../../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../../node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js","../../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot-instance.js","../../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot.external.js","../../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../../node_modules/next/package.json","../../../../../../package.json","../../../../../../public/sites/039b8554-0a87-42f7-a969-570c3fa99cb5/aukioloajat.html","../../../../../../public/sites/039b8554-0a87-42f7-a969-570c3fa99cb5/hinnat.html","../../../../../../public/sites/039b8554-0a87-42f7-a969-570c3fa99cb5/index.html","../../../../../../public/sites/039b8554-0a87-42f7-a969-570c3fa99cb5/palvelut.html","../../../../../../public/sites/039b8554-0a87-42f7-a969-570c3fa99cb5/robots.txt","../../../../../../public/sites/039b8554-0a87-42f7-a969-570c3fa99cb5/scripts/main.js","../../../../../../public/sites/039b8554-0a87-42f7-a969-570c3fa99cb5/sitemap.xml","../../../../../../public/sites/039b8554-0a87-42f7-a969-570c3fa99cb5/styles/style.css","../../../../../../public/sites/039b8554-0a87-42f7-a969-570c3fa99cb5/yhteystiedot.html","../../../../../../public/sites/18efcdfd-9309-45d1-bf13-82a968da7216/about.html","../../../../../../public/sites/18efcdfd-9309-45d1-bf13-82a968da7216/index.html","../../../../../../public/sites/18efcdfd-9309-45d1-bf13-82a968da7216/plan.md","../../../../../../public/sites/18efcdfd-9309-45d1-bf13-82a968da7216/players.html","../../../../../../public/sites/18efcdfd-9309-45d1-bf13-82a968da7216/robots.txt","../../../../../../public/sites/18efcdfd-9309-45d1-bf13-82a968da7216/schedule.html","../../../../../../public/sites/18efcdfd-9309-45d1-bf13-82a968da7216/scripts/main.js","../../../../../../public/sites/18efcdfd-9309-45d1-bf13-82a968da7216/sitemap.xml","../../../../../../public/sites/18efcdfd-9309-45d1-bf13-82a968da7216/styles/style.css","../../../../../../public/sites/18efcdfd-9309-45d1-bf13-82a968da7216/testing.txt","../../../../../../public/sites/20af6c75-4c1b-4c53-94bc-fa2ff7e445fa/benefits.html","../../../../../../public/sites/20af6c75-4c1b-4c53-94bc-fa2ff7e445fa/equipment.html","../../../../../../public/sites/20af6c75-4c1b-4c53-94bc-fa2ff7e445fa/getting-started.html","../../../../../../public/sites/20af6c75-4c1b-4c53-94bc-fa2ff7e445fa/index.html","../../../../../../public/sites/20af6c75-4c1b-4c53-94bc-fa2ff7e445fa/scripts/main.js","../../../../../../public/sites/20af6c75-4c1b-4c53-94bc-fa2ff7e445fa/styles/style.css","../../../../../../public/sites/20af6c75-4c1b-4c53-94bc-fa2ff7e445fa/training.html","../../../../../../public/sites/22950e26-4edf-45c9-8719-b212f697a8b1/index.html","../../../../../../public/sites/22950e26-4edf-45c9-8719-b212f697a8b1/robots.txt","../../../../../../public/sites/22950e26-4edf-45c9-8719-b212f697a8b1/scripts/main.js","../../../../../../public/sites/22950e26-4edf-45c9-8719-b212f697a8b1/sitemap.xml","../../../../../../public/sites/22950e26-4edf-45c9-8719-b212f697a8b1/styles/style.css","../../../../../../public/sites/505b4e67-9ba5-4396-9a76-9368a6848874/contact.html","../../../../../../public/sites/505b4e67-9ba5-4396-9a76-9368a6848874/index.html","../../../../../../public/sites/505b4e67-9ba5-4396-9a76-9368a6848874/scripts/main.js","../../../../../../public/sites/505b4e67-9ba5-4396-9a76-9368a6848874/services.html","../../../../../../public/sites/505b4e67-9ba5-4396-9a76-9368a6848874/styles/style.css","../../../../../../public/sites/69d3cb0a-3cd3-4d41-981c-3d4ba5c978cc/contact.html","../../../../../../public/sites/69d3cb0a-3cd3-4d41-981c-3d4ba5c978cc/data/services.json","../../../../../../public/sites/69d3cb0a-3cd3-4d41-981c-3d4ba5c978cc/data/testimonials.json","../../../../../../public/sites/69d3cb0a-3cd3-4d41-981c-3d4ba5c978cc/index.html","../../../../../../public/sites/69d3cb0a-3cd3-4d41-981c-3d4ba5c978cc/public/css/styles.css","../../../../../../public/sites/69d3cb0a-3cd3-4d41-981c-3d4ba5c978cc/public/js/main.js","../../../../../../public/sites/69d3cb0a-3cd3-4d41-981c-3d4ba5c978cc/robots.txt","../../../../../../public/sites/69d3cb0a-3cd3-4d41-981c-3d4ba5c978cc/services.html","../../../../../../public/sites/69d3cb0a-3cd3-4d41-981c-3d4ba5c978cc/sitemap.xml","../../../../../../public/sites/9e5a46cf-1efd-4377-9da5-1e2eb63b8ca4/benefits.html","../../../../../../public/sites/9e5a46cf-1efd-4377-9da5-1e2eb63b8ca4/equipment.html","../../../../../../public/sites/9e5a46cf-1efd-4377-9da5-1e2eb63b8ca4/getting-started.html","../../../../../../public/sites/9e5a46cf-1efd-4377-9da5-1e2eb63b8ca4/index.html","../../../../../../public/sites/9e5a46cf-1efd-4377-9da5-1e2eb63b8ca4/robots.txt","../../../../../../public/sites/9e5a46cf-1efd-4377-9da5-1e2eb63b8ca4/scripts/main.js","../../../../../../public/sites/9e5a46cf-1efd-4377-9da5-1e2eb63b8ca4/sitemap.xml","../../../../../../public/sites/9e5a46cf-1efd-4377-9da5-1e2eb63b8ca4/styles/style.css","../../../../../../public/sites/9e5a46cf-1efd-4377-9da5-1e2eb63b8ca4/training.html","../../../../../../public/sites/a57c81e5-0175-49b9-b333-d0a4d1094271/index.html","../../../../../../public/sites/a57c81e5-0175-49b9-b333-d0a4d1094271/plan.md","../../../../../../public/sites/a57c81e5-0175-49b9-b333-d0a4d1094271/robots.txt","../../../../../../public/sites/a57c81e5-0175-49b9-b333-d0a4d1094271/scripts/main.js","../../../../../../public/sites/a57c81e5-0175-49b9-b333-d0a4d1094271/sitemap.xml","../../../../../../public/sites/a57c81e5-0175-49b9-b333-d0a4d1094271/styles/style.css","../../../../../../public/sites/af3ba693-4c5a-4564-9c93-0c9b9f3d74f1/index.html","../../../../../../public/sites/af3ba693-4c5a-4564-9c93-0c9b9f3d74f1/plan.md","../../../../../../public/sites/af3ba693-4c5a-4564-9c93-0c9b9f3d74f1/robots.txt","../../../../../../public/sites/af3ba693-4c5a-4564-9c93-0c9b9f3d74f1/scripts/animations.js","../../../../../../public/sites/af3ba693-4c5a-4564-9c93-0c9b9f3d74f1/scripts/main.js","../../../../../../public/sites/af3ba693-4c5a-4564-9c93-0c9b9f3d74f1/sitemap.xml","../../../../../../public/sites/af3ba693-4c5a-4564-9c93-0c9b9f3d74f1/styles/style.css","../../../../../../public/sites/be28436b-5a58-4c1b-a1da-ec28036b41e3/index.html","../../../../../../public/sites/ea724ee7-fc57-4bde-a505-e083d72d52b2/index.html","../../../../../../public/sites/ea724ee7-fc57-4bde-a505-e083d72d52b2/robots.txt","../../../../../../public/sites/ea724ee7-fc57-4bde-a505-e083d72d52b2/scripts/main.js","../../../../../../public/sites/ea724ee7-fc57-4bde-a505-e083d72d52b2/sitemap.xml","../../../../../../public/sites/ea724ee7-fc57-4bde-a505-e083d72d52b2/styles/style.css","../../../../../package.json","../../../../chunks/4447.js","../../../../chunks/580.js","../../../../webpack-runtime.js","route_client-reference-manifest.js"]} \ No newline at end of file diff --git a/.next/server/app/sites/[id]/[...path]/route_client-reference-manifest.js b/.next/server/app/sites/[id]/[...path]/route_client-reference-manifest.js new file mode 100644 index 0000000000000000000000000000000000000000..10be5f7d5adbf64b1fa9a3d720eabf431478256b --- /dev/null +++ b/.next/server/app/sites/[id]/[...path]/route_client-reference-manifest.js @@ -0,0 +1 @@ +globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/sites/[id]/[...path]/route"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"3727":{"*":{"id":"12913","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"94593","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"69001","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"53014","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"35656","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"64628","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"97173","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"43555","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"40099","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"20435","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"62763","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"99197","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"28827","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"38243","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"86346","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"27924","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/tanstack-query-provider.tsx":{"id":25388,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/theme-provider.tsx":{"id":61321,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/ui/sonner.tsx":{"id":15851,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"variable\":\"--font-inter-sans\",\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"}":{"id":9755,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"PT_Sans\",\"arguments\":[{\"variable\":\"--font-ptSans-mono\",\"subsets\":[\"latin\"],\"weight\":[\"400\",\"700\"]}],\"variableName\":\"ptSans\"}":{"id":56382,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/assets/globals.css":{"id":85410,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/page-wrapper/index.tsx":{"id":19009,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/page.tsx":{"id":57161,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/test-generation/page.tsx":{"id":26910,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page.tsx":{"id":40796,"name":"*","chunks":["5948","static/chunks/06bf0ff1-2f6b5dbae626a171.js","4316","static/chunks/ad2866b8-a4659a388c5e0680.js","6671","static/chunks/6671-cfa51652ff77a475.js","189","static/chunks/189-4f09a71b91c59be3.js","5370","static/chunks/5370-dad62d5f4907e0f9.js","4750","static/chunks/4750-b402a0050286a424.js","5375","static/chunks/5375-a5738c494d0f24e9.js","8974","static/chunks/app/page-79207d5f775baf7d.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/login/page.tsx":{"id":3727,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/otto/Desktop/deepstudio/osw-studio-git/":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/layout":[{"inlined":false,"path":"static/css/e420bcf6619594d2.css"}],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/sites/[id]/[...path]/route":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/sites/[id]/route":[]},"rscModuleMapping":{"3727":{"*":{"id":"9911","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"80363","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"36903","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"41900","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"88170","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"82623","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"31307","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"90597","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"49477","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"49441","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"46577","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"39035","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"12089","name":"*","chunks":[],"async":false}},"85410":{"*":{"id":"94348","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"29345","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"16444","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"16042","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}} \ No newline at end of file diff --git a/.next/server/app/sites/[id]/route.js b/.next/server/app/sites/[id]/route.js new file mode 100644 index 0000000000000000000000000000000000000000..a092374f44e1274c427e8b8289471fd625516fc2 --- /dev/null +++ b/.next/server/app/sites/[id]/route.js @@ -0,0 +1 @@ +(()=>{var e={};e.id=6871,e.ids=[6871],e.modules={3295:e=>{"use strict";e.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},29021:e=>{"use strict";e.exports=require("fs")},29294:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:e=>{"use strict";e.exports=require("path")},38372:(e,t,r)=>{"use strict";r.r(t),r.d(t,{patchFetch:()=>w,routeModule:()=>l,serverHooks:()=>m,workAsyncStorage:()=>x,workUnitAsyncStorage:()=>h});var s={};r.r(s),r.d(s,{GET:()=>c});var o=r(96559),i=r(48088),n=r(37719),a=r(32190),u=r(29021),p=r(33873),d=r.n(p);async function c(e,{params:t}){try{let{id:e}=await t,r=d().join(process.cwd(),"public","sites",e,"index.html");try{await u.promises.access(r)}catch{return new a.NextResponse("Site not found",{status:404})}let s=await u.promises.readFile(r,"utf-8");return new a.NextResponse(s,{status:200,headers:{"Content-Type":"text/html","Cache-Control":"public, max-age=3600"}})}catch(e){return console.error("[Sites Route] Error:",e),new a.NextResponse("Internal server error",{status:500})}}let l=new o.AppRouteRouteModule({definition:{kind:i.RouteKind.APP_ROUTE,page:"/sites/[id]/route",pathname:"/sites/[id]",filename:"route",bundlePath:"app/sites/[id]/route"},resolvedPagePath:"/Users/otto/Desktop/deepstudio/osw-studio-git/app/sites/[id]/route.ts",nextConfigOutput:"standalone",userland:s}),{workAsyncStorage:x,workUnitAsyncStorage:h,serverHooks:m}=l;function w(){return(0,n.patchFetch)({workAsyncStorage:x,workUnitAsyncStorage:h})}},44870:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},63033:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},78335:()=>{},96487:()=>{}};var t=require("../../../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),s=t.X(0,[4447,580],()=>r(38372));module.exports=s})(); \ No newline at end of file diff --git a/.next/server/app/sites/[id]/route.js.nft.json b/.next/server/app/sites/[id]/route.js.nft.json new file mode 100644 index 0000000000000000000000000000000000000000..ec8ad91f599a91dab807ac3fd4dc3e93dd783f97 --- /dev/null +++ b/.next/server/app/sites/[id]/route.js.nft.json @@ -0,0 +1 @@ +{"version":1,"files":["../../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js","../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot-instance.js","../../../../../node_modules/next/dist/server/app-render/clean-async-snapshot.external.js","../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../node_modules/next/package.json","../../../../../package.json","../../../../../public/sites/039b8554-0a87-42f7-a969-570c3fa99cb5/index.html","../../../../../public/sites/18efcdfd-9309-45d1-bf13-82a968da7216/index.html","../../../../../public/sites/20af6c75-4c1b-4c53-94bc-fa2ff7e445fa/index.html","../../../../../public/sites/22950e26-4edf-45c9-8719-b212f697a8b1/index.html","../../../../../public/sites/505b4e67-9ba5-4396-9a76-9368a6848874/index.html","../../../../../public/sites/69d3cb0a-3cd3-4d41-981c-3d4ba5c978cc/index.html","../../../../../public/sites/9e5a46cf-1efd-4377-9da5-1e2eb63b8ca4/index.html","../../../../../public/sites/a57c81e5-0175-49b9-b333-d0a4d1094271/index.html","../../../../../public/sites/af3ba693-4c5a-4564-9c93-0c9b9f3d74f1/index.html","../../../../../public/sites/be28436b-5a58-4c1b-a1da-ec28036b41e3/index.html","../../../../../public/sites/ea724ee7-fc57-4bde-a505-e083d72d52b2/index.html","../../../../package.json","../../../chunks/4447.js","../../../chunks/580.js","../../../webpack-runtime.js","route_client-reference-manifest.js"]} \ No newline at end of file diff --git a/.next/server/app/sites/[id]/route_client-reference-manifest.js b/.next/server/app/sites/[id]/route_client-reference-manifest.js new file mode 100644 index 0000000000000000000000000000000000000000..d5a51e6f25e6b46a02f8f71d9c50758672141cbc --- /dev/null +++ b/.next/server/app/sites/[id]/route_client-reference-manifest.js @@ -0,0 +1 @@ +globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/sites/[id]/route"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"3727":{"*":{"id":"12913","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"94593","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"69001","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"53014","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"35656","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"64628","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"97173","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"43555","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"40099","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"20435","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"62763","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"99197","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"28827","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"38243","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"86346","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"27924","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/tanstack-query-provider.tsx":{"id":25388,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/theme-provider.tsx":{"id":61321,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/ui/sonner.tsx":{"id":15851,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"variable\":\"--font-inter-sans\",\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"}":{"id":9755,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"PT_Sans\",\"arguments\":[{\"variable\":\"--font-ptSans-mono\",\"subsets\":[\"latin\"],\"weight\":[\"400\",\"700\"]}],\"variableName\":\"ptSans\"}":{"id":56382,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/assets/globals.css":{"id":85410,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/page-wrapper/index.tsx":{"id":19009,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/page.tsx":{"id":57161,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/test-generation/page.tsx":{"id":26910,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page.tsx":{"id":40796,"name":"*","chunks":["5948","static/chunks/06bf0ff1-2f6b5dbae626a171.js","4316","static/chunks/ad2866b8-a4659a388c5e0680.js","6671","static/chunks/6671-cfa51652ff77a475.js","189","static/chunks/189-4f09a71b91c59be3.js","5370","static/chunks/5370-dad62d5f4907e0f9.js","4750","static/chunks/4750-b402a0050286a424.js","5375","static/chunks/5375-a5738c494d0f24e9.js","8974","static/chunks/app/page-79207d5f775baf7d.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/login/page.tsx":{"id":3727,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/otto/Desktop/deepstudio/osw-studio-git/":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/layout":[{"inlined":false,"path":"static/css/e420bcf6619594d2.css"}],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/sites/[id]/[...path]/route":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/sites/[id]/route":[]},"rscModuleMapping":{"3727":{"*":{"id":"9911","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"80363","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"36903","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"41900","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"88170","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"82623","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"31307","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"90597","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"49477","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"49441","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"46577","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"39035","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"12089","name":"*","chunks":[],"async":false}},"85410":{"*":{"id":"94348","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"29345","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"16444","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"16042","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}} \ No newline at end of file diff --git a/.next/server/app/test-generation.html b/.next/server/app/test-generation.html index 9652758f170842136591ff49392888cfde573277..b3f5d88d05b9022c7261f7fc227aaf753c0dcb22 100644 --- a/.next/server/app/test-generation.html +++ b/.next/server/app/test-generation.html @@ -1,6 +1,6 @@ -Open Source Web Studio | Agentic AI Development 🎨

Model Tester

How to Interpret Test Results

These tests validate basic code generation capabilities across different task types. A passing test means files were created/modified successfully. A failing test indicates the model couldn't complete the task or didn't produce expected outputs.

Tip: Select your preferred provider and model below to test specific configurations. The generation output will show you what the AI is thinking during execution.
💡

Cost Warning

Running these tests can be very expensive and likely isn't necessary. It's cheaper and easier to just use good models and research community feedback about agentic capabilities.

This tester is largely for evaluating how models perform with OSW Studio's implementation and using those results to improve the agentic system.

Total Tests
0
Passed
0
Failed
0
Success Rate
0.0%
Add hamburger menu to navbar(ui)
Add a mobile hamburger menu to the navbar. The hamburger should appear on screens smaller than 768px...
Create modal dialog(ui)
Create a modal dialog that can be opened with a button click. The modal should have a close button a...
Add contact form with validation(ui)
Add a contact form with fields for name, email, and message. Include client-side validation for requ...
Create dropdown menu(ui)
Create a dropdown menu for the navigation. When hovering over "Services" link, show a dropdown with ...
Create image carousel(ui)
Create an image carousel/slider with next and previous buttons. It should display one image at a tim...
Change background to gradient(style)
Change the body background to a linear gradient from #ff8c42 to #e65100...
Add dark mode toggle(style)
Add a dark mode toggle button that switches the entire page between light and dark themes. Store the...
Create responsive grid layout(style)
Create a responsive grid layout with 3 columns on desktop, 2 on tablet, and 1 on mobile. Add 6 card ...
Add API fetch functionality(javascript)
Add a button that fetches data from https://jsonplaceholder.typicode.com/users and displays the user...
Create countdown timer(javascript)
Create a countdown timer that counts down from 60 seconds and displays the remaining time. Include s...
Build a todo list application(complex)
Build a todo list application with the ability to add tasks, mark them as complete, delete tasks, an...
\ No newline at end of file +

Model Tester

How to Interpret Test Results

These tests validate basic code generation capabilities across different task types. A passing test means files were created/modified successfully. A failing test indicates the model couldn't complete the task or didn't produce expected outputs.

Tip: Select your preferred provider and model below to test specific configurations. The generation output will show you what the AI is thinking during execution.
💡

Cost Warning

Running these tests can be very expensive and likely isn't necessary. It's cheaper and easier to just use good models and research community feedback about agentic capabilities.

This tester is largely for evaluating how models perform with OSW Studio's implementation and using those results to improve the agentic system.

Total Tests
0
Passed
0
Failed
0
Success Rate
0.0%
Add hamburger menu to navbar(ui)
Add a mobile hamburger menu to the navbar. The hamburger should appear on screens smaller than 768px...
Create modal dialog(ui)
Create a modal dialog that can be opened with a button click. The modal should have a close button a...
Add contact form with validation(ui)
Add a contact form with fields for name, email, and message. Include client-side validation for requ...
Create dropdown menu(ui)
Create a dropdown menu for the navigation. When hovering over "Services" link, show a dropdown with ...
Create image carousel(ui)
Create an image carousel/slider with next and previous buttons. It should display one image at a tim...
Change background to gradient(style)
Change the body background to a linear gradient from #ff8c42 to #e65100...
Add dark mode toggle(style)
Add a dark mode toggle button that switches the entire page between light and dark themes. Store the...
Create responsive grid layout(style)
Create a responsive grid layout with 3 columns on desktop, 2 on tablet, and 1 on mobile. Add 6 card ...
Add API fetch functionality(javascript)
Add a button that fetches data from https://jsonplaceholder.typicode.com/users and displays the user...
Create countdown timer(javascript)
Create a countdown timer that counts down from 60 seconds and displays the remaining time. Include s...
Build a todo list application(complex)
Build a todo list application with the ability to add tasks, mark them as complete, delete tasks, an...
\ No newline at end of file diff --git a/.next/server/app/test-generation.rsc b/.next/server/app/test-generation.rsc index 4df7464bae55a9c347d1e56b218dcc893abde88b..5f88fd812b545b68de0bf6297c75ed2b04110fe6 100644 --- a/.next/server/app/test-generation.rsc +++ b/.next/server/app/test-generation.rsc @@ -1,23 +1,23 @@ 1:"$Sreact.fragment" -2:I[1321,["671","static/chunks/671-f7ad2a6bc6db0f05.js","138","static/chunks/138-9f738090dc749a6c.js","177","static/chunks/app/layout-4145df182a98063f.js"],"ThemeProvider"] -3:I[5851,["671","static/chunks/671-f7ad2a6bc6db0f05.js","138","static/chunks/138-9f738090dc749a6c.js","177","static/chunks/app/layout-4145df182a98063f.js"],"Toaster"] -4:I[5388,["671","static/chunks/671-f7ad2a6bc6db0f05.js","138","static/chunks/138-9f738090dc749a6c.js","177","static/chunks/app/layout-4145df182a98063f.js"],"default"] -5:I[7555,[],""] -6:I[1295,[],""] -7:I[894,[],"ClientPageRoot"] -8:I[6910,["948","static/chunks/06bf0ff1-f728958255a9b8b2.js","671","static/chunks/671-f7ad2a6bc6db0f05.js","543","static/chunks/543-48a1c5f1f67a3b29.js","361","static/chunks/361-0bdc2b83974d9545.js","932","static/chunks/app/test-generation/page-6d3cc765a1451265.js"],"default"] -b:I[9665,[],"MetadataBoundary"] -d:I[9665,[],"OutletBoundary"] -10:I[4911,[],"AsyncMetadataOutlet"] -12:I[9665,[],"ViewportBoundary"] -14:I[6614,[],""] +2:I[61321,["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"ThemeProvider"] +3:I[15851,["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"Toaster"] +4:I[25388,["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"default"] +5:I[87555,[],""] +6:I[31295,[],""] +7:I[90894,[],"ClientPageRoot"] +8:I[26910,["5948","static/chunks/06bf0ff1-2f6b5dbae626a171.js","6671","static/chunks/6671-cfa51652ff77a475.js","189","static/chunks/189-4f09a71b91c59be3.js","4750","static/chunks/4750-b402a0050286a424.js","6932","static/chunks/app/test-generation/page-22772d4e0c97f685.js"],"default"] +b:I[59665,[],"MetadataBoundary"] +d:I[59665,[],"OutletBoundary"] +10:I[74911,[],"AsyncMetadataOutlet"] +12:I[59665,[],"ViewportBoundary"] +14:I[26614,[],""] :HL["/_next/static/media/58f662ed5ba12a72-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["/_next/static/media/c3f6eb667c0186c5-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["/_next/static/media/e4af272ccee01ff0-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}] -:HL["/_next/static/css/fd087a0139b3b65e.css","style"] -0:{"P":null,"b":"xkp8mz91_6FWpRLiD8FMK","p":"","c":["","test-generation"],"i":false,"f":[[["",{"children":["test-generation",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/fd087a0139b3b65e.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":"__variable_f367f3 __variable_438d47 antialiased bg-background h-[100dvh] overflow-hidden","suppressHydrationWarning":true,"children":["$","$L2",null,{"children":[["$","$L3",null,{"richColors":true,"position":"bottom-center"}],["$","$L4",null,{"children":["$","$L5",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]]}]}]}]]}],{"children":["test-generation",["$","$1","c",{"children":[null,["$","$L5",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$L7",null,{"Component":"$8","searchParams":{},"params":{},"promises":["$@9","$@a"]}],["$","$Lb",null,{"children":"$Lc"}],null,["$","$Ld",null,{"children":["$Le","$Lf",["$","$L10",null,{"promise":"$@11"}]]}]]}],{},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","rFjIGT6brct8OnsYTOzsR",{"children":[["$","$L12",null,{"children":"$L13"}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],null]}],false]],"m":"$undefined","G":["$14","$undefined"],"s":false,"S":true} +:HL["/_next/static/css/e420bcf6619594d2.css","style"] +0:{"P":null,"b":"xIN9K7b8Zi-Lclq3jrJRM","p":"","c":["","test-generation"],"i":false,"f":[[["",{"children":["test-generation",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/e420bcf6619594d2.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":"__variable_f367f3 __variable_438d47 antialiased bg-background h-[100dvh] overflow-hidden","suppressHydrationWarning":true,"children":["$","$L2",null,{"children":[["$","$L3",null,{"richColors":true,"position":"bottom-center"}],["$","$L4",null,{"children":["$","$L5",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]]}]}]}]]}],{"children":["test-generation",["$","$1","c",{"children":[null,["$","$L5",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$L7",null,{"Component":"$8","searchParams":{},"params":{},"promises":["$@9","$@a"]}],["$","$Lb",null,{"children":"$Lc"}],null,["$","$Ld",null,{"children":["$Le","$Lf",["$","$L10",null,{"promise":"$@11"}]]}]]}],{},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","pz9FwvxdoATRfFWZQ_MOK",{"children":[["$","$L12",null,{"children":"$L13"}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],null]}],false]],"m":"$undefined","G":["$14","$undefined"],"s":false,"S":true} 15:"$Sreact.suspense" -16:I[4911,[],"AsyncMetadata"] +16:I[74911,[],"AsyncMetadata"] 9:{} a:{} c:["$","$15",null,{"fallback":null,"children":["$","$L16",null,{"promise":"$@17"}]}] diff --git a/.next/server/app/test-generation/page.js b/.next/server/app/test-generation/page.js index 365eac50bc40b07ab72f791ea2710381449ffc4d..2759247809f53a9ce327c4680b165d265442d244 100644 --- a/.next/server/app/test-generation/page.js +++ b/.next/server/app/test-generation/page.js @@ -1,4 +1,4 @@ -(()=>{var e={};e.id=932,e.ids=[932],e.modules={846:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},3033:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},3295:e=>{"use strict";e.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},3633:(e,t,s)=>{"use strict";s.r(t),s.d(t,{GlobalError:()=>n.a,__next_app__:()=>m,pages:()=>c,routeModule:()=>u,tree:()=>l});var a=s(5239),i=s(8088),r=s(8170),n=s.n(r),o=s(893),d={};for(let e in o)0>["default","tree","pages","GlobalError","__next_app__","routeModule"].indexOf(e)&&(d[e]=()=>o[e]);s.d(t,d);let l={children:["",{children:["test-generation",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(s.bind(s,5004)),"/Users/otto/Desktop/deepstudio/osw-studio-git/app/test-generation/page.tsx"]}]},{}]},{layout:[()=>Promise.resolve().then(s.bind(s,8014)),"/Users/otto/Desktop/deepstudio/osw-studio-git/app/layout.tsx"],"not-found":[()=>Promise.resolve().then(s.t.bind(s,7398,23)),"next/dist/client/components/not-found-error"],forbidden:[()=>Promise.resolve().then(s.t.bind(s,9999,23)),"next/dist/client/components/forbidden-error"],unauthorized:[()=>Promise.resolve().then(s.t.bind(s,5284,23)),"next/dist/client/components/unauthorized-error"]}]}.children,c=["/Users/otto/Desktop/deepstudio/osw-studio-git/app/test-generation/page.tsx"],m={require:s,loadChunk:()=>Promise.resolve()},u=new a.AppPageRouteModule({definition:{kind:i.RouteKind.APP_PAGE,page:"/test-generation/page",pathname:"/test-generation",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:l}})},3873:e=>{"use strict";e.exports=require("path")},4063:(e,t,s)=>{Promise.resolve().then(s.bind(s,5004))},4628:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>T});var a=s(687),i=s(3210),r=s(4934),n=s(356);let o=` +(()=>{var e={};e.id=6932,e.ids=[6932],e.modules={3295:e=>{"use strict";e.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19121:e=>{"use strict";e.exports=require("next/dist/server/app-render/action-async-storage.external.js")},21820:e=>{"use strict";e.exports=require("os")},27910:e=>{"use strict";e.exports=require("stream")},28354:e=>{"use strict";e.exports=require("util")},29021:e=>{"use strict";e.exports=require("fs")},29294:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:e=>{"use strict";e.exports=require("path")},34631:e=>{"use strict";e.exports=require("tls")},55511:e=>{"use strict";e.exports=require("crypto")},63033:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},64628:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>T});var i=s(60687),a=s(43210),r=s(24934),n=s(26627);let o=` @@ -78,4 +78,4 @@ document.addEventListener('DOMContentLoaded', function() { e.preventDefault(); }); }); -});`,c=[{id:"ui-hamburger-menu",name:"Add hamburger menu to navbar",category:"ui",prompt:"Add a mobile hamburger menu to the navbar. The hamburger should appear on screens smaller than 768px and toggle the navigation menu visibility when clicked.",setupFiles:{"/index.html":o,"/styles.css":d,"/script.js":l},expectedElements:[".hamburger"],expectedPatterns:[/hamburger|menu-toggle|mobile-menu/i,/@media.*max-width.*768px/,/addEventListener.*click/]},{id:"ui-modal-dialog",name:"Create modal dialog",category:"ui",prompt:"Create a modal dialog that can be opened with a button click. The modal should have a close button and clicking outside the modal should also close it.",setupFiles:{"/index.html":o,"/styles.css":d,"/script.js":l},expectedElements:[".modal",".modal-content"],expectedPatterns:[/modal/i,/display:\s*(none|block|flex)/,/addEventListener.*click/,/close|dismiss/i]},{id:"ui-contact-form",name:"Add contact form with validation",category:"ui",prompt:"Add a contact form with fields for name, email, and message. Include client-side validation for required fields and email format.",setupFiles:{"/index.html":o,"/styles.css":d,"/script.js":l},expectedElements:["form",'input[type="text"]','input[type="email"]',"textarea",'button[type="submit"]'],expectedPatterns:[/
({id:e.id,name:e.name,status:"pending"}))),[o,d]=(0,i.useState)(null),[l,p]=(0,i.useState)(new Map),[T,P]=(0,i.useState)(new Map),[S,E]=(0,i.useState)(new Set),M=(0,i.useRef)(new Map),[D,R]=(0,i.useState)({total:0,passed:0,failed:0,successRate:0}),[q,F]=(0,i.useState)(!1),[_,O]=(0,i.useState)(""),$=async e=>{let t=c.find(t=>t.id===e);if(!t)return;let a=Date.now();d(e),E(t=>new Set([...t,e])),s(t=>t.map(t=>t.id===e?{...t,status:"running",generationOutput:""}:t));try{let i=`test-${Date.now()}`,r=new n.t(i,"orchestrator",(t,a)=>{if("assistant_delta"===t&&(a?.text||a?.snapshot)){let t=a.text,i=a.snapshot;P(s=>{let a=new Map(s);if(void 0!==i)a.set(e,i);else if(t){let s=a.get(e)||"";a.set(e,s+t)}return a}),s(s=>s.map(s=>s.id===e?{...s,generationOutput:i||(s.generationOutput||"")+(t||"")}:s)),setTimeout(()=>{let t=M.current.get(e);t&&(t.scrollTop=t.scrollHeight)},0)}},{chatMode:!1});p(t=>{let s=new Map(t);return s.set(e,r),s});let o=await r.execute(t.prompt);s(t=>t.map(t=>t.id===e?{...t,status:o.success?"success":"failed",executionTime:Date.now()-a,errors:o.success?void 0:[o.summary],details:o.summary,filesModified:[],toolCalls:o.conversation?.length||0}:t)),o.success?y.oR.success(`Test passed: ${t.name}`):y.oR.error(`Test failed: ${t.name} - ${o.summary}`)}catch(r){let i=r instanceof Error?r.message:String(r);s(t=>t.map(t=>t.id===e?{...t,status:"failed",executionTime:Date.now()-a,errors:[i],details:`Error: ${i}`}:t)),y.oR.error(`Test error: ${t.name}`)}p(t=>{let s=new Map(t);return s.delete(e),s}),d(null),U()},I=e=>{let t=l.get(e);t&&(t.stop(),y.oR.info(`Stopping test: ${c.find(t=>t.id===e)?.name}`))},L=async()=>{for(let e of["style-background-gradient","ui-hamburger-menu","js-countdown-timer"]){if(null===o)break;await $(e),await new Promise(e=>setTimeout(e,3e3))}},U=()=>{let e=t.filter(e=>"pending"!==e.status&&"running"!==e.status),s=t.filter(e=>"success"===e.status),a=t.filter(e=>"failed"===e.status||"stopped"===e.status);R({total:e.length,passed:s.length,failed:a.length,successRate:e.length>0?s.length/e.length*100:0})},W=e=>{switch(e){case"success":return(0,a.jsx)(m.A,{className:"h-4 w-4 text-green-500"});case"failed":return(0,a.jsx)(u.A,{className:"h-4 w-4 text-red-500"});case"stopped":return(0,a.jsx)(x,{className:"h-4 w-4 text-orange-500"});case"running":return(0,a.jsx)(h.A,{className:"h-4 w-4 text-blue-500 animate-spin"});default:return(0,a.jsx)(g,{className:"h-4 w-4 text-gray-400"})}},z=[{id:"back",label:"Back to Projects",icon:f.A,onClick:()=>e.push("/"),variant:"outline"}];return(0,a.jsxs)("div",{className:"h-screen flex flex-col",children:[(0,a.jsx)(C.j,{leftText:"Model Tester",onLogoClick:()=>e.push("/"),actions:z}),(0,a.jsx)("div",{className:"flex-1 overflow-auto bg-background p-6",children:(0,a.jsxs)("div",{className:"max-w-6xl mx-auto",children:[(0,a.jsx)("div",{className:"bg-blue-50 dark:bg-blue-950/30 border border-blue-200 dark:border-blue-800 rounded-lg p-4 mb-6",children:(0,a.jsxs)("div",{className:"flex items-start gap-3",children:[(0,a.jsx)(k.A,{className:"h-5 w-5 text-blue-600 dark:text-blue-400 mt-0.5"}),(0,a.jsxs)("div",{className:"flex-1",children:[(0,a.jsx)("h3",{className:"font-medium text-blue-900 dark:text-blue-100 mb-1",children:"How to Interpret Test Results"}),(0,a.jsxs)("p",{className:"text-sm text-blue-800 dark:text-blue-200",children:["These tests validate basic code generation capabilities across different task types. A ",(0,a.jsx)("strong",{children:"passing test"})," means files were created/modified successfully. A ",(0,a.jsx)("strong",{children:"failing test"})," indicates the model couldn't complete the task or didn't produce expected outputs."]}),(0,a.jsxs)("div",{className:"mt-2 text-xs text-blue-700 dark:text-blue-300",children:[(0,a.jsx)("strong",{children:"Tip:"})," Select your preferred provider and model below to test specific configurations. The generation output will show you what the AI is thinking during execution."]})]})]})}),(0,a.jsx)("div",{className:"bg-amber-50 dark:bg-amber-950/30 border border-amber-200 dark:border-amber-800 rounded-lg p-4 mb-6",children:(0,a.jsxs)("div",{className:"flex items-start gap-3",children:[(0,a.jsx)("div",{className:"text-amber-600 dark:text-amber-400 mt-0.5",children:"\uD83D\uDCA1"}),(0,a.jsxs)("div",{className:"flex-1",children:[(0,a.jsx)("h3",{className:"font-medium text-amber-900 dark:text-amber-100 mb-1",children:"Cost Warning"}),(0,a.jsxs)("p",{className:"text-sm text-amber-800 dark:text-amber-200",children:["Running these tests can be ",(0,a.jsx)("strong",{children:"very expensive"})," and likely isn't necessary. It's cheaper and easier to just use good models and research community feedback about agentic capabilities."]}),(0,a.jsx)("p",{className:"text-sm text-amber-800 dark:text-amber-200 mt-2",children:"This tester is largely for evaluating how models perform with OSW Studio's implementation and using those results to improve the agentic system."})]})]})}),(0,a.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-4 gap-4 mb-6",children:[(0,a.jsxs)("div",{className:"bg-card border rounded-lg p-4",children:[(0,a.jsx)("div",{className:"text-sm font-medium text-muted-foreground mb-1",children:"Total Tests"}),(0,a.jsx)("div",{className:"text-2xl font-bold",children:D.total})]}),(0,a.jsxs)("div",{className:"bg-card border rounded-lg p-4",children:[(0,a.jsx)("div",{className:"text-sm font-medium text-muted-foreground mb-1",children:"Passed"}),(0,a.jsx)("div",{className:"text-2xl font-bold text-green-600",children:D.passed})]}),(0,a.jsxs)("div",{className:"bg-card border rounded-lg p-4",children:[(0,a.jsx)("div",{className:"text-sm font-medium text-muted-foreground mb-1",children:"Failed"}),(0,a.jsx)("div",{className:"text-2xl font-bold text-red-600",children:D.failed})]}),(0,a.jsxs)("div",{className:"bg-card border rounded-lg p-4",children:[(0,a.jsx)("div",{className:"text-sm font-medium text-muted-foreground mb-1",children:"Success Rate"}),(0,a.jsxs)("div",{className:"text-2xl font-bold",children:[D.successRate.toFixed(1),"%"]})]})]}),(0,a.jsxs)("div",{className:"flex gap-4 mb-6",children:[(0,a.jsxs)(A.AM,{open:q,onOpenChange:F,children:[(0,a.jsx)(A.Wv,{asChild:!0,children:(0,a.jsxs)(r.$,{variant:"outline",children:[(0,a.jsx)("span",{children:(e=>{if(!e)return"Select Model";let t=e.split("/");return t[t.length-1].split("-").map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(" ")})(_)}),q?(0,a.jsx)(b.A,{className:"h-4 w-4 ml-2"}):(0,a.jsx)(v.A,{className:"h-4 w-4 ml-2"})]})}),(0,a.jsx)(A.hl,{className:"w-96",align:"start",side:"bottom",sideOffset:4,avoidCollisions:!1,children:(0,a.jsx)(N.t,{onClose:()=>F(!1),onModelChange:e=>O(e)})})]}),(0,a.jsxs)(r.$,{onClick:L,disabled:null!==o,children:[(0,a.jsx)(j,{className:"h-4 w-4 mr-2"}),"Run Quick Tests (5 tests)"]}),(0,a.jsxs)(r.$,{variant:"outline",onClick:()=>{l.forEach((e,t)=>{e.stop()}),s(c.map(e=>({id:e.id,name:e.name,status:"pending"}))),R({total:0,passed:0,failed:0,successRate:0}),d(null),p(new Map),P(new Map),E(new Set)},disabled:null!==o,children:[(0,a.jsx)(h.A,{className:"h-4 w-4 mr-2"}),"Reset"]})]}),(0,a.jsx)("div",{className:"grid gap-4",children:t.map(e=>{let t=c.find(t=>t.id===e.id);return(0,a.jsxs)("div",{className:"bg-card border rounded-lg p-4",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 font-medium",children:[W(e.status),e.name,(0,a.jsxs)("span",{className:"text-sm font-normal text-muted-foreground",children:["(",t?.category,")"]})]}),(0,a.jsxs)("div",{className:"text-sm text-muted-foreground mt-1",children:[t?.prompt.substring(0,100),"..."]})]}),(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[e.executionTime&&(0,a.jsxs)("span",{className:"text-sm text-muted-foreground",children:[(e.executionTime/1e3).toFixed(1),"s"]}),"running"===e.status&&o===e.id?(0,a.jsxs)(r.$,{size:"sm",variant:"destructive",onClick:()=>I(e.id),children:[(0,a.jsx)(x,{className:"h-3 w-3 mr-1"}),"Stop"]}):(0,a.jsxs)(r.$,{size:"sm",variant:"outline",onClick:()=>$(e.id),disabled:null!==o,children:[(0,a.jsx)(j,{className:"h-3 w-3 mr-1"}),"Test"]}),("running"===e.status||e.generationOutput||S.has(e.id))&&(0,a.jsx)(r.$,{size:"sm",variant:"ghost",onClick:()=>{E(t=>{let s=new Set(t);return s.has(e.id)?s.delete(e.id):s.add(e.id),s})},children:S.has(e.id)?(0,a.jsx)(v.A,{className:"h-3 w-3"}):(0,a.jsx)(b.A,{className:"h-3 w-3"})})]})]}),("running"===e.status||S.has(e.id))&&(e.generationOutput||T.get(e.id))&&(0,a.jsxs)("div",{className:"mt-3 pt-3 border-t",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 mb-2",children:[(0,a.jsx)("div",{className:"text-sm font-medium text-muted-foreground",children:"Generation Output"}),"running"===e.status&&(0,a.jsxs)("div",{className:"flex items-center gap-1",children:[(0,a.jsx)(h.A,{className:"h-3 w-3 animate-spin"}),(0,a.jsx)("span",{className:"text-xs text-muted-foreground",children:"Generating..."})]})]}),(0,a.jsx)("div",{className:"bg-muted/50 rounded-md p-3 max-h-64 overflow-y-auto",ref:t=>{t&&M.current.set(e.id,t)},children:(0,a.jsx)("pre",{className:"text-xs font-mono whitespace-pre-wrap text-foreground/80",children:e.generationOutput||T.get(e.id)||""})})]}),("success"===e.status||"failed"===e.status||"stopped"===e.status)&&(0,a.jsxs)("div",{className:"mt-3 pt-3 border-t space-y-2",children:[e.details&&(0,a.jsxs)("div",{children:[(0,a.jsx)("strong",{children:"Result:"})," ",e.details]}),void 0!==e.toolCalls&&(0,a.jsxs)("div",{children:[(0,a.jsx)("strong",{children:"Tool Calls:"})," ",e.toolCalls]}),e.filesModified&&e.filesModified.length>0&&(0,a.jsxs)("div",{children:[(0,a.jsx)("strong",{children:"Files:"})," ",e.filesModified.join(", ")]}),e.errors&&e.errors.length>0&&(0,a.jsxs)("div",{className:"text-red-600",children:[(0,a.jsx)("strong",{children:"Errors:"})," ",e.errors.join(", ")]})]})]},e.id)})})]})})]})}},4735:e=>{"use strict";e.exports=require("events")},5004:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>a});let a=(0,s(2907).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/Users/otto/Desktop/deepstudio/osw-studio-git/app/test-generation/page.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/test-generation/page.tsx","default")},5511:e=>{"use strict";e.exports=require("crypto")},7910:e=>{"use strict";e.exports=require("stream")},8354:e=>{"use strict";e.exports=require("util")},8487:(e,t,s)=>{Promise.resolve().then(s.bind(s,4628))},9021:e=>{"use strict";e.exports=require("fs")},9121:e=>{"use strict";e.exports=require("next/dist/server/app-render/action-async-storage.external.js")},9294:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-async-storage.external.js")},9428:e=>{"use strict";e.exports=require("buffer")}};var t=require("../../webpack-runtime.js");t.C(e);var s=e=>t(t.s=e),a=t.X(0,[447,55,988,531],()=>s(3633));module.exports=a})(); \ No newline at end of file +});`,c=[{id:"ui-hamburger-menu",name:"Add hamburger menu to navbar",category:"ui",prompt:"Add a mobile hamburger menu to the navbar. The hamburger should appear on screens smaller than 768px and toggle the navigation menu visibility when clicked.",setupFiles:{"/index.html":o,"/styles.css":d,"/script.js":l},expectedElements:[".hamburger"],expectedPatterns:[/hamburger|menu-toggle|mobile-menu/i,/@media.*max-width.*768px/,/addEventListener.*click/]},{id:"ui-modal-dialog",name:"Create modal dialog",category:"ui",prompt:"Create a modal dialog that can be opened with a button click. The modal should have a close button and clicking outside the modal should also close it.",setupFiles:{"/index.html":o,"/styles.css":d,"/script.js":l},expectedElements:[".modal",".modal-content"],expectedPatterns:[/modal/i,/display:\s*(none|block|flex)/,/addEventListener.*click/,/close|dismiss/i]},{id:"ui-contact-form",name:"Add contact form with validation",category:"ui",prompt:"Add a contact form with fields for name, email, and message. Include client-side validation for required fields and email format.",setupFiles:{"/index.html":o,"/styles.css":d,"/script.js":l},expectedElements:["form",'input[type="text"]','input[type="email"]',"textarea",'button[type="submit"]'],expectedPatterns:[/({id:e.id,name:e.name,status:"pending"}))),[o,d]=(0,a.useState)(null),[l,p]=(0,a.useState)(new Map),[T,P]=(0,a.useState)(new Map),[S,E]=(0,a.useState)(new Set),q=(0,a.useRef)(new Map),[M,D]=(0,a.useState)({total:0,passed:0,failed:0,successRate:0}),[R,_]=(0,a.useState)(!1),[F,O]=(0,a.useState)(""),$=async e=>{let t=c.find(t=>t.id===e);if(!t)return;let i=Date.now();d(e),E(t=>new Set([...t,e])),s(t=>t.map(t=>t.id===e?{...t,status:"running",generationOutput:""}:t));try{let a=`test-${Date.now()}`,r=new n.t(a,"orchestrator",(t,i)=>{if("assistant_delta"===t&&(i?.text||i?.snapshot)){let t=i.text,a=i.snapshot;P(s=>{let i=new Map(s);if(void 0!==a)i.set(e,a);else if(t){let s=i.get(e)||"";i.set(e,s+t)}return i}),s(s=>s.map(s=>s.id===e?{...s,generationOutput:a||(s.generationOutput||"")+(t||"")}:s)),setTimeout(()=>{let t=q.current.get(e);t&&(t.scrollTop=t.scrollHeight)},0)}},{chatMode:!1});p(t=>{let s=new Map(t);return s.set(e,r),s});let o=await r.execute(t.prompt);s(t=>t.map(t=>t.id===e?{...t,status:o.success?"success":"failed",executionTime:Date.now()-i,errors:o.success?void 0:[o.summary],details:o.summary,filesModified:[],toolCalls:o.conversation?.length||0}:t)),o.success?y.oR.success(`Test passed: ${t.name}`):y.oR.error(`Test failed: ${t.name} - ${o.summary}`)}catch(r){let a=r instanceof Error?r.message:String(r);s(t=>t.map(t=>t.id===e?{...t,status:"failed",executionTime:Date.now()-i,errors:[a],details:`Error: ${a}`}:t)),y.oR.error(`Test error: ${t.name}`)}p(t=>{let s=new Map(t);return s.delete(e),s}),d(null),U()},I=e=>{let t=l.get(e);t&&(t.stop(),y.oR.info(`Stopping test: ${c.find(t=>t.id===e)?.name}`))},L=async()=>{for(let e of["style-background-gradient","ui-hamburger-menu","js-countdown-timer"]){if(null===o)break;await $(e),await new Promise(e=>setTimeout(e,3e3))}},U=()=>{let e=t.filter(e=>"pending"!==e.status&&"running"!==e.status),s=t.filter(e=>"success"===e.status),i=t.filter(e=>"failed"===e.status||"stopped"===e.status);D({total:e.length,passed:s.length,failed:i.length,successRate:e.length>0?s.length/e.length*100:0})},W=e=>{switch(e){case"success":return(0,i.jsx)(m.A,{className:"h-4 w-4 text-green-500"});case"failed":return(0,i.jsx)(u.A,{className:"h-4 w-4 text-red-500"});case"stopped":return(0,i.jsx)(x,{className:"h-4 w-4 text-orange-500"});case"running":return(0,i.jsx)(h.A,{className:"h-4 w-4 text-blue-500 animate-spin"});default:return(0,i.jsx)(g,{className:"h-4 w-4 text-gray-400"})}},z=[{id:"back",label:"Back to Projects",icon:f.A,onClick:()=>e.push("/"),variant:"outline"}];return(0,i.jsxs)("div",{className:"h-screen flex flex-col",children:[(0,i.jsx)(C.j,{leftText:"Model Tester",onLogoClick:()=>e.push("/"),actions:z}),(0,i.jsx)("div",{className:"flex-1 overflow-auto bg-background p-6",children:(0,i.jsxs)("div",{className:"max-w-6xl mx-auto",children:[(0,i.jsx)("div",{className:"bg-blue-50 dark:bg-blue-950/30 border border-blue-200 dark:border-blue-800 rounded-lg p-4 mb-6",children:(0,i.jsxs)("div",{className:"flex items-start gap-3",children:[(0,i.jsx)(k.A,{className:"h-5 w-5 text-blue-600 dark:text-blue-400 mt-0.5"}),(0,i.jsxs)("div",{className:"flex-1",children:[(0,i.jsx)("h3",{className:"font-medium text-blue-900 dark:text-blue-100 mb-1",children:"How to Interpret Test Results"}),(0,i.jsxs)("p",{className:"text-sm text-blue-800 dark:text-blue-200",children:["These tests validate basic code generation capabilities across different task types. A ",(0,i.jsx)("strong",{children:"passing test"})," means files were created/modified successfully. A ",(0,i.jsx)("strong",{children:"failing test"})," indicates the model couldn't complete the task or didn't produce expected outputs."]}),(0,i.jsxs)("div",{className:"mt-2 text-xs text-blue-700 dark:text-blue-300",children:[(0,i.jsx)("strong",{children:"Tip:"})," Select your preferred provider and model below to test specific configurations. The generation output will show you what the AI is thinking during execution."]})]})]})}),(0,i.jsx)("div",{className:"bg-amber-50 dark:bg-amber-950/30 border border-amber-200 dark:border-amber-800 rounded-lg p-4 mb-6",children:(0,i.jsxs)("div",{className:"flex items-start gap-3",children:[(0,i.jsx)("div",{className:"text-amber-600 dark:text-amber-400 mt-0.5",children:"\uD83D\uDCA1"}),(0,i.jsxs)("div",{className:"flex-1",children:[(0,i.jsx)("h3",{className:"font-medium text-amber-900 dark:text-amber-100 mb-1",children:"Cost Warning"}),(0,i.jsxs)("p",{className:"text-sm text-amber-800 dark:text-amber-200",children:["Running these tests can be ",(0,i.jsx)("strong",{children:"very expensive"})," and likely isn't necessary. It's cheaper and easier to just use good models and research community feedback about agentic capabilities."]}),(0,i.jsx)("p",{className:"text-sm text-amber-800 dark:text-amber-200 mt-2",children:"This tester is largely for evaluating how models perform with OSW Studio's implementation and using those results to improve the agentic system."})]})]})}),(0,i.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-4 gap-4 mb-6",children:[(0,i.jsxs)("div",{className:"bg-card border rounded-lg p-4",children:[(0,i.jsx)("div",{className:"text-sm font-medium text-muted-foreground mb-1",children:"Total Tests"}),(0,i.jsx)("div",{className:"text-2xl font-bold",children:M.total})]}),(0,i.jsxs)("div",{className:"bg-card border rounded-lg p-4",children:[(0,i.jsx)("div",{className:"text-sm font-medium text-muted-foreground mb-1",children:"Passed"}),(0,i.jsx)("div",{className:"text-2xl font-bold text-green-600",children:M.passed})]}),(0,i.jsxs)("div",{className:"bg-card border rounded-lg p-4",children:[(0,i.jsx)("div",{className:"text-sm font-medium text-muted-foreground mb-1",children:"Failed"}),(0,i.jsx)("div",{className:"text-2xl font-bold text-red-600",children:M.failed})]}),(0,i.jsxs)("div",{className:"bg-card border rounded-lg p-4",children:[(0,i.jsx)("div",{className:"text-sm font-medium text-muted-foreground mb-1",children:"Success Rate"}),(0,i.jsxs)("div",{className:"text-2xl font-bold",children:[M.successRate.toFixed(1),"%"]})]})]}),(0,i.jsxs)("div",{className:"flex gap-4 mb-6",children:[(0,i.jsxs)(A.AM,{open:R,onOpenChange:_,children:[(0,i.jsx)(A.Wv,{asChild:!0,children:(0,i.jsxs)(r.$,{variant:"outline",children:[(0,i.jsx)("span",{children:(e=>{if(!e)return"Select Model";let t=e.split("/");return t[t.length-1].split("-").map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(" ")})(F)}),R?(0,i.jsx)(b.A,{className:"h-4 w-4 ml-2"}):(0,i.jsx)(v.A,{className:"h-4 w-4 ml-2"})]})}),(0,i.jsx)(A.hl,{className:"w-96",align:"start",side:"bottom",sideOffset:4,avoidCollisions:!1,children:(0,i.jsx)(N.t,{onClose:()=>_(!1),onModelChange:e=>O(e)})})]}),(0,i.jsxs)(r.$,{onClick:L,disabled:null!==o,children:[(0,i.jsx)(j,{className:"h-4 w-4 mr-2"}),"Run Quick Tests (5 tests)"]}),(0,i.jsxs)(r.$,{variant:"outline",onClick:()=>{l.forEach((e,t)=>{e.stop()}),s(c.map(e=>({id:e.id,name:e.name,status:"pending"}))),D({total:0,passed:0,failed:0,successRate:0}),d(null),p(new Map),P(new Map),E(new Set)},disabled:null!==o,children:[(0,i.jsx)(h.A,{className:"h-4 w-4 mr-2"}),"Reset"]})]}),(0,i.jsx)("div",{className:"grid gap-4",children:t.map(e=>{let t=c.find(t=>t.id===e.id);return(0,i.jsxs)("div",{className:"bg-card border rounded-lg p-4",children:[(0,i.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,i.jsxs)("div",{children:[(0,i.jsxs)("div",{className:"flex items-center gap-2 font-medium",children:[W(e.status),e.name,(0,i.jsxs)("span",{className:"text-sm font-normal text-muted-foreground",children:["(",t?.category,")"]})]}),(0,i.jsxs)("div",{className:"text-sm text-muted-foreground mt-1",children:[t?.prompt.substring(0,100),"..."]})]}),(0,i.jsxs)("div",{className:"flex items-center gap-2",children:[e.executionTime&&(0,i.jsxs)("span",{className:"text-sm text-muted-foreground",children:[(e.executionTime/1e3).toFixed(1),"s"]}),"running"===e.status&&o===e.id?(0,i.jsxs)(r.$,{size:"sm",variant:"destructive",onClick:()=>I(e.id),children:[(0,i.jsx)(x,{className:"h-3 w-3 mr-1"}),"Stop"]}):(0,i.jsxs)(r.$,{size:"sm",variant:"outline",onClick:()=>$(e.id),disabled:null!==o,children:[(0,i.jsx)(j,{className:"h-3 w-3 mr-1"}),"Test"]}),("running"===e.status||e.generationOutput||S.has(e.id))&&(0,i.jsx)(r.$,{size:"sm",variant:"ghost",onClick:()=>{E(t=>{let s=new Set(t);return s.has(e.id)?s.delete(e.id):s.add(e.id),s})},children:S.has(e.id)?(0,i.jsx)(v.A,{className:"h-3 w-3"}):(0,i.jsx)(b.A,{className:"h-3 w-3"})})]})]}),("running"===e.status||S.has(e.id))&&(e.generationOutput||T.get(e.id))&&(0,i.jsxs)("div",{className:"mt-3 pt-3 border-t",children:[(0,i.jsxs)("div",{className:"flex items-center gap-2 mb-2",children:[(0,i.jsx)("div",{className:"text-sm font-medium text-muted-foreground",children:"Generation Output"}),"running"===e.status&&(0,i.jsxs)("div",{className:"flex items-center gap-1",children:[(0,i.jsx)(h.A,{className:"h-3 w-3 animate-spin"}),(0,i.jsx)("span",{className:"text-xs text-muted-foreground",children:"Generating..."})]})]}),(0,i.jsx)("div",{className:"bg-muted/50 rounded-md p-3 max-h-64 overflow-y-auto",ref:t=>{t&&q.current.set(e.id,t)},children:(0,i.jsx)("pre",{className:"text-xs font-mono whitespace-pre-wrap text-foreground/80",children:e.generationOutput||T.get(e.id)||""})})]}),("success"===e.status||"failed"===e.status||"stopped"===e.status)&&(0,i.jsxs)("div",{className:"mt-3 pt-3 border-t space-y-2",children:[e.details&&(0,i.jsxs)("div",{children:[(0,i.jsx)("strong",{children:"Result:"})," ",e.details]}),void 0!==e.toolCalls&&(0,i.jsxs)("div",{children:[(0,i.jsx)("strong",{children:"Tool Calls:"})," ",e.toolCalls]}),e.filesModified&&e.filesModified.length>0&&(0,i.jsxs)("div",{children:[(0,i.jsx)("strong",{children:"Files:"})," ",e.filesModified.join(", ")]}),e.errors&&e.errors.length>0&&(0,i.jsxs)("div",{className:"text-red-600",children:[(0,i.jsx)("strong",{children:"Errors:"})," ",e.errors.join(", ")]})]})]},e.id)})})]})})]})}},74998:e=>{"use strict";e.exports=require("perf_hooks")},78487:(e,t,s)=>{Promise.resolve().then(s.bind(s,64628))},79428:e=>{"use strict";e.exports=require("buffer")},82623:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>i});let i=(0,s(12907).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/Users/otto/Desktop/deepstudio/osw-studio-git/app/test-generation/page.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/test-generation/page.tsx","default")},84063:(e,t,s)=>{Promise.resolve().then(s.bind(s,82623))},91645:e=>{"use strict";e.exports=require("net")},93633:(e,t,s)=>{"use strict";s.r(t),s.d(t,{GlobalError:()=>n.a,__next_app__:()=>m,pages:()=>c,routeModule:()=>u,tree:()=>l});var i=s(65239),a=s(48088),r=s(88170),n=s.n(r),o=s(30893),d={};for(let e in o)0>["default","tree","pages","GlobalError","__next_app__","routeModule"].indexOf(e)&&(d[e]=()=>o[e]);s.d(t,d);let l={children:["",{children:["test-generation",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(s.bind(s,82623)),"/Users/otto/Desktop/deepstudio/osw-studio-git/app/test-generation/page.tsx"]}]},{}]},{layout:[()=>Promise.resolve().then(s.bind(s,58014)),"/Users/otto/Desktop/deepstudio/osw-studio-git/app/layout.tsx"],"not-found":[()=>Promise.resolve().then(s.t.bind(s,57398,23)),"next/dist/client/components/not-found-error"],forbidden:[()=>Promise.resolve().then(s.t.bind(s,89999,23)),"next/dist/client/components/forbidden-error"],unauthorized:[()=>Promise.resolve().then(s.t.bind(s,65284,23)),"next/dist/client/components/unauthorized-error"]}]}.children,c=["/Users/otto/Desktop/deepstudio/osw-studio-git/app/test-generation/page.tsx"],m={require:s,loadChunk:()=>Promise.resolve()},u=new i.AppPageRouteModule({definition:{kind:a.RouteKind.APP_PAGE,page:"/test-generation/page",pathname:"/test-generation",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:l}})},94735:e=>{"use strict";e.exports=require("events")}};var t=require("../../webpack-runtime.js");t.C(e);var s=e=>t(t.s=e),i=t.X(0,[4447,8055,2168,9243,2437],()=>s(93633));module.exports=i})(); \ No newline at end of file diff --git a/.next/server/app/test-generation/page.js.nft.json b/.next/server/app/test-generation/page.js.nft.json index 539ff2281a16cf3fab49ef1744494a95cf8d2a70..f5dd2963531f1e52a23d579c432da7ec538b9eba 100644 --- a/.next/server/app/test-generation/page.js.nft.json +++ b/.next/server/app/test-generation/page.js.nft.json @@ -1 +1 @@ -{"version":1,"files":["../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../node_modules/next/dist/server/app-render/clean-async-snapshot-instance.js","../../../../node_modules/next/dist/server/app-render/clean-async-snapshot.external.js","../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../node_modules/next/package.json","../../../package.json","../../chunks/447.js","../../chunks/531.js","../../chunks/55.js","../../chunks/988.js","../../webpack-runtime.js","page_client-reference-manifest.js"]} \ No newline at end of file +{"version":1,"files":["../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../node_modules/next/dist/server/app-render/clean-async-snapshot-instance.js","../../../../node_modules/next/dist/server/app-render/clean-async-snapshot.external.js","../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../node_modules/next/package.json","../../../package.json","../../chunks/1519.js","../../chunks/2168.js","../../chunks/2437.js","../../chunks/4447.js","../../chunks/8055.js","../../chunks/9243.js","../../chunks/9579.js","../../webpack-runtime.js","page_client-reference-manifest.js"]} \ No newline at end of file diff --git a/.next/server/app/test-generation/page_client-reference-manifest.js b/.next/server/app/test-generation/page_client-reference-manifest.js index f3594681c28e838a8bfbd22457c729710ae32d43..bfae6e0654ac03b3adef592a50c0d5fab41381d0 100644 --- a/.next/server/app/test-generation/page_client-reference-manifest.js +++ b/.next/server/app/test-generation/page_client-reference-manifest.js @@ -1 +1 @@ -globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/test-generation/page"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"894":{"*":{"id":"6346","name":"*","chunks":[],"async":false}},"1295":{"*":{"id":"7173","name":"*","chunks":[],"async":false}},"1321":{"*":{"id":"9197","name":"*","chunks":[],"async":false}},"2715":{"*":{"id":"8287","name":"*","chunks":[],"async":false}},"4911":{"*":{"id":"8827","name":"*","chunks":[],"async":false}},"4970":{"*":{"id":"7924","name":"*","chunks":[],"async":false}},"5388":{"*":{"id":"3014","name":"*","chunks":[],"async":false}},"5851":{"*":{"id":"4593","name":"*","chunks":[],"async":false}},"6614":{"*":{"id":"5656","name":"*","chunks":[],"async":false}},"6910":{"*":{"id":"4628","name":"*","chunks":[],"async":false}},"6975":{"*":{"id":"99","name":"*","chunks":[],"async":false}},"7555":{"*":{"id":"8243","name":"*","chunks":[],"async":false}},"9665":{"*":{"id":"2763","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-page.js":{"id":894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-page.js":{"id":894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-segment.js":{"id":4970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-segment.js":{"id":4970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/error-boundary.js":{"id":6614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":6614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":6975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":6975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/layout-router.js":{"id":7555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/layout-router.js":{"id":7555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/async-metadata.js":{"id":4911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/async-metadata.js":{"id":4911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/metadata-boundary.js":{"id":9665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/metadata-boundary.js":{"id":9665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/render-from-template-context.js":{"id":1295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":1295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/tanstack-query-provider.tsx":{"id":5388,"name":"*","chunks":["671","static/chunks/671-f7ad2a6bc6db0f05.js","138","static/chunks/138-9f738090dc749a6c.js","177","static/chunks/app/layout-4145df182a98063f.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/theme-provider.tsx":{"id":1321,"name":"*","chunks":["671","static/chunks/671-f7ad2a6bc6db0f05.js","138","static/chunks/138-9f738090dc749a6c.js","177","static/chunks/app/layout-4145df182a98063f.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/ui/sonner.tsx":{"id":5851,"name":"*","chunks":["671","static/chunks/671-f7ad2a6bc6db0f05.js","138","static/chunks/138-9f738090dc749a6c.js","177","static/chunks/app/layout-4145df182a98063f.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"variable\":\"--font-inter-sans\",\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"}":{"id":9755,"name":"*","chunks":["671","static/chunks/671-f7ad2a6bc6db0f05.js","138","static/chunks/138-9f738090dc749a6c.js","177","static/chunks/app/layout-4145df182a98063f.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"PT_Sans\",\"arguments\":[{\"variable\":\"--font-ptSans-mono\",\"subsets\":[\"latin\"],\"weight\":[\"400\",\"700\"]}],\"variableName\":\"ptSans\"}":{"id":6382,"name":"*","chunks":["671","static/chunks/671-f7ad2a6bc6db0f05.js","138","static/chunks/138-9f738090dc749a6c.js","177","static/chunks/app/layout-4145df182a98063f.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/assets/globals.css":{"id":5410,"name":"*","chunks":["671","static/chunks/671-f7ad2a6bc6db0f05.js","138","static/chunks/138-9f738090dc749a6c.js","177","static/chunks/app/layout-4145df182a98063f.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page.tsx":{"id":2715,"name":"*","chunks":["948","static/chunks/06bf0ff1-f728958255a9b8b2.js","316","static/chunks/ad2866b8-eb5f2e8eab9b0b0c.js","671","static/chunks/671-f7ad2a6bc6db0f05.js","543","static/chunks/543-48a1c5f1f67a3b29.js","525","static/chunks/525-4e767ea62b4b7b1e.js","361","static/chunks/361-0bdc2b83974d9545.js","974","static/chunks/app/page-05cb2cd5b350e411.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/test-generation/page.tsx":{"id":6910,"name":"*","chunks":["948","static/chunks/06bf0ff1-f728958255a9b8b2.js","671","static/chunks/671-f7ad2a6bc6db0f05.js","543","static/chunks/543-48a1c5f1f67a3b29.js","361","static/chunks/361-0bdc2b83974d9545.js","932","static/chunks/app/test-generation/page-6d3cc765a1451265.js"],"async":false}},"entryCSSFiles":{"/Users/otto/Desktop/deepstudio/osw-studio-git/":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/layout":[{"inlined":false,"path":"static/css/fd087a0139b3b65e.css"}],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/test-generation/page":[]},"rscModuleMapping":{"894":{"*":{"id":"6444","name":"*","chunks":[],"async":false}},"1295":{"*":{"id":"1307","name":"*","chunks":[],"async":false}},"1321":{"*":{"id":"9035","name":"*","chunks":[],"async":false}},"2715":{"*":{"id":"597","name":"*","chunks":[],"async":false}},"4911":{"*":{"id":"2089","name":"*","chunks":[],"async":false}},"4970":{"*":{"id":"6042","name":"*","chunks":[],"async":false}},"5388":{"*":{"id":"1900","name":"*","chunks":[],"async":false}},"5410":{"*":{"id":"4348","name":"*","chunks":[],"async":false}},"5851":{"*":{"id":"363","name":"*","chunks":[],"async":false}},"6614":{"*":{"id":"8170","name":"*","chunks":[],"async":false}},"6910":{"*":{"id":"5004","name":"*","chunks":[],"async":false}},"6975":{"*":{"id":"9477","name":"*","chunks":[],"async":false}},"7555":{"*":{"id":"9345","name":"*","chunks":[],"async":false}},"9665":{"*":{"id":"6577","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}} \ No newline at end of file +globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/test-generation/page"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"3727":{"*":{"id":"12913","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"94593","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"69001","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"53014","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"35656","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"64628","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"97173","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"43555","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"40099","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"20435","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"62763","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"99197","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"28827","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"38243","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"86346","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"27924","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-page.js":{"id":90894,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/client-segment.js":{"id":94970,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":26614,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":46975,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/layout-router.js":{"id":87555,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/async-metadata.js":{"id":74911,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/metadata/metadata-boundary.js":{"id":59665,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":31295,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/tanstack-query-provider.tsx":{"id":25388,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/providers/theme-provider.tsx":{"id":61321,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/ui/sonner.tsx":{"id":15851,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"variable\":\"--font-inter-sans\",\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"}":{"id":9755,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"PT_Sans\",\"arguments\":[{\"variable\":\"--font-ptSans-mono\",\"subsets\":[\"latin\"],\"weight\":[\"400\",\"700\"]}],\"variableName\":\"ptSans\"}":{"id":56382,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/assets/globals.css":{"id":85410,"name":"*","chunks":["6671","static/chunks/6671-cfa51652ff77a475.js","2138","static/chunks/2138-18d4ca002a920f5d.js","7177","static/chunks/app/layout-cf67cd20b30ce4c8.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/components/page-wrapper/index.tsx":{"id":19009,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/page.tsx":{"id":57161,"name":"*","chunks":[],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/test-generation/page.tsx":{"id":26910,"name":"*","chunks":["5948","static/chunks/06bf0ff1-2f6b5dbae626a171.js","6671","static/chunks/6671-cfa51652ff77a475.js","189","static/chunks/189-4f09a71b91c59be3.js","4750","static/chunks/4750-b402a0050286a424.js","6932","static/chunks/app/test-generation/page-22772d4e0c97f685.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page.tsx":{"id":40796,"name":"*","chunks":["5948","static/chunks/06bf0ff1-2f6b5dbae626a171.js","4316","static/chunks/ad2866b8-a4659a388c5e0680.js","6671","static/chunks/6671-cfa51652ff77a475.js","189","static/chunks/189-4f09a71b91c59be3.js","5370","static/chunks/5370-dad62d5f4907e0f9.js","4750","static/chunks/4750-b402a0050286a424.js","5375","static/chunks/5375-a5738c494d0f24e9.js","8974","static/chunks/app/page-79207d5f775baf7d.js"],"async":false},"/Users/otto/Desktop/deepstudio/osw-studio-git/app/admin/login/page.tsx":{"id":3727,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/otto/Desktop/deepstudio/osw-studio-git/":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/layout":[{"inlined":false,"path":"static/css/e420bcf6619594d2.css"}],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/page":[],"/Users/otto/Desktop/deepstudio/osw-studio-git/app/test-generation/page":[]},"rscModuleMapping":{"3727":{"*":{"id":"9911","name":"*","chunks":[],"async":false}},"15851":{"*":{"id":"80363","name":"*","chunks":[],"async":false}},"19009":{"*":{"id":"36903","name":"*","chunks":[],"async":false}},"25388":{"*":{"id":"41900","name":"*","chunks":[],"async":false}},"26614":{"*":{"id":"88170","name":"*","chunks":[],"async":false}},"26910":{"*":{"id":"82623","name":"*","chunks":[],"async":false}},"31295":{"*":{"id":"31307","name":"*","chunks":[],"async":false}},"40796":{"*":{"id":"90597","name":"*","chunks":[],"async":false}},"46975":{"*":{"id":"49477","name":"*","chunks":[],"async":false}},"57161":{"*":{"id":"49441","name":"*","chunks":[],"async":false}},"59665":{"*":{"id":"46577","name":"*","chunks":[],"async":false}},"61321":{"*":{"id":"39035","name":"*","chunks":[],"async":false}},"74911":{"*":{"id":"12089","name":"*","chunks":[],"async":false}},"85410":{"*":{"id":"94348","name":"*","chunks":[],"async":false}},"87555":{"*":{"id":"29345","name":"*","chunks":[],"async":false}},"90894":{"*":{"id":"16444","name":"*","chunks":[],"async":false}},"94970":{"*":{"id":"16042","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}} \ No newline at end of file diff --git a/.next/server/chunks/1519.js b/.next/server/chunks/1519.js new file mode 100644 index 0000000000000000000000000000000000000000..fb8e530f8807efce5244cdeea605d258f4f90553 --- /dev/null +++ b/.next/server/chunks/1519.js @@ -0,0 +1 @@ +"use strict";exports.id=1519,exports.ids=[1519],exports.modules={1519:(s,t,o)=>{o.d(t,{autoSyncProject:()=>e}),o(68269),o(96241),o(52581);async function e(s){}}}; \ No newline at end of file diff --git a/.next/server/chunks/1671.js b/.next/server/chunks/1671.js new file mode 100644 index 0000000000000000000000000000000000000000..e6e554cb2663f1f9633531f66027f5dc5c9e74bf --- /dev/null +++ b/.next/server/chunks/1671.js @@ -0,0 +1,926 @@ +"use strict";exports.id=1671,exports.ids=[1671],exports.modules={1671:(e,t,n)=>{n.d(t,{YE:()=>m,lN:()=>b});var r=n(29021),s=n(33873),i=n.n(s),o=n(9022),a=n(92436),l=n.n(a);class c{constructor(e,t,n){this.blobUrls=new Map,this.fileHashes=new Map,this.templateCache=new Map,this.partialsRegistered=!1,this.vfs=e,this.projectId=t,this.baseUrl="",n&&(this.blobUrls=new Map(n)),this.handlebars=l().create(),this.registerHelpers()}registerHelpers(){this.handlebars.registerHelper("eq",(e,t)=>e===t),this.handlebars.registerHelper("ne",(e,t)=>e!==t),this.handlebars.registerHelper("lt",(e,t)=>ee>t),this.handlebars.registerHelper("lte",(e,t)=>e<=t),this.handlebars.registerHelper("gte",(e,t)=>e>=t),this.handlebars.registerHelper("and",function(){let e=Array.prototype.slice.call(arguments,0,-1);return e.every(e=>e)}),this.handlebars.registerHelper("or",function(){let e=Array.prototype.slice.call(arguments,0,-1);return e.some(e=>e)}),this.handlebars.registerHelper("not",e=>!e),this.handlebars.registerHelper("add",(e,t)=>e+t),this.handlebars.registerHelper("subtract",(e,t)=>e-t),this.handlebars.registerHelper("multiply",(e,t)=>e*t),this.handlebars.registerHelper("divide",(e,t)=>e/t),this.handlebars.registerHelper("uppercase",e=>e?.toUpperCase()),this.handlebars.registerHelper("lowercase",e=>e?.toLowerCase()),this.handlebars.registerHelper("concat",function(){let e=Array.prototype.slice.call(arguments,0,-1);return e.join("")}),this.handlebars.registerHelper("json",e=>JSON.stringify(e,null,2)),this.handlebars.registerHelper("formatDate",e=>new Date(e).toLocaleDateString()),this.handlebars.registerHelper("limit",(e,t)=>e?.slice(0,t))}async registerPartials(){if(!this.partialsRegistered)try{for(let e of(await this.vfs.getAllFilesAndDirectories(this.projectId)).filter(e=>"content"in e&&e.path.startsWith("/templates/")&&(e.path.endsWith(".hbs")||e.path.endsWith(".handlebars")))){let t=e.content,n=e.path.replace(/^\/templates\//,"").replace(/\.hbs$/,"").replace(/\.handlebars$/,"");this.handlebars.registerPartial(n,t);let r=n.split("/").pop();if(r&&this.handlebars.registerPartial(r,t),n.includes("/")){let e=n.replace(/\//g,"-");this.handlebars.registerPartial(e,t)}}this.partialsRegistered=!0}catch(e){}}async compileTemplate(e,t={}){let n=this.templateCache.get(e);if(!n)try{let t=(await this.vfs.readFile(this.projectId,e)).content;n=this.handlebars.compile(t),this.templateCache.set(e,n)}catch(t){return console.error(`Failed to compile template ${e}:`,t),""}return n(t)}async compileProject(e=!1){await this.registerPartials();let t=await this.vfs.listDirectory(this.projectId,"/"),n=new Map(this.blobUrls),r=new Map,s=[];for(let i of t){let t;if("template"===i.type||"html"===i.type||"css"===i.type)continue;t="image"===i.type||"video"===i.type?{path:i.path,content:i.content,mimeType:i.mimeType}:"js"===i.type?await this.processJS(i):{path:i.path,content:i.content,mimeType:i.mimeType};let o=this.hashContent(t.content),a=this.fileHashes.get(t.path);if(e&&a===o&&n.has(t.path)){let e=n.get(t.path);r.set(t.path,e),t.blobUrl=e,n.delete(t.path)}else{let e=new Blob([t.content],{type:t.mimeType}),n=URL.createObjectURL(e);r.set(t.path,n),t.blobUrl=n,this.fileHashes.set(t.path,o)}s.push(t)}for(let i of t){if("html"!==i.type)continue;let t=await this.processHTML(i,r),o=this.hashContent(t.content),a=this.fileHashes.get(t.path);if(e&&a===o&&n.has(t.path)){let e=n.get(t.path);r.set(t.path,e),t.blobUrl=e,n.delete(t.path)}else{let e=new Blob([t.content],{type:t.mimeType}),n=URL.createObjectURL(e);r.set(t.path,n),t.blobUrl=n,this.fileHashes.set(t.path,o)}s.push(t)}let i=[...s];for(let s of t)if("css"===s.type){let t=await this.processCSS(s,r),o=this.hashContent(t.content),a=this.fileHashes.get(t.path);if(e&&a===o&&n.has(t.path)){let e=n.get(t.path);r.set(t.path,e),t.blobUrl=e,n.delete(t.path)}else{let e=new Blob([t.content],{type:t.mimeType}),n=URL.createObjectURL(e);r.set(t.path,n),t.blobUrl=n,this.fileHashes.set(t.path,o)}i.push(t)}let o=this.generateRoutes(t);if(e)for(let[,e]of n)URL.revokeObjectURL(e);else e||this.cleanupBlobUrls();return this.blobUrls=r,{entryPoint:"/index.html",files:i,routes:o,blobUrls:this.blobUrls}}hashContent(e){let t=0;if(e instanceof ArrayBuffer){let n=new Uint8Array(e);for(let e=0;e +// VFS Asset Interceptor - Auto-injected by OSW Studio +(function() { + const vfsBlobUrls = ${JSON.stringify(r)}; + + // Helper function to resolve VFS paths to blob URLs + function resolveVfsUrl(url) { + if (!url || typeof url !== 'string') return url; + if (url.startsWith('/assets/') && vfsBlobUrls[url]) { + return vfsBlobUrls[url]; + } + return url; + } + + // Intercept Image src setter to handle ALL image loading + const originalSrcDescriptor = Object.getOwnPropertyDescriptor(HTMLImageElement.prototype, 'src'); + Object.defineProperty(HTMLImageElement.prototype, 'src', { + get: function() { + return originalSrcDescriptor.get.call(this); + }, + set: function(value) { + const resolvedUrl = resolveVfsUrl(value); + return originalSrcDescriptor.set.call(this, resolvedUrl); + }, + enumerable: true, + configurable: true + }); + + // Intercept setAttribute for src attributes + const originalSetAttribute = Element.prototype.setAttribute; + Element.prototype.setAttribute = function(name, value) { + if ((name === 'src' || name === 'href') && this instanceof HTMLImageElement) { + value = resolveVfsUrl(value); + } + return originalSetAttribute.call(this, name, value); + }; + + // Intercept innerHTML to catch template-generated images + const originalInnerHTMLDescriptor = Object.getOwnPropertyDescriptor(Element.prototype, 'innerHTML'); + Object.defineProperty(Element.prototype, 'innerHTML', { + get: function() { + return originalInnerHTMLDescriptor.get.call(this); + }, + set: function(value) { + if (typeof value === 'string' && value.includes('/assets/')) { + // Replace asset URLs in the HTML string before setting + const srcRegex = new RegExp('src=["\\']([^"\\']*/assets/[^"\\']*)["\\']', 'g'); + value = value.replace(srcRegex, function(match, url) { + const resolvedUrl = resolveVfsUrl(url); + if (resolvedUrl !== url) { + return match.replace(url, resolvedUrl); + } + return match; + }); + } + return originalInnerHTMLDescriptor.set.call(this, value); + }, + enumerable: true, + configurable: true + }); + + // Intercept Image constructor + const OriginalImage = window.Image; + window.Image = function(...args) { + const img = new OriginalImage(...args); + // Override src setter for this instance too + const descriptor = Object.getOwnPropertyDescriptor(img, 'src') || + Object.getOwnPropertyDescriptor(HTMLImageElement.prototype, 'src'); + if (descriptor) { + Object.defineProperty(img, 'src', { + get: descriptor.get, + set: function(value) { + const resolvedUrl = resolveVfsUrl(value); + return originalSrcDescriptor.set.call(this, resolvedUrl); + }, + enumerable: true, + configurable: true + }); + } + return img; + }; + // Preserve original Image properties + Object.setPrototypeOf(window.Image, OriginalImage); + window.Image.prototype = OriginalImage.prototype; + + // Intercept createElement for img elements + const originalCreateElement = document.createElement; + document.createElement = function(tagName, options) { + const element = originalCreateElement.call(this, tagName, options); + if (tagName.toLowerCase() === 'img') { + const originalSrcDescriptor = Object.getOwnPropertyDescriptor(HTMLImageElement.prototype, 'src'); + Object.defineProperty(element, 'src', { + get: function() { + return originalSrcDescriptor.get.call(this); + }, + set: function(value) { + const resolvedUrl = resolveVfsUrl(value); + return originalSrcDescriptor.set.call(this, resolvedUrl); + }, + enumerable: true, + configurable: true + }); + } + return element; + }; + + // Intercept fetch requests to VFS assets + const originalFetch = window.fetch; + window.fetch = function(input, init) { + const url = typeof input === 'string' ? input : input.url; + const resolvedUrl = resolveVfsUrl(url); + + if (resolvedUrl !== url) { + return originalFetch(resolvedUrl, init); + } + + return originalFetch(input, init); + }; + + // Intercept XMLHttpRequest for older code + const OriginalXHR = window.XMLHttpRequest; + window.XMLHttpRequest = function() { + const xhr = new OriginalXHR(); + const originalOpen = xhr.open; + + xhr.open = function(method, url, ...args) { + const resolvedUrl = resolveVfsUrl(url); + return originalOpen.call(this, method, resolvedUrl, ...args); + }; + + return xhr; + }; + + // Process any existing images in the DOM when ready + function processExistingImages() { + const images = document.querySelectorAll('img[src*="/assets/"]'); + images.forEach(img => { + const currentSrc = img.src; + const resolvedSrc = resolveVfsUrl(currentSrc); + if (resolvedSrc !== currentSrc) { + img.src = resolvedSrc; + } + }); + } + + // Use MutationObserver to catch dynamically added images + function setupMutationObserver() { + if (typeof MutationObserver !== 'undefined') { + const observer = new MutationObserver(function(mutations) { + mutations.forEach(function(mutation) { + mutation.addedNodes.forEach(function(node) { + if (node.nodeType === 1) { // Element node + if (node.tagName === 'IMG' && node.src && node.src.includes('/assets/')) { + const resolvedSrc = resolveVfsUrl(node.src); + if (resolvedSrc !== node.src) { + node.src = resolvedSrc; + } + } + // Also check children + const childImages = node.querySelectorAll && node.querySelectorAll('img[src*="/assets/"]'); + if (childImages) { + childImages.forEach(img => { + const resolvedSrc = resolveVfsUrl(img.src); + if (resolvedSrc !== img.src) { + img.src = resolvedSrc; + } + }); + } + } + }); + }); + }); + + observer.observe(document.body || document.documentElement, { + childList: true, + subtree: true + }); + } + } + + // Setup everything when DOM is ready + if (document.readyState === 'loading') { + document.addEventListener('DOMContentLoaded', function() { + processExistingImages(); + setupMutationObserver(); + }); + } else { + processExistingImages(); + setupMutationObserver(); + } +})(); +`;return n=n.includes("")?n.replace("",s+"\n"):n.includes("")?n.replace("",s+"\n"):s+"\n"+n,{path:e.path,content:n,mimeType:e.mimeType}}extractPartialReferences(e){let t,n=/\{\{>\s*([\w-]+)\s*(?:\s+[^}]*)?\}\}/g,r=new Set;for(;null!==(t=n.exec(e));)r.add(t[1]);return Array.from(r)}registerErrorStubsForMissingPartials(e){for(let t of e)if(!this.handlebars.partials[t]){let e=`
+ ⚠️ Missing partial: "${t}" +

Create file in /templates/ directory (e.g., /templates/${t}.hbs or /templates/components/${t}.hbs)

+
`;this.handlebars.registerPartial(t,e)}}async processHandlebarsTemplates(e){await this.registerPartials();try{let t=this.detectInvalidHandlebarsPatterns(e);if(t.length>0){let n=t.map(e=>`❌ ${e.error} +💡 ${e.suggestion}`).join("\n\n");return` +
+

⚠️ Handlebars Template Error

+
${n}
+
+`}let n=this.extractPartialReferences(e);this.registerErrorStubsForMissingPartials(n);let r={};try{let e=await this.vfs.readFile(this.projectId,"/data.json");r=JSON.parse(e.content)}catch{}return this.handlebars.compile(e)(r)}catch(n){console.error("VirtualServer: Error processing Handlebars templates:",n);let t=n instanceof Error?n.message:String(n);return` +
+

⚠️ Handlebars Template Error

+

Error: ${t}

+

Common fixes:

+
    +
  • Check for typos in helper names and partial references
  • +
  • Ensure all opening tags have matching closing tags
  • +
  • Verify partial names exist in /templates/ directory
  • +
  • Use {{> partialName}} syntax, not (> partialName)
  • +
+
+`}}detectInvalidHandlebarsPatterns(e){let t=[];return/\w+\s*=\s*\(\s*>\s*[\w-]+\s*\)/g.test(e)&&t.push({error:"Invalid syntax: Using (> partial) as parameter value",suggestion:"Use string-based dynamic partials: content=\"partial-name\" then {{> (lookup this 'content')}}"}),/\{\{\s*>\s*\(\s*>\s*[\w-]+\s*\)\s*\}\}/g.test(e)&&t.push({error:"Invalid syntax: Double partial reference {{> (> partial)}}",suggestion:"Use {{> partialName}} for static partials or {{> (lookup data 'partialName')}} for dynamic"}),/\{\{\s*>\s*[\w-]+\s+\w+\s*=\s*[^"'\s}][^}]*\s[^}]*(?:\s|}})/g.test(e)&&t.push({error:"Missing quotes in parameter values",suggestion:'Wrap parameter values in quotes: title="My Title" not title=My Title'}),t}async processCSS(e,t){let n=e.content;return n=await this.processUrlReferences(n,t),{path:e.path,content:n,mimeType:e.mimeType}}async processJS(e){let t=e.content;return{path:e.path,content:t,mimeType:e.mimeType}}isAssetReference(e){let t=e.split("?")[0].split("#")[0];return[".css",".js",".jsx",".ts",".tsx",".png",".jpg",".jpeg",".gif",".svg",".ico",".webp",".woff",".woff2",".ttf",".otf",".eot",".mp4",".webm",".ogg",".mp3",".wav",".pdf",".zip",".json",".xml"].includes(t.substring(t.lastIndexOf(".")).toLowerCase())}async processInternalReferences(e,t){let n=await this.vfs.listDirectory(this.projectId,"/"),r=t||this.blobUrls,s=e;for(let e of[/href="([^"]+)"/g,/src="([^"]+)"/g,/href='([^']+)'/g,/src='([^']+)'/g])s=s.replace(e,(e,t)=>{if(t.startsWith("http")||t.startsWith("data:")||t.startsWith("//")||t.startsWith("blob:")||t.startsWith("#")||e.includes("href=")&&!this.isAssetReference(t))return e;let s=this.normalizePath(t);if(n.some(e=>e.path===s)){let n=r.get(s);if(n)return e.replace(t,n)}return e});return s}async processUrlReferences(e,t){return e.replace(/url\(['"]?([^'")]+)['"]?\)/g,(e,n)=>{if(n.startsWith("http")||n.startsWith("data:")||n.startsWith("//")||n.startsWith("blob:"))return e;let r=this.normalizePath(n),s=t.get(r);return s?`url('${s}')`:e})}normalizePath(e){return(e.startsWith("./")&&(e=e.slice(2)),e.startsWith("/")||(e="/"+e),e.endsWith("/"))?e+"index.html":e.includes(".")?e:e+".html"}generateRoutes(e){return e.filter(e=>"html"===e.type).map(e=>{let t=e.content.match(/([^<]+)<\/title>/i),n=t?t[1]:e.name.replace(".html",""),r=e.path.replace(".html","")||"/";return{path:"/index"===r?"/":r,file:e.path,title:n}})}extractTitle(e){let t=e.match(/<title>([^<]+)<\/title>/i);return t?t[1]:"Untitled Page"}cleanupBlobUrls(){for(let e of this.blobUrls.values())URL.revokeObjectURL(e);this.blobUrls.clear(),this.templateCache.clear(),this.partialsRegistered=!1}async getCompiledFile(e){try{let t=await this.vfs.readFile(this.projectId,e);if("html"===t.type)return await this.processHTML(t,this.blobUrls);if("css"===t.type)return await this.processCSS(t,new Map);if("js"===t.type)return await this.processJS(t);else return{path:t.path,content:t.content,mimeType:t.mimeType}}catch{return null}}}var p=n(66819);function d(e){let{siteId:t,apiEndpoint:n="/api/analytics/track",interactionEndpoint:r="/api/analytics/interaction",features:s={basicTracking:!0,heatmaps:!1,sessionRecording:!1,performanceMetrics:!1,engagementTracking:!1,customEvents:!1}}=e;return` +<!-- OSW Studio Analytics --> +<script> +(function() { + 'use strict'; + + // Configuration + var config = { + siteId: '${t}', + apiEndpoint: '${n}', + interactionEndpoint: '${r}', + features: ${JSON.stringify(s)} + }; + + // State + var pageLoadTime = Date.now(); + var scrollMilestones = { 25: false, 50: false, 75: false, 100: false }; + var eventQueue = []; + var lastFlush = Date.now(); + + // Generate anonymous session ID from browser fingerprint (no cookies) + function generateSessionId() { + var canvas = document.createElement('canvas'); + var ctx = canvas.getContext('2d'); + ctx.textBaseline = 'top'; + ctx.font = '14px Arial'; + ctx.fillText('osw', 0, 0); + var canvasData = canvas.toDataURL(); + + var fingerprint = [ + navigator.userAgent, + navigator.language, + screen.colorDepth, + screen.width + 'x' + screen.height, + new Date().getTimezoneOffset(), + canvasData.slice(0, 100) + ].join('|'); + + var hash = 0; + for (var i = 0; i < fingerprint.length; i++) { + var char = fingerprint.charCodeAt(i); + hash = ((hash << 5) - hash) + char; + hash = hash & hash; + } + return Math.abs(hash).toString(36); + } + + // Detect device type + function getDeviceType() { + var width = window.innerWidth; + if (width < 768) return 'mobile'; + if (width < 1024) return 'tablet'; + return 'desktop'; + } + + // Send analytics data + // Security: Origin/Referer validation on server (browser-enforced, cannot be spoofed cross-domain) + function sendData(endpoint, data) { + if (navigator.sendBeacon) { + var blob = new Blob([JSON.stringify(data)], { type: 'application/json' }); + navigator.sendBeacon(endpoint, blob); + } else { + fetch(endpoint, { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify(data), + keepalive: true + }).catch(function() {}); + } + } + + // Track pageview + function trackPageview() { + if (!config.features.basicTracking) return; + + var data = { + siteId: config.siteId, + pagePath: window.location.pathname, + referrer: document.referrer || '', + userAgent: navigator.userAgent, + deviceType: getDeviceType() + }; + + sendData(config.apiEndpoint, data); + pageLoadTime = Date.now(); + scrollMilestones = { 25: false, 50: false, 75: false, 100: false }; + } + + // Track click (for heatmaps) + function trackClick(event) { + if (!config.features.heatmaps) return; + + var target = event.target; + var selector = target.tagName; + if (target.id) selector += '#' + target.id; + if (target.className) selector += '.' + target.className.split(' ').join('.'); + + eventQueue.push({ + type: 'click', + data: { + siteId: config.siteId, + pagePath: window.location.pathname, + interactionType: 'click', + elementSelector: selector, + coordinates: { + x: event.clientX, + y: event.clientY, + scrollY: window.scrollY || window.pageYOffset || 0, + viewportWidth: window.innerWidth, + viewportHeight: window.innerHeight, + documentHeight: Math.max( + document.body.scrollHeight, + document.body.offsetHeight, + document.documentElement.clientHeight, + document.documentElement.scrollHeight, + document.documentElement.offsetHeight + ) + }, + timeOnPage: Date.now() - pageLoadTime + } + }); + + flushEvents(); + } + + // Track scroll depth + function trackScroll() { + if (!config.features.engagementTracking && !config.features.heatmaps) return; + + var scrollHeight = document.documentElement.scrollHeight - window.innerHeight; + var scrolled = window.scrollY; + var percent = scrollHeight > 0 ? Math.round((scrolled / scrollHeight) * 100) : 100; + + // Track milestones + [25, 50, 75, 100].forEach(function(milestone) { + if (percent >= milestone && !scrollMilestones[milestone]) { + scrollMilestones[milestone] = true; + + eventQueue.push({ + type: 'scroll', + data: { + siteId: config.siteId, + pagePath: window.location.pathname, + interactionType: 'scroll', + scrollDepth: milestone, + timeOnPage: Date.now() - pageLoadTime + } + }); + } + }); + + flushEvents(); + } + + // Track page exit (send time on page) + function trackExit() { + if (!config.features.engagementTracking) return; + + var timeOnPage = Date.now() - pageLoadTime; + if (timeOnPage < 1000) return; // Ignore very short visits + + sendData(config.interactionEndpoint, { + siteId: config.siteId, + pagePath: window.location.pathname, + interactionType: 'exit', + timeOnPage: timeOnPage + }); + } + + // Flush event queue (batching) + function flushEvents(force) { + var now = Date.now(); + if (eventQueue.length === 0) return; + + // Increased thresholds: 30s or 50 events (more efficient batching) + if (!force && now - lastFlush < 30000 && eventQueue.length < 50) return; + + var batch = eventQueue.splice(0, eventQueue.length); + + // Send as single batched request instead of individual requests + var batchData = { + batch: true, + interactions: batch.map(function(event) { return event.data; }) + }; + + sendData(config.interactionEndpoint, batchData); + lastFlush = now; + } + + // Initialize tracking + function init() { + // Track initial pageview + if (document.readyState === 'complete') { + trackPageview(); + } else { + window.addEventListener('load', trackPageview); + } + + // Track SPA navigation + var pushState = history.pushState; + history.pushState = function() { + pushState.apply(history, arguments); + trackPageview(); + }; + window.addEventListener('popstate', trackPageview); + + // Track clicks for heatmaps + if (config.features.heatmaps) { + document.addEventListener('click', trackClick, true); + } + + // Track scroll + if (config.features.engagementTracking || config.features.heatmaps) { + var scrollTimer; + window.addEventListener('scroll', function() { + clearTimeout(scrollTimer); + scrollTimer = setTimeout(trackScroll, 100); + }); + } + + // Track page exit + if (config.features.engagementTracking) { + window.addEventListener('beforeunload', function() { + flushEvents(true); // Force flush pending events + trackExit(); + }); + document.addEventListener('visibilitychange', function() { + if (document.visibilityState === 'hidden') { + flushEvents(true); // Force flush pending events + trackExit(); + } + }); + } else { + // Even without engagement tracking, flush pending events on exit + window.addEventListener('beforeunload', function() { + flushEvents(true); + }); + document.addEventListener('visibilitychange', function() { + if (document.visibilityState === 'hidden') { + flushEvents(true); + } + }); + } + + // Flush events periodically (increased to 30s for efficiency) + setInterval(function() { flushEvents(false); }, 30000); + } + + init(); +})(); +</script> +`.trim()}function u(e){let t={"&":"&","<":"<",">":">",'"':""","'":"'"};return e.replace(/[&<>"']/g,e=>t[e])}function h(e,t){let n=e.indexOf("</head>");if(-1===n){let n="<head>",r=e.indexOf(n);return -1!==r?e.slice(0,r+n.length)+"\n "+t+"\n"+e.slice(r+n.length):t+"\n"+e}return e.slice(0,n)+" "+t+"\n"+e.slice(n)}function f(e,t){let n=e.lastIndexOf("</body>");return -1===n?e+"\n"+t+"\n":e.slice(0,n)+t+"\n"+e.slice(n)}function g(e){let t={"&":"&","<":"<",">":">",'"':""","'":"'"};return e.replace(/[&<>"']/g,e=>t[e])}async function m(e){try{var t,n;let s=await (0,o.B)();await s.init();let a=await s.getSite?.(e);if(!a)return await s.close?.(),console.error(`[Static Builder] Site ${e} not found in database`),{success:!1,siteId:e,projectId:"",filesWritten:0,outputPath:"",error:"Site not found"};if(!await s.getProject(a.projectId))return await s.close?.(),console.error(`[Static Builder] Project ${a.projectId} not found in database`),{success:!1,siteId:e,projectId:a.projectId,filesWritten:0,outputPath:"",error:"Project not found"};if(console.log(`[Static Builder] Site ${e} build check:`,{siteId:e,siteName:a.name,underConstruction:a.underConstruction,customDomain:a.customDomain,enabled:a.enabled}),a.underConstruction){console.log(`[Static Builder] Building UNDER CONSTRUCTION page for site ${e}`),await s.close?.();let t=i().join(process.cwd(),"public","sites",e);try{await r.promises.rm(t,{recursive:!0,force:!0})}catch(e){}await r.promises.mkdir(t,{recursive:!0});let n=function(e){let t=e?function(e){let t={"&":"&","<":"<",">":">",'"':""","'":"'"};return e.replace(/[&<>"']/g,e=>t[e])}(e):"";return`<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="UTF-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <title>Under Construction${e?` - ${t}`:""} + + + +
+
+ +
+ +

Under Construction

+ ${e?`
${t}
`:""} +

This site is currently being updated and improved.

+

Please check back soon!

+ + +
+ +`}(a.name);return await r.promises.writeFile(i().join(t,"index.html"),n,"utf-8"),p.v.info(`[Static Builder] Built under construction page for site ${e}`),{success:!0,siteId:e,projectId:a.projectId,filesWritten:1,outputPath:`/sites/${e}`}}let l=await s.listFiles(a.projectId);console.log(`[Static Builder] Loaded ${l.length} files from database for project ${a.projectId}`);let m=(t=a.projectId,{async getAllFilesAndDirectories(e){if(e!==t)throw Error("Invalid project ID");return l},async listDirectory(e,n){if(e!==t)throw Error("Invalid project ID");return"/"===n?l:l.filter(e=>e.path.startsWith(n))},async readFile(e,n){if(e!==t)throw Error("Invalid project ID");let r=l.find(e=>e.path===n);if(!r)throw Error(`File not found: ${n}`);return r}});console.log("[Static Builder] Starting Handlebars compilation...");let b=new c(m,a.projectId),w=await b.compileProject();console.log(`[Static Builder] Compilation complete. ${w.files.length} files compiled`),await s.close?.();let y=new Map;for(let[e,t]of w.blobUrls)y.set(t,e);let v=a.customDomain?`https://${a.customDomain}`:`${process.env.NEXT_PUBLIC_APP_URL||"http://localhost:3000"}/sites/${e}`,x=[];for(let t of w.files)"string"==typeof t.content&&(t.content=function(e,t,n,r,s){let i=e,o=s?"":`/sites/${r}`;for(let[e,n]of t){let t=`${o}${n}`;i=i.replace(RegExp(e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"g"),t)}for(let e of[/(?:href|src)=["'](\/((?:styles|scripts|assets|images|fonts|js|css)\/[^"']+))["']/g,/url\(['"]?(\/((?:styles|scripts|assets|images|fonts|js|css)\/[^'")]+))['"]?\)/g,/href=["'](\/[^"']*\.html?)["']/g])i=i.replace(e,(e,t)=>{if(n.some(e=>e.path===t)){let n=`${o}${t}`;return e.replace(t,n)}return e});return i=i.replace(/href=["']([^"':/]+\.html?)["']/g,(e,t)=>{let r=`/${t}`;return n.some(e=>e.path===r)?e.replace(t,`${o}${r}`):e})}(t.content,y,l,e,a.customDomain),t.path.endsWith(".html")&&(t.content=t.content.replace(/ + `.trim()):f(e,d(s))}(c=function(e,t){let n=t.bodyScripts.filter(e=>e.enabled);if(0===n.length)return e;let r=[];for(let e of n)"inline"===e.type?r.push(``):"external"===e.type&&r.push(``);let s=e.lastIndexOf("");return -1===s?e+"\n"+r.join("\n")+"\n":e.slice(0,s)+" "+r.join("\n ")+"\n"+e.slice(s)}(c=function(e,t){let n=t.headScripts.filter(e=>e.enabled);if(0===n.length)return e;let r=[];for(let e of n)"inline"===e.type?r.push(``):"external"===e.type&&r.push(``);return h(e,r.join("\n "))}(c=function(e,t){let n=t.cdnLinks.filter(e=>e.enabled);if(0===n.length)return e;let r=[];for(let e of n)"css"===e.type?r.push(``):"js"===e.type&&r.push(``);return h(e,r.join("\n "))}(c=function(e,t,n){let{seo:r}=t;if(!r||0===Object.keys(r).length)return e;let s=[];r.title&&(s.push(`${g(r.title)}`),s.push(``),s.push(``)),r.description&&(s.push(``),s.push(``),s.push(``)),r.keywords&&r.keywords.length>0&&s.push(``),r.ogImage&&(s.push(``),s.push(``)),s.push(``),s.push(''),s.push(''),r.canonical&&s.push(``);let i=[];return r.noIndex&&i.push("noindex"),r.noFollow&&i.push("nofollow"),i.length>0&&s.push(``),h(e,s.join("\n "))}(c,i,a),i),i),i),l,i),r=l,c=(s=i).compliance.enabled?f(n,function(e){let{siteId:t,compliance:n}=e;if(!n.enabled)return"";let{bannerPosition:r,bannerStyle:s,message:i,acceptButtonText:o,declineButtonText:a,privacyPolicyUrl:l,cookiePolicyUrl:c,mode:p,blockAnalytics:d}=n,h="top"===r?"top: 0; border-bottom: 1px solid rgba(0,0,0,0.1);":"bottom: 0; border-top: 1px solid rgba(0,0,0,0.1);",f="";return"bar"===s?f=` + ${h} + left: 0; + right: 0; + width: 100%; + `:"modal"===s?f=` + ${h} + left: 50%; + transform: translateX(-50%); + max-width: 600px; + border-radius: 8px; + margin: 20px auto; + box-shadow: 0 4px 12px rgba(0,0,0,0.15); + `:"corner"===s&&(f=` + ${"top"===r?"top: 20px;":"bottom: 20px;"} + right: 20px; + max-width: 400px; + border-radius: 8px; + box-shadow: 0 4px 12px rgba(0,0,0,0.15); + `),` + + + + + + +`.trim()}({siteId:r,compliance:s.compliance})):n}(t.content,{publishSettings:{enabled:a.enabled,underConstruction:a.underConstruction,customDomain:a.customDomain,headScripts:a.headScripts,bodyScripts:a.bodyScripts,cdnLinks:a.cdnLinks,analytics:a.analytics,seo:a.seo,compliance:a.compliance,settingsVersion:a.settingsVersion,lastPublishedVersion:a.lastPublishedVersion},projectId:a.projectId,baseUrl:v,siteId:e})));let S=i().join(process.cwd(),"public","sites",e);console.log(`[Static Builder] Output directory: ${S}`);try{await r.promises.rm(S,{recursive:!0,force:!0}),console.log("[Static Builder] Cleaned existing output directory")}catch(e){console.log("[Static Builder] No existing directory to clean (first build)")}await r.promises.mkdir(S,{recursive:!0}),console.log("[Static Builder] Created output directory");let k=0;for(let e of(console.log(`[Static Builder] Writing ${w.files.length} files to disk...`),w.files)){if((n=e.path).endsWith(".hbs")||n.endsWith(".handlebars")||n.startsWith("/templates/")||"/data.json"===n)continue;let t=e.path.startsWith("/")?e.path.slice(1):e.path,s=i().join(S,t),o=i().dirname(s);await r.promises.mkdir(o,{recursive:!0}),"string"==typeof e.content?await r.promises.writeFile(s,e.content,"utf-8"):await r.promises.writeFile(s,Buffer.from(e.content)),k++}if(x.length>0){let e=function(e){let{baseUrl:t,htmlFiles:n,publishSettings:r}=e,{seo:s}=r;if(s?.noIndex)return` + + +`;let i=n.map(e=>{let n=e;n.startsWith("/")&&(n=n.slice(1)),"index.html"===n?n="":n.endsWith("/index.html")?n=n.slice(0,-10):n.endsWith(".html");let r=`${t}${n?"/"+n:""}`,s=new Date().toISOString().split("T")[0];return` + ${function(e){let t={"&":"&","<":"<",">":">",'"':""","'":"'"};return e.replace(/[&<>"']/g,e=>t[e])}(r)} + ${s} + weekly + ${""===n||"index.html"===n?"1.0":"0.8"} + `}).join("\n");return` + +${i} +`}({baseUrl:v,htmlFiles:x,publishSettings:{enabled:a.enabled,underConstruction:a.underConstruction,customDomain:a.customDomain,headScripts:a.headScripts,bodyScripts:a.bodyScripts,cdnLinks:a.cdnLinks,analytics:a.analytics,seo:a.seo,compliance:a.compliance,settingsVersion:a.settingsVersion,lastPublishedVersion:a.lastPublishedVersion}});await r.promises.writeFile(i().join(S,"sitemap.xml"),e,"utf-8"),k++}let I=function(e){let{baseUrl:t,publishSettings:n}=e,{seo:r}=n,s=[];return s.push("User-agent: *"),r?.noIndex||r?.noFollow?s.push("Disallow: /"):s.push("Allow: /"),r?.noIndex||(s.push(""),s.push(`Sitemap: ${t}/sitemap.xml`)),r?.noIndex||r?.noFollow||(s.push(""),s.push("# Disallow common non-content paths"),s.push("Disallow: /api/"),s.push("Disallow: /_next/"),s.push("Disallow: /admin/")),s.join("\n")+"\n"}({baseUrl:v,publishSettings:{enabled:a.enabled,underConstruction:a.underConstruction,customDomain:a.customDomain,headScripts:a.headScripts,bodyScripts:a.bodyScripts,cdnLinks:a.cdnLinks,analytics:a.analytics,seo:a.seo,compliance:a.compliance,settingsVersion:a.settingsVersion,lastPublishedVersion:a.lastPublishedVersion}});await r.promises.writeFile(i().join(S,"robots.txt"),I,"utf-8"),k++;let $=await (0,o.B)();return await $.init(),$.updateSite&&await $.updateSite({...a,lastPublishedVersion:a.settingsVersion,publishedAt:new Date}),await $.close?.(),b.cleanupBlobUrls(),console.log(`[Static Builder] ✓ Build complete! ${k} files written to /sites/${e}`),{success:!0,siteId:e,projectId:a.projectId,filesWritten:k,outputPath:`/sites/${e}`}}catch(t){return console.error("[Static Builder] ✗ BUILD FAILED:",t),p.v.error("[Static Builder] Error building site:",t),{success:!1,siteId:e||"",projectId:"",filesWritten:0,outputPath:"",error:t instanceof Error?t.message:"Unknown error"}}}async function b(e){try{let t=i().join(process.cwd(),"public","sites",e);return await r.promises.rm(t,{recursive:!0,force:!0}),!0}catch(e){return p.v.error("[Static Builder] Error cleaning site:",e),!1}}},66819:(e,t,n)=>{n.d(t,{v:()=>o});let r={debug:10,info:20,warn:30,error:40,silent:50},s="undefined"!=typeof process&&"warn"||"warn";function i(e){return r[s]<=r[e]}let o={debug:(...e)=>{i("debug")&&console.debug(...e)},info:(...e)=>{i("info")&&console.info(...e)},warn:(...e)=>{i("warn")&&console.warn(...e)},error:(...e)=>{i("error")&&console.error(...e)}}}}; \ No newline at end of file diff --git a/.next/server/chunks/2168.js b/.next/server/chunks/2168.js new file mode 100644 index 0000000000000000000000000000000000000000..f58442b5a86f2132a780b22f34708720d7304c64 --- /dev/null +++ b/.next/server/chunks/2168.js @@ -0,0 +1 @@ +exports.id=2168,exports.ids=[2168],exports.modules={43:(e,t,r)=>{"use strict";r.d(t,{jH:()=>o});var n=r(43210);r(60687);var i=n.createContext(void 0);function o(e){let t=n.useContext(i);return e||t||"ltr"}},1359:(e,t,r)=>{"use strict";r.d(t,{Oh:()=>o});var n=r(43210),i=0;function o(){n.useEffect(()=>{let e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??a()),document.body.insertAdjacentElement("beforeend",e[1]??a()),i++,()=>{1===i&&document.querySelectorAll("[data-radix-focus-guard]").forEach(e=>e.remove()),i--}},[])}function a(){let e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}},1618:(e,t,r)=>{"use strict";t.__esModule=!0,t.createProtoAccessControl=function(e){var t=Object.create(null);t.constructor=!1,t.__defineGetter__=!1,t.__defineSetter__=!1,t.__lookupGetter__=!1;var r=Object.create(null);return r.__proto__=!1,{properties:{whitelist:n.createNewLookupObject(r,e.allowedProtoProperties),defaultValue:e.allowProtoPropertiesByDefault},methods:{whitelist:n.createNewLookupObject(t,e.allowedProtoMethods),defaultValue:e.allowProtoMethodsByDefault}}},t.resultIsAllowed=function(e,t,r){return"function"==typeof e?a(t.methods,r):a(t.properties,r)},t.resetLoggedProperties=function(){Object.keys(o).forEach(function(e){delete o[e]})};var n=r(30953),i=function(e){return e&&e.__esModule?e:{default:e}}(r(11455)),o=Object.create(null);function a(e,t){var r;return void 0!==e.whitelist[t]?!0===e.whitelist[t]:void 0!==e.defaultValue?e.defaultValue:(!0!==o[r=t]&&(o[r]=!0,i.default.log("error",'Handlebars: Access has been denied to resolve the property "'+r+'" because it is not an "own property" of its parent.\nYou can add a runtime option to disable the check or this warning:\nSee https://handlebarsjs.com/api-reference/runtime-options.html#options-to-control-prototype-access for details')),!1)}},2970:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(62602),i=function(e){return e&&e.__esModule?e:{default:e}}(r(49342));t.default=function(e){e.registerHelper("if",function(e,t){if(2!=arguments.length)throw new i.default("#if requires exactly one argument");return(n.isFunction(e)&&(e=e.call(this)),!t.hash.includeZero&&!e||n.isEmpty(e))?t.inverse(this):t.fn(this)}),e.registerHelper("unless",function(t,r){if(2!=arguments.length)throw new i.default("#unless requires exactly one argument");return e.helpers.if.call(this,t,{fn:r.inverse,inverse:r.fn,hash:r.hash})})},e.exports=t.default},3589:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});let n=(0,r(62688).A)("chevron-up",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]])},3724:e=>{"use strict";e.exports=function(e,t){var r,n,i,o,a,s,l,c,u,h,d,f,p,m,g,v,y,b,w,_,k,x,S,E,C;r=e.state,n=e.next_in,E=e.input,i=n+(e.avail_in-5),o=e.next_out,C=e.output,a=o-(t-e.avail_out),s=o+(e.avail_out-257),l=r.dmax,c=r.wsize,u=r.whave,h=r.wnext,d=r.window,f=r.hold,p=r.bits,m=r.lencode,g=r.distcode,v=(1<>>=w=b>>>24,p-=w,0==(w=b>>>16&255))C[o++]=65535&b;else if(16&w)for(_=65535&b,(w&=15)&&(p>>=w,p-=w),p<15&&(f+=E[n++]<>>=w=b>>>24,p-=w,16&(w=b>>>16&255)){if(k=65535&b,p<(w&=15)&&(f+=E[n++]<l){e.msg="invalid distance too far back",r.mode=30;break e}if(f>>>=w,p-=w,k>(w=o-a)){if((w=k-w)>u&&r.sane){e.msg="invalid distance too far back",r.mode=30;break e}if(x=0,S=d,0===h){if(x+=c-w,w<_){_-=w;do C[o++]=d[x++];while(--w);x=o-k,S=C}}else if(h2;)C[o++]=S[x++],C[o++]=S[x++],C[o++]=S[x++],_-=3;_&&(C[o++]=S[x++],_>1&&(C[o++]=S[x++]))}else{x=o-k;do C[o++]=C[x++],C[o++]=C[x++],C[o++]=C[x++],_-=3;while(_>2);_&&(C[o++]=C[x++],_>1&&(C[o++]=C[x++]))}}else if((64&w)==0){b=g[(65535&b)+(f&(1<>3,p-=_<<3,f&=(1<{"use strict";t.__esModule=!0,t.registerDefaultDecorators=function(e){n.default(e)};var n=function(e){return e&&e.__esModule?e:{default:e}}(r(35745))},4685:(e,t)=>{"use strict";t.__esModule=!0,t.wrapHelper=function(e,t){return"function"!=typeof e?e:function(){var r=arguments[arguments.length-1];return arguments[arguments.length-1]=t(r),e.apply(this,arguments)}}},5336:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});let n=(0,r(62688).A)("circle-check-big",[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]])},7952:(e,t)=>{"use strict";t.base64=!1,t.binary=!1,t.dir=!1,t.createFolders=!0,t.date=null,t.compression=null,t.compressionOptions=null,t.comment=null,t.unixPermissions=null,t.dosPermissions=null},7984:(e,t,r)=>{var n=r(79428),i=n.Buffer;function o(e,t){for(var r in e)t[r]=e[r]}function a(e,t,r){return i(e,t,r)}i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow?e.exports=n:(o(n,t),t.Buffer=a),o(i,a),a.from=function(e,t,r){if("number"==typeof e)throw TypeError("Argument must not be a number");return i(e,t,r)},a.alloc=function(e,t,r){if("number"!=typeof e)throw TypeError("Argument must be a number");var n=i(e);return void 0!==t?"string"==typeof r?n.fill(t,r):n.fill(t):n.fill(0),n},a.allocUnsafe=function(e){if("number"!=typeof e)throw TypeError("Argument must be a number");return i(e)},a.allocUnsafeSlow=function(e){if("number"!=typeof e)throw TypeError("Argument must be a number");return n.SlowBuffer(e)}},8730:(e,t,r)=>{"use strict";r.d(t,{DX:()=>s,Dc:()=>c,TL:()=>a});var n=r(43210),i=r(98599),o=r(60687);function a(e){let t=function(e){let t=n.forwardRef((e,t)=>{let{children:r,...o}=e;if(n.isValidElement(r)){var a;let e,s,l=(a=r,(s=(e=Object.getOwnPropertyDescriptor(a.props,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?a.ref:(s=(e=Object.getOwnPropertyDescriptor(a,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?a.props.ref:a.props.ref||a.ref),c=function(e,t){let r={...t};for(let n in t){let i=e[n],o=t[n];/^on[A-Z]/.test(n)?i&&o?r[n]=(...e)=>{let t=o(...e);return i(...e),t}:i&&(r[n]=i):"style"===n?r[n]={...i,...o}:"className"===n&&(r[n]=[i,o].filter(Boolean).join(" "))}return{...e,...r}}(o,r.props);return r.type!==n.Fragment&&(c.ref=t?(0,i.t)(t,l):l),n.cloneElement(r,c)}return n.Children.count(r)>1?n.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}(e),r=n.forwardRef((e,r)=>{let{children:i,...a}=e,s=n.Children.toArray(i),l=s.find(u);if(l){let e=l.props.children,i=s.map(t=>t!==l?t:n.Children.count(e)>1?n.Children.only(null):n.isValidElement(e)?e.props.children:null);return(0,o.jsx)(t,{...a,ref:r,children:n.isValidElement(e)?n.cloneElement(e,void 0,i):null})}return(0,o.jsx)(t,{...a,ref:r,children:i})});return r.displayName=`${e}.Slot`,r}var s=a("Slot"),l=Symbol("radix.slottable");function c(e){let t=({children:e})=>(0,o.jsx)(o.Fragment,{children:e});return t.displayName=`${e}.Slottable`,t.__radixId=l,t}function u(e){return n.isValidElement(e)&&"function"==typeof e.type&&"__radixId"in e.type&&e.type.__radixId===l}},9510:(e,t,r)=>{"use strict";r.d(t,{N:()=>l});var n=r(43210),i=r(11273),o=r(98599),a=r(8730),s=r(60687);function l(e){let t=e+"CollectionProvider",[r,l]=(0,i.A)(t),[c,u]=r(t,{collectionRef:{current:null},itemMap:new Map}),h=e=>{let{scope:t,children:r}=e,i=n.useRef(null),o=n.useRef(new Map).current;return(0,s.jsx)(c,{scope:t,itemMap:o,collectionRef:i,children:r})};h.displayName=t;let d=e+"CollectionSlot",f=(0,a.TL)(d),p=n.forwardRef((e,t)=>{let{scope:r,children:n}=e,i=u(d,r),a=(0,o.s)(t,i.collectionRef);return(0,s.jsx)(f,{ref:a,children:n})});p.displayName=d;let m=e+"CollectionItemSlot",g="data-radix-collection-item",v=(0,a.TL)(m),y=n.forwardRef((e,t)=>{let{scope:r,children:i,...a}=e,l=n.useRef(null),c=(0,o.s)(t,l),h=u(m,r);return n.useEffect(()=>(h.itemMap.set(l,{ref:l,...a}),()=>void h.itemMap.delete(l))),(0,s.jsx)(v,{...{[g]:""},ref:c,children:i})});return y.displayName=m,[{Provider:h,Slot:p,ItemSlot:y},function(t){let r=u(e+"CollectionConsumer",t);return n.useCallback(()=>{let e=r.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll(`[${g}]`));return Array.from(r.itemMap.values()).sort((e,r)=>t.indexOf(e.ref.current)-t.indexOf(r.ref.current))},[r.collectionRef,r.itemMap])},l]}var c=new WeakMap;function u(e,t){if("at"in Array.prototype)return Array.prototype.at.call(e,t);let r=function(e,t){let r=e.length,n=h(t),i=n>=0?n:r+n;return i<0||i>=r?-1:i}(e,t);return -1===r?void 0:e[r]}function h(e){return e!=e||0===e?0:Math.trunc(e)}},9593:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});let n=(0,r(62688).A)("cloud",[["path",{d:"M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z",key:"p7xjir"}]])},9629:e=>{"use strict";e.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},9965:(e,t,r)=>{"use strict";var n=r(56692),i=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],o=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],a=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],s=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];e.exports=function(e,t,r,l,c,u,h,d){var f,p,m,g,v,y,b,w,_,k=d.bits,x=0,S=0,E=0,C=0,P=0,A=0,O=0,R=0,I=0,N=0,L=null,T=0,M=new n.Buf16(16),B=new n.Buf16(16),D=null,j=0;for(x=0;x<=15;x++)M[x]=0;for(S=0;S=1&&0===M[C];C--);if(P>C&&(P=C),0===C)return c[u++]=0x1400000,c[u++]=0x1400000,d.bits=1,0;for(E=1;E0&&(0===e||1!==C))return -1;for(x=1,B[1]=0;x<15;x++)B[x+1]=B[x]+M[x];for(S=0;S852||2===e&&I>592)return 1;for(;;){b=x-O,h[S]y?(w=D[j+h[S]],_=L[T+h[S]]):(w=96,_=0),f=1<>O)+(p-=f)]=b<<24|w<<16|_;while(0!==p);for(f=1<>=1;if(0!==f?(N&=f-1,N+=f):N=0,S++,0==--M[x]){if(x===C)break;x=t[r+h[S]]}if(x>P&&(N&g)!==m){for(0===O&&(O=P),v+=E,R=1<<(A=x-O);A+O852||2===e&&I>592)return 1;c[m=N&g]=P<<24|A<<16|v-u}}return 0!==N&&(c[v+N]=x-O<<24|4194304),d.bits=P,0}},10007:(e,t)=>{"use strict";t.__esModule=!0,t.default=function(e){e.registerHelper("lookup",function(e,t,r){return e?r.lookupProperty(e,t):e})},e.exports=t.default},10129:(e,t,r)=>{"use strict";var n=r(60206);function i(e){n.call(this,e)}r(91349).inherits(i,n),i.prototype.readData=function(e){this.checkOffset(e);var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},e.exports=i},10510:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});let n=(0,r(62688).A)("cpu",[["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M17 20v2",key:"1rnc9c"}],["path",{d:"M17 2v2",key:"11trls"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M2 17h2",key:"7oei6x"}],["path",{d:"M2 7h2",key:"asdhe0"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"M20 17h2",key:"1fpfkl"}],["path",{d:"M20 7h2",key:"1o8tra"}],["path",{d:"M7 20v2",key:"4gnj0m"}],["path",{d:"M7 2v2",key:"1i4yhu"}],["rect",{x:"4",y:"4",width:"16",height:"16",rx:"2",key:"1vbyd7"}],["rect",{x:"8",y:"8",width:"8",height:"8",rx:"1",key:"z9xiuo"}]])},11273:(e,t,r)=>{"use strict";r.d(t,{A:()=>a,q:()=>o});var n=r(43210),i=r(60687);function o(e,t){let r=n.createContext(t),o=e=>{let{children:t,...o}=e,a=n.useMemo(()=>o,Object.values(o));return(0,i.jsx)(r.Provider,{value:a,children:t})};return o.displayName=e+"Provider",[o,function(i){let o=n.useContext(r);if(o)return o;if(void 0!==t)return t;throw Error(`\`${i}\` must be used within \`${e}\``)}]}function a(e,t=[]){let r=[],o=()=>{let t=r.map(e=>n.createContext(e));return function(r){let i=r?.[e]||t;return n.useMemo(()=>({[`__scope${e}`]:{...r,[e]:i}}),[r,i])}};return o.scopeName=e,[function(t,o){let a=n.createContext(o),s=r.length;r=[...r,o];let l=t=>{let{scope:r,children:o,...l}=t,c=r?.[e]?.[s]||a,u=n.useMemo(()=>l,Object.values(l));return(0,i.jsx)(c.Provider,{value:u,children:o})};return l.displayName=t+"Provider",[l,function(r,i){let l=i?.[e]?.[s]||a,c=n.useContext(l);if(c)return c;if(void 0!==o)return o;throw Error(`\`${r}\` must be used within \`${t}\``)}]},function(...e){let t=e[0];if(1===e.length)return t;let r=()=>{let r=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return function(e){let i=r.reduce((t,{useScope:r,scopeName:n})=>{let i=r(e)[`__scope${n}`];return{...t,...i}},{});return n.useMemo(()=>({[`__scope${t.scopeName}`]:i}),[i])}};return r.scopeName=t.scopeName,r}(o,...t)]}},11455:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(62602),i={methodMap:["debug","info","warn","error"],level:"info",lookupLevel:function(e){if("string"==typeof e){var t=n.indexOf(i.methodMap,e.toLowerCase());e=t>=0?t:parseInt(e,10)}return e},log:function(e){if(e=i.lookupLevel(e),"undefined"!=typeof console&&i.lookupLevel(i.level)<=e){var t=i.methodMap[e];console[t]||(t="log");for(var r=arguments.length,n=Array(r>1?r-1:0),o=1;o{"use strict";r.d(t,{A:()=>n});let n=(0,r(62688).A)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]])},12597:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});let n=(0,r(62688).A)("eye-off",[["path",{d:"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",key:"ct8e1f"}],["path",{d:"M14.084 14.158a3 3 0 0 1-4.242-4.242",key:"151rxh"}],["path",{d:"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143",key:"13bj9a"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]])},12904:(e,t,r)=>{"use strict";var n=r(91349),i=r(25542);function o(e,t){i.call(this,"Nodejs stream input adapter for "+e),this._upstreamEnded=!1,this._bindStream(t)}n.inherits(o,i),o.prototype._bindStream=function(e){var t=this;this._stream=e,e.pause(),e.on("data",function(e){t.push({data:e,meta:{percent:0}})}).on("error",function(e){t.isPaused?this.generatedError=e:t.error(e)}).on("end",function(){t.isPaused?t._upstreamEnded=!0:t.end()})},o.prototype.pause=function(){return!!i.prototype.pause.call(this)&&(this._stream.pause(),!0)},o.prototype.resume=function(){return!!i.prototype.resume.call(this)&&(this._upstreamEnded?this.end():this._stream.resume(),!0)},e.exports=o},12941:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});let n=(0,r(62688).A)("menu",[["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 18h16",key:"19g7jn"}],["path",{d:"M4 6h16",key:"1o0s65"}]])},13495:(e,t,r)=>{"use strict";r.d(t,{c:()=>i});var n=r(43210);function i(e){let t=n.useRef(e);return n.useEffect(()=>{t.current=e}),n.useMemo(()=>(...e)=>t.current?.(...e),[])}},13861:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});let n=(0,r(62688).A)("eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]])},13964:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});let n=(0,r(62688).A)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]])},14163:(e,t,r)=>{"use strict";r.d(t,{hO:()=>l,sG:()=>s});var n=r(43210),i=r(51215),o=r(8730),a=r(60687),s=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,t)=>{let r=(0,o.TL)(`Primitive.${t}`),i=n.forwardRef((e,n)=>{let{asChild:i,...o}=e;return"undefined"!=typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,a.jsx)(i?r:t,{...o,ref:n})});return i.displayName=`Primitive.${t}`,{...e,[t]:i}},{});function l(e,t){e&&i.flushSync(()=>e.dispatchEvent(t))}},14266:(e,t,r)=>{"use strict";function n(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0,t.HandlebarsEnvironment=h;var i=r(62602),o=n(r(49342)),a=r(64102),s=r(4037),l=n(r(11455)),c=r(1618);t.VERSION="4.7.8",t.COMPILER_REVISION=8,t.LAST_COMPATIBLE_COMPILER_REVISION=7,t.REVISION_CHANGES={1:"<= 1.0.rc.2",2:"== 1.0.0-rc.3",3:"== 1.0.0-rc.4",4:"== 1.x.x",5:"== 2.0.0-alpha.x",6:">= 2.0.0-beta.1",7:">= 4.0.0 <4.3.0",8:">= 4.3.0"};var u="[object Object]";function h(e,t,r){this.helpers=e||{},this.partials=t||{},this.decorators=r||{},a.registerDefaultHelpers(this),s.registerDefaultDecorators(this)}h.prototype={constructor:h,logger:l.default,log:l.default.log,registerHelper:function(e,t){if(i.toString.call(e)===u){if(t)throw new o.default("Arg not supported with multiple helpers");i.extend(this.helpers,e)}else this.helpers[e]=t},unregisterHelper:function(e){delete this.helpers[e]},registerPartial:function(e,t){if(i.toString.call(e)===u)i.extend(this.partials,e);else{if(void 0===t)throw new o.default('Attempting to register a partial called "'+e+'" as undefined');this.partials[e]=t}},unregisterPartial:function(e){delete this.partials[e]},registerDecorator:function(e,t){if(i.toString.call(e)===u){if(t)throw new o.default("Arg not supported with multiple decorators");i.extend(this.decorators,e)}else this.decorators[e]=t},unregisterDecorator:function(e){delete this.decorators[e]},resetLoggedPropertyAccesses:function(){c.resetLoggedProperties()}},t.log=l.default.log,t.createFrame=i.createFrame,t.logger=l.default},15031:(e,t,r)=>{"use strict";var n=r(56692).assign,i=r(28760),o=r(51132),a=r(47556),s={};n(s,i,o,a),e.exports=s},16189:(e,t,r)=>{"use strict";var n=r(65773);r.o(n,"useRouter")&&r.d(t,{useRouter:function(){return n.useRouter}}),r.o(n,"useSearchParams")&&r.d(t,{useSearchParams:function(){return n.useSearchParams}})},18853:(e,t,r)=>{"use strict";r.d(t,{X:()=>o});var n=r(43210),i=r(66156);function o(e){let[t,r]=n.useState(void 0);return(0,i.N)(()=>{if(e){r({width:e.offsetWidth,height:e.offsetHeight});let t=new ResizeObserver(t=>{let n,i;if(!Array.isArray(t)||!t.length)return;let o=t[0];if("borderBoxSize"in o){let e=o.borderBoxSize,t=Array.isArray(e)?e[0]:e;n=t.inlineSize,i=t.blockSize}else n=e.offsetWidth,i=e.offsetHeight;r({width:n,height:i})});return t.observe(e,{box:"border-box"}),()=>t.unobserve(e)}r(void 0)},[e]),t}},18882:(e,t,r)=>{"use strict";var n=r(91349),i=r(88033),o=r(93625),a=r(68475),s=r(50714),l=r(21464);e.exports=function(e,t){var r=this;return(t=n.extend(t||{},{base64:!1,checkCRC32:!1,optimizedBinaryString:!1,createFolders:!1,decodeFileName:o.utf8decode}),l.isNode&&l.isStream(e))?i.Promise.reject(Error("JSZip can't accept a stream when loading a zip file.")):n.prepareContent("the loaded zip file",e,!0,t.optimizedBinaryString,t.base64).then(function(e){var r=new a(t);return r.load(e),r}).then(function(e){var r=[i.Promise.resolve(e)],n=e.files;if(t.checkCRC32)for(var o=0;o{"use strict";var n=r(91349),i=r(25542),o=r(93625),a=r(66371),s=r(46390),l=function(e,t){var r,n="";for(r=0;r>>=8;return n},c=function(e,t){var r=e;return e||(r=t?16893:33204),(65535&r)<<16},u=function(e,t,r,i,u,h){var d,f,p=e.file,m=e.compression,g=h!==o.utf8encode,v=n.transformTo("string",h(p.name)),y=n.transformTo("string",o.utf8encode(p.name)),b=p.comment,w=n.transformTo("string",h(b)),_=n.transformTo("string",o.utf8encode(b)),k=y.length!==p.name.length,x=_.length!==b.length,S="",E="",C="",P=p.dir,A=p.date,O={crc32:0,compressedSize:0,uncompressedSize:0};(!t||r)&&(O.crc32=e.crc32,O.compressedSize=e.compressedSize,O.uncompressedSize=e.uncompressedSize);var R=0;t&&(R|=8),!g&&(k||x)&&(R|=2048);var I=0,N=0;(P&&(I|=16),"UNIX"===u)?(N=798,I|=c(p.unixPermissions,P)):(N=20,I|=63&(p.dosPermissions||0)),d=(A.getUTCHours()<<6|A.getUTCMinutes())<<5|A.getUTCSeconds()/2,f=(A.getUTCFullYear()-1980<<4|A.getUTCMonth()+1)<<5|A.getUTCDate(),k&&(E=l(1,1)+l(a(v),4)+y,S+="up"+l(E.length,2)+E),x&&(C=l(1,1)+l(a(w),4)+_,S+="uc"+l(C.length,2)+C);var L="";return L+="\n\0",L+=l(R,2),L+=m.magic,L+=l(d,2),L+=l(f,2),L+=l(O.crc32,4),L+=l(O.compressedSize,4),L+=l(O.uncompressedSize,4),L+=l(v.length,2),L+=l(S.length,2),{fileRecord:s.LOCAL_FILE_HEADER+L+v+S,dirRecord:s.CENTRAL_FILE_HEADER+l(N,2)+L+l(w.length,2)+"\0\0\0\0"+l(I,4)+l(i,4)+v+S+w}},h=function(e,t,r,i,o){var a="",c=n.transformTo("string",o(i));return s.CENTRAL_DIRECTORY_END+"\0\0\0\0"+l(e,2)+l(e,2)+l(t,4)+l(r,4)+l(c.length,2)+c},d=function(e){var t="";return s.DATA_DESCRIPTOR+l(e.crc32,4)+l(e.compressedSize,4)+l(e.uncompressedSize,4)};function f(e,t,r,n){i.call(this,"ZipFileWorker"),this.bytesWritten=0,this.zipComment=t,this.zipPlatform=r,this.encodeFileName=n,this.streamFiles=e,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}n.inherits(f,i),f.prototype.push=function(e){var t=e.meta.percent||0,r=this.entriesCount,n=this._sources.length;this.accumulate?this.contentBuffer.push(e):(this.bytesWritten+=e.data.length,i.prototype.push.call(this,{data:e.data,meta:{currentFile:this.currentFile,percent:r?(t+100*(r-n-1))/r:100}}))},f.prototype.openedSource=function(e){this.currentSourceOffset=this.bytesWritten,this.currentFile=e.file.name;var t=this.streamFiles&&!e.file.dir;if(t){var r=u(e,t,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:r.fileRecord,meta:{percent:0}})}else this.accumulate=!0},f.prototype.closedSource=function(e){this.accumulate=!1;var t=this.streamFiles&&!e.file.dir,r=u(e,t,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(r.dirRecord),t)this.push({data:d(e),meta:{percent:100}});else for(this.push({data:r.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},f.prototype.flush=function(){for(var e=this.bytesWritten,t=0;t{"function"==typeof Object.create?e.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:e.exports=function(e,t){if(t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}}},20714:(e,t,r)=>{"use strict";var n=r(26587);function i(e){n.call(this,e)}r(91349).inherits(i,n),i.prototype.byteAt=function(e){return this.data.charCodeAt(this.zero+e)},i.prototype.lastIndexOfSignature=function(e){return this.data.lastIndexOf(e)-this.zero},i.prototype.readAndCheckSignature=function(e){return e===this.readData(4)},i.prototype.readData=function(e){this.checkOffset(e);var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},e.exports=i},20759:(e,t,r)=>{"use strict";if(t.base64=!0,t.array=!0,t.string=!0,t.arraybuffer="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array,t.nodebuffer="undefined"!=typeof Buffer,t.uint8array="undefined"!=typeof Uint8Array,"undefined"==typeof ArrayBuffer)t.blob=!1;else{var n=new ArrayBuffer(0);try{t.blob=0===new Blob([n],{type:"application/zip"}).size}catch(e){try{var i=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);i.append(n),t.blob=0===i.getBlob("application/zip").size}catch(e){t.blob=!1}}}try{t.nodestream=!!r(28569).Readable}catch(e){t.nodestream=!1}},21464:e=>{"use strict";e.exports={isNode:"undefined"!=typeof Buffer,newBufferFrom:function(e,t){if(Buffer.from&&Buffer.from!==Uint8Array.from)return Buffer.from(e,t);if("number"==typeof e)throw Error('The "data" argument must not be a number');return new Buffer(e,t)},allocBuffer:function(e){if(Buffer.alloc)return Buffer.alloc(e);var t=new Buffer(e);return t.fill(0),t},isBuffer:function(e){return Buffer.isBuffer(e)},isStream:function(e){return e&&"function"==typeof e.on&&"function"==typeof e.pause&&"function"==typeof e.resume}}},21927:(e,t,r)=>{"use strict";var n=r(96148),i=r(91349),o=r(48780),a=r(66371),s=r(93625),l=r(92089),c=r(20759),u=function(e){for(var t in l)if(Object.prototype.hasOwnProperty.call(l,t)&&l[t].magic===e)return l[t];return null};function h(e,t){this.options=e,this.loadOptions=t}h.prototype={isEncrypted:function(){return(1&this.bitFlag)==1},useUTF8:function(){return(2048&this.bitFlag)==2048},readLocalPart:function(e){var t,r;if(e.skip(22),this.fileNameLength=e.readInt(2),r=e.readInt(2),this.fileName=e.readData(this.fileNameLength),e.skip(r),-1===this.compressedSize||-1===this.uncompressedSize)throw Error("Bug or corrupted zip : didn't get enough information from the central directory (compressedSize === -1 || uncompressedSize === -1)");if(null===(t=u(this.compressionMethod)))throw Error("Corrupted zip : compression "+i.pretty(this.compressionMethod)+" unknown (inner file : "+i.transformTo("string",this.fileName)+")");this.decompressed=new o(this.compressedSize,this.uncompressedSize,this.crc32,t,e.readData(this.compressedSize))},readCentralPart:function(e){this.versionMadeBy=e.readInt(2),e.skip(2),this.bitFlag=e.readInt(2),this.compressionMethod=e.readString(2),this.date=e.readDate(),this.crc32=e.readInt(4),this.compressedSize=e.readInt(4),this.uncompressedSize=e.readInt(4);var t=e.readInt(2);if(this.extraFieldsLength=e.readInt(2),this.fileCommentLength=e.readInt(2),this.diskNumberStart=e.readInt(2),this.internalFileAttributes=e.readInt(2),this.externalFileAttributes=e.readInt(4),this.localHeaderOffset=e.readInt(4),this.isEncrypted())throw Error("Encrypted zip are not supported");e.skip(t),this.readExtraFields(e),this.parseZIP64ExtraField(e),this.fileComment=e.readData(this.fileCommentLength)},processAttributes:function(){this.unixPermissions=null,this.dosPermissions=null;var e=this.versionMadeBy>>8;this.dir=!!(16&this.externalFileAttributes),0===e&&(this.dosPermissions=63&this.externalFileAttributes),3===e&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||"/"!==this.fileNameStr.slice(-1)||(this.dir=!0)},parseZIP64ExtraField:function(){if(this.extraFields[1]){var e=n(this.extraFields[1].value);this.uncompressedSize===i.MAX_VALUE_32BITS&&(this.uncompressedSize=e.readInt(8)),this.compressedSize===i.MAX_VALUE_32BITS&&(this.compressedSize=e.readInt(8)),this.localHeaderOffset===i.MAX_VALUE_32BITS&&(this.localHeaderOffset=e.readInt(8)),this.diskNumberStart===i.MAX_VALUE_32BITS&&(this.diskNumberStart=e.readInt(4))}},readExtraFields:function(e){var t,r,n,i=e.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});e.index+4{"use strict";function n(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];this.options=e}function i(e,t,r){void 0===t&&(t=e.length);var n=e[t-1],i=e[t-2];return n?"ContentStatement"===n.type?(i||!r?/\r?\n\s*?$/:/(^|\r?\n)\s*?$/).test(n.original):void 0:r}function o(e,t,r){void 0===t&&(t=-1);var n=e[t+1],i=e[t+2];return n?"ContentStatement"===n.type?(i||!r?/^\s*?\r?\n/:/^\s*?(\r?\n|$)/).test(n.original):void 0:r}function a(e,t,r){var n=e[null==t?0:t+1];if(n&&"ContentStatement"===n.type&&(r||!n.rightStripped)){var i=n.value;n.value=n.value.replace(r?/^\s+/:/^[ \t]*\r?\n?/,""),n.rightStripped=n.value!==i}}function s(e,t,r){var n=e[null==t?e.length-1:t-1];if(n&&"ContentStatement"===n.type&&(r||!n.leftStripped)){var i=n.value;return n.value=n.value.replace(r?/\s+$/:/[ \t]+$/,""),n.leftStripped=n.value!==i,n.leftStripped}}t.__esModule=!0,n.prototype=new(function(e){return e&&e.__esModule?e:{default:e}}(r(64415))).default,n.prototype.Program=function(e){var t=!this.options.ignoreStandalone,r=!this.isRootSeen;this.isRootSeen=!0;for(var n=e.body,l=0,c=n.length;l{function n(e){return Object.prototype.toString.call(e)}t.isArray=function(e){return Array.isArray?Array.isArray(e):"[object Array]"===n(e)},t.isBoolean=function(e){return"boolean"==typeof e},t.isNull=function(e){return null===e},t.isNullOrUndefined=function(e){return null==e},t.isNumber=function(e){return"number"==typeof e},t.isString=function(e){return"string"==typeof e},t.isSymbol=function(e){return"symbol"==typeof e},t.isUndefined=function(e){return void 0===e},t.isRegExp=function(e){return"[object RegExp]"===n(e)},t.isObject=function(e){return"object"==typeof e&&null!==e},t.isDate=function(e){return"[object Date]"===n(e)},t.isError=function(e){return"[object Error]"===n(e)||e instanceof Error},t.isFunction=function(e){return"function"==typeof e},t.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e},t.isBuffer=r(79428).Buffer.isBuffer},24224:(e,t,r)=>{"use strict";r.d(t,{F:()=>a});var n=r(49384);let i=e=>"boolean"==typeof e?`${e}`:0===e?"0":e,o=n.$,a=(e,t)=>r=>{var n;if((null==t?void 0:t.variants)==null)return o(e,null==r?void 0:r.class,null==r?void 0:r.className);let{variants:a,defaultVariants:s}=t,l=Object.keys(a).map(e=>{let t=null==r?void 0:r[e],n=null==s?void 0:s[e];if(null===t)return null;let o=i(t)||i(n);return a[e][o]}),c=r&&Object.entries(r).reduce((e,t)=>{let[r,n]=t;return void 0===n||(e[r]=n),e},{});return o(e,l,null==t||null==(n=t.compoundVariants)?void 0:n.reduce((e,t)=>{let{class:r,className:n,...i}=t;return Object.entries(i).every(e=>{let[t,r]=e;return Array.isArray(r)?r.includes({...s,...c}[t]):({...s,...c})[t]===r})?[...e,r,n]:e},[]),null==r?void 0:r.class,null==r?void 0:r.className)}},24413:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});let n=(0,r(62688).A)("server",[["rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2",key:"ngkwjq"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2",key:"iecqi9"}],["line",{x1:"6",x2:"6.01",y1:"6",y2:"6",key:"16zg32"}],["line",{x1:"6",x2:"6.01",y1:"18",y2:"18",key:"nzw8ys"}]])},25028:(e,t,r)=>{"use strict";r.d(t,{Z:()=>l});var n=r(43210),i=r(51215),o=r(14163),a=r(66156),s=r(60687),l=n.forwardRef((e,t)=>{let{container:r,...l}=e,[c,u]=n.useState(!1);(0,a.N)(()=>u(!0),[]);let h=r||c&&globalThis?.document?.body;return h?i.createPortal((0,s.jsx)(o.sG.div,{...l,ref:t}),h):null});l.displayName="Portal"},25334:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});let n=(0,r(62688).A)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]])},25495:(e,t,r)=>{"use strict";r.d(t,{A:()=>l});var n=r(55511);let i={randomUUID:n.randomUUID},o=new Uint8Array(256),a=o.length,s=[];for(let e=0;e<256;++e)s.push((e+256).toString(16).slice(1));let l=function(e,t,r){if(i.randomUUID&&!t&&!e)return i.randomUUID();let l=(e=e||{}).random??e.rng?.()??(a>o.length-16&&((0,n.randomFillSync)(o),a=0),o.slice(a,a+=16));if(l.length<16)throw Error("Random bytes length must be >= 16");if(l[6]=15&l[6]|64,l[8]=63&l[8]|128,t){if((r=r||0)<0||r+16>t.length)throw RangeError(`UUID byte range ${r}:${r+15} is out of buffer bounds`);for(let e=0;e<16;++e)t[r+e]=l[e];return t}return function(e,t=0){return(s[e[t+0]]+s[e[t+1]]+s[e[t+2]]+s[e[t+3]]+"-"+s[e[t+4]]+s[e[t+5]]+"-"+s[e[t+6]]+s[e[t+7]]+"-"+s[e[t+8]]+s[e[t+9]]+"-"+s[e[t+10]]+s[e[t+11]]+s[e[t+12]]+s[e[t+13]]+s[e[t+14]]+s[e[t+15]]).toLowerCase()}(l)}},25542:e=>{"use strict";function t(e){this.name=e||"default",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}t.prototype={push:function(e){this.emit("data",e)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit("end"),this.cleanUp(),this.isFinished=!0}catch(e){this.emit("error",e)}return!0},error:function(e){return!this.isFinished&&(this.isPaused?this.generatedError=e:(this.isFinished=!0,this.emit("error",e),this.previous&&this.previous.error(e),this.cleanUp()),!0)},on:function(e,t){return this._listeners[e].push(t),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(e,t){if(this._listeners[e])for(var r=0;r "+e:e}},e.exports=t},26527:(e,t,r)=>{"use strict";var n=r(91349),i=r(25542);function o(e){i.call(this,"DataWorker");var t=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type="",this._tickScheduled=!1,e.then(function(e){t.dataIsReady=!0,t.data=e,t.max=e&&e.length||0,t.type=n.getTypeOf(e),t.isPaused||t._tickAndRepeat()},function(e){t.error(e)})}n.inherits(o,i),o.prototype.cleanUp=function(){i.prototype.cleanUp.call(this),this.data=null},o.prototype.resume=function(){return!!i.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,n.delay(this._tickAndRepeat,[],this)),!0)},o.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(n.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},o.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var e=null,t=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case"string":e=this.data.substring(this.index,t);break;case"uint8array":e=this.data.subarray(this.index,t);break;case"array":case"nodebuffer":e=this.data.slice(this.index,t)}return this.index=t,this.push({data:e,meta:{percent:this.max?this.index/this.max*100:0}})},e.exports=o},26587:(e,t,r)=>{"use strict";var n=r(91349);function i(e){this.data=e,this.length=e.length,this.index=0,this.zero=0}i.prototype={checkOffset:function(e){this.checkIndex(this.index+e)},checkIndex:function(e){if(this.length=this.index;t--)r=(r<<8)+this.byteAt(t);return this.index+=e,r},readString:function(e){return n.transformTo("string",this.readData(e))},readData:function(){},lastIndexOfSignature:function(){},readAndCheckSignature:function(){},readDate:function(){var e=this.readInt(4);return new Date(Date.UTC((e>>25&127)+1980,(e>>21&15)-1,e>>16&31,e>>11&31,e>>5&63,(31&e)<<1))}},e.exports=i},28551:e=>{var t={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==t.call(e)}},28559:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});let n=(0,r(62688).A)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]])},28569:(e,t,r)=>{var n=r(27910);"disable"===process.env.READABLE_STREAM&&n?(e.exports=n,(t=e.exports=n.Readable).Readable=n.Readable,t.Writable=n.Writable,t.Duplex=n.Duplex,t.Transform=n.Transform,t.PassThrough=n.PassThrough,t.Stream=n):((t=e.exports=r(64103)).Stream=n||t,t.Readable=t,t.Writable=r(81843),t.Duplex=r(39837),t.Transform=r(44855),t.PassThrough=r(77985))},28760:(e,t,r)=>{"use strict";var n=r(87198),i=r(56692),o=r(48775),a=r(9629),s=r(92079),l=Object.prototype.toString;function c(e){if(!(this instanceof c))return new c(e);this.options=i.assign({level:-1,method:8,chunkSize:16384,windowBits:15,memLevel:8,strategy:0,to:""},e||{});var t,r=this.options;r.raw&&r.windowBits>0?r.windowBits=-r.windowBits:r.gzip&&r.windowBits>0&&r.windowBits<16&&(r.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new s,this.strm.avail_out=0;var u=n.deflateInit2(this.strm,r.level,r.method,r.windowBits,r.memLevel,r.strategy);if(0!==u)throw Error(a[u]);if(r.header&&n.deflateSetHeader(this.strm,r.header),r.dictionary){if(t="string"==typeof r.dictionary?o.string2buf(r.dictionary):"[object ArrayBuffer]"===l.call(r.dictionary)?new Uint8Array(r.dictionary):r.dictionary,0!==(u=n.deflateSetDictionary(this.strm,t)))throw Error(a[u]);this._dict_set=!0}}function u(e,t){var r=new c(t);if(r.push(e,!0),r.err)throw r.msg||a[r.err];return r.result}c.prototype.push=function(e,t){var r,a,s=this.strm,c=this.options.chunkSize;if(this.ended)return!1;a=t===~~t?t:4*(!0===t),"string"==typeof e?s.input=o.string2buf(e):"[object ArrayBuffer]"===l.call(e)?s.input=new Uint8Array(e):s.input=e,s.next_in=0,s.avail_in=s.input.length;do{if(0===s.avail_out&&(s.output=new i.Buf8(c),s.next_out=0,s.avail_out=c),1!==(r=n.deflate(s,a))&&0!==r)return this.onEnd(r),this.ended=!0,!1;(0===s.avail_out||0===s.avail_in&&(4===a||2===a))&&("string"===this.options.to?this.onData(o.buf2binstring(i.shrinkBuf(s.output,s.next_out))):this.onData(i.shrinkBuf(s.output,s.next_out)))}while((s.avail_in>0||0===s.avail_out)&&1!==r);return 4===a?(r=n.deflateEnd(this.strm),this.onEnd(r),this.ended=!0,0===r):(2===a&&(this.onEnd(0),s.avail_out=0),!0)},c.prototype.onData=function(e){this.chunks.push(e)},c.prototype.onEnd=function(e){0===e&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=i.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},t.Deflate=c,t.deflate=u,t.deflateRaw=function(e,t){return(t=t||{}).raw=!0,u(e,t)},t.gzip=function(e,t){return(t=t||{}).gzip=!0,u(e,t)}},30953:(e,t,r)=>{"use strict";t.__esModule=!0,t.createNewLookupObject=function(){for(var e=arguments.length,t=Array(e),r=0;r{"use strict";r.d(t,{qW:()=>d});var n,i=r(43210),o=r(70569),a=r(14163),s=r(98599),l=r(13495),c=r(60687),u="dismissableLayer.update",h=i.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),d=i.forwardRef((e,t)=>{let{disableOutsidePointerEvents:r=!1,onEscapeKeyDown:d,onPointerDownOutside:m,onFocusOutside:g,onInteractOutside:v,onDismiss:y,...b}=e,w=i.useContext(h),[_,k]=i.useState(null),x=_?.ownerDocument??globalThis?.document,[,S]=i.useState({}),E=(0,s.s)(t,e=>k(e)),C=Array.from(w.layers),[P]=[...w.layersWithOutsidePointerEventsDisabled].slice(-1),A=C.indexOf(P),O=_?C.indexOf(_):-1,R=w.layersWithOutsidePointerEventsDisabled.size>0,I=O>=A,N=function(e,t=globalThis?.document){let r=(0,l.c)(e),n=i.useRef(!1),o=i.useRef(()=>{});return i.useEffect(()=>{let e=e=>{if(e.target&&!n.current){let n=function(){p("dismissableLayer.pointerDownOutside",r,i,{discrete:!0})},i={originalEvent:e};"touch"===e.pointerType?(t.removeEventListener("click",o.current),o.current=n,t.addEventListener("click",o.current,{once:!0})):n()}else t.removeEventListener("click",o.current);n.current=!1},i=window.setTimeout(()=>{t.addEventListener("pointerdown",e)},0);return()=>{window.clearTimeout(i),t.removeEventListener("pointerdown",e),t.removeEventListener("click",o.current)}},[t,r]),{onPointerDownCapture:()=>n.current=!0}}(e=>{let t=e.target,r=[...w.branches].some(e=>e.contains(t));I&&!r&&(m?.(e),v?.(e),e.defaultPrevented||y?.())},x),L=function(e,t=globalThis?.document){let r=(0,l.c)(e),n=i.useRef(!1);return i.useEffect(()=>{let e=e=>{e.target&&!n.current&&p("dismissableLayer.focusOutside",r,{originalEvent:e},{discrete:!1})};return t.addEventListener("focusin",e),()=>t.removeEventListener("focusin",e)},[t,r]),{onFocusCapture:()=>n.current=!0,onBlurCapture:()=>n.current=!1}}(e=>{let t=e.target;![...w.branches].some(e=>e.contains(t))&&(g?.(e),v?.(e),e.defaultPrevented||y?.())},x);return!function(e,t=globalThis?.document){let r=(0,l.c)(e);i.useEffect(()=>{let e=e=>{"Escape"===e.key&&r(e)};return t.addEventListener("keydown",e,{capture:!0}),()=>t.removeEventListener("keydown",e,{capture:!0})},[r,t])}(e=>{O===w.layers.size-1&&(d?.(e),!e.defaultPrevented&&y&&(e.preventDefault(),y()))},x),i.useEffect(()=>{if(_)return r&&(0===w.layersWithOutsidePointerEventsDisabled.size&&(n=x.body.style.pointerEvents,x.body.style.pointerEvents="none"),w.layersWithOutsidePointerEventsDisabled.add(_)),w.layers.add(_),f(),()=>{r&&1===w.layersWithOutsidePointerEventsDisabled.size&&(x.body.style.pointerEvents=n)}},[_,x,r,w]),i.useEffect(()=>()=>{_&&(w.layers.delete(_),w.layersWithOutsidePointerEventsDisabled.delete(_),f())},[_,w]),i.useEffect(()=>{let e=()=>S({});return document.addEventListener(u,e),()=>document.removeEventListener(u,e)},[]),(0,c.jsx)(a.sG.div,{...b,ref:E,style:{pointerEvents:R?I?"auto":"none":void 0,...e.style},onFocusCapture:(0,o.mK)(e.onFocusCapture,L.onFocusCapture),onBlurCapture:(0,o.mK)(e.onBlurCapture,L.onBlurCapture),onPointerDownCapture:(0,o.mK)(e.onPointerDownCapture,N.onPointerDownCapture)})});function f(){let e=new CustomEvent(u);document.dispatchEvent(e)}function p(e,t,r,{discrete:n}){let i=r.originalEvent.target,o=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:r});t&&i.addEventListener(e,t,{once:!0}),n?(0,a.hO)(i,o):i.dispatchEvent(o)}d.displayName="DismissableLayer",i.forwardRef((e,t)=>{let r=i.useContext(h),n=i.useRef(null),o=(0,s.s)(t,n);return i.useEffect(()=>{let e=n.current;if(e)return r.branches.add(e),()=>{r.branches.delete(e)}},[r.branches]),(0,c.jsx)(a.sG.div,{...e,ref:o})}).displayName="DismissableLayerBranch"},32547:(e,t,r)=>{"use strict";r.d(t,{n:()=>h});var n=r(43210),i=r(98599),o=r(14163),a=r(13495),s=r(60687),l="focusScope.autoFocusOnMount",c="focusScope.autoFocusOnUnmount",u={bubbles:!1,cancelable:!0},h=n.forwardRef((e,t)=>{let{loop:r=!1,trapped:h=!1,onMountAutoFocus:g,onUnmountAutoFocus:v,...y}=e,[b,w]=n.useState(null),_=(0,a.c)(g),k=(0,a.c)(v),x=n.useRef(null),S=(0,i.s)(t,e=>w(e)),E=n.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;n.useEffect(()=>{if(h){let e=function(e){if(E.paused||!b)return;let t=e.target;b.contains(t)?x.current=t:p(x.current,{select:!0})},t=function(e){if(E.paused||!b)return;let t=e.relatedTarget;null!==t&&(b.contains(t)||p(x.current,{select:!0}))};document.addEventListener("focusin",e),document.addEventListener("focusout",t);let r=new MutationObserver(function(e){if(document.activeElement===document.body)for(let t of e)t.removedNodes.length>0&&p(b)});return b&&r.observe(b,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",e),document.removeEventListener("focusout",t),r.disconnect()}}},[h,b,E.paused]),n.useEffect(()=>{if(b){m.add(E);let e=document.activeElement;if(!b.contains(e)){let t=new CustomEvent(l,u);b.addEventListener(l,_),b.dispatchEvent(t),t.defaultPrevented||(function(e,{select:t=!1}={}){let r=document.activeElement;for(let n of e)if(p(n,{select:t}),document.activeElement!==r)return}(d(b).filter(e=>"A"!==e.tagName),{select:!0}),document.activeElement===e&&p(b))}return()=>{b.removeEventListener(l,_),setTimeout(()=>{let t=new CustomEvent(c,u);b.addEventListener(c,k),b.dispatchEvent(t),t.defaultPrevented||p(e??document.body,{select:!0}),b.removeEventListener(c,k),m.remove(E)},0)}}},[b,_,k,E]);let C=n.useCallback(e=>{if(!r&&!h||E.paused)return;let t="Tab"===e.key&&!e.altKey&&!e.ctrlKey&&!e.metaKey,n=document.activeElement;if(t&&n){let t=e.currentTarget,[i,o]=function(e){let t=d(e);return[f(t,e),f(t.reverse(),e)]}(t);i&&o?e.shiftKey||n!==o?e.shiftKey&&n===i&&(e.preventDefault(),r&&p(o,{select:!0})):(e.preventDefault(),r&&p(i,{select:!0})):n===t&&e.preventDefault()}},[r,h,E.paused]);return(0,s.jsx)(o.sG.div,{tabIndex:-1,...y,ref:S,onKeyDown:C})});function d(e){let t=[],r=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{let t="INPUT"===e.tagName&&"hidden"===e.type;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;r.nextNode();)t.push(r.currentNode);return t}function f(e,t){for(let r of e)if(!function(e,{upTo:t}){if("hidden"===getComputedStyle(e).visibility)return!0;for(;e&&(void 0===t||e!==t);){if("none"===getComputedStyle(e).display)return!0;e=e.parentElement}return!1}(r,{upTo:t}))return r}function p(e,{select:t=!1}={}){if(e&&e.focus){var r;let n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&(r=e)instanceof HTMLInputElement&&"select"in r&&t&&e.select()}}h.displayName="FocusScope";var m=function(){let e=[];return{add(t){let r=e[0];t!==r&&r?.pause(),(e=g(e,t)).unshift(t)},remove(t){e=g(e,t),e[0]?.resume()}}}();function g(e,t){let r=[...e],n=r.indexOf(t);return -1!==n&&r.splice(n,1),r}},35071:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});let n=(0,r(62688).A)("circle-x",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]])},35745:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(62602);t.default=function(e){e.registerDecorator("inline",function(e,t,r,i){var o=e;return t.partials||(t.partials={},o=function(i,o){var a=r.partials;r.partials=n.extend({},a,t.partials);var s=e(i,o);return r.partials=a,s}),t.partials[i.args[0]]=i.fn,o})},e.exports=t.default},35911:(e,t)=>{"use strict";t.__esModule=!0,t.default=function(e){"object"!=typeof globalThis&&(Object.prototype.__defineGetter__("__magic__",function(){return this}),__magic__.globalThis=__magic__,delete Object.prototype.__magic__);var t=globalThis.Handlebars;e.noConflict=function(){return globalThis.Handlebars===e&&(globalThis.Handlebars=t),e}},e.exports=t.default},37713:e=>{"undefined"!=typeof __nccwpck_require__&&(__nccwpck_require__.ab=__dirname+"/"),({189:function(){!function(e,t){"use strict";if(!e.setImmediate){var r,n,i,o,a,s=1,l={},c=!1,u=e.document,h=Object.getPrototypeOf&&Object.getPrototypeOf(e);h=h&&h.setTimeout?h:e,"[object process]"===({}).toString.call(e.process)?a=function(e){process.nextTick(function(){f(e)})}:function(){if(e.postMessage&&!e.importScripts){var t=!0,r=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage("","*"),e.onmessage=r,t}}()?(r="setImmediate$"+Math.random()+"$",n=function(t){t.source===e&&"string"==typeof t.data&&0===t.data.indexOf(r)&&f(+t.data.slice(r.length))},e.addEventListener?e.addEventListener("message",n,!1):e.attachEvent("onmessage",n),a=function(t){e.postMessage(r+t,"*")}):e.MessageChannel?((i=new MessageChannel).port1.onmessage=function(e){f(e.data)},a=function(e){i.port2.postMessage(e)}):u&&"onreadystatechange"in u.createElement("script")?(o=u.documentElement,a=function(e){var t=u.createElement("script");t.onreadystatechange=function(){f(e),t.onreadystatechange=null,o.removeChild(t),t=null},o.appendChild(t)}):a=function(e){setTimeout(f,0,e)},h.setImmediate=function(e){"function"!=typeof e&&(e=Function(""+e));for(var t=Array(arguments.length-1),r=0;r{"use strict";t.__esModule=!0;var n=r(62602);t.default=function(e){e.registerHelper("blockHelperMissing",function(t,r){var i=r.inverse,o=r.fn;if(!0===t)return o(this);if(!1===t||null==t)return i(this);if(n.isArray(t))if(t.length>0)return r.ids&&(r.ids=[r.name]),e.helpers.each(t,r);else return i(this);if(r.data&&r.ids){var a=n.createFrame(r.data);a.contextPath=n.appendContextPath(r.data.contextPath,r.name),r={data:a}}return o(t,r)})},e.exports=t.default},39837:(e,t,r)=>{"use strict";var n=r(70206),i=Object.keys||function(e){var t=[];for(var r in e)t.push(r);return t};e.exports=h;var o=Object.create(r(22751));o.inherits=r(70192);var a=r(64103),s=r(81843);o.inherits(h,a);for(var l=i(s.prototype),c=0;c{"use strict";r.d(t,{C1:()=>x,bL:()=>_});var n=r(43210),i=r(98599),o=r(11273),a=r(70569),s=r(65551),l=r(83721),c=r(18853),u=r(46059),h=r(14163),d=r(60687),f="Checkbox",[p,m]=(0,o.A)(f),[g,v]=p(f);function y(e){let{__scopeCheckbox:t,checked:r,children:i,defaultChecked:o,disabled:a,form:l,name:c,onCheckedChange:u,required:h,value:p="on",internal_do_not_use_render:m}=e,[v,y]=(0,s.i)({prop:r,defaultProp:o??!1,onChange:u,caller:f}),[b,w]=n.useState(null),[_,k]=n.useState(null),x=n.useRef(!1),S=!b||!!l||!!b.closest("form"),E={checked:v,disabled:a,setChecked:y,control:b,setControl:w,name:c,form:l,value:p,hasConsumerStoppedPropagationRef:x,required:h,defaultChecked:!C(o)&&o,isFormControl:S,bubbleInput:_,setBubbleInput:k};return(0,d.jsx)(g,{scope:t,...E,children:"function"==typeof m?m(E):i})}var b="CheckboxTrigger",w=n.forwardRef(({__scopeCheckbox:e,onKeyDown:t,onClick:r,...o},s)=>{let{control:l,value:c,disabled:u,checked:f,required:p,setControl:m,setChecked:g,hasConsumerStoppedPropagationRef:y,isFormControl:w,bubbleInput:_}=v(b,e),k=(0,i.s)(s,m),x=n.useRef(f);return n.useEffect(()=>{let e=l?.form;if(e){let t=()=>g(x.current);return e.addEventListener("reset",t),()=>e.removeEventListener("reset",t)}},[l,g]),(0,d.jsx)(h.sG.button,{type:"button",role:"checkbox","aria-checked":C(f)?"mixed":f,"aria-required":p,"data-state":P(f),"data-disabled":u?"":void 0,disabled:u,value:c,...o,ref:k,onKeyDown:(0,a.mK)(t,e=>{"Enter"===e.key&&e.preventDefault()}),onClick:(0,a.mK)(r,e=>{g(e=>!!C(e)||!e),_&&w&&(y.current=e.isPropagationStopped(),y.current||e.stopPropagation())})})});w.displayName=b;var _=n.forwardRef((e,t)=>{let{__scopeCheckbox:r,name:n,checked:i,defaultChecked:o,required:a,disabled:s,value:l,onCheckedChange:c,form:u,...h}=e;return(0,d.jsx)(y,{__scopeCheckbox:r,checked:i,defaultChecked:o,disabled:s,required:a,onCheckedChange:c,name:n,form:u,value:l,internal_do_not_use_render:({isFormControl:e})=>(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(w,{...h,ref:t,__scopeCheckbox:r}),e&&(0,d.jsx)(E,{__scopeCheckbox:r})]})})});_.displayName=f;var k="CheckboxIndicator",x=n.forwardRef((e,t)=>{let{__scopeCheckbox:r,forceMount:n,...i}=e,o=v(k,r);return(0,d.jsx)(u.C,{present:n||C(o.checked)||!0===o.checked,children:(0,d.jsx)(h.sG.span,{"data-state":P(o.checked),"data-disabled":o.disabled?"":void 0,...i,ref:t,style:{pointerEvents:"none",...e.style}})})});x.displayName=k;var S="CheckboxBubbleInput",E=n.forwardRef(({__scopeCheckbox:e,...t},r)=>{let{control:o,hasConsumerStoppedPropagationRef:a,checked:s,defaultChecked:u,required:f,disabled:p,name:m,value:g,form:y,bubbleInput:b,setBubbleInput:w}=v(S,e),_=(0,i.s)(r,w),k=(0,l.Z)(s),x=(0,c.X)(o);n.useEffect(()=>{if(!b)return;let e=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set,t=!a.current;if(k!==s&&e){let r=new Event("click",{bubbles:t});b.indeterminate=C(s),e.call(b,!C(s)&&s),b.dispatchEvent(r)}},[b,k,s,a]);let E=n.useRef(!C(s)&&s);return(0,d.jsx)(h.sG.input,{type:"checkbox","aria-hidden":!0,defaultChecked:u??E.current,required:f,disabled:p,name:m,value:g,form:y,...t,tabIndex:-1,ref:_,style:{...t.style,...x,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});function C(e){return"indeterminate"===e}function P(e){return C(e)?"indeterminate":e?"checked":"unchecked"}E.displayName=S},40599:(e,t,r)=>{"use strict";r.d(t,{UC:()=>K,ZL:()=>$,bL:()=>H,l9:()=>W});var n=r(43210),i=r(70569),o=r(98599),a=r(11273),s=r(31355),l=r(1359),c=r(32547),u=r(96963),h=r(55509),d=r(25028),f=r(46059),p=r(14163),m=r(8730),g=r(65551),v=r(63376),y=r(42247),b=r(60687),w="Popover",[_,k]=(0,a.A)(w,[h.Bk]),x=(0,h.Bk)(),[S,E]=_(w),C=e=>{let{__scopePopover:t,children:r,open:i,defaultOpen:o,onOpenChange:a,modal:s=!1}=e,l=x(t),c=n.useRef(null),[d,f]=n.useState(!1),[p,m]=(0,g.i)({prop:i,defaultProp:o??!1,onChange:a,caller:w});return(0,b.jsx)(h.bL,{...l,children:(0,b.jsx)(S,{scope:t,contentId:(0,u.B)(),triggerRef:c,open:p,onOpenChange:m,onOpenToggle:n.useCallback(()=>m(e=>!e),[m]),hasCustomAnchor:d,onCustomAnchorAdd:n.useCallback(()=>f(!0),[]),onCustomAnchorRemove:n.useCallback(()=>f(!1),[]),modal:s,children:r})})};C.displayName=w;var P="PopoverAnchor";n.forwardRef((e,t)=>{let{__scopePopover:r,...i}=e,o=E(P,r),a=x(r),{onCustomAnchorAdd:s,onCustomAnchorRemove:l}=o;return n.useEffect(()=>(s(),()=>l()),[s,l]),(0,b.jsx)(h.Mz,{...a,...i,ref:t})}).displayName=P;var A="PopoverTrigger",O=n.forwardRef((e,t)=>{let{__scopePopover:r,...n}=e,a=E(A,r),s=x(r),l=(0,o.s)(t,a.triggerRef),c=(0,b.jsx)(p.sG.button,{type:"button","aria-haspopup":"dialog","aria-expanded":a.open,"aria-controls":a.contentId,"data-state":U(a.open),...n,ref:l,onClick:(0,i.mK)(e.onClick,a.onOpenToggle)});return a.hasCustomAnchor?c:(0,b.jsx)(h.Mz,{asChild:!0,...s,children:c})});O.displayName=A;var R="PopoverPortal",[I,N]=_(R,{forceMount:void 0}),L=e=>{let{__scopePopover:t,forceMount:r,children:n,container:i}=e,o=E(R,t);return(0,b.jsx)(I,{scope:t,forceMount:r,children:(0,b.jsx)(f.C,{present:r||o.open,children:(0,b.jsx)(d.Z,{asChild:!0,container:i,children:n})})})};L.displayName=R;var T="PopoverContent",M=n.forwardRef((e,t)=>{let r=N(T,e.__scopePopover),{forceMount:n=r.forceMount,...i}=e,o=E(T,e.__scopePopover);return(0,b.jsx)(f.C,{present:n||o.open,children:o.modal?(0,b.jsx)(D,{...i,ref:t}):(0,b.jsx)(j,{...i,ref:t})})});M.displayName=T;var B=(0,m.TL)("PopoverContent.RemoveScroll"),D=n.forwardRef((e,t)=>{let r=E(T,e.__scopePopover),a=n.useRef(null),s=(0,o.s)(t,a),l=n.useRef(!1);return n.useEffect(()=>{let e=a.current;if(e)return(0,v.Eq)(e)},[]),(0,b.jsx)(y.A,{as:B,allowPinchZoom:!0,children:(0,b.jsx)(z,{...e,ref:s,trapFocus:r.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:(0,i.mK)(e.onCloseAutoFocus,e=>{e.preventDefault(),l.current||r.triggerRef.current?.focus()}),onPointerDownOutside:(0,i.mK)(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,r=0===t.button&&!0===t.ctrlKey;l.current=2===t.button||r},{checkForDefaultPrevented:!1}),onFocusOutside:(0,i.mK)(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1})})})}),j=n.forwardRef((e,t)=>{let r=E(T,e.__scopePopover),i=n.useRef(!1),o=n.useRef(!1);return(0,b.jsx)(z,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(i.current||r.triggerRef.current?.focus(),t.preventDefault()),i.current=!1,o.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(i.current=!0,"pointerdown"===t.detail.originalEvent.type&&(o.current=!0));let n=t.target;r.triggerRef.current?.contains(n)&&t.preventDefault(),"focusin"===t.detail.originalEvent.type&&o.current&&t.preventDefault()}})}),z=n.forwardRef((e,t)=>{let{__scopePopover:r,trapFocus:n,onOpenAutoFocus:i,onCloseAutoFocus:o,disableOutsidePointerEvents:a,onEscapeKeyDown:u,onPointerDownOutside:d,onFocusOutside:f,onInteractOutside:p,...m}=e,g=E(T,r),v=x(r);return(0,l.Oh)(),(0,b.jsx)(c.n,{asChild:!0,loop:!0,trapped:n,onMountAutoFocus:i,onUnmountAutoFocus:o,children:(0,b.jsx)(s.qW,{asChild:!0,disableOutsidePointerEvents:a,onInteractOutside:p,onEscapeKeyDown:u,onPointerDownOutside:d,onFocusOutside:f,onDismiss:()=>g.onOpenChange(!1),children:(0,b.jsx)(h.UC,{"data-state":U(g.open),role:"dialog",id:g.contentId,...v,...m,ref:t,style:{...m.style,"--radix-popover-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-popover-content-available-width":"var(--radix-popper-available-width)","--radix-popover-content-available-height":"var(--radix-popper-available-height)","--radix-popover-trigger-width":"var(--radix-popper-anchor-width)","--radix-popover-trigger-height":"var(--radix-popper-anchor-height)"}})})})}),F="PopoverClose";function U(e){return e?"open":"closed"}n.forwardRef((e,t)=>{let{__scopePopover:r,...n}=e,o=E(F,r);return(0,b.jsx)(p.sG.button,{type:"button",...n,ref:t,onClick:(0,i.mK)(e.onClick,()=>o.onOpenChange(!1))})}).displayName=F,n.forwardRef((e,t)=>{let{__scopePopover:r,...n}=e,i=x(r);return(0,b.jsx)(h.i3,{...i,...n,ref:t})}).displayName="PopoverArrow";var H=C,W=O,$=L,K=M},41862:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});let n=(0,r(62688).A)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]])},42247:(e,t,r)=>{"use strict";r.d(t,{A:()=>Z});var n,i,o=function(){return(o=Object.assign||function(e){for(var t,r=1,n=arguments.length;rt.indexOf(n)&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var i=0,n=Object.getOwnPropertySymbols(e);it.indexOf(n[i])&&Object.prototype.propertyIsEnumerable.call(e,n[i])&&(r[n[i]]=e[n[i]]);return r}Object.create;Object.create;var s=("function"==typeof SuppressedError&&SuppressedError,r(43210)),l="right-scroll-bar-position",c="width-before-scroll-bar";function u(e,t){return"function"==typeof e?e(t):e&&(e.current=t),e}var h="undefined"!=typeof window?s.useLayoutEffect:s.useEffect,d=new WeakMap;function f(e){return e}var p=function(e){void 0===e&&(e={});var t,r,n,i,a=(t=null,void 0===r&&(r=f),n=[],i=!1,{read:function(){if(i)throw Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return n.length?n[n.length-1]:null},useMedium:function(e){var t=r(e,i);return n.push(t),function(){n=n.filter(function(e){return e!==t})}},assignSyncMedium:function(e){for(i=!0;n.length;){var t=n;n=[],t.forEach(e)}n={push:function(t){return e(t)},filter:function(){return n}}},assignMedium:function(e){i=!0;var t=[];if(n.length){var r=n;n=[],r.forEach(e),t=n}var o=function(){var r=t;t=[],r.forEach(e)},a=function(){return Promise.resolve().then(o)};a(),n={push:function(e){t.push(e),a()},filter:function(e){return t=t.filter(e),n}}}});return a.options=o({async:!0,ssr:!1},e),a}(),m=function(){},g=s.forwardRef(function(e,t){var r,n,i,l,c=s.useRef(null),f=s.useState({onScrollCapture:m,onWheelCapture:m,onTouchMoveCapture:m}),g=f[0],v=f[1],y=e.forwardProps,b=e.children,w=e.className,_=e.removeScrollBar,k=e.enabled,x=e.shards,S=e.sideCar,E=e.noRelative,C=e.noIsolation,P=e.inert,A=e.allowPinchZoom,O=e.as,R=e.gapMode,I=a(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),N=(r=[c,t],n=function(e){return r.forEach(function(t){return u(t,e)})},(i=(0,s.useState)(function(){return{value:null,callback:n,facade:{get current(){return i.value},set current(value){var e=i.value;e!==value&&(i.value=value,i.callback(value,e))}}}})[0]).callback=n,l=i.facade,h(function(){var e=d.get(l);if(e){var t=new Set(e),n=new Set(r),i=l.current;t.forEach(function(e){n.has(e)||u(e,null)}),n.forEach(function(e){t.has(e)||u(e,i)})}d.set(l,r)},[r]),l),L=o(o({},I),g);return s.createElement(s.Fragment,null,k&&s.createElement(S,{sideCar:p,removeScrollBar:_,shards:x,noRelative:E,noIsolation:C,inert:P,setCallbacks:v,allowPinchZoom:!!A,lockRef:c,gapMode:R}),y?s.cloneElement(s.Children.only(b),o(o({},L),{ref:N})):s.createElement(void 0===O?"div":O,o({},L,{className:w,ref:N}),b))});g.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},g.classNames={fullWidth:c,zeroRight:l};var v=function(e){var t=e.sideCar,r=a(e,["sideCar"]);if(!t)throw Error("Sidecar: please provide `sideCar` property to import the right car");var n=t.read();if(!n)throw Error("Sidecar medium not found");return s.createElement(n,o({},r))};v.isSideCarExport=!0;var y=function(){var e=0,t=null;return{add:function(n){if(0==e&&(t=function(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=i||r.nc;return t&&e.setAttribute("nonce",t),e}())){var o,a;(o=t).styleSheet?o.styleSheet.cssText=n:o.appendChild(document.createTextNode(n)),a=t,(document.head||document.getElementsByTagName("head")[0]).appendChild(a)}e++},remove:function(){--e||!t||(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},b=function(){var e=y();return function(t,r){s.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&r])}},w=function(){var e=b();return function(t){return e(t.styles,t.dynamic),null}},_={left:0,top:0,right:0,gap:0},k=function(e){return parseInt(e||"",10)||0},x=function(e){var t=window.getComputedStyle(document.body),r=t["padding"===e?"paddingLeft":"marginLeft"],n=t["padding"===e?"paddingTop":"marginTop"],i=t["padding"===e?"paddingRight":"marginRight"];return[k(r),k(n),k(i)]},S=function(e){if(void 0===e&&(e="margin"),"undefined"==typeof window)return _;var t=x(e),r=document.documentElement.clientWidth,n=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,n-r+t[2]-t[0])}},E=w(),C="data-scroll-locked",P=function(e,t,r,n){var i=e.left,o=e.top,a=e.right,s=e.gap;return void 0===r&&(r="margin"),"\n .".concat("with-scroll-bars-hidden"," {\n overflow: hidden ").concat(n,";\n padding-right: ").concat(s,"px ").concat(n,";\n }\n body[").concat(C,"] {\n overflow: hidden ").concat(n,";\n overscroll-behavior: contain;\n ").concat([t&&"position: relative ".concat(n,";"),"margin"===r&&"\n padding-left: ".concat(i,"px;\n padding-top: ").concat(o,"px;\n padding-right: ").concat(a,"px;\n margin-left:0;\n margin-top:0;\n margin-right: ").concat(s,"px ").concat(n,";\n "),"padding"===r&&"padding-right: ".concat(s,"px ").concat(n,";")].filter(Boolean).join(""),"\n }\n \n .").concat(l," {\n right: ").concat(s,"px ").concat(n,";\n }\n \n .").concat(c," {\n margin-right: ").concat(s,"px ").concat(n,";\n }\n \n .").concat(l," .").concat(l," {\n right: 0 ").concat(n,";\n }\n \n .").concat(c," .").concat(c," {\n margin-right: 0 ").concat(n,";\n }\n \n body[").concat(C,"] {\n ").concat("--removed-body-scroll-bar-size",": ").concat(s,"px;\n }\n")},A=function(){var e=parseInt(document.body.getAttribute(C)||"0",10);return isFinite(e)?e:0},O=function(){s.useEffect(function(){return document.body.setAttribute(C,(A()+1).toString()),function(){var e=A()-1;e<=0?document.body.removeAttribute(C):document.body.setAttribute(C,e.toString())}},[])},R=function(e){var t=e.noRelative,r=e.noImportant,n=e.gapMode,i=void 0===n?"margin":n;O();var o=s.useMemo(function(){return S(i)},[i]);return s.createElement(E,{styles:P(o,!t,i,r?"":"!important")})},I=!1;if("undefined"!=typeof window)try{var N=Object.defineProperty({},"passive",{get:function(){return I=!0,!0}});window.addEventListener("test",N,N),window.removeEventListener("test",N,N)}catch(e){I=!1}var L=!!I&&{passive:!1},T=function(e,t){if(!(e instanceof Element))return!1;var r=window.getComputedStyle(e);return"hidden"!==r[t]&&(r.overflowY!==r.overflowX||"TEXTAREA"===e.tagName||"visible"!==r[t])},M=function(e,t){var r=t.ownerDocument,n=t;do{if("undefined"!=typeof ShadowRoot&&n instanceof ShadowRoot&&(n=n.host),B(e,n)){var i=D(e,n);if(i[1]>i[2])return!0}n=n.parentNode}while(n&&n!==r.body);return!1},B=function(e,t){return"v"===e?T(t,"overflowY"):T(t,"overflowX")},D=function(e,t){return"v"===e?[t.scrollTop,t.scrollHeight,t.clientHeight]:[t.scrollLeft,t.scrollWidth,t.clientWidth]},j=function(e,t,r,n,i){var o,a=(o=window.getComputedStyle(t).direction,"h"===e&&"rtl"===o?-1:1),s=a*n,l=r.target,c=t.contains(l),u=!1,h=s>0,d=0,f=0;do{if(!l)break;var p=D(e,l),m=p[0],g=p[1]-p[2]-a*m;(m||g)&&B(e,l)&&(d+=g,f+=m);var v=l.parentNode;l=v&&v.nodeType===Node.DOCUMENT_FRAGMENT_NODE?v.host:v}while(!c&&l!==document.body||c&&(t.contains(l)||t===l));return h&&(i&&1>Math.abs(d)||!i&&s>d)?u=!0:!h&&(i&&1>Math.abs(f)||!i&&-s>f)&&(u=!0),u},z=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},F=function(e){return[e.deltaX,e.deltaY]},U=function(e){return e&&"current"in e?e.current:e},H=0,W=[];let $=(n=function(e){var t=s.useRef([]),r=s.useRef([0,0]),n=s.useRef(),i=s.useState(H++)[0],o=s.useState(w)[0],a=s.useRef(e);s.useEffect(function(){a.current=e},[e]),s.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(i));var t=(function(e,t,r){if(r||2==arguments.length)for(var n,i=0,o=t.length;iMath.abs(c)?"h":"v";if("touches"in e&&"h"===h&&"range"===u.type)return!1;var d=M(h,u);if(!d)return!0;if(d?i=h:(i="v"===h?"h":"v",d=M(h,u)),!d)return!1;if(!n.current&&"changedTouches"in e&&(l||c)&&(n.current=i),!i)return!0;var f=n.current||i;return j(f,t,e,"h"===f?l:c,!0)},[]),c=s.useCallback(function(e){if(W.length&&W[W.length-1]===o){var r="deltaY"in e?F(e):z(e),n=t.current.filter(function(t){var n;return t.name===e.type&&(t.target===e.target||e.target===t.shadowParent)&&(n=t.delta,n[0]===r[0]&&n[1]===r[1])})[0];if(n&&n.should){e.cancelable&&e.preventDefault();return}if(!n){var i=(a.current.shards||[]).map(U).filter(Boolean).filter(function(t){return t.contains(e.target)});(i.length>0?l(e,i[0]):!a.current.noIsolation)&&e.cancelable&&e.preventDefault()}}},[]),u=s.useCallback(function(e,r,n,i){var o={name:e,delta:r,target:n,should:i,shadowParent:function(e){for(var t=null;null!==e;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}(n)};t.current.push(o),setTimeout(function(){t.current=t.current.filter(function(e){return e!==o})},1)},[]),h=s.useCallback(function(e){r.current=z(e),n.current=void 0},[]),d=s.useCallback(function(t){u(t.type,F(t),t.target,l(t,e.lockRef.current))},[]),f=s.useCallback(function(t){u(t.type,z(t),t.target,l(t,e.lockRef.current))},[]);s.useEffect(function(){return W.push(o),e.setCallbacks({onScrollCapture:d,onWheelCapture:d,onTouchMoveCapture:f}),document.addEventListener("wheel",c,L),document.addEventListener("touchmove",c,L),document.addEventListener("touchstart",h,L),function(){W=W.filter(function(e){return e!==o}),document.removeEventListener("wheel",c,L),document.removeEventListener("touchmove",c,L),document.removeEventListener("touchstart",h,L)}},[]);var p=e.removeScrollBar,m=e.inert;return s.createElement(s.Fragment,null,m?s.createElement(o,{styles:"\n .block-interactivity-".concat(i," {pointer-events: none;}\n .allow-interactivity-").concat(i," {pointer-events: all;}\n")}):null,p?s.createElement(R,{noRelative:e.noRelative,gapMode:e.gapMode}):null)},p.useMedium(n),v);var K=s.forwardRef(function(e,t){return s.createElement(g,o({},e,{ref:t,sideCar:$}))});K.classNames=g.classNames;let Z=K},42672:(e,t,r)=>{"use strict";var n=r(72587);function i(){}var o={},a=["REJECTED"],s=["FULFILLED"],l=["PENDING"],c=["UNHANDLED"];function u(e){if("function"!=typeof e)throw TypeError("resolver must be a function");this.state=l,this.queue=[],this.outcome=void 0,this.handled=c,e!==i&&p(this,e)}function h(e,t,r){this.promise=e,"function"==typeof t&&(this.onFulfilled=t,this.callFulfilled=this.otherCallFulfilled),"function"==typeof r&&(this.onRejected=r,this.callRejected=this.otherCallRejected)}function d(e,t,r){n(function(){var n;try{n=t(r)}catch(t){return o.reject(e,t)}n===e?o.reject(e,TypeError("Cannot resolve promise with itself")):o.resolve(e,n)})}function f(e){var t=e&&e.then;if(e&&("object"==typeof e||"function"==typeof e)&&"function"==typeof t)return function(){t.apply(e,arguments)}}function p(e,t){var r=!1;function n(t){r||(r=!0,o.reject(e,t))}function i(t){r||(r=!0,o.resolve(e,t))}var a=m(function(){t(i,n)});"error"===a.status&&n(a.value)}function m(e,t){var r={};try{r.value=e(t),r.status="success"}catch(e){r.status="error",r.value=e}return r}e.exports=u,u.prototype.finally=function(e){if("function"!=typeof e)return this;var t=this.constructor;return this.then(function(r){return t.resolve(e()).then(function(){return r})},function(r){return t.resolve(e()).then(function(){throw r})})},u.prototype.catch=function(e){return this.then(null,e)},u.prototype.then=function(e,t){if("function"!=typeof e&&this.state===s||"function"!=typeof t&&this.state===a)return this;var r=new this.constructor(i);return this.handled===c&&(this.handled=null),this.state!==l?d(r,this.state===s?e:t,this.outcome):this.queue.push(new h(r,e,t)),r},h.prototype.callFulfilled=function(e){o.resolve(this.promise,e)},h.prototype.otherCallFulfilled=function(e){d(this.promise,this.onFulfilled,e)},h.prototype.callRejected=function(e){o.reject(this.promise,e)},h.prototype.otherCallRejected=function(e){d(this.promise,this.onRejected,e)},o.resolve=function(e,t){var r=m(f,t);if("error"===r.status)return o.reject(e,r.value);var n=r.value;if(n)p(e,n);else{e.state=s,e.outcome=t;for(var i=-1,a=e.queue.length;++i{"use strict";e.exports=a;var n=r(39837),i=Object.create(r(22751));function o(e,t){var r=this._transformState;r.transforming=!1;var n=r.writecb;if(!n)return this.emit("error",Error("write callback called multiple times"));r.writechunk=null,r.writecb=null,null!=t&&this.push(t),n(e);var i=this._readableState;i.reading=!1,(i.needReadable||i.length{"use strict";r.d(t,{A:()=>n});let n=(0,r(62688).A)("zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]])},46059:(e,t,r)=>{"use strict";r.d(t,{C:()=>a});var n=r(43210),i=r(98599),o=r(66156),a=e=>{let{present:t,children:r}=e,a=function(e){var t,r;let[i,a]=n.useState(),l=n.useRef(null),c=n.useRef(e),u=n.useRef("none"),[h,d]=(t=e?"mounted":"unmounted",r={mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}},n.useReducer((e,t)=>r[e][t]??e,t));return n.useEffect(()=>{let e=s(l.current);u.current="mounted"===h?e:"none"},[h]),(0,o.N)(()=>{let t=l.current,r=c.current;if(r!==e){let n=u.current,i=s(t);e?d("MOUNT"):"none"===i||t?.display==="none"?d("UNMOUNT"):r&&n!==i?d("ANIMATION_OUT"):d("UNMOUNT"),c.current=e}},[e,d]),(0,o.N)(()=>{if(i){let e,t=i.ownerDocument.defaultView??window,r=r=>{let n=s(l.current).includes(CSS.escape(r.animationName));if(r.target===i&&n&&(d("ANIMATION_END"),!c.current)){let r=i.style.animationFillMode;i.style.animationFillMode="forwards",e=t.setTimeout(()=>{"forwards"===i.style.animationFillMode&&(i.style.animationFillMode=r)})}},n=e=>{e.target===i&&(u.current=s(l.current))};return i.addEventListener("animationstart",n),i.addEventListener("animationcancel",r),i.addEventListener("animationend",r),()=>{t.clearTimeout(e),i.removeEventListener("animationstart",n),i.removeEventListener("animationcancel",r),i.removeEventListener("animationend",r)}}d("ANIMATION_END")},[i,d]),{isPresent:["mounted","unmountSuspended"].includes(h),ref:n.useCallback(e=>{l.current=e?getComputedStyle(e):null,a(e)},[])}}(t),l="function"==typeof r?r({present:a.isPresent}):n.Children.only(r),c=(0,i.s)(a.ref,function(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,r=t&&"isReactWarning"in t&&t.isReactWarning;return r?e.ref:(r=(t=Object.getOwnPropertyDescriptor(e,"ref")?.get)&&"isReactWarning"in t&&t.isReactWarning)?e.props.ref:e.props.ref||e.ref}(l));return"function"==typeof r||a.isPresent?n.cloneElement(l,{ref:c}):null};function s(e){return e?.animationName||"none"}a.displayName="Presence"},46390:(e,t)=>{"use strict";t.LOCAL_FILE_HEADER="PK\x03\x04",t.CENTRAL_FILE_HEADER="PK\x01\x02",t.CENTRAL_DIRECTORY_END="PK\x05\x06",t.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK\x06\x07",t.ZIP64_CENTRAL_DIRECTORY_END="PK\x06\x06",t.DATA_DESCRIPTOR="PK\x07\b"},46540:(e,t,r)=>{"use strict";var n=r(7984).Buffer,i=n.isEncoding||function(e){switch((e=""+e)&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function o(e){var t;switch(this.encoding=function(e){var t=function(e){var t;if(!e)return"utf8";for(;;)switch(e){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return e;default:if(t)return;e=(""+e).toLowerCase(),t=!0}}(e);if("string"!=typeof t&&(n.isEncoding===i||!i(e)))throw Error("Unknown encoding: "+e);return t||e}(e),this.encoding){case"utf16le":this.text=l,this.end=c,t=4;break;case"utf8":this.fillLast=s,t=4;break;case"base64":this.text=u,this.end=h,t=3;break;default:this.write=d,this.end=f;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=n.allocUnsafe(t)}function a(e){return e<=127?0:e>>5==6?2:e>>4==14?3:e>>3==30?4:e>>6==2?-1:-2}function s(e){var t=this.lastTotal-this.lastNeed,r=function(e,t,r){if((192&t[0])!=128)return e.lastNeed=0,"�";if(e.lastNeed>1&&t.length>1){if((192&t[1])!=128)return e.lastNeed=1,"�";if(e.lastNeed>2&&t.length>2&&(192&t[2])!=128)return e.lastNeed=2,"�"}}(this,e,0);return void 0!==r?r:this.lastNeed<=e.length?(e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):void(e.copy(this.lastChar,t,0,e.length),this.lastNeed-=e.length)}function l(e,t){if((e.length-t)%2==0){var r=e.toString("utf16le",t);if(r){var n=r.charCodeAt(r.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1)}function c(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return t+this.lastChar.toString("utf16le",0,r)}return t}function u(e,t){var r=(e.length-t)%3;return 0===r?e.toString("base64",t):(this.lastNeed=3-r,this.lastTotal=3,1===r?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",t,e.length-r))}function h(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function d(e){return e.toString(this.encoding)}function f(e){return e&&e.length?this.write(e):""}t.I=o,o.prototype.write=function(e){var t,r;if(0===e.length)return"";if(this.lastNeed){if(void 0===(t=this.fillLast(e)))return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r=0?(i>0&&(e.lastNeed=i-1),i):--n=0?(i>0&&(e.lastNeed=i-2),i):--n=0?(i>0&&(2===i?i=0:e.lastNeed=i-3),i):0}(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=r;var n=e.length-(r-this.lastNeed);return e.copy(this.lastChar,0,n),e.toString("utf8",t,n)},o.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length}},47556:e=>{"use strict";e.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},48775:(e,t,r)=>{"use strict";var n=r(56692),i=!0,o=!0;try{String.fromCharCode.apply(null,[0])}catch(e){i=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(e){o=!1}for(var a=new n.Buf8(256),s=0;s<256;s++)a[s]=s>=252?6:s>=248?5:s>=240?4:s>=224?3:s>=192?2:1;function l(e,t){if(t<65534&&(e.subarray&&o||!e.subarray&&i))return String.fromCharCode.apply(null,n.shrinkBuf(e,t));for(var r="",a=0;a>>6:(r<65536?t[a++]=224|r>>>12:(t[a++]=240|r>>>18,t[a++]=128|r>>>12&63),t[a++]=128|r>>>6&63),t[a++]=128|63&r);return t},t.buf2binstring=function(e){return l(e,e.length)},t.binstring2buf=function(e){for(var t=new n.Buf8(e.length),r=0,i=t.length;r4){c[n++]=65533,r+=o-1;continue}for(i&=2===o?31:3===o?15:7;o>1&&r1){c[n++]=65533;continue}i<65536?c[n++]=i:(i-=65536,c[n++]=55296|i>>10&1023,c[n++]=56320|1023&i)}return l(c,n)},t.utf8border=function(e,t){var r;for((t=t||e.length)>e.length&&(t=e.length),r=t-1;r>=0&&(192&e[r])==128;)r--;return r<0||0===r?t:r+a[e[r]]>t?r:t}},48780:(e,t,r)=>{"use strict";var n=r(88033),i=r(26527),o=r(50714),a=r(61091);function s(e,t,r,n,i){this.compressedSize=e,this.uncompressedSize=t,this.crc32=r,this.compression=n,this.compressedContent=i}s.prototype={getContentWorker:function(){var e=new i(n.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new a("data_length")),t=this;return e.on("end",function(){if(this.streamInfo.data_length!==t.uncompressedSize)throw Error("Bug : uncompressed data size mismatch")}),e},getCompressedWorker:function(){return new i(n.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}},s.createWorkerFrom=function(e,t,r){return e.pipe(new o).pipe(new a("uncompressedSize")).pipe(t.compressWorker(r)).pipe(new a("compressedSize")).withStreamInfo("compression",t)},e.exports=s},49342:(e,t)=>{"use strict";t.__esModule=!0;var r=["description","fileName","lineNumber","endLineNumber","message","name","number","stack"];function n(e,t){var i=t&&t.loc,o=void 0,a=void 0,s=void 0,l=void 0;i&&(o=i.start.line,a=i.end.line,s=i.start.column,l=i.end.column,e+=" - "+o+":"+s);for(var c=Error.prototype.constructor.call(this,e),u=0;u{"use strict";function n(){for(var e,t,r=0,n="",i=arguments.length;rn})},49576:(e,t,r)=>{"use strict";var n=r(25542),i=r(91349);function o(e){n.call(this,"ConvertWorker to "+e),this.destType=e}i.inherits(o,n),o.prototype.processChunk=function(e){this.push({data:i.transformTo(this.destType,e.data),meta:e.meta})},e.exports=o},50714:(e,t,r)=>{"use strict";var n=r(25542),i=r(66371);function o(){n.call(this,"Crc32Probe"),this.withStreamInfo("crc32",0)}r(91349).inherits(o,n),o.prototype.processChunk=function(e){this.streamInfo.crc32=i(e.data,this.streamInfo.crc32||0),this.push(e)},e.exports=o},51132:(e,t,r)=>{"use strict";var n=r(85990),i=r(56692),o=r(48775),a=r(47556),s=r(9629),l=r(92079),c=r(60485),u=Object.prototype.toString;function h(e){if(!(this instanceof h))return new h(e);this.options=i.assign({chunkSize:16384,windowBits:0,to:""},e||{});var t=this.options;t.raw&&t.windowBits>=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,0===t.windowBits&&(t.windowBits=-15)),t.windowBits>=0&&t.windowBits<16&&!(e&&e.windowBits)&&(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&(15&t.windowBits)==0&&(t.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new l,this.strm.avail_out=0;var r=n.inflateInit2(this.strm,t.windowBits);if(r!==a.Z_OK||(this.header=new c,n.inflateGetHeader(this.strm,this.header),t.dictionary&&("string"==typeof t.dictionary?t.dictionary=o.string2buf(t.dictionary):"[object ArrayBuffer]"===u.call(t.dictionary)&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw)&&(r=n.inflateSetDictionary(this.strm,t.dictionary))!==a.Z_OK))throw Error(s[r])}function d(e,t){var r=new h(t);if(r.push(e,!0),r.err)throw r.msg||s[r.err];return r.result}h.prototype.push=function(e,t){var r,s,l,c,h,d=this.strm,f=this.options.chunkSize,p=this.options.dictionary,m=!1;if(this.ended)return!1;s=t===~~t?t:!0===t?a.Z_FINISH:a.Z_NO_FLUSH,"string"==typeof e?d.input=o.binstring2buf(e):"[object ArrayBuffer]"===u.call(e)?d.input=new Uint8Array(e):d.input=e,d.next_in=0,d.avail_in=d.input.length;do{if(0===d.avail_out&&(d.output=new i.Buf8(f),d.next_out=0,d.avail_out=f),(r=n.inflate(d,a.Z_NO_FLUSH))===a.Z_NEED_DICT&&p&&(r=n.inflateSetDictionary(this.strm,p)),r===a.Z_BUF_ERROR&&!0===m&&(r=a.Z_OK,m=!1),r!==a.Z_STREAM_END&&r!==a.Z_OK)return this.onEnd(r),this.ended=!0,!1;d.next_out&&(0===d.avail_out||r===a.Z_STREAM_END||0===d.avail_in&&(s===a.Z_FINISH||s===a.Z_SYNC_FLUSH))&&("string"===this.options.to?(l=o.utf8border(d.output,d.next_out),c=d.next_out-l,h=o.buf2string(d.output,l),d.next_out=c,d.avail_out=f-c,c&&i.arraySet(d.output,d.output,l,c,0),this.onData(h)):this.onData(i.shrinkBuf(d.output,d.next_out))),0===d.avail_in&&0===d.avail_out&&(m=!0)}while((d.avail_in>0||0===d.avail_out)&&r!==a.Z_STREAM_END);return(r===a.Z_STREAM_END&&(s=a.Z_FINISH),s===a.Z_FINISH)?(r=n.inflateEnd(this.strm),this.onEnd(r),this.ended=!0,r===a.Z_OK):(s===a.Z_SYNC_FLUSH&&(this.onEnd(a.Z_OK),d.avail_out=0),!0)},h.prototype.onData=function(e){this.chunks.push(e)},h.prototype.onEnd=function(e){e===a.Z_OK&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=i.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},t.Inflate=h,t.inflate=d,t.inflateRaw=function(e,t){return(t=t||{}).raw=!0,d(e,t)},t.ungzip=d},51453:(e,t,r)=>{"use strict";function n(){this.padding=0}t.__esModule=!0,t.print=function(e){return new n().accept(e)},t.PrintVisitor=n,n.prototype=new(function(e){return e&&e.__esModule?e:{default:e}}(r(64415))).default,n.prototype.pad=function(e){for(var t="",r=0,n=this.padding;r "+t+" }}")},n.prototype.PartialBlockStatement=function(e){var t="PARTIAL BLOCK:"+e.name.original;return e.params[0]&&(t+=" "+this.accept(e.params[0])),e.hash&&(t+=" "+this.accept(e.hash)),t+=" "+this.pad("PROGRAM:"),this.padding++,t+=this.accept(e.program),this.padding--,this.pad("{{> "+t+" }}")},n.prototype.ContentStatement=function(e){return this.pad("CONTENT[ '"+e.value+"' ]")},n.prototype.CommentStatement=function(e){return this.pad("{{! '"+e.value+"' }}")},n.prototype.SubExpression=function(e){for(var t=e.params,r=[],n=void 0,i=0,o=t.length;ite,i3:()=>tr,UC:()=>tt,bL:()=>e9,Bk:()=>eV});var n=r(43210);let i=["top","right","bottom","left"],o=Math.min,a=Math.max,s=Math.round,l=Math.floor,c=e=>({x:e,y:e}),u={left:"right",right:"left",bottom:"top",top:"bottom"},h={start:"end",end:"start"};function d(e,t){return"function"==typeof e?e(t):e}function f(e){return e.split("-")[0]}function p(e){return e.split("-")[1]}function m(e){return"x"===e?"y":"x"}function g(e){return"y"===e?"height":"width"}let v=new Set(["top","bottom"]);function y(e){return v.has(f(e))?"y":"x"}function b(e){return e.replace(/start|end/g,e=>h[e])}let w=["left","right"],_=["right","left"],k=["top","bottom"],x=["bottom","top"];function S(e){return e.replace(/left|right|bottom|top/g,e=>u[e])}function E(e){return"number"!=typeof e?{top:0,right:0,bottom:0,left:0,...e}:{top:e,right:e,bottom:e,left:e}}function C(e){let{x:t,y:r,width:n,height:i}=e;return{width:n,height:i,top:r,left:t,right:t+n,bottom:r+i,x:t,y:r}}function P(e,t,r){let n,{reference:i,floating:o}=e,a=y(t),s=m(y(t)),l=g(s),c=f(t),u="y"===a,h=i.x+i.width/2-o.width/2,d=i.y+i.height/2-o.height/2,v=i[l]/2-o[l]/2;switch(c){case"top":n={x:h,y:i.y-o.height};break;case"bottom":n={x:h,y:i.y+i.height};break;case"right":n={x:i.x+i.width,y:d};break;case"left":n={x:i.x-o.width,y:d};break;default:n={x:i.x,y:i.y}}switch(p(t)){case"start":n[s]-=v*(r&&u?-1:1);break;case"end":n[s]+=v*(r&&u?-1:1)}return n}let A=async(e,t,r)=>{let{placement:n="bottom",strategy:i="absolute",middleware:o=[],platform:a}=r,s=o.filter(Boolean),l=await (null==a.isRTL?void 0:a.isRTL(t)),c=await a.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:h}=P(c,n,l),d=n,f={},p=0;for(let r=0;re[t]>=0)}let N=new Set(["left","top"]);async function L(e,t){let{placement:r,platform:n,elements:i}=e,o=await (null==n.isRTL?void 0:n.isRTL(i.floating)),a=f(r),s=p(r),l="y"===y(r),c=N.has(a)?-1:1,u=o&&l?-1:1,h=d(t,e),{mainAxis:m,crossAxis:g,alignmentAxis:v}="number"==typeof h?{mainAxis:h,crossAxis:0,alignmentAxis:null}:{mainAxis:h.mainAxis||0,crossAxis:h.crossAxis||0,alignmentAxis:h.alignmentAxis};return s&&"number"==typeof v&&(g="end"===s?-1*v:v),l?{x:g*u,y:m*c}:{x:m*c,y:g*u}}function T(){return"undefined"!=typeof window}function M(e){return j(e)?(e.nodeName||"").toLowerCase():"#document"}function B(e){var t;return(null==e||null==(t=e.ownerDocument)?void 0:t.defaultView)||window}function D(e){var t;return null==(t=(j(e)?e.ownerDocument:e.document)||window.document)?void 0:t.documentElement}function j(e){return!!T()&&(e instanceof Node||e instanceof B(e).Node)}function z(e){return!!T()&&(e instanceof Element||e instanceof B(e).Element)}function F(e){return!!T()&&(e instanceof HTMLElement||e instanceof B(e).HTMLElement)}function U(e){return!!T()&&"undefined"!=typeof ShadowRoot&&(e instanceof ShadowRoot||e instanceof B(e).ShadowRoot)}let H=new Set(["inline","contents"]);function W(e){let{overflow:t,overflowX:r,overflowY:n,display:i}=ee(e);return/auto|scroll|overlay|hidden|clip/.test(t+n+r)&&!H.has(i)}let $=new Set(["table","td","th"]),K=[":popover-open",":modal"];function Z(e){return K.some(t=>{try{return e.matches(t)}catch(e){return!1}})}let V=["transform","translate","scale","rotate","perspective"],q=["transform","translate","scale","rotate","perspective","filter"],G=["paint","layout","strict","content"];function Y(e){let t=X(),r=z(e)?ee(e):e;return V.some(e=>!!r[e]&&"none"!==r[e])||!!r.containerType&&"normal"!==r.containerType||!t&&!!r.backdropFilter&&"none"!==r.backdropFilter||!t&&!!r.filter&&"none"!==r.filter||q.some(e=>(r.willChange||"").includes(e))||G.some(e=>(r.contain||"").includes(e))}function X(){return"undefined"!=typeof CSS&&!!CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")}let J=new Set(["html","body","#document"]);function Q(e){return J.has(M(e))}function ee(e){return B(e).getComputedStyle(e)}function et(e){return z(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function er(e){if("html"===M(e))return e;let t=e.assignedSlot||e.parentNode||U(e)&&e.host||D(e);return U(t)?t.host:t}function en(e,t,r){var n;void 0===t&&(t=[]),void 0===r&&(r=!0);let i=function e(t){let r=er(t);return Q(r)?t.ownerDocument?t.ownerDocument.body:t.body:F(r)&&W(r)?r:e(r)}(e),o=i===(null==(n=e.ownerDocument)?void 0:n.body),a=B(i);if(o){let e=ei(a);return t.concat(a,a.visualViewport||[],W(i)?i:[],e&&r?en(e):[])}return t.concat(i,en(i,[],r))}function ei(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function eo(e){let t=ee(e),r=parseFloat(t.width)||0,n=parseFloat(t.height)||0,i=F(e),o=i?e.offsetWidth:r,a=i?e.offsetHeight:n,l=s(r)!==o||s(n)!==a;return l&&(r=o,n=a),{width:r,height:n,$:l}}function ea(e){return z(e)?e:e.contextElement}function es(e){let t=ea(e);if(!F(t))return c(1);let r=t.getBoundingClientRect(),{width:n,height:i,$:o}=eo(t),a=(o?s(r.width):r.width)/n,l=(o?s(r.height):r.height)/i;return a&&Number.isFinite(a)||(a=1),l&&Number.isFinite(l)||(l=1),{x:a,y:l}}let el=c(0);function ec(e){let t=B(e);return X()&&t.visualViewport?{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}:el}function eu(e,t,r,n){var i;void 0===t&&(t=!1),void 0===r&&(r=!1);let o=e.getBoundingClientRect(),a=ea(e),s=c(1);t&&(n?z(n)&&(s=es(n)):s=es(e));let l=(void 0===(i=r)&&(i=!1),n&&(!i||n===B(a))&&i)?ec(a):c(0),u=(o.left+l.x)/s.x,h=(o.top+l.y)/s.y,d=o.width/s.x,f=o.height/s.y;if(a){let e=B(a),t=n&&z(n)?B(n):n,r=e,i=ei(r);for(;i&&n&&t!==r;){let e=es(i),t=i.getBoundingClientRect(),n=ee(i),o=t.left+(i.clientLeft+parseFloat(n.paddingLeft))*e.x,a=t.top+(i.clientTop+parseFloat(n.paddingTop))*e.y;u*=e.x,h*=e.y,d*=e.x,f*=e.y,u+=o,h+=a,i=ei(r=B(i))}}return C({width:d,height:f,x:u,y:h})}function eh(e,t){let r=et(e).scrollLeft;return t?t.left+r:eu(D(e)).left+r}function ed(e,t){let r=e.getBoundingClientRect();return{x:r.left+t.scrollLeft-eh(e,r),y:r.top+t.scrollTop}}let ef=new Set(["absolute","fixed"]);function ep(e,t,r){let n;if("viewport"===t)n=function(e,t){let r=B(e),n=D(e),i=r.visualViewport,o=n.clientWidth,a=n.clientHeight,s=0,l=0;if(i){o=i.width,a=i.height;let e=X();(!e||e&&"fixed"===t)&&(s=i.offsetLeft,l=i.offsetTop)}let c=eh(n);if(c<=0){let e=n.ownerDocument,t=e.body,r=getComputedStyle(t),i="CSS1Compat"===e.compatMode&&parseFloat(r.marginLeft)+parseFloat(r.marginRight)||0,a=Math.abs(n.clientWidth-t.clientWidth-i);a<=25&&(o-=a)}else c<=25&&(o+=c);return{width:o,height:a,x:s,y:l}}(e,r);else if("document"===t)n=function(e){let t=D(e),r=et(e),n=e.ownerDocument.body,i=a(t.scrollWidth,t.clientWidth,n.scrollWidth,n.clientWidth),o=a(t.scrollHeight,t.clientHeight,n.scrollHeight,n.clientHeight),s=-r.scrollLeft+eh(e),l=-r.scrollTop;return"rtl"===ee(n).direction&&(s+=a(t.clientWidth,n.clientWidth)-i),{width:i,height:o,x:s,y:l}}(D(e));else if(z(t))n=function(e,t){let r=eu(e,!0,"fixed"===t),n=r.top+e.clientTop,i=r.left+e.clientLeft,o=F(e)?es(e):c(1),a=e.clientWidth*o.x,s=e.clientHeight*o.y;return{width:a,height:s,x:i*o.x,y:n*o.y}}(t,r);else{let r=ec(e);n={x:t.x-r.x,y:t.y-r.y,width:t.width,height:t.height}}return C(n)}function em(e){return"static"===ee(e).position}function eg(e,t){if(!F(e)||"fixed"===ee(e).position)return null;if(t)return t(e);let r=e.offsetParent;return D(e)===r&&(r=r.ownerDocument.body),r}function ev(e,t){var r;let n=B(e);if(Z(e))return n;if(!F(e)){let t=er(e);for(;t&&!Q(t);){if(z(t)&&!em(t))return t;t=er(t)}return n}let i=eg(e,t);for(;i&&(r=i,$.has(M(r)))&&em(i);)i=eg(i,t);return i&&Q(i)&&em(i)&&!Y(i)?n:i||function(e){let t=er(e);for(;F(t)&&!Q(t);){if(Y(t))return t;if(Z(t))break;t=er(t)}return null}(e)||n}let ey=async function(e){let t=this.getOffsetParent||ev,r=this.getDimensions,n=await r(e.floating);return{reference:function(e,t,r){let n=F(t),i=D(t),o="fixed"===r,a=eu(e,!0,o,t),s={scrollLeft:0,scrollTop:0},l=c(0);if(n||!n&&!o)if(("body"!==M(t)||W(i))&&(s=et(t)),n){let e=eu(t,!0,o,t);l.x=e.x+t.clientLeft,l.y=e.y+t.clientTop}else i&&(l.x=eh(i));o&&!n&&i&&(l.x=eh(i));let u=!i||n||o?c(0):ed(i,s);return{x:a.left+s.scrollLeft-l.x-u.x,y:a.top+s.scrollTop-l.y-u.y,width:a.width,height:a.height}}(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:n.width,height:n.height}}},eb={convertOffsetParentRelativeRectToViewportRelativeRect:function(e){let{elements:t,rect:r,offsetParent:n,strategy:i}=e,o="fixed"===i,a=D(n),s=!!t&&Z(t.floating);if(n===a||s&&o)return r;let l={scrollLeft:0,scrollTop:0},u=c(1),h=c(0),d=F(n);if((d||!d&&!o)&&(("body"!==M(n)||W(a))&&(l=et(n)),F(n))){let e=eu(n);u=es(n),h.x=e.x+n.clientLeft,h.y=e.y+n.clientTop}let f=!a||d||o?c(0):ed(a,l);return{width:r.width*u.x,height:r.height*u.y,x:r.x*u.x-l.scrollLeft*u.x+h.x+f.x,y:r.y*u.y-l.scrollTop*u.y+h.y+f.y}},getDocumentElement:D,getClippingRect:function(e){let{element:t,boundary:r,rootBoundary:n,strategy:i}=e,s=[..."clippingAncestors"===r?Z(t)?[]:function(e,t){let r=t.get(e);if(r)return r;let n=en(e,[],!1).filter(e=>z(e)&&"body"!==M(e)),i=null,o="fixed"===ee(e).position,a=o?er(e):e;for(;z(a)&&!Q(a);){let t=ee(a),r=Y(a);r||"fixed"!==t.position||(i=null),(o?!r&&!i:!r&&"static"===t.position&&!!i&&ef.has(i.position)||W(a)&&!r&&function e(t,r){let n=er(t);return!(n===r||!z(n)||Q(n))&&("fixed"===ee(n).position||e(n,r))}(e,a))?n=n.filter(e=>e!==a):i=t,a=er(a)}return t.set(e,n),n}(t,this._c):[].concat(r),n],l=s[0],c=s.reduce((e,r)=>{let n=ep(t,r,i);return e.top=a(n.top,e.top),e.right=o(n.right,e.right),e.bottom=o(n.bottom,e.bottom),e.left=a(n.left,e.left),e},ep(t,l,i));return{width:c.right-c.left,height:c.bottom-c.top,x:c.left,y:c.top}},getOffsetParent:ev,getElementRects:ey,getClientRects:function(e){return Array.from(e.getClientRects())},getDimensions:function(e){let{width:t,height:r}=eo(e);return{width:t,height:r}},getScale:es,isElement:z,isRTL:function(e){return"rtl"===ee(e).direction}};function ew(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}let e_=e=>({name:"arrow",options:e,async fn(t){let{x:r,y:n,placement:i,rects:s,platform:l,elements:c,middlewareData:u}=t,{element:h,padding:f=0}=d(e,t)||{};if(null==h)return{};let v=E(f),b={x:r,y:n},w=m(y(i)),_=g(w),k=await l.getDimensions(h),x="y"===w,S=x?"clientHeight":"clientWidth",C=s.reference[_]+s.reference[w]-b[w]-s.floating[_],P=b[w]-s.reference[w],A=await (null==l.getOffsetParent?void 0:l.getOffsetParent(h)),O=A?A[S]:0;O&&await (null==l.isElement?void 0:l.isElement(A))||(O=c.floating[S]||s.floating[_]);let R=O/2-k[_]/2-1,I=o(v[x?"top":"left"],R),N=o(v[x?"bottom":"right"],R),L=O-k[_]-N,T=O/2-k[_]/2+(C/2-P/2),M=a(I,o(T,L)),B=!u.arrow&&null!=p(i)&&T!==M&&s.reference[_]/2-(T{let n=new Map,i={platform:eb,...r},o={...i.platform,_c:n};return A(e,t,{...i,platform:o})};var ex=r(51215),eS="undefined"!=typeof document?n.useLayoutEffect:function(){};function eE(e,t){let r,n,i;if(e===t)return!0;if(typeof e!=typeof t)return!1;if("function"==typeof e&&e.toString()===t.toString())return!0;if(e&&t&&"object"==typeof e){if(Array.isArray(e)){if((r=e.length)!==t.length)return!1;for(n=r;0!=n--;)if(!eE(e[n],t[n]))return!1;return!0}if((r=(i=Object.keys(e)).length)!==Object.keys(t).length)return!1;for(n=r;0!=n--;)if(!({}).hasOwnProperty.call(t,i[n]))return!1;for(n=r;0!=n--;){let r=i[n];if(("_owner"!==r||!e.$$typeof)&&!eE(e[r],t[r]))return!1}return!0}return e!=e&&t!=t}function eC(e){return"undefined"==typeof window?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function eP(e,t){let r=eC(e);return Math.round(t*r)/r}function eA(e){let t=n.useRef(e);return eS(()=>{t.current=e}),t}let eO=e=>({name:"arrow",options:e,fn(t){let{element:r,padding:n}="function"==typeof e?e(t):e;return r&&({}).hasOwnProperty.call(r,"current")?null!=r.current?e_({element:r.current,padding:n}).fn(t):{}:r?e_({element:r,padding:n}).fn(t):{}}}),eR=(e,t)=>({...function(e){return void 0===e&&(e=0),{name:"offset",options:e,async fn(t){var r,n;let{x:i,y:o,placement:a,middlewareData:s}=t,l=await L(t,e);return a===(null==(r=s.offset)?void 0:r.placement)&&null!=(n=s.arrow)&&n.alignmentOffset?{}:{x:i+l.x,y:o+l.y,data:{...l,placement:a}}}}}(e),options:[e,t]}),eI=(e,t)=>({...function(e){return void 0===e&&(e={}),{name:"shift",options:e,async fn(t){let{x:r,y:n,placement:i}=t,{mainAxis:s=!0,crossAxis:l=!1,limiter:c={fn:e=>{let{x:t,y:r}=e;return{x:t,y:r}}},...u}=d(e,t),h={x:r,y:n},p=await O(t,u),g=y(f(i)),v=m(g),b=h[v],w=h[g];if(s){let e="y"===v?"top":"left",t="y"===v?"bottom":"right",r=b+p[e],n=b-p[t];b=a(r,o(b,n))}if(l){let e="y"===g?"top":"left",t="y"===g?"bottom":"right",r=w+p[e],n=w-p[t];w=a(r,o(w,n))}let _=c.fn({...t,[v]:b,[g]:w});return{..._,data:{x:_.x-r,y:_.y-n,enabled:{[v]:s,[g]:l}}}}}}(e),options:[e,t]}),eN=(e,t)=>({...function(e){return void 0===e&&(e={}),{options:e,fn(t){let{x:r,y:n,placement:i,rects:o,middlewareData:a}=t,{offset:s=0,mainAxis:l=!0,crossAxis:c=!0}=d(e,t),u={x:r,y:n},h=y(i),p=m(h),g=u[p],v=u[h],b=d(s,t),w="number"==typeof b?{mainAxis:b,crossAxis:0}:{mainAxis:0,crossAxis:0,...b};if(l){let e="y"===p?"height":"width",t=o.reference[p]-o.floating[e]+w.mainAxis,r=o.reference[p]+o.reference[e]-w.mainAxis;gr&&(g=r)}if(c){var _,k;let e="y"===p?"width":"height",t=N.has(f(i)),r=o.reference[h]-o.floating[e]+(t&&(null==(_=a.offset)?void 0:_[h])||0)+(t?0:w.crossAxis),n=o.reference[h]+o.reference[e]+(t?0:(null==(k=a.offset)?void 0:k[h])||0)-(t?w.crossAxis:0);vn&&(v=n)}return{[p]:g,[h]:v}}}}(e),options:[e,t]}),eL=(e,t)=>({...function(e){return void 0===e&&(e={}),{name:"flip",options:e,async fn(t){var r,n,i,o,a;let{placement:s,middlewareData:l,rects:c,initialPlacement:u,platform:h,elements:v}=t,{mainAxis:E=!0,crossAxis:C=!0,fallbackPlacements:P,fallbackStrategy:A="bestFit",fallbackAxisSideDirection:R="none",flipAlignment:I=!0,...N}=d(e,t);if(null!=(r=l.arrow)&&r.alignmentOffset)return{};let L=f(s),T=y(u),M=f(u)===u,B=await (null==h.isRTL?void 0:h.isRTL(v.floating)),D=P||(M||!I?[S(u)]:function(e){let t=S(e);return[b(e),t,b(t)]}(u)),j="none"!==R;!P&&j&&D.push(...function(e,t,r,n){let i=p(e),o=function(e,t,r){switch(e){case"top":case"bottom":if(r)return t?_:w;return t?w:_;case"left":case"right":return t?k:x;default:return[]}}(f(e),"start"===r,n);return i&&(o=o.map(e=>e+"-"+i),t&&(o=o.concat(o.map(b)))),o}(u,I,R,B));let z=[u,...D],F=await O(t,N),U=[],H=(null==(n=l.flip)?void 0:n.overflows)||[];if(E&&U.push(F[L]),C){let e=function(e,t,r){void 0===r&&(r=!1);let n=p(e),i=m(y(e)),o=g(i),a="x"===i?n===(r?"end":"start")?"right":"left":"start"===n?"bottom":"top";return t.reference[o]>t.floating[o]&&(a=S(a)),[a,S(a)]}(s,c,B);U.push(F[e[0]],F[e[1]])}if(H=[...H,{placement:s,overflows:U}],!U.every(e=>e<=0)){let e=((null==(i=l.flip)?void 0:i.index)||0)+1,t=z[e];if(t&&("alignment"!==C||T===y(t)||H.every(e=>y(e.placement)!==T||e.overflows[0]>0)))return{data:{index:e,overflows:H},reset:{placement:t}};let r=null==(o=H.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0])?void 0:o.placement;if(!r)switch(A){case"bestFit":{let e=null==(a=H.filter(e=>{if(j){let t=y(e.placement);return t===T||"y"===t}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0])?void 0:a[0];e&&(r=e);break}case"initialPlacement":r=u}if(s!==r)return{reset:{placement:r}}}return{}}}}(e),options:[e,t]}),eT=(e,t)=>({...function(e){return void 0===e&&(e={}),{name:"size",options:e,async fn(t){var r,n;let i,s,{placement:l,rects:c,platform:u,elements:h}=t,{apply:m=()=>{},...g}=d(e,t),v=await O(t,g),b=f(l),w=p(l),_="y"===y(l),{width:k,height:x}=c.floating;"top"===b||"bottom"===b?(i=b,s=w===(await (null==u.isRTL?void 0:u.isRTL(h.floating))?"start":"end")?"left":"right"):(s=b,i="end"===w?"top":"bottom");let S=x-v.top-v.bottom,E=k-v.left-v.right,C=o(x-v[i],S),P=o(k-v[s],E),A=!t.middlewareData.shift,R=C,I=P;if(null!=(r=t.middlewareData.shift)&&r.enabled.x&&(I=E),null!=(n=t.middlewareData.shift)&&n.enabled.y&&(R=S),A&&!w){let e=a(v.left,0),t=a(v.right,0),r=a(v.top,0),n=a(v.bottom,0);_?I=k-2*(0!==e||0!==t?e+t:a(v.left,v.right)):R=x-2*(0!==r||0!==n?r+n:a(v.top,v.bottom))}await m({...t,availableWidth:I,availableHeight:R});let N=await u.getDimensions(h.floating);return k!==N.width||x!==N.height?{reset:{rects:!0}}:{}}}}(e),options:[e,t]}),eM=(e,t)=>({...function(e){return void 0===e&&(e={}),{name:"hide",options:e,async fn(t){let{rects:r}=t,{strategy:n="referenceHidden",...i}=d(e,t);switch(n){case"referenceHidden":{let e=R(await O(t,{...i,elementContext:"reference"}),r.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:I(e)}}}case"escaped":{let e=R(await O(t,{...i,altBoundary:!0}),r.floating);return{data:{escapedOffsets:e,escaped:I(e)}}}default:return{}}}}}(e),options:[e,t]}),eB=(e,t)=>({...eO(e),options:[e,t]});var eD=r(14163),ej=r(60687),ez=n.forwardRef((e,t)=>{let{children:r,width:n=10,height:i=5,...o}=e;return(0,ej.jsx)(eD.sG.svg,{...o,ref:t,width:n,height:i,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?r:(0,ej.jsx)("polygon",{points:"0,0 30,0 15,10"})})});ez.displayName="Arrow";var eF=r(98599),eU=r(11273),eH=r(13495),eW=r(66156),e$=r(18853),eK="Popper",[eZ,eV]=(0,eU.A)(eK),[eq,eG]=eZ(eK),eY=e=>{let{__scopePopper:t,children:r}=e,[i,o]=n.useState(null);return(0,ej.jsx)(eq,{scope:t,anchor:i,onAnchorChange:o,children:r})};eY.displayName=eK;var eX="PopperAnchor",eJ=n.forwardRef((e,t)=>{let{__scopePopper:r,virtualRef:i,...o}=e,a=eG(eX,r),s=n.useRef(null),l=(0,eF.s)(t,s),c=n.useRef(null);return n.useEffect(()=>{let e=c.current;c.current=i?.current||s.current,e!==c.current&&a.onAnchorChange(c.current)}),i?null:(0,ej.jsx)(eD.sG.div,{...o,ref:l})});eJ.displayName=eX;var eQ="PopperContent",[e0,e1]=eZ(eQ),e2=n.forwardRef((e,t)=>{let{__scopePopper:r,side:i="bottom",sideOffset:s=0,align:c="center",alignOffset:u=0,arrowPadding:h=0,avoidCollisions:d=!0,collisionBoundary:f=[],collisionPadding:p=0,sticky:m="partial",hideWhenDetached:g=!1,updatePositionStrategy:v="optimized",onPlaced:y,...b}=e,w=eG(eQ,r),[_,k]=n.useState(null),x=(0,eF.s)(t,e=>k(e)),[S,E]=n.useState(null),C=(0,e$.X)(S),P=C?.width??0,A=C?.height??0,O="number"==typeof p?p:{top:0,right:0,bottom:0,left:0,...p},R=Array.isArray(f)?f:[f],I=R.length>0,N={padding:O,boundary:R.filter(e8),altBoundary:I},{refs:L,floatingStyles:T,placement:M,isPositioned:B,middlewareData:j}=function(e){void 0===e&&(e={});let{placement:t="bottom",strategy:r="absolute",middleware:i=[],platform:o,elements:{reference:a,floating:s}={},transform:l=!0,whileElementsMounted:c,open:u}=e,[h,d]=n.useState({x:0,y:0,strategy:r,placement:t,middlewareData:{},isPositioned:!1}),[f,p]=n.useState(i);eE(f,i)||p(i);let[m,g]=n.useState(null),[v,y]=n.useState(null),b=n.useCallback(e=>{e!==x.current&&(x.current=e,g(e))},[]),w=n.useCallback(e=>{e!==S.current&&(S.current=e,y(e))},[]),_=a||m,k=s||v,x=n.useRef(null),S=n.useRef(null),E=n.useRef(h),C=null!=c,P=eA(c),A=eA(o),O=eA(u),R=n.useCallback(()=>{if(!x.current||!S.current)return;let e={placement:t,strategy:r,middleware:f};A.current&&(e.platform=A.current),ek(x.current,S.current,e).then(e=>{let t={...e,isPositioned:!1!==O.current};I.current&&!eE(E.current,t)&&(E.current=t,ex.flushSync(()=>{d(t)}))})},[f,t,r,A,O]);eS(()=>{!1===u&&E.current.isPositioned&&(E.current.isPositioned=!1,d(e=>({...e,isPositioned:!1})))},[u]);let I=n.useRef(!1);eS(()=>(I.current=!0,()=>{I.current=!1}),[]),eS(()=>{if(_&&(x.current=_),k&&(S.current=k),_&&k){if(P.current)return P.current(_,k,R);R()}},[_,k,R,P,C]);let N=n.useMemo(()=>({reference:x,floating:S,setReference:b,setFloating:w}),[b,w]),L=n.useMemo(()=>({reference:_,floating:k}),[_,k]),T=n.useMemo(()=>{let e={position:r,left:0,top:0};if(!L.floating)return e;let t=eP(L.floating,h.x),n=eP(L.floating,h.y);return l?{...e,transform:"translate("+t+"px, "+n+"px)",...eC(L.floating)>=1.5&&{willChange:"transform"}}:{position:r,left:t,top:n}},[r,l,L.floating,h.x,h.y]);return n.useMemo(()=>({...h,update:R,refs:N,elements:L,floatingStyles:T}),[h,R,N,L,T])}({strategy:"fixed",placement:i+("center"!==c?"-"+c:""),whileElementsMounted:(...e)=>(function(e,t,r,n){let i;void 0===n&&(n={});let{ancestorScroll:s=!0,ancestorResize:c=!0,elementResize:u="function"==typeof ResizeObserver,layoutShift:h="function"==typeof IntersectionObserver,animationFrame:d=!1}=n,f=ea(e),p=s||c?[...f?en(f):[],...en(t)]:[];p.forEach(e=>{s&&e.addEventListener("scroll",r,{passive:!0}),c&&e.addEventListener("resize",r)});let m=f&&h?function(e,t){let r,n=null,i=D(e);function s(){var e;clearTimeout(r),null==(e=n)||e.disconnect(),n=null}return!function c(u,h){void 0===u&&(u=!1),void 0===h&&(h=1),s();let d=e.getBoundingClientRect(),{left:f,top:p,width:m,height:g}=d;if(u||t(),!m||!g)return;let v=l(p),y=l(i.clientWidth-(f+m)),b={rootMargin:-v+"px "+-y+"px "+-l(i.clientHeight-(p+g))+"px "+-l(f)+"px",threshold:a(0,o(1,h))||1},w=!0;function _(t){let n=t[0].intersectionRatio;if(n!==h){if(!w)return c();n?c(!1,n):r=setTimeout(()=>{c(!1,1e-7)},1e3)}1!==n||ew(d,e.getBoundingClientRect())||c(),w=!1}try{n=new IntersectionObserver(_,{...b,root:i.ownerDocument})}catch(e){n=new IntersectionObserver(_,b)}n.observe(e)}(!0),s}(f,r):null,g=-1,v=null;u&&(v=new ResizeObserver(e=>{let[n]=e;n&&n.target===f&&v&&(v.unobserve(t),cancelAnimationFrame(g),g=requestAnimationFrame(()=>{var e;null==(e=v)||e.observe(t)})),r()}),f&&!d&&v.observe(f),v.observe(t));let y=d?eu(e):null;return d&&function t(){let n=eu(e);y&&!ew(y,n)&&r(),y=n,i=requestAnimationFrame(t)}(),r(),()=>{var e;p.forEach(e=>{s&&e.removeEventListener("scroll",r),c&&e.removeEventListener("resize",r)}),null==m||m(),null==(e=v)||e.disconnect(),v=null,d&&cancelAnimationFrame(i)}})(...e,{animationFrame:"always"===v}),elements:{reference:w.anchor},middleware:[eR({mainAxis:s+A,alignmentAxis:u}),d&&eI({mainAxis:!0,crossAxis:!1,limiter:"partial"===m?eN():void 0,...N}),d&&eL({...N}),eT({...N,apply:({elements:e,rects:t,availableWidth:r,availableHeight:n})=>{let{width:i,height:o}=t.reference,a=e.floating.style;a.setProperty("--radix-popper-available-width",`${r}px`),a.setProperty("--radix-popper-available-height",`${n}px`),a.setProperty("--radix-popper-anchor-width",`${i}px`),a.setProperty("--radix-popper-anchor-height",`${o}px`)}}),S&&eB({element:S,padding:h}),e6({arrowWidth:P,arrowHeight:A}),g&&eM({strategy:"referenceHidden",...N})]}),[z,F]=e7(M),U=(0,eH.c)(y);(0,eW.N)(()=>{B&&U?.()},[B,U]);let H=j.arrow?.x,W=j.arrow?.y,$=j.arrow?.centerOffset!==0,[K,Z]=n.useState();return(0,eW.N)(()=>{_&&Z(window.getComputedStyle(_).zIndex)},[_]),(0,ej.jsx)("div",{ref:L.setFloating,"data-radix-popper-content-wrapper":"",style:{...T,transform:B?T.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:K,"--radix-popper-transform-origin":[j.transformOrigin?.x,j.transformOrigin?.y].join(" "),...j.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:(0,ej.jsx)(e0,{scope:r,placedSide:z,onArrowChange:E,arrowX:H,arrowY:W,shouldHideArrow:$,children:(0,ej.jsx)(eD.sG.div,{"data-side":z,"data-align":F,...b,ref:x,style:{...b.style,animation:B?void 0:"none"}})})})});e2.displayName=eQ;var e5="PopperArrow",e3={top:"bottom",right:"left",bottom:"top",left:"right"},e4=n.forwardRef(function(e,t){let{__scopePopper:r,...n}=e,i=e1(e5,r),o=e3[i.placedSide];return(0,ej.jsx)("span",{ref:i.onArrowChange,style:{position:"absolute",left:i.arrowX,top:i.arrowY,[o]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[i.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[i.placedSide],visibility:i.shouldHideArrow?"hidden":void 0},children:(0,ej.jsx)(ez,{...n,ref:t,style:{...n.style,display:"block"}})})});function e8(e){return null!==e}e4.displayName=e5;var e6=e=>({name:"transformOrigin",options:e,fn(t){let{placement:r,rects:n,middlewareData:i}=t,o=i.arrow?.centerOffset!==0,a=o?0:e.arrowWidth,s=o?0:e.arrowHeight,[l,c]=e7(r),u={start:"0%",center:"50%",end:"100%"}[c],h=(i.arrow?.x??0)+a/2,d=(i.arrow?.y??0)+s/2,f="",p="";return"bottom"===l?(f=o?u:`${h}px`,p=`${-s}px`):"top"===l?(f=o?u:`${h}px`,p=`${n.floating.height+s}px`):"right"===l?(f=`${-s}px`,p=o?u:`${d}px`):"left"===l&&(f=`${n.floating.width+s}px`,p=o?u:`${d}px`),{data:{x:f,y:p}}}});function e7(e){let[t,r="center"]=e.split("-");return[t,r]}var e9=eY,te=eJ,tt=e2,tr=e4},55842:e=>{"use strict";var t=function(){for(var e,t=[],r=0;r<256;r++){e=r;for(var n=0;n<8;n++)e=1&e?0xedb88320^e>>>1:e>>>1;t[r]=e}return t}();e.exports=function(e,r,n,i){var o=i+n;e^=-1;for(var a=i;a>>8^t[(e^r[a])&255];return -1^e}},56085:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});let n=(0,r(62688).A)("sparkles",[["path",{d:"M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z",key:"4pj2yx"}],["path",{d:"M20 3v4",key:"1olli1"}],["path",{d:"M22 5h-4",key:"1gvqau"}],["path",{d:"M4 17v2",key:"vumght"}],["path",{d:"M5 18H3",key:"zchphs"}]])},56692:(e,t)=>{"use strict";var r="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;t.assign=function(e){for(var t=Array.prototype.slice.call(arguments,1);t.length;){var r=t.shift();if(r){if("object"!=typeof r)throw TypeError(r+"must be non-object");for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}}return e},t.shrinkBuf=function(e,t){return e.length===t?e:e.subarray?e.subarray(0,t):(e.length=t,e)};var n={arraySet:function(e,t,r,n,i){if(t.subarray&&e.subarray)return void e.set(t.subarray(r,r+n),i);for(var o=0;o{"use strict";e.exports=function(e,t,r,n){for(var i=65535&e,o=e>>>16&65535,a=0;0!==r;){a=r>2e3?2e3:r,r-=a;do o=o+(i=i+t[n++]|0)|0;while(--a);i%=65521,o%=65521}return i|o<<16}},58028:(e,t,r)=>{"use strict";function n(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var i=n(r(70722)),o=n(r(69861)),a=r(94760),s=r(61812),l=n(r(87146)),c=n(r(64415)),u=n(r(35911)),h=i.default.create;function d(){var e=h();return e.compile=function(t,r){return s.compile(t,r,e)},e.precompile=function(t,r){return s.precompile(t,r,e)},e.AST=o.default,e.Compiler=s.Compiler,e.JavaScriptCompiler=l.default,e.Parser=a.parser,e.parse=a.parse,e.parseWithoutProcessing=a.parseWithoutProcessing,e}var f=d();f.create=d,u.default(f),f.Visitor=c.default,f.default=f,t.default=f,e.exports=t.default},58247:(e,t,r)=>{"use strict";t.__esModule=!0,t.checkRevision=function(e){var t=e&&e[0]||1,r=o.COMPILER_REVISION;if(!(t>=o.LAST_COMPATIBLE_COMPILER_REVISION)||!(t<=o.COMPILER_REVISION))if(t{"use strict";var n,i,o,a=r(56692);function s(e){for(var t=e.length;--t>=0;)e[t]=0}var l=573,c=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],u=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],h=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],d=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],f=Array(576);s(f);var p=Array(60);s(p);var m=Array(512);s(m);var g=Array(256);s(g);var v=Array(29);s(v);var y=Array(30);function b(e,t,r,n,i){this.static_tree=e,this.extra_bits=t,this.extra_base=r,this.elems=n,this.max_length=i,this.has_stree=e&&e.length}function w(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function _(e){return e<256?m[e]:m[256+(e>>>7)]}function k(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255}function x(e,t,r){e.bi_valid>16-r?(e.bi_buf|=t<>16-e.bi_valid,e.bi_valid+=r-16):(e.bi_buf|=t<>>=1,r<<=1;while(--t>0);return r>>>1}function C(e,t,r){var n,i,o=Array(16),a=0;for(n=1;n<=15;n++)o[n]=a=a+r[n-1]<<1;for(i=0;i<=t;i++){var s=e[2*i+1];0!==s&&(e[2*i]=E(o[s]++,s))}}function P(e){var t;for(t=0;t<286;t++)e.dyn_ltree[2*t]=0;for(t=0;t<30;t++)e.dyn_dtree[2*t]=0;for(t=0;t<19;t++)e.bl_tree[2*t]=0;e.dyn_ltree[512]=1,e.opt_len=e.static_len=0,e.last_lit=e.matches=0}function A(e){e.bi_valid>8?k(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0}function O(e,t,r,n){var i=2*t,o=2*r;return e[i]>1;r>=1;r--)R(e,o,r);i=c;do r=e.heap[1],e.heap[1]=e.heap[e.heap_len--],R(e,o,1),n=e.heap[1],e.heap[--e.heap_max]=r,e.heap[--e.heap_max]=n,o[2*i]=o[2*r]+o[2*n],e.depth[i]=(e.depth[r]>=e.depth[n]?e.depth[r]:e.depth[n])+1,o[2*r+1]=o[2*n+1]=i,e.heap[1]=i++,R(e,o,1);while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],function(e,t){var r,n,i,o,a,s,c=t.dyn_tree,u=t.max_code,h=t.stat_desc.static_tree,d=t.stat_desc.has_stree,f=t.stat_desc.extra_bits,p=t.stat_desc.extra_base,m=t.stat_desc.max_length,g=0;for(o=0;o<=15;o++)e.bl_count[o]=0;for(c[2*e.heap[e.heap_max]+1]=0,r=e.heap_max+1;rm&&(o=m,g++),c[2*n+1]=o,!(n>u)&&(e.bl_count[o]++,a=0,n>=p&&(a=f[n-p]),s=c[2*n],e.opt_len+=s*(o+a),d&&(e.static_len+=s*(h[2*n+1]+a)));if(0!==g){do{for(o=m-1;0===e.bl_count[o];)o--;e.bl_count[o]--,e.bl_count[o+1]+=2,e.bl_count[m]--,g-=2}while(g>0);for(o=m;0!==o;o--)for(n=e.bl_count[o];0!==n;)!((i=e.heap[--r])>u)&&(c[2*i+1]!==o&&(e.opt_len+=(o-c[2*i+1])*c[2*i],c[2*i+1]=o),n--)}}(e,t),C(o,u,e.bl_count)}function L(e,t,r){var n,i,o=-1,a=t[1],s=0,l=7,c=4;for(0===a&&(l=138,c=3),t[(r+1)*2+1]=65535,n=0;n<=r;n++)i=a,a=t[(n+1)*2+1],++s>=7;a<30;a++)for(e=0,y[a]=s<<7;e<1<0?(2===e.strm.data_type&&(e.strm.data_type=function(e){var t,r=0xf3ffc07f;for(t=0;t<=31;t++,r>>>=1)if(1&r&&0!==e.dyn_ltree[2*t])return 0;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return 1;for(t=32;t<256;t++)if(0!==e.dyn_ltree[2*t])return 1;return 0}(e)),N(e,e.l_desc),N(e,e.d_desc),a=function(e){var t;for(L(e,e.dyn_ltree,e.l_desc.max_code),L(e,e.dyn_dtree,e.d_desc.max_code),N(e,e.bl_desc),t=18;t>=3&&0===e.bl_tree[2*d[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t}(e),i=e.opt_len+3+7>>>3,(o=e.static_len+3+7>>>3)<=i&&(i=o)):i=o=r+5,r+4<=i&&-1!==t?B(e,t,r,n):4===e.strategy||o===i?(x(e,2+ +!!n,3),I(e,f,p)):(x(e,4+ +!!n,3),function(e,t,r,n){var i;for(x(e,t-257,5),x(e,r-1,5),x(e,n-4,4),i=0;i>>8&255,e.pending_buf[e.d_buf+2*e.last_lit+1]=255&t,e.pending_buf[e.l_buf+e.last_lit]=255&r,e.last_lit++,0===t?e.dyn_ltree[2*r]++:(e.matches++,t--,e.dyn_ltree[(g[r]+256+1)*2]++,e.dyn_dtree[2*_(t)]++),e.last_lit===e.lit_bufsize-1},t._tr_align=function(e){x(e,2,3),S(e,256,f),16===e.bi_valid?(k(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)}},60206:(e,t,r)=>{"use strict";var n=r(61756);function i(e){n.call(this,e)}r(91349).inherits(i,n),i.prototype.readData=function(e){if(this.checkOffset(e),0===e)return new Uint8Array(0);var t=this.data.subarray(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},e.exports=i},60485:e=>{"use strict";e.exports=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}},61091:(e,t,r)=>{"use strict";var n=r(91349),i=r(25542);function o(e){i.call(this,"DataLengthProbe for "+e),this.propName=e,this.withStreamInfo(e,0)}n.inherits(o,i),o.prototype.processChunk=function(e){if(e){var t=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=t+e.data.length}i.prototype.processChunk.call(this,e)},e.exports=o},61756:(e,t,r)=>{"use strict";var n=r(26587);function i(e){n.call(this,e);for(var t=0;t=0;--o)if(this.data[o]===t&&this.data[o+1]===r&&this.data[o+2]===n&&this.data[o+3]===i)return o-this.zero;return -1},i.prototype.readAndCheckSignature=function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1),n=e.charCodeAt(2),i=e.charCodeAt(3),o=this.readData(4);return t===o[0]&&r===o[1]&&n===o[2]&&i===o[3]},i.prototype.readData=function(e){if(this.checkOffset(e),0===e)return[];var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},e.exports=i},61812:(e,t,r)=>{"use strict";function n(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0,t.Compiler=l,t.precompile=function(e,t,r){if(null==e||"string"!=typeof e&&"Program"!==e.type)throw new i.default("You must pass a string or Handlebars AST to Handlebars.precompile. You passed "+e);"data"in(t=t||{})||(t.data=!0),t.compat&&(t.useDepths=!0);var n=r.parse(e,t),o=new r.Compiler().compile(n,t);return new r.JavaScriptCompiler().compile(o,t)},t.compile=function(e,t,r){if(void 0===t&&(t={}),null==e||"string"!=typeof e&&"Program"!==e.type)throw new i.default("You must pass a string or Handlebars AST to Handlebars.compile. You passed "+e);"data"in(t=o.extend({},t))||(t.data=!0),t.compat&&(t.useDepths=!0);var n=void 0;function a(){var n=r.parse(e,t),i=new r.Compiler().compile(n,t),o=new r.JavaScriptCompiler().compile(i,t,void 0,!0);return r.template(o)}function s(e,t){return n||(n=a()),n.call(this,e,t)}return s._setup=function(e){return n||(n=a()),n._setup(e)},s._child=function(e,t,r,i){return n||(n=a()),n._child(e,t,r,i)},s};var i=n(r(49342)),o=r(62602),a=n(r(69861)),s=[].slice;function l(){}function c(e){if(!e.path.parts){var t=e.path;e.path={type:"PathExpression",data:!1,depth:0,parts:[t.original+""],original:t.original+"",loc:t.loc}}}l.prototype={compiler:l,equals:function(e){var t=this.opcodes.length;if(e.opcodes.length!==t)return!1;for(var r=0;r1)throw new i.default("Unsupported number of partial arguments: "+r.length,e);r.length||(this.options.explicitPartialContext?this.opcode("pushLiteral","undefined"):r.push({type:"PathExpression",parts:[],depth:0}));var n=e.name.original,o="SubExpression"===e.name.type;o&&this.accept(e.name),this.setupFullMustacheParams(e,t,void 0,!0);var a=e.indent||"";this.options.preventIndent&&a&&(this.opcode("appendContent",a),a=""),this.opcode("invokePartial",o,n,a),this.opcode("append")},PartialBlockStatement:function(e){this.PartialStatement(e)},MustacheStatement:function(e){this.SubExpression(e),e.escaped&&!this.options.noEscape?this.opcode("appendEscaped"):this.opcode("append")},Decorator:function(e){this.DecoratorBlock(e)},ContentStatement:function(e){e.value&&this.opcode("appendContent",e.value)},CommentStatement:function(){},SubExpression:function(e){c(e);var t=this.classifySexpr(e);"simple"===t?this.simpleSexpr(e):"helper"===t?this.helperSexpr(e):this.ambiguousSexpr(e)},ambiguousSexpr:function(e,t,r){var n=e.path,i=n.parts[0];this.opcode("getContext",n.depth),this.opcode("pushProgram",t),this.opcode("pushProgram",r),n.strict=!0,this.accept(n),this.opcode("invokeAmbiguous",i,null!=t||null!=r)},simpleSexpr:function(e){var t=e.path;t.strict=!0,this.accept(t),this.opcode("resolvePossibleLambda")},helperSexpr:function(e,t,r){var n=this.setupFullMustacheParams(e,t,r),o=e.path,s=o.parts[0];if(this.options.knownHelpers[s])this.opcode("invokeKnownHelper",n.length,s);else if(this.options.knownHelpersOnly)throw new i.default("You specified knownHelpersOnly, but used the unknown helper "+s,e);else o.strict=!0,o.falsy=!0,this.accept(o),this.opcode("invokeHelper",n.length,o.original,a.default.helpers.simpleId(o))},PathExpression:function(e){this.addDepth(e.depth),this.opcode("getContext",e.depth);var t=e.parts[0],r=a.default.helpers.scopedId(e),n=!e.depth&&!r&&this.blockParamIndex(t);n?this.opcode("lookupBlockParam",n,e.parts):t?e.data?(this.options.data=!0,this.opcode("lookupData",e.depth,e.parts,e.strict)):this.opcode("lookupOnContext",e.parts,e.falsy,e.strict,r):this.opcode("pushContext")},StringLiteral:function(e){this.opcode("pushString",e.value)},NumberLiteral:function(e){this.opcode("pushLiteral",e.value)},BooleanLiteral:function(e){this.opcode("pushLiteral",e.value)},UndefinedLiteral:function(){this.opcode("pushLiteral","undefined")},NullLiteral:function(){this.opcode("pushLiteral","null")},Hash:function(e){var t=e.pairs,r=0,n=t.length;for(this.opcode("pushHash");r=0)return[t,i]}}}},62602:(e,t)=>{"use strict";t.__esModule=!0,t.extend=a,t.indexOf=function(e,t){for(var r=0,n=e.length;r":">",'"':""","'":"'","`":"`","=":"="},n=/[&<>"'`=]/g,i=/[&<>"'`=]/;function o(e){return r[e]}function a(e){for(var t=1;t{"use strict";r.d(t,{A:()=>h});var n=r(43210);let i=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),o=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,r)=>r?r.toUpperCase():t.toLowerCase()),a=e=>{let t=o(e);return t.charAt(0).toUpperCase()+t.slice(1)},s=(...e)=>e.filter((e,t,r)=>!!e&&""!==e.trim()&&r.indexOf(e)===t).join(" ").trim(),l=e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0};var c={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let u=(0,n.forwardRef)(({color:e="currentColor",size:t=24,strokeWidth:r=2,absoluteStrokeWidth:i,className:o="",children:a,iconNode:u,...h},d)=>(0,n.createElement)("svg",{ref:d,...c,width:t,height:t,stroke:e,strokeWidth:i?24*Number(r)/Number(t):r,className:s("lucide",o),...!a&&!l(h)&&{"aria-hidden":"true"},...h},[...u.map(([e,t])=>(0,n.createElement)(e,t)),...Array.isArray(a)?a:[a]])),h=(e,t)=>{let r=(0,n.forwardRef)(({className:r,...o},l)=>(0,n.createElement)(u,{ref:l,iconNode:t,className:s(`lucide-${i(a(e))}`,`lucide-${e}`,r),...o}));return r.displayName=a(e),r}},62845:(e,t,r)=>{e.exports=r(27910)},63376:(e,t,r)=>{"use strict";r.d(t,{Eq:()=>u});var n=function(e){return"undefined"==typeof document?null:(Array.isArray(e)?e[0]:e).ownerDocument.body},i=new WeakMap,o=new WeakMap,a={},s=0,l=function(e){return e&&(e.host||l(e.parentNode))},c=function(e,t,r,n){var c=(Array.isArray(e)?e:[e]).map(function(e){if(t.contains(e))return e;var r=l(e);return r&&t.contains(r)?r:(console.error("aria-hidden",e,"in not contained inside",t,". Doing nothing"),null)}).filter(function(e){return!!e});a[r]||(a[r]=new WeakMap);var u=a[r],h=[],d=new Set,f=new Set(c),p=function(e){!e||d.has(e)||(d.add(e),p(e.parentNode))};c.forEach(p);var m=function(e){!e||f.has(e)||Array.prototype.forEach.call(e.children,function(e){if(d.has(e))m(e);else try{var t=e.getAttribute(n),a=null!==t&&"false"!==t,s=(i.get(e)||0)+1,l=(u.get(e)||0)+1;i.set(e,s),u.set(e,l),h.push(e),1===s&&a&&o.set(e,!0),1===l&&e.setAttribute(r,"true"),a||e.setAttribute(n,"true")}catch(t){console.error("aria-hidden: cannot operate on ",e,t)}})};return m(t),d.clear(),s++,function(){h.forEach(function(e){var t=i.get(e)-1,a=u.get(e)-1;i.set(e,t),u.set(e,a),t||(o.has(e)||e.removeAttribute(n),o.delete(e)),a||e.removeAttribute(r)}),--s||(i=new WeakMap,i=new WeakMap,o=new WeakMap,a={})}},u=function(e,t,r){void 0===r&&(r="data-aria-hidden");var i=Array.from(Array.isArray(e)?e:[e]),o=t||n(e);return o?(i.push.apply(i,Array.from(o.querySelectorAll("[aria-live], script"))),c(i,o,r,"aria-hidden")):function(){return null}}},64102:(e,t,r)=>{"use strict";function n(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0,t.registerDefaultHelpers=function(e){i.default(e),o.default(e),a.default(e),s.default(e),l.default(e),c.default(e),u.default(e)},t.moveHelperToHooks=function(e,t,r){e.helpers[t]&&(e.hooks[t]=e.helpers[t],r||delete e.helpers[t])};var i=n(r(38740)),o=n(r(93284)),a=n(r(88584)),s=n(r(2970)),l=n(r(74763)),c=n(r(10007)),u=n(r(99577))},64103:(e,t,r)=>{"use strict";var n,i,o=r(70206);e.exports=y;var a=r(28551);y.ReadableState=v,r(94735).EventEmitter;var s=function(e,t){return e.listeners(t).length},l=r(62845),c=r(7984).Buffer,u=("undefined"!=typeof global?global:"undefined"!=typeof window?window:"undefined"!=typeof self?self:{}).Uint8Array||function(){},h=Object.create(r(22751));h.inherits=r(70192);var d=r(28354),f=void 0;f=d&&d.debuglog?d.debuglog("stream"):function(){};var p=r(74583),m=r(71063);h.inherits(y,l);var g=["error","close","destroy","pause","resume"];function v(e,t){n=n||r(39837),e=e||{};var o=t instanceof n;this.objectMode=!!e.objectMode,o&&(this.objectMode=this.objectMode||!!e.readableObjectMode);var a=e.highWaterMark,s=e.readableHighWaterMark,l=this.objectMode?16:16384;a||0===a?this.highWaterMark=a:o&&(s||0===s)?this.highWaterMark=s:this.highWaterMark=l,this.highWaterMark=Math.floor(this.highWaterMark),this.buffer=new p,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(i||(i=r(46540).I),this.decoder=new i(e.encoding),this.encoding=e.encoding)}function y(e){if(n=n||r(39837),!(this instanceof y))return new y(e);this._readableState=new v(e,this),this.readable=!0,e&&("function"==typeof e.read&&(this._read=e.read),"function"==typeof e.destroy&&(this._destroy=e.destroy)),l.call(this)}function b(e,t,r,n,i){var o,a,s,l=e._readableState;return null===t?(l.reading=!1,function(e,t){if(!t.ended){if(t.decoder){var r=t.decoder.end();r&&r.length&&(t.buffer.push(r),t.length+=t.objectMode?1:r.length)}t.ended=!0,k(e)}}(e,l)):(i||(s=function(e,t){var r;return c.isBuffer(t)||t instanceof u||"string"==typeof t||void 0===t||e.objectMode||(r=TypeError("Invalid non-string/buffer chunk")),r}(l,t)),s)?e.emit("error",s):l.objectMode||t&&t.length>0?("string"==typeof t||l.objectMode||Object.getPrototypeOf(t)===c.prototype||(a=t,t=c.from(a)),n?l.endEmitted?e.emit("error",Error("stream.unshift() after end event")):w(e,l,t,!0):l.ended?e.emit("error",Error("stream.push() after EOF")):(l.reading=!1,l.decoder&&!r?(t=l.decoder.write(t),l.objectMode||0!==t.length?w(e,l,t,!1):S(e,l)):w(e,l,t,!1))):n||(l.reading=!1),!(o=l).ended&&(o.needReadable||o.lengtht.highWaterMark&&((r=e)>=8388608?r=8388608:(r--,r|=r>>>1,r|=r>>>2,r|=r>>>4,r|=r>>>8,r|=r>>>16,r++),t.highWaterMark=r),e<=t.length)?e:t.ended?t.length:(t.needReadable=!0,0)}function k(e){var t=e._readableState;t.needReadable=!1,t.emittedReadable||(f("emitReadable",t.flowing),t.emittedReadable=!0,t.sync?o.nextTick(x,e):x(e))}function x(e){f("emit readable"),e.emit("readable"),A(e)}function S(e,t){t.readingMore||(t.readingMore=!0,o.nextTick(E,e,t))}function E(e,t){for(var r=t.length;!t.reading&&!t.flowing&&!t.ended&&t.length=t.length?(r=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.head.data:t.buffer.concat(t.length),t.buffer.clear()):(n=e,i=t.buffer,o=t.decoder,no.length?o.length:e;if(a===o.length?i+=o:i+=o.slice(0,e),0==(e-=a)){a===o.length?(++n,r.next?t.head=r.next:t.head=t.tail=null):(t.head=r,r.data=o.slice(a));break}++n}return t.length-=n,i}(n,i):function(e,t){var r=c.allocUnsafe(e),n=t.head,i=1;for(n.data.copy(r),e-=n.data.length;n=n.next;){var o=n.data,a=e>o.length?o.length:e;if(o.copy(r,r.length-e,0,a),0==(e-=a)){a===o.length?(++i,n.next?t.head=n.next:t.head=t.tail=null):(t.head=n,n.data=o.slice(a));break}++i}return t.length-=i,r}(n,i),r=a),r)}function R(e){var t=e._readableState;if(t.length>0)throw Error('"endReadable()" called on non-empty stream');t.endEmitted||(t.ended=!0,o.nextTick(I,t,e))}function I(e,t){e.endEmitted||0!==e.length||(e.endEmitted=!0,t.readable=!1,t.emit("end"))}function N(e,t){for(var r=0,n=e.length;r=r.highWaterMark||r.ended))return f("read: emitReadable",r.length,r.ended),0===r.length&&r.ended?R(this):k(this),null;if(0===(e=_(e,r))&&r.ended)return 0===r.length&&R(this),null;var i=r.needReadable;return f("need readable",i),(0===r.length||r.length-e0?O(e,r):null)?(r.needReadable=!0,e=0):r.length-=e,0===r.length&&(r.ended||(r.needReadable=!0),n!==e&&r.ended&&R(this)),null!==t&&this.emit("data",t),t},y.prototype._read=function(e){this.emit("error",Error("_read() is not implemented"))},y.prototype.pipe=function(e,t){var r,n=this,i=this._readableState;switch(i.pipesCount){case 0:i.pipes=e;break;case 1:i.pipes=[i.pipes,e];break;default:i.pipes.push(e)}i.pipesCount+=1,f("pipe count=%d opts=%j",i.pipesCount,t);var l=t&&!1===t.end||e===process.stdout||e===process.stderr?y:c;function c(){f("onend"),e.end()}i.endEmitted?o.nextTick(l):n.once("end",l),e.on("unpipe",function t(r,o){f("onunpipe"),r===n&&o&&!1===o.hasUnpiped&&(o.hasUnpiped=!0,f("cleanup"),e.removeListener("close",g),e.removeListener("finish",v),e.removeListener("drain",u),e.removeListener("error",m),e.removeListener("unpipe",t),n.removeListener("end",c),n.removeListener("end",y),n.removeListener("data",p),h=!0,i.awaitDrain&&(!e._writableState||e._writableState.needDrain)&&u())});var u=(r=n,function(){var e=r._readableState;f("pipeOnDrain",e.awaitDrain),e.awaitDrain&&e.awaitDrain--,0===e.awaitDrain&&s(r,"data")&&(e.flowing=!0,A(r))});e.on("drain",u);var h=!1,d=!1;function p(t){f("ondata"),d=!1,!1!==e.write(t)||d||((1===i.pipesCount&&i.pipes===e||i.pipesCount>1&&-1!==N(i.pipes,e))&&!h&&(f("false write response, pause",i.awaitDrain),i.awaitDrain++,d=!0),n.pause())}function m(t){f("onerror",t),y(),e.removeListener("error",m),0===s(e,"error")&&e.emit("error",t)}function g(){e.removeListener("finish",v),y()}function v(){f("onfinish"),e.removeListener("close",g),y()}function y(){f("unpipe"),n.unpipe(e)}return n.on("data",p),!function(e,t,r){if("function"==typeof e.prependListener)return e.prependListener(t,r);e._events&&e._events[t]?a(e._events[t])?e._events[t].unshift(r):e._events[t]=[r,e._events[t]]:e.on(t,r)}(e,"error",m),e.once("close",g),e.once("finish",v),e.emit("pipe",n),i.flowing||(f("pipe resume"),n.resume()),e},y.prototype.unpipe=function(e){var t=this._readableState,r={hasUnpiped:!1};if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes||(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,r)),this;if(!e){var n=t.pipes,i=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var o=0;o{"use strict";t.__esModule=!0;var n=function(e){return e&&e.__esModule?e:{default:e}}(r(49342));function i(){this.parents=[]}function o(e){this.acceptRequired(e,"path"),this.acceptArray(e.params),this.acceptKey(e,"hash")}function a(e){o.call(this,e),this.acceptKey(e,"program"),this.acceptKey(e,"inverse")}function s(e){this.acceptRequired(e,"name"),this.acceptArray(e.params),this.acceptKey(e,"hash")}i.prototype={constructor:i,mutating:!1,acceptKey:function(e,t){var r=this.accept(e[t]);if(this.mutating){if(r&&!i.prototype[r.type])throw new n.default('Unexpected node type "'+r.type+'" found when accepting '+t+" on "+e.type);e[t]=r}},acceptRequired:function(e,t){if(this.acceptKey(e,t),!e[t])throw new n.default(e.type+" requires "+t)},acceptArray:function(e){for(var t=0,r=e.length;t{"use strict";r.d(t,{i:()=>s});var n,i=r(43210),o=r(66156),a=(n||(n=r.t(i,2)))[" useInsertionEffect ".trim().toString()]||o.N;function s({prop:e,defaultProp:t,onChange:r=()=>{},caller:n}){let[o,s,l]=function({defaultProp:e,onChange:t}){let[r,n]=i.useState(e),o=i.useRef(r),s=i.useRef(t);return a(()=>{s.current=t},[t]),i.useEffect(()=>{o.current!==r&&(s.current?.(r),o.current=r)},[r,o]),[r,n,s]}({defaultProp:t,onChange:r}),c=void 0!==e,u=c?e:o;{let t=i.useRef(void 0!==e);i.useEffect(()=>{let e=t.current;if(e!==c){let t=c?"controlled":"uncontrolled";console.warn(`${n} is changing from ${e?"controlled":"uncontrolled"} to ${t}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`)}t.current=c},[c,n])}return[u,i.useCallback(t=>{if(c){let r="function"==typeof t?t(e):t;r!==e&&l.current?.(r)}else s(t)},[c,e,s,l])]}Symbol("RADIX:SYNC_STATE")},66156:(e,t,r)=>{"use strict";r.d(t,{N:()=>i});var n=r(43210),i=globalThis?.document?n.useLayoutEffect:()=>{}},66371:(e,t,r)=>{"use strict";var n=r(91349),i=function(){for(var e,t=[],r=0;r<256;r++){e=r;for(var n=0;n<8;n++)e=1&e?0xedb88320^e>>>1:e>>>1;t[r]=e}return t}();e.exports=function(e,t){return void 0!==e&&e.length?"string"!==n.getTypeOf(e)?function(e,t,r,n){var o=0+r;e^=-1;for(var a=0;a>>8^i[(e^t[a])&255];return -1^e}(0|t,e,e.length,0):function(e,t,r,n){var o=0+r;e^=-1;for(var a=0;a>>8^i[(e^t.charCodeAt(a))&255];return -1^e}(0|t,e,e.length,0):0}},68475:(e,t,r)=>{"use strict";var n=r(96148),i=r(91349),o=r(46390),a=r(21927),s=r(20759);function l(e){this.files=[],this.loadOptions=e}l.prototype={checkSignature:function(e){if(!this.reader.readAndCheckSignature(e)){this.reader.index-=4;var t=this.reader.readString(4);throw Error("Corrupted zip or bug: unexpected signature ("+i.pretty(t)+", expected "+i.pretty(e)+")")}},isSignature:function(e,t){var r=this.reader.index;this.reader.setIndex(e);var n=this.reader.readString(4);return this.reader.setIndex(r),n===t},readBlockEndOfCentral:function(){this.diskNumber=this.reader.readInt(2),this.diskWithCentralDirStart=this.reader.readInt(2),this.centralDirRecordsOnThisDisk=this.reader.readInt(2),this.centralDirRecords=this.reader.readInt(2),this.centralDirSize=this.reader.readInt(4),this.centralDirOffset=this.reader.readInt(4),this.zipCommentLength=this.reader.readInt(2);var e=this.reader.readData(this.zipCommentLength),t=s.uint8array?"uint8array":"array",r=i.transformTo(t,e);this.zipComment=this.loadOptions.decodeFileName(r)},readBlockZip64EndOfCentral:function(){this.zip64EndOfCentralSize=this.reader.readInt(8),this.reader.skip(4),this.diskNumber=this.reader.readInt(4),this.diskWithCentralDirStart=this.reader.readInt(4),this.centralDirRecordsOnThisDisk=this.reader.readInt(8),this.centralDirRecords=this.reader.readInt(8),this.centralDirSize=this.reader.readInt(8),this.centralDirOffset=this.reader.readInt(8),this.zip64ExtensibleData={};for(var e,t,r,n=this.zip64EndOfCentralSize-44;01)throw Error("Multi-volumes zip are not supported")},readLocalFiles:function(){var e,t;for(e=0;e0)this.isSignature(t,o.CENTRAL_FILE_HEADER)||(this.reader.zero=n);else if(n<0)throw Error("Corrupted zip: missing "+Math.abs(n)+" bytes.")},prepareReader:function(e){this.reader=n(e)},load:function(e){this.prepareReader(e),this.readEndOfCentral(),this.readCentralDir(),this.readLocalFiles()}},e.exports=l},69024:(e,t,r)=>{"use strict";r.d(t,{Qg:()=>a,bL:()=>l});var n=r(43210),i=r(14163),o=r(60687),a=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),s=n.forwardRef((e,t)=>(0,o.jsx)(i.sG.span,{...e,ref:t,style:{...a,...e.style}}));s.displayName="VisuallyHidden";var l=s},69462:(e,t,r)=>{"use strict";var n="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Uint32Array,i=r(15031),o=r(91349),a=r(25542),s=n?"uint8array":"array";function l(e,t){a.call(this,"FlateWorker/"+e),this._pako=null,this._pakoAction=e,this._pakoOptions=t,this.meta={}}t.magic="\b\0",o.inherits(l,a),l.prototype.processChunk=function(e){this.meta=e.meta,null===this._pako&&this._createPako(),this._pako.push(o.transformTo(s,e.data),!1)},l.prototype.flush=function(){a.prototype.flush.call(this),null===this._pako&&this._createPako(),this._pako.push([],!0)},l.prototype.cleanUp=function(){a.prototype.cleanUp.call(this),this._pako=null},l.prototype._createPako=function(){this._pako=new i[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var e=this;this._pako.onData=function(t){e.push({data:t,meta:e.meta})}},t.compressWorker=function(e){return new l("Deflate",e)},t.uncompressWorker=function(){return new l("Inflate",{})}},69861:(e,t)=>{"use strict";t.__esModule=!0;var r={helpers:{helperExpression:function(e){return"SubExpression"===e.type||("MustacheStatement"===e.type||"BlockStatement"===e.type)&&!!(e.params&&e.params.length||e.hash)},scopedId:function(e){return/^\.|this\b/.test(e.original)},simpleId:function(e){return 1===e.parts.length&&!r.helpers.scopedId(e)&&!e.depth}}};t.default=r,e.exports=t.default},70192:(e,t,r)=>{try{var n=r(28354);if("function"!=typeof n.inherits)throw"";e.exports=n.inherits}catch(t){e.exports=r(20511)}},70206:e=>{"use strict";"undefined"!=typeof process&&process.version&&0!==process.version.indexOf("v0.")&&(0!==process.version.indexOf("v1.")||0===process.version.indexOf("v1.8."))?e.exports=process:e.exports={nextTick:function(e,t,r,n){if("function"!=typeof e)throw TypeError('"callback" argument must be a function');var i,o,a=arguments.length;switch(a){case 0:case 1:return process.nextTick(e);case 2:return process.nextTick(function(){e.call(null,t)});case 3:return process.nextTick(function(){e.call(null,t,r)});case 4:return process.nextTick(function(){e.call(null,t,r,n)});default:for(i=Array(a-1),o=0;o{"use strict";r.d(t,{mK:()=>i});var n=!!("undefined"!=typeof window&&window.document&&window.document.createElement);function i(e,t,{checkForDefaultPrevented:r=!0}={}){return function(n){if(e?.(n),!1===r||!n.defaultPrevented)return t?.(n)}}},70722:(e,t,r)=>{"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function i(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}t.__esModule=!0;var o=i(r(14266)),a=n(r(85966)),s=n(r(49342)),l=i(r(62602)),c=i(r(58247)),u=n(r(35911));function h(){var e=new o.HandlebarsEnvironment;return l.extend(e,o),e.SafeString=a.default,e.Exception=s.default,e.Utils=l,e.escapeExpression=l.escapeExpression,e.VM=c,e.template=function(t){return c.template(t,e)},e}var d=h();d.create=h,u.default(d),d.default=d,t.default=d,e.exports=t.default},71063:(e,t,r)=>{"use strict";var n=r(70206);function i(e,t){e.emit("error",t)}e.exports={destroy:function(e,t){var r=this,o=this._readableState&&this._readableState.destroyed,a=this._writableState&&this._writableState.destroyed;return o||a?t?t(e):e&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,n.nextTick(i,this,e)):n.nextTick(i,this,e)):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(e||null,function(e){!t&&e?r._writableState?r._writableState.errorEmitted||(r._writableState.errorEmitted=!0,n.nextTick(i,r,e)):n.nextTick(i,r,e):t&&t(e)})),this},undestroy:function(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}}},71907:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(62602),i=void 0;function o(e,t,r){if(n.isArray(e)){for(var i=[],o=0,a=e.length;o{"use strict";global.MutationObserver||global.WebKitMutationObserver;var t,r=function(){process.nextTick(i)},n=[];function i(){t=!0;for(var e,r,i=n.length;i;){for(r=n,n=[],e=-1;++e{"use strict";r.d(t,{UC:()=>eT,YJ:()=>eB,In:()=>eN,q7:()=>ej,VF:()=>eF,p4:()=>ez,JU:()=>eD,ZL:()=>eL,bL:()=>eO,wn:()=>eH,PP:()=>eU,l9:()=>eR,WT:()=>eI,LM:()=>eM});var n=r(43210),i=r(51215);function o(e,[t,r]){return Math.min(r,Math.max(t,e))}var a=r(70569),s=r(9510),l=r(98599),c=r(11273),u=r(43),h=r(31355),d=r(1359),f=r(32547),p=r(96963),m=r(55509),g=r(25028),v=r(14163),y=r(8730),b=r(13495),w=r(65551),_=r(66156),k=r(83721),x=r(69024),S=r(63376),E=r(42247),C=r(60687),P=[" ","Enter","ArrowUp","ArrowDown"],A=[" ","Enter"],O="Select",[R,I,N]=(0,s.N)(O),[L,T]=(0,c.A)(O,[N,m.Bk]),M=(0,m.Bk)(),[B,D]=L(O),[j,z]=L(O),F=e=>{let{__scopeSelect:t,children:r,open:i,defaultOpen:o,onOpenChange:a,value:s,defaultValue:l,onValueChange:c,dir:h,name:d,autoComplete:f,disabled:g,required:v,form:y}=e,b=M(t),[_,k]=n.useState(null),[x,S]=n.useState(null),[E,P]=n.useState(!1),A=(0,u.jH)(h),[I,N]=(0,w.i)({prop:i,defaultProp:o??!1,onChange:a,caller:O}),[L,T]=(0,w.i)({prop:s,defaultProp:l,onChange:c,caller:O}),D=n.useRef(null),z=!_||y||!!_.closest("form"),[F,U]=n.useState(new Set),H=Array.from(F).map(e=>e.props.value).join(";");return(0,C.jsx)(m.bL,{...b,children:(0,C.jsxs)(B,{required:v,scope:t,trigger:_,onTriggerChange:k,valueNode:x,onValueNodeChange:S,valueNodeHasChildren:E,onValueNodeHasChildrenChange:P,contentId:(0,p.B)(),value:L,onValueChange:T,open:I,onOpenChange:N,dir:A,triggerPointerDownPosRef:D,disabled:g,children:[(0,C.jsx)(R.Provider,{scope:t,children:(0,C.jsx)(j,{scope:e.__scopeSelect,onNativeOptionAdd:n.useCallback(e=>{U(t=>new Set(t).add(e))},[]),onNativeOptionRemove:n.useCallback(e=>{U(t=>{let r=new Set(t);return r.delete(e),r})},[]),children:r})}),z?(0,C.jsxs)(eE,{"aria-hidden":!0,required:v,tabIndex:-1,name:d,autoComplete:f,value:L,onChange:e=>T(e.target.value),disabled:g,form:y,children:[void 0===L?(0,C.jsx)("option",{value:""}):null,Array.from(F)]},H):null]})})};F.displayName=O;var U="SelectTrigger",H=n.forwardRef((e,t)=>{let{__scopeSelect:r,disabled:i=!1,...o}=e,s=M(r),c=D(U,r),u=c.disabled||i,h=(0,l.s)(t,c.onTriggerChange),d=I(r),f=n.useRef("touch"),[p,g,y]=eP(e=>{let t=d().filter(e=>!e.disabled),r=t.find(e=>e.value===c.value),n=eA(t,e,r);void 0!==n&&c.onValueChange(n.value)}),b=e=>{u||(c.onOpenChange(!0),y()),e&&(c.triggerPointerDownPosRef.current={x:Math.round(e.pageX),y:Math.round(e.pageY)})};return(0,C.jsx)(m.Mz,{asChild:!0,...s,children:(0,C.jsx)(v.sG.button,{type:"button",role:"combobox","aria-controls":c.contentId,"aria-expanded":c.open,"aria-required":c.required,"aria-autocomplete":"none",dir:c.dir,"data-state":c.open?"open":"closed",disabled:u,"data-disabled":u?"":void 0,"data-placeholder":eC(c.value)?"":void 0,...o,ref:h,onClick:(0,a.mK)(o.onClick,e=>{e.currentTarget.focus(),"mouse"!==f.current&&b(e)}),onPointerDown:(0,a.mK)(o.onPointerDown,e=>{f.current=e.pointerType;let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),0===e.button&&!1===e.ctrlKey&&"mouse"===e.pointerType&&(b(e),e.preventDefault())}),onKeyDown:(0,a.mK)(o.onKeyDown,e=>{let t=""!==p.current;e.ctrlKey||e.altKey||e.metaKey||1!==e.key.length||g(e.key),(!t||" "!==e.key)&&P.includes(e.key)&&(b(),e.preventDefault())})})})});H.displayName=U;var W="SelectValue",$=n.forwardRef((e,t)=>{let{__scopeSelect:r,className:n,style:i,children:o,placeholder:a="",...s}=e,c=D(W,r),{onValueNodeHasChildrenChange:u}=c,h=void 0!==o,d=(0,l.s)(t,c.onValueNodeChange);return(0,_.N)(()=>{u(h)},[u,h]),(0,C.jsx)(v.sG.span,{...s,ref:d,style:{pointerEvents:"none"},children:eC(c.value)?(0,C.jsx)(C.Fragment,{children:a}):o})});$.displayName=W;var K=n.forwardRef((e,t)=>{let{__scopeSelect:r,children:n,...i}=e;return(0,C.jsx)(v.sG.span,{"aria-hidden":!0,...i,ref:t,children:n||"▼"})});K.displayName="SelectIcon";var Z=e=>(0,C.jsx)(g.Z,{asChild:!0,...e});Z.displayName="SelectPortal";var V="SelectContent",q=n.forwardRef((e,t)=>{let r=D(V,e.__scopeSelect),[o,a]=n.useState();return((0,_.N)(()=>{a(new DocumentFragment)},[]),r.open)?(0,C.jsx)(J,{...e,ref:t}):o?i.createPortal((0,C.jsx)(G,{scope:e.__scopeSelect,children:(0,C.jsx)(R.Slot,{scope:e.__scopeSelect,children:(0,C.jsx)("div",{children:e.children})})}),o):null});q.displayName=V;var[G,Y]=L(V),X=(0,y.TL)("SelectContent.RemoveScroll"),J=n.forwardRef((e,t)=>{let{__scopeSelect:r,position:i="item-aligned",onCloseAutoFocus:o,onEscapeKeyDown:s,onPointerDownOutside:c,side:u,sideOffset:p,align:m,alignOffset:g,arrowPadding:v,collisionBoundary:y,collisionPadding:b,sticky:w,hideWhenDetached:_,avoidCollisions:k,...x}=e,P=D(V,r),[A,O]=n.useState(null),[R,N]=n.useState(null),L=(0,l.s)(t,e=>O(e)),[T,M]=n.useState(null),[B,j]=n.useState(null),z=I(r),[F,U]=n.useState(!1),H=n.useRef(!1);n.useEffect(()=>{if(A)return(0,S.Eq)(A)},[A]),(0,d.Oh)();let W=n.useCallback(e=>{let[t,...r]=z().map(e=>e.ref.current),[n]=r.slice(-1),i=document.activeElement;for(let r of e)if(r===i||(r?.scrollIntoView({block:"nearest"}),r===t&&R&&(R.scrollTop=0),r===n&&R&&(R.scrollTop=R.scrollHeight),r?.focus(),document.activeElement!==i))return},[z,R]),$=n.useCallback(()=>W([T,A]),[W,T,A]);n.useEffect(()=>{F&&$()},[F,$]);let{onOpenChange:K,triggerPointerDownPosRef:Z}=P;n.useEffect(()=>{if(A){let e={x:0,y:0},t=t=>{e={x:Math.abs(Math.round(t.pageX)-(Z.current?.x??0)),y:Math.abs(Math.round(t.pageY)-(Z.current?.y??0))}},r=r=>{e.x<=10&&e.y<=10?r.preventDefault():A.contains(r.target)||K(!1),document.removeEventListener("pointermove",t),Z.current=null};return null!==Z.current&&(document.addEventListener("pointermove",t),document.addEventListener("pointerup",r,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",t),document.removeEventListener("pointerup",r,{capture:!0})}}},[A,K,Z]),n.useEffect(()=>{let e=()=>K(!1);return window.addEventListener("blur",e),window.addEventListener("resize",e),()=>{window.removeEventListener("blur",e),window.removeEventListener("resize",e)}},[K]);let[q,Y]=eP(e=>{let t=z().filter(e=>!e.disabled),r=t.find(e=>e.ref.current===document.activeElement),n=eA(t,e,r);n&&setTimeout(()=>n.ref.current.focus())}),J=n.useCallback((e,t,r)=>{let n=!H.current&&!r;(void 0!==P.value&&P.value===t||n)&&(M(e),n&&(H.current=!0))},[P.value]),et=n.useCallback(()=>A?.focus(),[A]),er=n.useCallback((e,t,r)=>{let n=!H.current&&!r;(void 0!==P.value&&P.value===t||n)&&j(e)},[P.value]),en="popper"===i?ee:Q,ei=en===ee?{side:u,sideOffset:p,align:m,alignOffset:g,arrowPadding:v,collisionBoundary:y,collisionPadding:b,sticky:w,hideWhenDetached:_,avoidCollisions:k}:{};return(0,C.jsx)(G,{scope:r,content:A,viewport:R,onViewportChange:N,itemRefCallback:J,selectedItem:T,onItemLeave:et,itemTextRefCallback:er,focusSelectedItem:$,selectedItemText:B,position:i,isPositioned:F,searchRef:q,children:(0,C.jsx)(E.A,{as:X,allowPinchZoom:!0,children:(0,C.jsx)(f.n,{asChild:!0,trapped:P.open,onMountAutoFocus:e=>{e.preventDefault()},onUnmountAutoFocus:(0,a.mK)(o,e=>{P.trigger?.focus({preventScroll:!0}),e.preventDefault()}),children:(0,C.jsx)(h.qW,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:s,onPointerDownOutside:c,onFocusOutside:e=>e.preventDefault(),onDismiss:()=>P.onOpenChange(!1),children:(0,C.jsx)(en,{role:"listbox",id:P.contentId,"data-state":P.open?"open":"closed",dir:P.dir,onContextMenu:e=>e.preventDefault(),...x,...ei,onPlaced:()=>U(!0),ref:L,style:{display:"flex",flexDirection:"column",outline:"none",...x.style},onKeyDown:(0,a.mK)(x.onKeyDown,e=>{let t=e.ctrlKey||e.altKey||e.metaKey;if("Tab"===e.key&&e.preventDefault(),t||1!==e.key.length||Y(e.key),["ArrowUp","ArrowDown","Home","End"].includes(e.key)){let t=z().filter(e=>!e.disabled).map(e=>e.ref.current);if(["ArrowUp","End"].includes(e.key)&&(t=t.slice().reverse()),["ArrowUp","ArrowDown"].includes(e.key)){let r=e.target,n=t.indexOf(r);t=t.slice(n+1)}setTimeout(()=>W(t)),e.preventDefault()}})})})})})})});J.displayName="SelectContentImpl";var Q=n.forwardRef((e,t)=>{let{__scopeSelect:r,onPlaced:i,...a}=e,s=D(V,r),c=Y(V,r),[u,h]=n.useState(null),[d,f]=n.useState(null),p=(0,l.s)(t,e=>f(e)),m=I(r),g=n.useRef(!1),y=n.useRef(!0),{viewport:b,selectedItem:w,selectedItemText:k,focusSelectedItem:x}=c,S=n.useCallback(()=>{if(s.trigger&&s.valueNode&&u&&d&&b&&w&&k){let e=s.trigger.getBoundingClientRect(),t=d.getBoundingClientRect(),r=s.valueNode.getBoundingClientRect(),n=k.getBoundingClientRect();if("rtl"!==s.dir){let i=n.left-t.left,a=r.left-i,s=e.left-a,l=e.width+s,c=Math.max(l,t.width),h=o(a,[10,Math.max(10,window.innerWidth-10-c)]);u.style.minWidth=l+"px",u.style.left=h+"px"}else{let i=t.right-n.right,a=window.innerWidth-r.right-i,s=window.innerWidth-e.right-a,l=e.width+s,c=Math.max(l,t.width),h=o(a,[10,Math.max(10,window.innerWidth-10-c)]);u.style.minWidth=l+"px",u.style.right=h+"px"}let a=m(),l=window.innerHeight-20,c=b.scrollHeight,h=window.getComputedStyle(d),f=parseInt(h.borderTopWidth,10),p=parseInt(h.paddingTop,10),v=parseInt(h.borderBottomWidth,10),y=f+p+c+parseInt(h.paddingBottom,10)+v,_=Math.min(5*w.offsetHeight,y),x=window.getComputedStyle(b),S=parseInt(x.paddingTop,10),E=parseInt(x.paddingBottom,10),C=e.top+e.height/2-10,P=w.offsetHeight/2,A=f+p+(w.offsetTop+P);if(A<=C){let e=a.length>0&&w===a[a.length-1].ref.current;u.style.bottom="0px";let t=Math.max(l-C,P+(e?E:0)+(d.clientHeight-b.offsetTop-b.offsetHeight)+v);u.style.height=A+t+"px"}else{let e=a.length>0&&w===a[0].ref.current;u.style.top="0px";let t=Math.max(C,f+b.offsetTop+(e?S:0)+P);u.style.height=t+(y-A)+"px",b.scrollTop=A-C+b.offsetTop}u.style.margin="10px 0",u.style.minHeight=_+"px",u.style.maxHeight=l+"px",i?.(),requestAnimationFrame(()=>g.current=!0)}},[m,s.trigger,s.valueNode,u,d,b,w,k,s.dir,i]);(0,_.N)(()=>S(),[S]);let[E,P]=n.useState();(0,_.N)(()=>{d&&P(window.getComputedStyle(d).zIndex)},[d]);let A=n.useCallback(e=>{e&&!0===y.current&&(S(),x?.(),y.current=!1)},[S,x]);return(0,C.jsx)(et,{scope:r,contentWrapper:u,shouldExpandOnScrollRef:g,onScrollButtonChange:A,children:(0,C.jsx)("div",{ref:h,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:E},children:(0,C.jsx)(v.sG.div,{...a,ref:p,style:{boxSizing:"border-box",maxHeight:"100%",...a.style}})})})});Q.displayName="SelectItemAlignedPosition";var ee=n.forwardRef((e,t)=>{let{__scopeSelect:r,align:n="start",collisionPadding:i=10,...o}=e,a=M(r);return(0,C.jsx)(m.UC,{...a,...o,ref:t,align:n,collisionPadding:i,style:{boxSizing:"border-box",...o.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});ee.displayName="SelectPopperPosition";var[et,er]=L(V,{}),en="SelectViewport",ei=n.forwardRef((e,t)=>{let{__scopeSelect:r,nonce:i,...o}=e,s=Y(en,r),c=er(en,r),u=(0,l.s)(t,s.onViewportChange),h=n.useRef(0);return(0,C.jsxs)(C.Fragment,{children:[(0,C.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:i}),(0,C.jsx)(R.Slot,{scope:r,children:(0,C.jsx)(v.sG.div,{"data-radix-select-viewport":"",role:"presentation",...o,ref:u,style:{position:"relative",flex:1,overflow:"hidden auto",...o.style},onScroll:(0,a.mK)(o.onScroll,e=>{let t=e.currentTarget,{contentWrapper:r,shouldExpandOnScrollRef:n}=c;if(n?.current&&r){let e=Math.abs(h.current-t.scrollTop);if(e>0){let n=window.innerHeight-20,i=Math.max(parseFloat(r.style.minHeight),parseFloat(r.style.height));if(i0?s:0,r.style.justifyContent="flex-end")}}}h.current=t.scrollTop})})})]})});ei.displayName=en;var eo="SelectGroup",[ea,es]=L(eo),el=n.forwardRef((e,t)=>{let{__scopeSelect:r,...n}=e,i=(0,p.B)();return(0,C.jsx)(ea,{scope:r,id:i,children:(0,C.jsx)(v.sG.div,{role:"group","aria-labelledby":i,...n,ref:t})})});el.displayName=eo;var ec="SelectLabel",eu=n.forwardRef((e,t)=>{let{__scopeSelect:r,...n}=e,i=es(ec,r);return(0,C.jsx)(v.sG.div,{id:i.id,...n,ref:t})});eu.displayName=ec;var eh="SelectItem",[ed,ef]=L(eh),ep=n.forwardRef((e,t)=>{let{__scopeSelect:r,value:i,disabled:o=!1,textValue:s,...c}=e,u=D(eh,r),h=Y(eh,r),d=u.value===i,[f,m]=n.useState(s??""),[g,y]=n.useState(!1),b=(0,l.s)(t,e=>h.itemRefCallback?.(e,i,o)),w=(0,p.B)(),_=n.useRef("touch"),k=()=>{o||(u.onValueChange(i),u.onOpenChange(!1))};if(""===i)throw Error("A must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return(0,C.jsx)(ed,{scope:r,value:i,disabled:o,textId:w,isSelected:d,onItemTextChange:n.useCallback(e=>{m(t=>t||(e?.textContent??"").trim())},[]),children:(0,C.jsx)(R.ItemSlot,{scope:r,value:i,disabled:o,textValue:f,children:(0,C.jsx)(v.sG.div,{role:"option","aria-labelledby":w,"data-highlighted":g?"":void 0,"aria-selected":d&&g,"data-state":d?"checked":"unchecked","aria-disabled":o||void 0,"data-disabled":o?"":void 0,tabIndex:o?void 0:-1,...c,ref:b,onFocus:(0,a.mK)(c.onFocus,()=>y(!0)),onBlur:(0,a.mK)(c.onBlur,()=>y(!1)),onClick:(0,a.mK)(c.onClick,()=>{"mouse"!==_.current&&k()}),onPointerUp:(0,a.mK)(c.onPointerUp,()=>{"mouse"===_.current&&k()}),onPointerDown:(0,a.mK)(c.onPointerDown,e=>{_.current=e.pointerType}),onPointerMove:(0,a.mK)(c.onPointerMove,e=>{_.current=e.pointerType,o?h.onItemLeave?.():"mouse"===_.current&&e.currentTarget.focus({preventScroll:!0})}),onPointerLeave:(0,a.mK)(c.onPointerLeave,e=>{e.currentTarget===document.activeElement&&h.onItemLeave?.()}),onKeyDown:(0,a.mK)(c.onKeyDown,e=>{(h.searchRef?.current===""||" "!==e.key)&&(A.includes(e.key)&&k()," "===e.key&&e.preventDefault())})})})})});ep.displayName=eh;var em="SelectItemText",eg=n.forwardRef((e,t)=>{let{__scopeSelect:r,className:o,style:a,...s}=e,c=D(em,r),u=Y(em,r),h=ef(em,r),d=z(em,r),[f,p]=n.useState(null),m=(0,l.s)(t,e=>p(e),h.onItemTextChange,e=>u.itemTextRefCallback?.(e,h.value,h.disabled)),g=f?.textContent,y=n.useMemo(()=>(0,C.jsx)("option",{value:h.value,disabled:h.disabled,children:g},h.value),[h.disabled,h.value,g]),{onNativeOptionAdd:b,onNativeOptionRemove:w}=d;return(0,_.N)(()=>(b(y),()=>w(y)),[b,w,y]),(0,C.jsxs)(C.Fragment,{children:[(0,C.jsx)(v.sG.span,{id:h.textId,...s,ref:m}),h.isSelected&&c.valueNode&&!c.valueNodeHasChildren?i.createPortal(s.children,c.valueNode):null]})});eg.displayName=em;var ev="SelectItemIndicator",ey=n.forwardRef((e,t)=>{let{__scopeSelect:r,...n}=e;return ef(ev,r).isSelected?(0,C.jsx)(v.sG.span,{"aria-hidden":!0,...n,ref:t}):null});ey.displayName=ev;var eb="SelectScrollUpButton",ew=n.forwardRef((e,t)=>{let r=Y(eb,e.__scopeSelect),i=er(eb,e.__scopeSelect),[o,a]=n.useState(!1),s=(0,l.s)(t,i.onScrollButtonChange);return(0,_.N)(()=>{if(r.viewport&&r.isPositioned){let e=function(){a(t.scrollTop>0)},t=r.viewport;return e(),t.addEventListener("scroll",e),()=>t.removeEventListener("scroll",e)}},[r.viewport,r.isPositioned]),o?(0,C.jsx)(ex,{...e,ref:s,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=r;e&&t&&(e.scrollTop=e.scrollTop-t.offsetHeight)}}):null});ew.displayName=eb;var e_="SelectScrollDownButton",ek=n.forwardRef((e,t)=>{let r=Y(e_,e.__scopeSelect),i=er(e_,e.__scopeSelect),[o,a]=n.useState(!1),s=(0,l.s)(t,i.onScrollButtonChange);return(0,_.N)(()=>{if(r.viewport&&r.isPositioned){let e=function(){let e=t.scrollHeight-t.clientHeight;a(Math.ceil(t.scrollTop)t.removeEventListener("scroll",e)}},[r.viewport,r.isPositioned]),o?(0,C.jsx)(ex,{...e,ref:s,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=r;e&&t&&(e.scrollTop=e.scrollTop+t.offsetHeight)}}):null});ek.displayName=e_;var ex=n.forwardRef((e,t)=>{let{__scopeSelect:r,onAutoScroll:i,...o}=e,s=Y("SelectScrollButton",r),l=n.useRef(null),c=I(r),u=n.useCallback(()=>{null!==l.current&&(window.clearInterval(l.current),l.current=null)},[]);return n.useEffect(()=>()=>u(),[u]),(0,_.N)(()=>{let e=c().find(e=>e.ref.current===document.activeElement);e?.ref.current?.scrollIntoView({block:"nearest"})},[c]),(0,C.jsx)(v.sG.div,{"aria-hidden":!0,...o,ref:t,style:{flexShrink:0,...o.style},onPointerDown:(0,a.mK)(o.onPointerDown,()=>{null===l.current&&(l.current=window.setInterval(i,50))}),onPointerMove:(0,a.mK)(o.onPointerMove,()=>{s.onItemLeave?.(),null===l.current&&(l.current=window.setInterval(i,50))}),onPointerLeave:(0,a.mK)(o.onPointerLeave,()=>{u()})})});n.forwardRef((e,t)=>{let{__scopeSelect:r,...n}=e;return(0,C.jsx)(v.sG.div,{"aria-hidden":!0,...n,ref:t})}).displayName="SelectSeparator";var eS="SelectArrow";n.forwardRef((e,t)=>{let{__scopeSelect:r,...n}=e,i=M(r),o=D(eS,r),a=Y(eS,r);return o.open&&"popper"===a.position?(0,C.jsx)(m.i3,{...i,...n,ref:t}):null}).displayName=eS;var eE=n.forwardRef(({__scopeSelect:e,value:t,...r},i)=>{let o=n.useRef(null),a=(0,l.s)(i,o),s=(0,k.Z)(t);return n.useEffect(()=>{let e=o.current;if(!e)return;let r=Object.getOwnPropertyDescriptor(window.HTMLSelectElement.prototype,"value").set;if(s!==t&&r){let n=new Event("change",{bubbles:!0});r.call(e,t),e.dispatchEvent(n)}},[s,t]),(0,C.jsx)(v.sG.select,{...r,style:{...x.Qg,...r.style},ref:a,defaultValue:t})});function eC(e){return""===e||void 0===e}function eP(e){let t=(0,b.c)(e),r=n.useRef(""),i=n.useRef(0),o=n.useCallback(e=>{let n=r.current+e;t(n),function e(t){r.current=t,window.clearTimeout(i.current),""!==t&&(i.current=window.setTimeout(()=>e(""),1e3))}(n)},[t]),a=n.useCallback(()=>{r.current="",window.clearTimeout(i.current)},[]);return n.useEffect(()=>()=>window.clearTimeout(i.current),[]),[r,o,a]}function eA(e,t,r){var n,i;let o=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,a=r?e.indexOf(r):-1,s=(n=e,i=Math.max(a,0),n.map((e,t)=>n[(i+t)%n.length]));1===o.length&&(s=s.filter(e=>e!==r));let l=s.find(e=>e.textValue.toLowerCase().startsWith(o.toLowerCase()));return l!==r?l:void 0}eE.displayName="SelectBubbleInput";var eO=F,eR=H,eI=$,eN=K,eL=Z,eT=q,eM=ei,eB=el,eD=eu,ej=ep,ez=eg,eF=ey,eU=ew,eH=ek},73046:(e,t,r)=>{"use strict";var n=r(92089),i=r(20221),o=function(e,t){var r=e||t,i=n[r];if(!i)throw Error(r+" is not a valid compression method !");return i};t.generateWorker=function(e,t,r){var n=new i(t.streamFiles,r,t.platform,t.encodeFileName),a=0;try{e.forEach(function(e,r){a++;var i=o(r.options.compression,t.compression),s=r.options.compressionOptions||t.compressionOptions||{},l=r.dir,c=r.date;r._compressWorker(i,s).withStreamInfo("file",{name:e,dir:l,date:c,comment:r.comment||"",unixPermissions:r.unixPermissions,dosPermissions:r.dosPermissions}).pipe(n)}),n.entriesCount=a}catch(e){n.error(e)}return n}},74545:(e,t,r)=>{"use strict";var n=r(91349),i=r(20759),o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";t.encode=function(e){for(var t,r,i,a,s,l,c,u=[],h=0,d=e.length,f=d,p="string"!==n.getTypeOf(e);h>2,s=(3&t)<<4|r>>4,l=f>1?(15&r)<<2|i>>6:64,c=f>2?63&i:64,u.push(o.charAt(a)+o.charAt(s)+o.charAt(l)+o.charAt(c));return u.join("")},t.decode=function(e){var t,r,n,a,s,l,c,u,h=0,d=0,f="data:";if(e.substr(0,f.length)===f)throw Error("Invalid base64 input, it looks like a data url.");var p=3*(e=e.replace(/[^A-Za-z0-9+/=]/g,"")).length/4;if(e.charAt(e.length-1)===o.charAt(64)&&p--,e.charAt(e.length-2)===o.charAt(64)&&p--,p%1!=0)throw Error("Invalid base64 input, bad content length.");for(u=i.uint8array?new Uint8Array(0|p):Array(0|p);h>4,r=(15&s)<<4|l>>2,n=(3&l)<<6|c,u[d++]=t,64!==l&&(u[d++]=r),64!==c&&(u[d++]=n);return u}},74583:(e,t,r)=>{"use strict";var n=r(7984).Buffer,i=r(28354);e.exports=function(){function e(){if(!(this instanceof e))throw TypeError("Cannot call a class as a function");this.head=null,this.tail=null,this.length=0}return e.prototype.push=function(e){var t={data:e,next:null};this.length>0?this.tail.next=t:this.head=t,this.tail=t,++this.length},e.prototype.unshift=function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length},e.prototype.shift=function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}},e.prototype.clear=function(){this.head=this.tail=null,this.length=0},e.prototype.join=function(e){if(0===this.length)return"";for(var t=this.head,r=""+t.data;t=t.next;)r+=e+t.data;return r},e.prototype.concat=function(e){if(0===this.length)return n.alloc(0);for(var t,r,i=n.allocUnsafe(e>>>0),o=this.head,a=0;o;)t=o.data,r=a,t.copy(i,r),a+=o.data.length,o=o.next;return i},e}(),i&&i.inspect&&i.inspect.custom&&(e.exports.prototype[i.inspect.custom]=function(){var e=i.inspect({length:this.length});return this.constructor.name+" "+e})},74763:(e,t)=>{"use strict";t.__esModule=!0,t.default=function(e){e.registerHelper("log",function(){for(var t=[void 0],r=arguments[arguments.length-1],n=0;n{"use strict";e.exports=o;var n=r(44855),i=Object.create(r(22751));function o(e){if(!(this instanceof o))return new o(e);n.call(this,e)}i.inherits=r(70192),i.inherits(o,n),o.prototype._transform=function(e,t,r){r(null,e)}},78122:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});let n=(0,r(62688).A)("refresh-cw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]])},78148:(e,t,r)=>{"use strict";r.d(t,{b:()=>s});var n=r(43210),i=r(14163),o=r(60687),a=n.forwardRef((e,t)=>(0,o.jsx)(i.sG.label,{...e,ref:t,onMouseDown:t=>{t.target.closest("button, input, select, textarea")||(e.onMouseDown?.(t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));a.displayName="Label";var s=a},78200:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});let n=(0,r(62688).A)("brain",[["path",{d:"M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z",key:"l5xja"}],["path",{d:"M12 5a3 3 0 1 1 5.997.125 4 4 0 0 1 2.526 5.77 4 4 0 0 1-.556 6.588A4 4 0 1 1 12 18Z",key:"ep3f8r"}],["path",{d:"M15 13a4.5 4.5 0 0 1-3-4 4.5 4.5 0 0 1-3 4",key:"1p4c4q"}],["path",{d:"M17.599 6.5a3 3 0 0 0 .399-1.375",key:"tmeiqw"}],["path",{d:"M6.003 5.125A3 3 0 0 0 6.401 6.5",key:"105sqy"}],["path",{d:"M3.477 10.896a4 4 0 0 1 .585-.396",key:"ql3yin"}],["path",{d:"M19.938 10.5a4 4 0 0 1 .585.396",key:"1qfode"}],["path",{d:"M6 18a4 4 0 0 1-1.967-.516",key:"2e4loj"}],["path",{d:"M19.967 17.484A4 4 0 0 1 18 18",key:"159ez6"}]])},78272:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});let n=(0,r(62688).A)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]])},79170:(e,t,r)=>{var n=r(58028).default,i=r(51453);n.PrintVisitor=i.PrintVisitor,n.print=i.print,e.exports=n},81843:(e,t,r)=>{"use strict";var n,i,o=r(70206);function a(e){var t=this;this.next=null,this.entry=null,this.finish=function(){var r,n=t,i=e,o=n.entry;for(n.entry=null;o;){var a=o.callback;i.pendingcb--,a(void 0),o=o.next}i.corkedRequestsFree.next=n}}e.exports=g;var s=["v0.10","v0.9."].indexOf(process.version.slice(0,5))>-1?setImmediate:o.nextTick;g.WritableState=m;var l=Object.create(r(22751));l.inherits=r(70192);var c={deprecate:r(96014)},u=r(62845),h=r(7984).Buffer,d=("undefined"!=typeof global?global:"undefined"!=typeof window?window:"undefined"!=typeof self?self:{}).Uint8Array||function(){},f=r(71063);function p(){}function m(e,t){n=n||r(39837),e=e||{};var i=t instanceof n;this.objectMode=!!e.objectMode,i&&(this.objectMode=this.objectMode||!!e.writableObjectMode);var l=e.highWaterMark,c=e.writableHighWaterMark,u=this.objectMode?16:16384;l||0===l?this.highWaterMark=l:i&&(c||0===c)?this.highWaterMark=c:this.highWaterMark=u,this.highWaterMark=Math.floor(this.highWaterMark),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var h=!1===e.decodeStrings;this.decodeStrings=!h,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){!function(e,t){var r=e._writableState,n=r.sync,i=r.writecb;if(r.writing=!1,r.writecb=null,r.length-=r.writelen,r.writelen=0,t)--r.pendingcb,n?(o.nextTick(i,t),o.nextTick(k,e,r),e._writableState.errorEmitted=!0,e.emit("error",t)):(i(t),e._writableState.errorEmitted=!0,e.emit("error",t),k(e,r));else{var a=w(r);a||r.corked||r.bufferProcessing||!r.bufferedRequest||b(e,r),n?s(y,e,r,a,i):y(e,r,a,i)}}(t,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new a(this)}l.inherits(g,u),m.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t};try{Object.defineProperty(m.prototype,"buffer",{get:c.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(e){}function g(e){if(n=n||r(39837),!i.call(g,this)&&!(this instanceof n))return new g(e);this._writableState=new m(e,this),this.writable=!0,e&&("function"==typeof e.write&&(this._write=e.write),"function"==typeof e.writev&&(this._writev=e.writev),"function"==typeof e.destroy&&(this._destroy=e.destroy),"function"==typeof e.final&&(this._final=e.final)),u.call(this)}function v(e,t,r,n,i,o,a){t.writelen=n,t.writecb=a,t.writing=!0,t.sync=!0,r?e._writev(i,t.onwrite):e._write(i,o,t.onwrite),t.sync=!1}function y(e,t,r,n){var i,o;r||(i=e,0===(o=t).length&&o.needDrain&&(o.needDrain=!1,i.emit("drain"))),t.pendingcb--,n(),k(e,t)}function b(e,t){t.bufferProcessing=!0;var r=t.bufferedRequest;if(e._writev&&r&&r.next){var n=Array(t.bufferedRequestCount),i=t.corkedRequestsFree;i.entry=r;for(var o=0,s=!0;r;)n[o]=r,r.isBuf||(s=!1),r=r.next,o+=1;n.allBuffers=s,v(e,t,!0,t.length,n,"",i.finish),t.pendingcb++,t.lastBufferedRequest=null,i.next?(t.corkedRequestsFree=i.next,i.next=null):t.corkedRequestsFree=new a(t),t.bufferedRequestCount=0}else{for(;r;){var l=r.chunk,c=r.encoding,u=r.callback,h=t.objectMode?1:l.length;if(v(e,t,!1,h,l,c,u),r=r.next,t.bufferedRequestCount--,t.writing)break}null===r&&(t.lastBufferedRequest=null)}t.bufferedRequest=r,t.bufferProcessing=!1}function w(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function _(e,t){e._final(function(r){t.pendingcb--,r&&e.emit("error",r),t.prefinished=!0,e.emit("prefinish"),k(e,t)})}function k(e,t){var r=w(t);return r&&(t.prefinished||t.finalCalled||("function"==typeof e._final?(t.pendingcb++,t.finalCalled=!0,o.nextTick(_,e,t)):(t.prefinished=!0,e.emit("prefinish"))),0===t.pendingcb&&(t.finished=!0,e.emit("finish"))),r}"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(i=Function.prototype[Symbol.hasInstance],Object.defineProperty(g,Symbol.hasInstance,{value:function(e){return!!i.call(this,e)||this===g&&e&&e._writableState instanceof m}})):i=function(e){return e instanceof this},g.prototype.pipe=function(){this.emit("error",Error("Cannot pipe, not readable"))},g.prototype.write=function(e,t,r){var n,i,a,s,l,c,u,f,m=this._writableState,g=!1,y=!m.objectMode&&(n=e,h.isBuffer(n)||n instanceof d);return(y&&!h.isBuffer(e)&&(i=e,e=h.from(i)),"function"==typeof t&&(r=t,t=null),y?t="buffer":t||(t=m.defaultEncoding),"function"!=typeof r&&(r=p),m.ended)?(a=r,s=Error("write after end"),this.emit("error",s),o.nextTick(a,s)):(y||(l=e,c=r,u=!0,f=!1,null===l?f=TypeError("May not write null values to stream"):"string"==typeof l||void 0===l||m.objectMode||(f=TypeError("Invalid non-string/buffer chunk")),f&&(this.emit("error",f),o.nextTick(c,f),u=!1),u))&&(m.pendingcb++,g=function(e,t,r,n,i,o){if(!r){var a,s,l=(a=n,s=i,t.objectMode||!1===t.decodeStrings||"string"!=typeof a||(a=h.from(a,s)),a);n!==l&&(r=!0,i="buffer",n=l)}var c=t.objectMode?1:n.length;t.length+=c;var u=t.length-1))throw TypeError("Unknown encoding: "+e);return this._writableState.defaultEncoding=e,this},Object.defineProperty(g.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),g.prototype._write=function(e,t,r){r(Error("_write() is not implemented"))},g.prototype._writev=null,g.prototype.end=function(e,t,r){var n,i,a,s=this._writableState;"function"==typeof e?(r=e,e=null,t=null):"function"==typeof t&&(r=t,t=null),null!=e&&this.write(e,t),s.corked&&(s.corked=1,this.uncork()),s.ending||(n=this,i=s,a=r,i.ending=!0,k(n,i),a&&(i.finished?o.nextTick(a):n.once("finish",a)),i.ended=!0,n.writable=!1)},Object.defineProperty(g.prototype,"destroyed",{get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),g.prototype.destroy=f.destroy,g.prototype._undestroy=f.undestroy,g.prototype._destroy=function(e,t){this.end(),t(e)}},82348:(e,t,r)=>{"use strict";r.d(t,{QP:()=>ec});let n=e=>{let t=s(e),{conflictingClassGroups:r,conflictingClassGroupModifiers:n}=e;return{getClassGroupId:e=>{let r=e.split("-");return""===r[0]&&1!==r.length&&r.shift(),i(r,t)||a(e)},getConflictingClassGroupIds:(e,t)=>{let i=r[e]||[];return t&&n[e]?[...i,...n[e]]:i}}},i=(e,t)=>{if(0===e.length)return t.classGroupId;let r=e[0],n=t.nextPart.get(r),o=n?i(e.slice(1),n):void 0;if(o)return o;if(0===t.validators.length)return;let a=e.join("-");return t.validators.find(({validator:e})=>e(a))?.classGroupId},o=/^\[(.+)\]$/,a=e=>{if(o.test(e)){let t=o.exec(e)[1],r=t?.substring(0,t.indexOf(":"));if(r)return"arbitrary.."+r}},s=e=>{let{theme:t,classGroups:r}=e,n={nextPart:new Map,validators:[]};for(let e in r)l(r[e],n,e,t);return n},l=(e,t,r,n)=>{e.forEach(e=>{if("string"==typeof e){(""===e?t:c(t,e)).classGroupId=r;return}if("function"==typeof e)return u(e)?void l(e(n),t,r,n):void t.validators.push({validator:e,classGroupId:r});Object.entries(e).forEach(([e,i])=>{l(i,c(t,e),r,n)})})},c=(e,t)=>{let r=e;return t.split("-").forEach(e=>{r.nextPart.has(e)||r.nextPart.set(e,{nextPart:new Map,validators:[]}),r=r.nextPart.get(e)}),r},u=e=>e.isThemeGetter,h=e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let t=0,r=new Map,n=new Map,i=(i,o)=>{r.set(i,o),++t>e&&(t=0,n=r,r=new Map)};return{get(e){let t=r.get(e);return void 0!==t?t:void 0!==(t=n.get(e))?(i(e,t),t):void 0},set(e,t){r.has(e)?r.set(e,t):i(e,t)}}},d=e=>{let{prefix:t,experimentalParseClassName:r}=e,n=e=>{let t,r=[],n=0,i=0,o=0;for(let a=0;ao?t-o:void 0}};if(t){let e=t+":",r=n;n=t=>t.startsWith(e)?r(t.substring(e.length)):{isExternal:!0,modifiers:[],hasImportantModifier:!1,baseClassName:t,maybePostfixModifierPosition:void 0}}if(r){let e=n;n=t=>r({className:t,parseClassName:e})}return n},f=e=>e.endsWith("!")?e.substring(0,e.length-1):e.startsWith("!")?e.substring(1):e,p=e=>{let t=Object.fromEntries(e.orderSensitiveModifiers.map(e=>[e,!0]));return e=>{if(e.length<=1)return e;let r=[],n=[];return e.forEach(e=>{"["===e[0]||t[e]?(r.push(...n.sort(),e),n=[]):n.push(e)}),r.push(...n.sort()),r}},m=e=>({cache:h(e.cacheSize),parseClassName:d(e),sortModifiers:p(e),...n(e)}),g=/\s+/,v=(e,t)=>{let{parseClassName:r,getClassGroupId:n,getConflictingClassGroupIds:i,sortModifiers:o}=t,a=[],s=e.trim().split(g),l="";for(let e=s.length-1;e>=0;e-=1){let t=s[e],{isExternal:c,modifiers:u,hasImportantModifier:h,baseClassName:d,maybePostfixModifierPosition:f}=r(t);if(c){l=t+(l.length>0?" "+l:l);continue}let p=!!f,m=n(p?d.substring(0,f):d);if(!m){if(!p||!(m=n(d))){l=t+(l.length>0?" "+l:l);continue}p=!1}let g=o(u).join(":"),v=h?g+"!":g,y=v+m;if(a.includes(y))continue;a.push(y);let b=i(m,p);for(let e=0;e0?" "+l:l)}return l};function y(){let e,t,r=0,n="";for(;r{let t;if("string"==typeof e)return e;let r="";for(let n=0;n{let t=t=>t[e]||[];return t.isThemeGetter=!0,t},_=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,k=/^\((?:(\w[\w-]*):)?(.+)\)$/i,x=/^\d+\/\d+$/,S=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,E=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,C=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,P=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,A=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,O=e=>x.test(e),R=e=>!!e&&!Number.isNaN(Number(e)),I=e=>!!e&&Number.isInteger(Number(e)),N=e=>e.endsWith("%")&&R(e.slice(0,-1)),L=e=>S.test(e),T=()=>!0,M=e=>E.test(e)&&!C.test(e),B=()=>!1,D=e=>P.test(e),j=e=>A.test(e),z=e=>!U(e)&&!V(e),F=e=>ee(e,ei,B),U=e=>_.test(e),H=e=>ee(e,eo,M),W=e=>ee(e,ea,R),$=e=>ee(e,er,B),K=e=>ee(e,en,j),Z=e=>ee(e,el,D),V=e=>k.test(e),q=e=>et(e,eo),G=e=>et(e,es),Y=e=>et(e,er),X=e=>et(e,ei),J=e=>et(e,en),Q=e=>et(e,el,!0),ee=(e,t,r)=>{let n=_.exec(e);return!!n&&(n[1]?t(n[1]):r(n[2]))},et=(e,t,r=!1)=>{let n=k.exec(e);return!!n&&(n[1]?t(n[1]):r)},er=e=>"position"===e||"percentage"===e,en=e=>"image"===e||"url"===e,ei=e=>"length"===e||"size"===e||"bg-size"===e,eo=e=>"length"===e,ea=e=>"number"===e,es=e=>"family-name"===e,el=e=>"shadow"===e;Symbol.toStringTag;let ec=function(e,...t){let r,n,i,o=function(s){return n=(r=m(t.reduce((e,t)=>t(e),e()))).cache.get,i=r.cache.set,o=a,a(s)};function a(e){let t=n(e);if(t)return t;let o=v(e,r);return i(e,o),o}return function(){return o(y.apply(null,arguments))}}(()=>{let e=w("color"),t=w("font"),r=w("text"),n=w("font-weight"),i=w("tracking"),o=w("leading"),a=w("breakpoint"),s=w("container"),l=w("spacing"),c=w("radius"),u=w("shadow"),h=w("inset-shadow"),d=w("text-shadow"),f=w("drop-shadow"),p=w("blur"),m=w("perspective"),g=w("aspect"),v=w("ease"),y=w("animate"),b=()=>["auto","avoid","all","avoid-page","page","left","right","column"],_=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],k=()=>[..._(),V,U],x=()=>["auto","hidden","clip","visible","scroll"],S=()=>["auto","contain","none"],E=()=>[V,U,l],C=()=>[O,"full","auto",...E()],P=()=>[I,"none","subgrid",V,U],A=()=>["auto",{span:["full",I,V,U]},I,V,U],M=()=>[I,"auto",V,U],B=()=>["auto","min","max","fr",V,U],D=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],j=()=>["start","end","center","stretch","center-safe","end-safe"],ee=()=>["auto",...E()],et=()=>[O,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...E()],er=()=>[e,V,U],en=()=>[..._(),Y,$,{position:[V,U]}],ei=()=>["no-repeat",{repeat:["","x","y","space","round"]}],eo=()=>["auto","cover","contain",X,F,{size:[V,U]}],ea=()=>[N,q,H],es=()=>["","none","full",c,V,U],el=()=>["",R,q,H],ec=()=>["solid","dashed","dotted","double"],eu=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],eh=()=>[R,N,Y,$],ed=()=>["","none",p,V,U],ef=()=>["none",R,V,U],ep=()=>["none",R,V,U],em=()=>[R,V,U],eg=()=>[O,"full",...E()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[L],breakpoint:[L],color:[T],container:[L],"drop-shadow":[L],ease:["in","out","in-out"],font:[z],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[L],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[L],shadow:[L],spacing:["px",R],text:[L],"text-shadow":[L],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",O,U,V,g]}],container:["container"],columns:[{columns:[R,U,V,s]}],"break-after":[{"break-after":b()}],"break-before":[{"break-before":b()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:k()}],overflow:[{overflow:x()}],"overflow-x":[{"overflow-x":x()}],"overflow-y":[{"overflow-y":x()}],overscroll:[{overscroll:S()}],"overscroll-x":[{"overscroll-x":S()}],"overscroll-y":[{"overscroll-y":S()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:C()}],"inset-x":[{"inset-x":C()}],"inset-y":[{"inset-y":C()}],start:[{start:C()}],end:[{end:C()}],top:[{top:C()}],right:[{right:C()}],bottom:[{bottom:C()}],left:[{left:C()}],visibility:["visible","invisible","collapse"],z:[{z:[I,"auto",V,U]}],basis:[{basis:[O,"full","auto",s,...E()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[R,O,"auto","initial","none",U]}],grow:[{grow:["",R,V,U]}],shrink:[{shrink:["",R,V,U]}],order:[{order:[I,"first","last","none",V,U]}],"grid-cols":[{"grid-cols":P()}],"col-start-end":[{col:A()}],"col-start":[{"col-start":M()}],"col-end":[{"col-end":M()}],"grid-rows":[{"grid-rows":P()}],"row-start-end":[{row:A()}],"row-start":[{"row-start":M()}],"row-end":[{"row-end":M()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":B()}],"auto-rows":[{"auto-rows":B()}],gap:[{gap:E()}],"gap-x":[{"gap-x":E()}],"gap-y":[{"gap-y":E()}],"justify-content":[{justify:[...D(),"normal"]}],"justify-items":[{"justify-items":[...j(),"normal"]}],"justify-self":[{"justify-self":["auto",...j()]}],"align-content":[{content:["normal",...D()]}],"align-items":[{items:[...j(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...j(),{baseline:["","last"]}]}],"place-content":[{"place-content":D()}],"place-items":[{"place-items":[...j(),"baseline"]}],"place-self":[{"place-self":["auto",...j()]}],p:[{p:E()}],px:[{px:E()}],py:[{py:E()}],ps:[{ps:E()}],pe:[{pe:E()}],pt:[{pt:E()}],pr:[{pr:E()}],pb:[{pb:E()}],pl:[{pl:E()}],m:[{m:ee()}],mx:[{mx:ee()}],my:[{my:ee()}],ms:[{ms:ee()}],me:[{me:ee()}],mt:[{mt:ee()}],mr:[{mr:ee()}],mb:[{mb:ee()}],ml:[{ml:ee()}],"space-x":[{"space-x":E()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":E()}],"space-y-reverse":["space-y-reverse"],size:[{size:et()}],w:[{w:[s,"screen",...et()]}],"min-w":[{"min-w":[s,"screen","none",...et()]}],"max-w":[{"max-w":[s,"screen","none","prose",{screen:[a]},...et()]}],h:[{h:["screen","lh",...et()]}],"min-h":[{"min-h":["screen","lh","none",...et()]}],"max-h":[{"max-h":["screen","lh",...et()]}],"font-size":[{text:["base",r,q,H]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[n,V,W]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",N,U]}],"font-family":[{font:[G,U,t]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[i,V,U]}],"line-clamp":[{"line-clamp":[R,"none",V,W]}],leading:[{leading:[o,...E()]}],"list-image":[{"list-image":["none",V,U]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",V,U]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:er()}],"text-color":[{text:er()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...ec(),"wavy"]}],"text-decoration-thickness":[{decoration:[R,"from-font","auto",V,H]}],"text-decoration-color":[{decoration:er()}],"underline-offset":[{"underline-offset":[R,"auto",V,U]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:E()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",V,U]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",V,U]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:en()}],"bg-repeat":[{bg:ei()}],"bg-size":[{bg:eo()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},I,V,U],radial:["",V,U],conic:[I,V,U]},J,K]}],"bg-color":[{bg:er()}],"gradient-from-pos":[{from:ea()}],"gradient-via-pos":[{via:ea()}],"gradient-to-pos":[{to:ea()}],"gradient-from":[{from:er()}],"gradient-via":[{via:er()}],"gradient-to":[{to:er()}],rounded:[{rounded:es()}],"rounded-s":[{"rounded-s":es()}],"rounded-e":[{"rounded-e":es()}],"rounded-t":[{"rounded-t":es()}],"rounded-r":[{"rounded-r":es()}],"rounded-b":[{"rounded-b":es()}],"rounded-l":[{"rounded-l":es()}],"rounded-ss":[{"rounded-ss":es()}],"rounded-se":[{"rounded-se":es()}],"rounded-ee":[{"rounded-ee":es()}],"rounded-es":[{"rounded-es":es()}],"rounded-tl":[{"rounded-tl":es()}],"rounded-tr":[{"rounded-tr":es()}],"rounded-br":[{"rounded-br":es()}],"rounded-bl":[{"rounded-bl":es()}],"border-w":[{border:el()}],"border-w-x":[{"border-x":el()}],"border-w-y":[{"border-y":el()}],"border-w-s":[{"border-s":el()}],"border-w-e":[{"border-e":el()}],"border-w-t":[{"border-t":el()}],"border-w-r":[{"border-r":el()}],"border-w-b":[{"border-b":el()}],"border-w-l":[{"border-l":el()}],"divide-x":[{"divide-x":el()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":el()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...ec(),"hidden","none"]}],"divide-style":[{divide:[...ec(),"hidden","none"]}],"border-color":[{border:er()}],"border-color-x":[{"border-x":er()}],"border-color-y":[{"border-y":er()}],"border-color-s":[{"border-s":er()}],"border-color-e":[{"border-e":er()}],"border-color-t":[{"border-t":er()}],"border-color-r":[{"border-r":er()}],"border-color-b":[{"border-b":er()}],"border-color-l":[{"border-l":er()}],"divide-color":[{divide:er()}],"outline-style":[{outline:[...ec(),"none","hidden"]}],"outline-offset":[{"outline-offset":[R,V,U]}],"outline-w":[{outline:["",R,q,H]}],"outline-color":[{outline:er()}],shadow:[{shadow:["","none",u,Q,Z]}],"shadow-color":[{shadow:er()}],"inset-shadow":[{"inset-shadow":["none",h,Q,Z]}],"inset-shadow-color":[{"inset-shadow":er()}],"ring-w":[{ring:el()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:er()}],"ring-offset-w":[{"ring-offset":[R,H]}],"ring-offset-color":[{"ring-offset":er()}],"inset-ring-w":[{"inset-ring":el()}],"inset-ring-color":[{"inset-ring":er()}],"text-shadow":[{"text-shadow":["none",d,Q,Z]}],"text-shadow-color":[{"text-shadow":er()}],opacity:[{opacity:[R,V,U]}],"mix-blend":[{"mix-blend":[...eu(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":eu()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[R]}],"mask-image-linear-from-pos":[{"mask-linear-from":eh()}],"mask-image-linear-to-pos":[{"mask-linear-to":eh()}],"mask-image-linear-from-color":[{"mask-linear-from":er()}],"mask-image-linear-to-color":[{"mask-linear-to":er()}],"mask-image-t-from-pos":[{"mask-t-from":eh()}],"mask-image-t-to-pos":[{"mask-t-to":eh()}],"mask-image-t-from-color":[{"mask-t-from":er()}],"mask-image-t-to-color":[{"mask-t-to":er()}],"mask-image-r-from-pos":[{"mask-r-from":eh()}],"mask-image-r-to-pos":[{"mask-r-to":eh()}],"mask-image-r-from-color":[{"mask-r-from":er()}],"mask-image-r-to-color":[{"mask-r-to":er()}],"mask-image-b-from-pos":[{"mask-b-from":eh()}],"mask-image-b-to-pos":[{"mask-b-to":eh()}],"mask-image-b-from-color":[{"mask-b-from":er()}],"mask-image-b-to-color":[{"mask-b-to":er()}],"mask-image-l-from-pos":[{"mask-l-from":eh()}],"mask-image-l-to-pos":[{"mask-l-to":eh()}],"mask-image-l-from-color":[{"mask-l-from":er()}],"mask-image-l-to-color":[{"mask-l-to":er()}],"mask-image-x-from-pos":[{"mask-x-from":eh()}],"mask-image-x-to-pos":[{"mask-x-to":eh()}],"mask-image-x-from-color":[{"mask-x-from":er()}],"mask-image-x-to-color":[{"mask-x-to":er()}],"mask-image-y-from-pos":[{"mask-y-from":eh()}],"mask-image-y-to-pos":[{"mask-y-to":eh()}],"mask-image-y-from-color":[{"mask-y-from":er()}],"mask-image-y-to-color":[{"mask-y-to":er()}],"mask-image-radial":[{"mask-radial":[V,U]}],"mask-image-radial-from-pos":[{"mask-radial-from":eh()}],"mask-image-radial-to-pos":[{"mask-radial-to":eh()}],"mask-image-radial-from-color":[{"mask-radial-from":er()}],"mask-image-radial-to-color":[{"mask-radial-to":er()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":_()}],"mask-image-conic-pos":[{"mask-conic":[R]}],"mask-image-conic-from-pos":[{"mask-conic-from":eh()}],"mask-image-conic-to-pos":[{"mask-conic-to":eh()}],"mask-image-conic-from-color":[{"mask-conic-from":er()}],"mask-image-conic-to-color":[{"mask-conic-to":er()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:en()}],"mask-repeat":[{mask:ei()}],"mask-size":[{mask:eo()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",V,U]}],filter:[{filter:["","none",V,U]}],blur:[{blur:ed()}],brightness:[{brightness:[R,V,U]}],contrast:[{contrast:[R,V,U]}],"drop-shadow":[{"drop-shadow":["","none",f,Q,Z]}],"drop-shadow-color":[{"drop-shadow":er()}],grayscale:[{grayscale:["",R,V,U]}],"hue-rotate":[{"hue-rotate":[R,V,U]}],invert:[{invert:["",R,V,U]}],saturate:[{saturate:[R,V,U]}],sepia:[{sepia:["",R,V,U]}],"backdrop-filter":[{"backdrop-filter":["","none",V,U]}],"backdrop-blur":[{"backdrop-blur":ed()}],"backdrop-brightness":[{"backdrop-brightness":[R,V,U]}],"backdrop-contrast":[{"backdrop-contrast":[R,V,U]}],"backdrop-grayscale":[{"backdrop-grayscale":["",R,V,U]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[R,V,U]}],"backdrop-invert":[{"backdrop-invert":["",R,V,U]}],"backdrop-opacity":[{"backdrop-opacity":[R,V,U]}],"backdrop-saturate":[{"backdrop-saturate":[R,V,U]}],"backdrop-sepia":[{"backdrop-sepia":["",R,V,U]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":E()}],"border-spacing-x":[{"border-spacing-x":E()}],"border-spacing-y":[{"border-spacing-y":E()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",V,U]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[R,"initial",V,U]}],ease:[{ease:["linear","initial",v,V,U]}],delay:[{delay:[R,V,U]}],animate:[{animate:["none",y,V,U]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[m,V,U]}],"perspective-origin":[{"perspective-origin":k()}],rotate:[{rotate:ef()}],"rotate-x":[{"rotate-x":ef()}],"rotate-y":[{"rotate-y":ef()}],"rotate-z":[{"rotate-z":ef()}],scale:[{scale:ep()}],"scale-x":[{"scale-x":ep()}],"scale-y":[{"scale-y":ep()}],"scale-z":[{"scale-z":ep()}],"scale-3d":["scale-3d"],skew:[{skew:em()}],"skew-x":[{"skew-x":em()}],"skew-y":[{"skew-y":em()}],transform:[{transform:[V,U,"","none","gpu","cpu"]}],"transform-origin":[{origin:k()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:eg()}],"translate-x":[{"translate-x":eg()}],"translate-y":[{"translate-y":eg()}],"translate-z":[{"translate-z":eg()}],"translate-none":["translate-none"],accent:[{accent:er()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:er()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",V,U]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":E()}],"scroll-mx":[{"scroll-mx":E()}],"scroll-my":[{"scroll-my":E()}],"scroll-ms":[{"scroll-ms":E()}],"scroll-me":[{"scroll-me":E()}],"scroll-mt":[{"scroll-mt":E()}],"scroll-mr":[{"scroll-mr":E()}],"scroll-mb":[{"scroll-mb":E()}],"scroll-ml":[{"scroll-ml":E()}],"scroll-p":[{"scroll-p":E()}],"scroll-px":[{"scroll-px":E()}],"scroll-py":[{"scroll-py":E()}],"scroll-ps":[{"scroll-ps":E()}],"scroll-pe":[{"scroll-pe":E()}],"scroll-pt":[{"scroll-pt":E()}],"scroll-pr":[{"scroll-pr":E()}],"scroll-pb":[{"scroll-pb":E()}],"scroll-pl":[{"scroll-pl":E()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",V,U]}],fill:[{fill:["none",...er()]}],"stroke-w":[{stroke:[R,q,H,W]}],stroke:[{stroke:["none",...er()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}})},82350:(e,t)=>{"use strict";t.__esModule=!0,t.default=function(){var e,t={trace:function(){},yy:{},symbols_:{error:2,root:3,program:4,EOF:5,program_repetition0:6,statement:7,mustache:8,block:9,rawBlock:10,partial:11,partialBlock:12,content:13,COMMENT:14,CONTENT:15,openRawBlock:16,rawBlock_repetition0:17,END_RAW_BLOCK:18,OPEN_RAW_BLOCK:19,helperName:20,openRawBlock_repetition0:21,openRawBlock_option0:22,CLOSE_RAW_BLOCK:23,openBlock:24,block_option0:25,closeBlock:26,openInverse:27,block_option1:28,OPEN_BLOCK:29,openBlock_repetition0:30,openBlock_option0:31,openBlock_option1:32,CLOSE:33,OPEN_INVERSE:34,openInverse_repetition0:35,openInverse_option0:36,openInverse_option1:37,openInverseChain:38,OPEN_INVERSE_CHAIN:39,openInverseChain_repetition0:40,openInverseChain_option0:41,openInverseChain_option1:42,inverseAndProgram:43,INVERSE:44,inverseChain:45,inverseChain_option0:46,OPEN_ENDBLOCK:47,OPEN:48,mustache_repetition0:49,mustache_option0:50,OPEN_UNESCAPED:51,mustache_repetition1:52,mustache_option1:53,CLOSE_UNESCAPED:54,OPEN_PARTIAL:55,partialName:56,partial_repetition0:57,partial_option0:58,openPartialBlock:59,OPEN_PARTIAL_BLOCK:60,openPartialBlock_repetition0:61,openPartialBlock_option0:62,param:63,sexpr:64,OPEN_SEXPR:65,sexpr_repetition0:66,sexpr_option0:67,CLOSE_SEXPR:68,hash:69,hash_repetition_plus0:70,hashSegment:71,ID:72,EQUALS:73,blockParams:74,OPEN_BLOCK_PARAMS:75,blockParams_repetition_plus0:76,CLOSE_BLOCK_PARAMS:77,path:78,dataName:79,STRING:80,NUMBER:81,BOOLEAN:82,UNDEFINED:83,NULL:84,DATA:85,pathSegments:86,SEP:87,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",14:"COMMENT",15:"CONTENT",18:"END_RAW_BLOCK",19:"OPEN_RAW_BLOCK",23:"CLOSE_RAW_BLOCK",29:"OPEN_BLOCK",33:"CLOSE",34:"OPEN_INVERSE",39:"OPEN_INVERSE_CHAIN",44:"INVERSE",47:"OPEN_ENDBLOCK",48:"OPEN",51:"OPEN_UNESCAPED",54:"CLOSE_UNESCAPED",55:"OPEN_PARTIAL",60:"OPEN_PARTIAL_BLOCK",65:"OPEN_SEXPR",68:"CLOSE_SEXPR",72:"ID",73:"EQUALS",75:"OPEN_BLOCK_PARAMS",77:"CLOSE_BLOCK_PARAMS",80:"STRING",81:"NUMBER",82:"BOOLEAN",83:"UNDEFINED",84:"NULL",85:"DATA",87:"SEP"},productions_:[0,[3,2],[4,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[13,1],[10,3],[16,5],[9,4],[9,4],[24,6],[27,6],[38,6],[43,2],[45,3],[45,1],[26,3],[8,5],[8,5],[11,5],[12,3],[59,5],[63,1],[63,1],[64,5],[69,1],[71,3],[74,3],[20,1],[20,1],[20,1],[20,1],[20,1],[20,1],[20,1],[56,1],[56,1],[79,2],[78,1],[86,3],[86,1],[6,0],[6,2],[17,0],[17,2],[21,0],[21,2],[22,0],[22,1],[25,0],[25,1],[28,0],[28,1],[30,0],[30,2],[31,0],[31,1],[32,0],[32,1],[35,0],[35,2],[36,0],[36,1],[37,0],[37,1],[40,0],[40,2],[41,0],[41,1],[42,0],[42,1],[46,0],[46,1],[49,0],[49,2],[50,0],[50,1],[52,0],[52,2],[53,0],[53,1],[57,0],[57,2],[58,0],[58,1],[61,0],[61,2],[62,0],[62,1],[66,0],[66,2],[67,0],[67,1],[70,1],[70,2],[76,1],[76,2]],performAction:function(e,t,r,n,i,o,a){var s=o.length-1;switch(i){case 1:return o[s-1];case 2:this.$=n.prepareProgram(o[s]);break;case 3:case 4:case 5:case 6:case 7:case 8:case 20:case 27:case 28:case 33:case 34:case 40:case 41:this.$=o[s];break;case 9:this.$={type:"CommentStatement",value:n.stripComment(o[s]),strip:n.stripFlags(o[s],o[s]),loc:n.locInfo(this._$)};break;case 10:this.$={type:"ContentStatement",original:o[s],value:o[s],loc:n.locInfo(this._$)};break;case 11:this.$=n.prepareRawBlock(o[s-2],o[s-1],o[s],this._$);break;case 12:this.$={path:o[s-3],params:o[s-2],hash:o[s-1]};break;case 13:this.$=n.prepareBlock(o[s-3],o[s-2],o[s-1],o[s],!1,this._$);break;case 14:this.$=n.prepareBlock(o[s-3],o[s-2],o[s-1],o[s],!0,this._$);break;case 15:this.$={open:o[s-5],path:o[s-4],params:o[s-3],hash:o[s-2],blockParams:o[s-1],strip:n.stripFlags(o[s-5],o[s])};break;case 16:case 17:this.$={path:o[s-4],params:o[s-3],hash:o[s-2],blockParams:o[s-1],strip:n.stripFlags(o[s-5],o[s])};break;case 18:this.$={strip:n.stripFlags(o[s-1],o[s-1]),program:o[s]};break;case 19:var l=n.prepareBlock(o[s-2],o[s-1],o[s],o[s],!1,this._$),c=n.prepareProgram([l],o[s-1].loc);c.chained=!0,this.$={strip:o[s-2].strip,program:c,chain:!0};break;case 21:this.$={path:o[s-1],strip:n.stripFlags(o[s-2],o[s])};break;case 22:case 23:this.$=n.prepareMustache(o[s-3],o[s-2],o[s-1],o[s-4],n.stripFlags(o[s-4],o[s]),this._$);break;case 24:this.$={type:"PartialStatement",name:o[s-3],params:o[s-2],hash:o[s-1],indent:"",strip:n.stripFlags(o[s-4],o[s]),loc:n.locInfo(this._$)};break;case 25:this.$=n.preparePartialBlock(o[s-2],o[s-1],o[s],this._$);break;case 26:this.$={path:o[s-3],params:o[s-2],hash:o[s-1],strip:n.stripFlags(o[s-4],o[s])};break;case 29:this.$={type:"SubExpression",path:o[s-3],params:o[s-2],hash:o[s-1],loc:n.locInfo(this._$)};break;case 30:this.$={type:"Hash",pairs:o[s],loc:n.locInfo(this._$)};break;case 31:this.$={type:"HashPair",key:n.id(o[s-2]),value:o[s],loc:n.locInfo(this._$)};break;case 32:this.$=n.id(o[s-1]);break;case 35:this.$={type:"StringLiteral",value:o[s],original:o[s],loc:n.locInfo(this._$)};break;case 36:this.$={type:"NumberLiteral",value:Number(o[s]),original:Number(o[s]),loc:n.locInfo(this._$)};break;case 37:this.$={type:"BooleanLiteral",value:"true"===o[s],original:"true"===o[s],loc:n.locInfo(this._$)};break;case 38:this.$={type:"UndefinedLiteral",original:void 0,value:void 0,loc:n.locInfo(this._$)};break;case 39:this.$={type:"NullLiteral",original:null,value:null,loc:n.locInfo(this._$)};break;case 42:this.$=n.preparePath(!0,o[s],this._$);break;case 43:this.$=n.preparePath(!1,o[s],this._$);break;case 44:o[s-2].push({part:n.id(o[s]),original:o[s],separator:o[s-1]}),this.$=o[s-2];break;case 45:this.$=[{part:n.id(o[s]),original:o[s]}];break;case 46:case 48:case 50:case 58:case 64:case 70:case 78:case 82:case 86:case 90:case 94:this.$=[];break;case 47:case 49:case 51:case 59:case 65:case 71:case 79:case 83:case 87:case 91:case 95:case 99:case 101:o[s-1].push(o[s]);break;case 98:case 100:this.$=[o[s]]}},table:[{3:1,4:2,5:[2,46],6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{1:[3]},{5:[1,4]},{5:[2,2],7:5,8:6,9:7,10:8,11:9,12:10,13:11,14:[1,12],15:[1,20],16:17,19:[1,23],24:15,27:16,29:[1,21],34:[1,22],39:[2,2],44:[2,2],47:[2,2],48:[1,13],51:[1,14],55:[1,18],59:19,60:[1,24]},{1:[2,1]},{5:[2,47],14:[2,47],15:[2,47],19:[2,47],29:[2,47],34:[2,47],39:[2,47],44:[2,47],47:[2,47],48:[2,47],51:[2,47],55:[2,47],60:[2,47]},{5:[2,3],14:[2,3],15:[2,3],19:[2,3],29:[2,3],34:[2,3],39:[2,3],44:[2,3],47:[2,3],48:[2,3],51:[2,3],55:[2,3],60:[2,3]},{5:[2,4],14:[2,4],15:[2,4],19:[2,4],29:[2,4],34:[2,4],39:[2,4],44:[2,4],47:[2,4],48:[2,4],51:[2,4],55:[2,4],60:[2,4]},{5:[2,5],14:[2,5],15:[2,5],19:[2,5],29:[2,5],34:[2,5],39:[2,5],44:[2,5],47:[2,5],48:[2,5],51:[2,5],55:[2,5],60:[2,5]},{5:[2,6],14:[2,6],15:[2,6],19:[2,6],29:[2,6],34:[2,6],39:[2,6],44:[2,6],47:[2,6],48:[2,6],51:[2,6],55:[2,6],60:[2,6]},{5:[2,7],14:[2,7],15:[2,7],19:[2,7],29:[2,7],34:[2,7],39:[2,7],44:[2,7],47:[2,7],48:[2,7],51:[2,7],55:[2,7],60:[2,7]},{5:[2,8],14:[2,8],15:[2,8],19:[2,8],29:[2,8],34:[2,8],39:[2,8],44:[2,8],47:[2,8],48:[2,8],51:[2,8],55:[2,8],60:[2,8]},{5:[2,9],14:[2,9],15:[2,9],19:[2,9],29:[2,9],34:[2,9],39:[2,9],44:[2,9],47:[2,9],48:[2,9],51:[2,9],55:[2,9],60:[2,9]},{20:25,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:36,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{4:37,6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],39:[2,46],44:[2,46],47:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{4:38,6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],44:[2,46],47:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{15:[2,48],17:39,18:[2,48]},{20:41,56:40,64:42,65:[1,43],72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{4:44,6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],47:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{5:[2,10],14:[2,10],15:[2,10],18:[2,10],19:[2,10],29:[2,10],34:[2,10],39:[2,10],44:[2,10],47:[2,10],48:[2,10],51:[2,10],55:[2,10],60:[2,10]},{20:45,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:46,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:47,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:41,56:48,64:42,65:[1,43],72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{33:[2,78],49:49,65:[2,78],72:[2,78],80:[2,78],81:[2,78],82:[2,78],83:[2,78],84:[2,78],85:[2,78]},{23:[2,33],33:[2,33],54:[2,33],65:[2,33],68:[2,33],72:[2,33],75:[2,33],80:[2,33],81:[2,33],82:[2,33],83:[2,33],84:[2,33],85:[2,33]},{23:[2,34],33:[2,34],54:[2,34],65:[2,34],68:[2,34],72:[2,34],75:[2,34],80:[2,34],81:[2,34],82:[2,34],83:[2,34],84:[2,34],85:[2,34]},{23:[2,35],33:[2,35],54:[2,35],65:[2,35],68:[2,35],72:[2,35],75:[2,35],80:[2,35],81:[2,35],82:[2,35],83:[2,35],84:[2,35],85:[2,35]},{23:[2,36],33:[2,36],54:[2,36],65:[2,36],68:[2,36],72:[2,36],75:[2,36],80:[2,36],81:[2,36],82:[2,36],83:[2,36],84:[2,36],85:[2,36]},{23:[2,37],33:[2,37],54:[2,37],65:[2,37],68:[2,37],72:[2,37],75:[2,37],80:[2,37],81:[2,37],82:[2,37],83:[2,37],84:[2,37],85:[2,37]},{23:[2,38],33:[2,38],54:[2,38],65:[2,38],68:[2,38],72:[2,38],75:[2,38],80:[2,38],81:[2,38],82:[2,38],83:[2,38],84:[2,38],85:[2,38]},{23:[2,39],33:[2,39],54:[2,39],65:[2,39],68:[2,39],72:[2,39],75:[2,39],80:[2,39],81:[2,39],82:[2,39],83:[2,39],84:[2,39],85:[2,39]},{23:[2,43],33:[2,43],54:[2,43],65:[2,43],68:[2,43],72:[2,43],75:[2,43],80:[2,43],81:[2,43],82:[2,43],83:[2,43],84:[2,43],85:[2,43],87:[1,50]},{72:[1,35],86:51},{23:[2,45],33:[2,45],54:[2,45],65:[2,45],68:[2,45],72:[2,45],75:[2,45],80:[2,45],81:[2,45],82:[2,45],83:[2,45],84:[2,45],85:[2,45],87:[2,45]},{52:52,54:[2,82],65:[2,82],72:[2,82],80:[2,82],81:[2,82],82:[2,82],83:[2,82],84:[2,82],85:[2,82]},{25:53,38:55,39:[1,57],43:56,44:[1,58],45:54,47:[2,54]},{28:59,43:60,44:[1,58],47:[2,56]},{13:62,15:[1,20],18:[1,61]},{33:[2,86],57:63,65:[2,86],72:[2,86],80:[2,86],81:[2,86],82:[2,86],83:[2,86],84:[2,86],85:[2,86]},{33:[2,40],65:[2,40],72:[2,40],80:[2,40],81:[2,40],82:[2,40],83:[2,40],84:[2,40],85:[2,40]},{33:[2,41],65:[2,41],72:[2,41],80:[2,41],81:[2,41],82:[2,41],83:[2,41],84:[2,41],85:[2,41]},{20:64,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{26:65,47:[1,66]},{30:67,33:[2,58],65:[2,58],72:[2,58],75:[2,58],80:[2,58],81:[2,58],82:[2,58],83:[2,58],84:[2,58],85:[2,58]},{33:[2,64],35:68,65:[2,64],72:[2,64],75:[2,64],80:[2,64],81:[2,64],82:[2,64],83:[2,64],84:[2,64],85:[2,64]},{21:69,23:[2,50],65:[2,50],72:[2,50],80:[2,50],81:[2,50],82:[2,50],83:[2,50],84:[2,50],85:[2,50]},{33:[2,90],61:70,65:[2,90],72:[2,90],80:[2,90],81:[2,90],82:[2,90],83:[2,90],84:[2,90],85:[2,90]},{20:74,33:[2,80],50:71,63:72,64:75,65:[1,43],69:73,70:76,71:77,72:[1,78],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{72:[1,79]},{23:[2,42],33:[2,42],54:[2,42],65:[2,42],68:[2,42],72:[2,42],75:[2,42],80:[2,42],81:[2,42],82:[2,42],83:[2,42],84:[2,42],85:[2,42],87:[1,50]},{20:74,53:80,54:[2,84],63:81,64:75,65:[1,43],69:82,70:76,71:77,72:[1,78],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{26:83,47:[1,66]},{47:[2,55]},{4:84,6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],39:[2,46],44:[2,46],47:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{47:[2,20]},{20:85,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{4:86,6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],47:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{26:87,47:[1,66]},{47:[2,57]},{5:[2,11],14:[2,11],15:[2,11],19:[2,11],29:[2,11],34:[2,11],39:[2,11],44:[2,11],47:[2,11],48:[2,11],51:[2,11],55:[2,11],60:[2,11]},{15:[2,49],18:[2,49]},{20:74,33:[2,88],58:88,63:89,64:75,65:[1,43],69:90,70:76,71:77,72:[1,78],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{65:[2,94],66:91,68:[2,94],72:[2,94],80:[2,94],81:[2,94],82:[2,94],83:[2,94],84:[2,94],85:[2,94]},{5:[2,25],14:[2,25],15:[2,25],19:[2,25],29:[2,25],34:[2,25],39:[2,25],44:[2,25],47:[2,25],48:[2,25],51:[2,25],55:[2,25],60:[2,25]},{20:92,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:74,31:93,33:[2,60],63:94,64:75,65:[1,43],69:95,70:76,71:77,72:[1,78],75:[2,60],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:74,33:[2,66],36:96,63:97,64:75,65:[1,43],69:98,70:76,71:77,72:[1,78],75:[2,66],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:74,22:99,23:[2,52],63:100,64:75,65:[1,43],69:101,70:76,71:77,72:[1,78],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:74,33:[2,92],62:102,63:103,64:75,65:[1,43],69:104,70:76,71:77,72:[1,78],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{33:[1,105]},{33:[2,79],65:[2,79],72:[2,79],80:[2,79],81:[2,79],82:[2,79],83:[2,79],84:[2,79],85:[2,79]},{33:[2,81]},{23:[2,27],33:[2,27],54:[2,27],65:[2,27],68:[2,27],72:[2,27],75:[2,27],80:[2,27],81:[2,27],82:[2,27],83:[2,27],84:[2,27],85:[2,27]},{23:[2,28],33:[2,28],54:[2,28],65:[2,28],68:[2,28],72:[2,28],75:[2,28],80:[2,28],81:[2,28],82:[2,28],83:[2,28],84:[2,28],85:[2,28]},{23:[2,30],33:[2,30],54:[2,30],68:[2,30],71:106,72:[1,107],75:[2,30]},{23:[2,98],33:[2,98],54:[2,98],68:[2,98],72:[2,98],75:[2,98]},{23:[2,45],33:[2,45],54:[2,45],65:[2,45],68:[2,45],72:[2,45],73:[1,108],75:[2,45],80:[2,45],81:[2,45],82:[2,45],83:[2,45],84:[2,45],85:[2,45],87:[2,45]},{23:[2,44],33:[2,44],54:[2,44],65:[2,44],68:[2,44],72:[2,44],75:[2,44],80:[2,44],81:[2,44],82:[2,44],83:[2,44],84:[2,44],85:[2,44],87:[2,44]},{54:[1,109]},{54:[2,83],65:[2,83],72:[2,83],80:[2,83],81:[2,83],82:[2,83],83:[2,83],84:[2,83],85:[2,83]},{54:[2,85]},{5:[2,13],14:[2,13],15:[2,13],19:[2,13],29:[2,13],34:[2,13],39:[2,13],44:[2,13],47:[2,13],48:[2,13],51:[2,13],55:[2,13],60:[2,13]},{38:55,39:[1,57],43:56,44:[1,58],45:111,46:110,47:[2,76]},{33:[2,70],40:112,65:[2,70],72:[2,70],75:[2,70],80:[2,70],81:[2,70],82:[2,70],83:[2,70],84:[2,70],85:[2,70]},{47:[2,18]},{5:[2,14],14:[2,14],15:[2,14],19:[2,14],29:[2,14],34:[2,14],39:[2,14],44:[2,14],47:[2,14],48:[2,14],51:[2,14],55:[2,14],60:[2,14]},{33:[1,113]},{33:[2,87],65:[2,87],72:[2,87],80:[2,87],81:[2,87],82:[2,87],83:[2,87],84:[2,87],85:[2,87]},{33:[2,89]},{20:74,63:115,64:75,65:[1,43],67:114,68:[2,96],69:116,70:76,71:77,72:[1,78],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{33:[1,117]},{32:118,33:[2,62],74:119,75:[1,120]},{33:[2,59],65:[2,59],72:[2,59],75:[2,59],80:[2,59],81:[2,59],82:[2,59],83:[2,59],84:[2,59],85:[2,59]},{33:[2,61],75:[2,61]},{33:[2,68],37:121,74:122,75:[1,120]},{33:[2,65],65:[2,65],72:[2,65],75:[2,65],80:[2,65],81:[2,65],82:[2,65],83:[2,65],84:[2,65],85:[2,65]},{33:[2,67],75:[2,67]},{23:[1,123]},{23:[2,51],65:[2,51],72:[2,51],80:[2,51],81:[2,51],82:[2,51],83:[2,51],84:[2,51],85:[2,51]},{23:[2,53]},{33:[1,124]},{33:[2,91],65:[2,91],72:[2,91],80:[2,91],81:[2,91],82:[2,91],83:[2,91],84:[2,91],85:[2,91]},{33:[2,93]},{5:[2,22],14:[2,22],15:[2,22],19:[2,22],29:[2,22],34:[2,22],39:[2,22],44:[2,22],47:[2,22],48:[2,22],51:[2,22],55:[2,22],60:[2,22]},{23:[2,99],33:[2,99],54:[2,99],68:[2,99],72:[2,99],75:[2,99]},{73:[1,108]},{20:74,63:125,64:75,65:[1,43],72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{5:[2,23],14:[2,23],15:[2,23],19:[2,23],29:[2,23],34:[2,23],39:[2,23],44:[2,23],47:[2,23],48:[2,23],51:[2,23],55:[2,23],60:[2,23]},{47:[2,19]},{47:[2,77]},{20:74,33:[2,72],41:126,63:127,64:75,65:[1,43],69:128,70:76,71:77,72:[1,78],75:[2,72],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{5:[2,24],14:[2,24],15:[2,24],19:[2,24],29:[2,24],34:[2,24],39:[2,24],44:[2,24],47:[2,24],48:[2,24],51:[2,24],55:[2,24],60:[2,24]},{68:[1,129]},{65:[2,95],68:[2,95],72:[2,95],80:[2,95],81:[2,95],82:[2,95],83:[2,95],84:[2,95],85:[2,95]},{68:[2,97]},{5:[2,21],14:[2,21],15:[2,21],19:[2,21],29:[2,21],34:[2,21],39:[2,21],44:[2,21],47:[2,21],48:[2,21],51:[2,21],55:[2,21],60:[2,21]},{33:[1,130]},{33:[2,63]},{72:[1,132],76:131},{33:[1,133]},{33:[2,69]},{15:[2,12],18:[2,12]},{14:[2,26],15:[2,26],19:[2,26],29:[2,26],34:[2,26],47:[2,26],48:[2,26],51:[2,26],55:[2,26],60:[2,26]},{23:[2,31],33:[2,31],54:[2,31],68:[2,31],72:[2,31],75:[2,31]},{33:[2,74],42:134,74:135,75:[1,120]},{33:[2,71],65:[2,71],72:[2,71],75:[2,71],80:[2,71],81:[2,71],82:[2,71],83:[2,71],84:[2,71],85:[2,71]},{33:[2,73],75:[2,73]},{23:[2,29],33:[2,29],54:[2,29],65:[2,29],68:[2,29],72:[2,29],75:[2,29],80:[2,29],81:[2,29],82:[2,29],83:[2,29],84:[2,29],85:[2,29]},{14:[2,15],15:[2,15],19:[2,15],29:[2,15],34:[2,15],39:[2,15],44:[2,15],47:[2,15],48:[2,15],51:[2,15],55:[2,15],60:[2,15]},{72:[1,137],77:[1,136]},{72:[2,100],77:[2,100]},{14:[2,16],15:[2,16],19:[2,16],29:[2,16],34:[2,16],44:[2,16],47:[2,16],48:[2,16],51:[2,16],55:[2,16],60:[2,16]},{33:[1,138]},{33:[2,75]},{33:[2,32]},{72:[2,101],77:[2,101]},{14:[2,17],15:[2,17],19:[2,17],29:[2,17],34:[2,17],39:[2,17],44:[2,17],47:[2,17],48:[2,17],51:[2,17],55:[2,17],60:[2,17]}],defaultActions:{4:[2,1],54:[2,55],56:[2,20],60:[2,57],73:[2,81],82:[2,85],86:[2,18],90:[2,89],101:[2,53],104:[2,93],110:[2,19],111:[2,77],116:[2,97],119:[2,63],122:[2,69],135:[2,75],136:[2,32]},parseError:function(e,t){throw Error(e)},parse:function(e){var t=this,r=[0],n=[null],i=[],o=this.table,a="",s=0,l=0,c=0;this.lexer.setInput(e),this.lexer.yy=this.yy,this.yy.lexer=this.lexer,this.yy.parser=this,void 0===this.lexer.yylloc&&(this.lexer.yylloc={});var u=this.lexer.yylloc;i.push(u);var h=this.lexer.options&&this.lexer.options.ranges;"function"==typeof this.yy.parseError&&(this.parseError=this.yy.parseError);for(var d,f,p,m,g,v,y,b,w,_={};;){if(p=r[r.length-1],this.defaultActions[p]?m=this.defaultActions[p]:(null==d&&(d=function(){var e;return"number"!=typeof(e=t.lexer.lex()||1)&&(e=t.symbols_[e]||e),e}()),m=o[p]&&o[p][d]),void 0===m||!m.length||!m[0]){var k="";if(!c){for(v in w=[],o[p])this.terminals_[v]&&v>2&&w.push("'"+this.terminals_[v]+"'");k=this.lexer.showPosition?"Parse error on line "+(s+1)+":\n"+this.lexer.showPosition()+"\nExpecting "+w.join(", ")+", got '"+(this.terminals_[d]||d)+"'":"Parse error on line "+(s+1)+": Unexpected "+(1==d?"end of input":"'"+(this.terminals_[d]||d)+"'"),this.parseError(k,{text:this.lexer.match,token:this.terminals_[d]||d,line:this.lexer.yylineno,loc:u,expected:w})}}if(m[0]instanceof Array&&m.length>1)throw Error("Parse Error: multiple actions possible at state: "+p+", token: "+d);switch(m[0]){case 1:r.push(d),n.push(this.lexer.yytext),i.push(this.lexer.yylloc),r.push(m[1]),d=null,f?(d=f,f=null):(l=this.lexer.yyleng,a=this.lexer.yytext,s=this.lexer.yylineno,u=this.lexer.yylloc,c>0&&c--);break;case 2:if(y=this.productions_[m[1]][1],_.$=n[n.length-y],_._$={first_line:i[i.length-(y||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(y||1)].first_column,last_column:i[i.length-1].last_column},h&&(_._$.range=[i[i.length-(y||1)].range[0],i[i.length-1].range[1]]),void 0!==(g=this.performAction.call(_,a,l,s,this.yy,m[1],n,i)))return g;y&&(r=r.slice(0,-1*y*2),n=n.slice(0,-1*y),i=i.slice(0,-1*y)),r.push(this.productions_[m[1]][0]),n.push(_.$),i.push(_._$),b=o[r[r.length-2]][r[r.length-1]],r.push(b);break;case 3:return!0}}return!0}};function r(){this.yy={}}return(e={EOF:1,parseError:function(e,t){if(this.yy.parser)this.yy.parser.parseError(e,t);else throw Error(e)},setInput:function(e){return this._input=e,this._more=this._less=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t-1),this.offset-=t;var n=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),r.length-1&&(this.yylineno-=r.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),this},more:function(){return this._more=!0,this},less:function(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var e,t,r,n,i,o=this._currentRules(),a=0;at[0].length)||(t=r,n=a,this.options.flex));a++);return t?((i=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],e=this.performAction.call(this,this.yy,this,o[n],this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),e)?e:void 0:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var e=this.next();return void 0!==e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){return this.conditionStack.pop()},_currentRules:function(){return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules},topState:function(){return this.conditionStack[this.conditionStack.length-2]},pushState:function(e){this.begin(e)}}).options={},e.performAction=function(e,t,r,n){function i(e,r){return t.yytext=t.yytext.substring(e,t.yyleng-r+e)}switch(r){case 0:if("\\\\"===t.yytext.slice(-2)?(i(0,1),this.begin("mu")):"\\"===t.yytext.slice(-1)?(i(0,1),this.begin("emu")):this.begin("mu"),t.yytext)return 15;break;case 1:case 5:return 15;case 2:return this.popState(),15;case 3:return this.begin("raw"),15;case 4:if(this.popState(),"raw"===this.conditionStack[this.conditionStack.length-1])return 15;return i(5,9),"END_RAW_BLOCK";case 6:case 22:return this.popState(),14;case 7:return 65;case 8:return 68;case 9:return 19;case 10:return this.popState(),this.begin("raw"),23;case 11:return 55;case 12:return 60;case 13:return 29;case 14:return 47;case 15:case 16:return this.popState(),44;case 17:return 34;case 18:return 39;case 19:return 51;case 20:case 23:return 48;case 21:this.unput(t.yytext),this.popState(),this.begin("com");break;case 24:return 73;case 25:case 26:case 41:return 72;case 27:return 87;case 28:break;case 29:return this.popState(),54;case 30:return this.popState(),33;case 31:return t.yytext=i(1,2).replace(/\\"/g,'"'),80;case 32:return t.yytext=i(1,2).replace(/\\'/g,"'"),80;case 33:return 85;case 34:case 35:return 82;case 36:return 83;case 37:return 84;case 38:return 81;case 39:return 75;case 40:return 77;case 42:return t.yytext=t.yytext.replace(/\\([\\\]])/g,"$1"),72;case 43:return"INVALID";case 44:return 5}},e.rules=[/^(?:[^\x00]*?(?=(\{\{)))/,/^(?:[^\x00]+)/,/^(?:[^\x00]{2,}?(?=(\{\{|\\\{\{|\\\\\{\{|$)))/,/^(?:\{\{\{\{(?=[^/]))/,/^(?:\{\{\{\{\/[^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=[=}\s\/.])\}\}\}\})/,/^(?:[^\x00]+?(?=(\{\{\{\{)))/,/^(?:[\s\S]*?--(~)?\}\})/,/^(?:\()/,/^(?:\))/,/^(?:\{\{\{\{)/,/^(?:\}\}\}\})/,/^(?:\{\{(~)?>)/,/^(?:\{\{(~)?#>)/,/^(?:\{\{(~)?#\*?)/,/^(?:\{\{(~)?\/)/,/^(?:\{\{(~)?\^\s*(~)?\}\})/,/^(?:\{\{(~)?\s*else\s*(~)?\}\})/,/^(?:\{\{(~)?\^)/,/^(?:\{\{(~)?\s*else\b)/,/^(?:\{\{(~)?\{)/,/^(?:\{\{(~)?&)/,/^(?:\{\{(~)?!--)/,/^(?:\{\{(~)?![\s\S]*?\}\})/,/^(?:\{\{(~)?\*?)/,/^(?:=)/,/^(?:\.\.)/,/^(?:\.(?=([=~}\s\/.)|])))/,/^(?:[\/.])/,/^(?:\s+)/,/^(?:\}(~)?\}\})/,/^(?:(~)?\}\})/,/^(?:"(\\["]|[^"])*")/,/^(?:'(\\[']|[^'])*')/,/^(?:@)/,/^(?:true(?=([~}\s)])))/,/^(?:false(?=([~}\s)])))/,/^(?:undefined(?=([~}\s)])))/,/^(?:null(?=([~}\s)])))/,/^(?:-?[0-9]+(?:\.[0-9]+)?(?=([~}\s)])))/,/^(?:as\s+\|)/,/^(?:\|)/,/^(?:([^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=([=~}\s\/.)|]))))/,/^(?:\[(\\\]|[^\]])*\])/,/^(?:.)/,/^(?:$)/],e.conditions={mu:{rules:[7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44],inclusive:!1},emu:{rules:[2],inclusive:!1},com:{rules:[6],inclusive:!1},raw:{rules:[3,4,5],inclusive:!1},INITIAL:{rules:[0,1,44],inclusive:!0}},t.lexer=e,r.prototype=t,t.Parser=r,new r}(),e.exports=t.default},82471:(e,t,r)=>{"use strict";var n=r(28569).Readable;function i(e,t,r){n.call(this,t),this._helper=e;var i=this;e.on("data",function(e,t){i.push(e)||i._helper.pause(),r&&r(t)}).on("error",function(e){i.emit("error",e)}).on("end",function(){i.push(null)})}r(91349).inherits(i,n),i.prototype._read=function(){this._helper.resume()},e.exports=i},83721:(e,t,r)=>{"use strict";r.d(t,{Z:()=>i});var n=r(43210);function i(e){let t=n.useRef({value:e,previous:e});return n.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}},85966:(e,t)=>{"use strict";function r(e){this.string=e}t.__esModule=!0,r.prototype.toString=r.prototype.toHTML=function(){return""+this.string},t.default=r,e.exports=t.default},85990:(e,t,r)=>{"use strict";var n,i,o=r(56692),a=r(57148),s=r(55842),l=r(3724),c=r(9965);function u(e){return(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}function h(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new o.Buf16(320),this.work=new o.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function d(e){var t;return e&&e.state?(t=e.state,e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=1,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new o.Buf32(852),t.distcode=t.distdyn=new o.Buf32(592),t.sane=1,t.back=-1,0):-2}function f(e){var t;return e&&e.state?((t=e.state).wsize=0,t.whave=0,t.wnext=0,d(e)):-2}function p(e,t){var r,n;return e&&e.state?(n=e.state,t<0?(r=0,t=-t):(r=(t>>4)+1,t<48&&(t&=15)),t&&(t<8||t>15))?-2:(null!==n.window&&n.wbits!==t&&(n.window=null),n.wrap=r,n.wbits=t,f(e)):-2}function m(e,t){var r,n;return e?(e.state=n=new h,n.window=null,0!==(r=p(e,t))&&(e.state=null),r):-2}var g=!0;function v(e,t,r,n){var i,a=e.state;return null===a.window&&(a.wsize=1<=a.wsize?(o.arraySet(a.window,t,r-a.wsize,a.wsize,0),a.wnext=0,a.whave=a.wsize):((i=a.wsize-a.wnext)>n&&(i=n),o.arraySet(a.window,t,r-n,i,a.wnext),(n-=i)?(o.arraySet(a.window,t,r-n,n,0),a.wnext=n,a.whave=a.wsize):(a.wnext+=i,a.wnext===a.wsize&&(a.wnext=0),a.whave>>8&255,h.check=s(h.check,j,2,0),w=0,_=0,h.mode=2;break}if(h.flags=0,h.head&&(h.head.done=!1),!(1&h.wrap)||(((255&w)<<8)+(w>>8))%31){e.msg="incorrect header check",h.mode=30;break}if((15&w)!=8){e.msg="unknown compression method",h.mode=30;break}if(w>>>=4,_-=4,L=(15&w)+8,0===h.wbits)h.wbits=L;else if(L>h.wbits){e.msg="invalid window size",h.mode=30;break}h.dmax=1<>8&1),512&h.flags&&(j[0]=255&w,j[1]=w>>>8&255,h.check=s(h.check,j,2,0)),w=0,_=0,h.mode=3;case 3:for(;_<32;){if(0===y)break t;y--,w+=d[p++]<<_,_+=8}h.head&&(h.head.time=w),512&h.flags&&(j[0]=255&w,j[1]=w>>>8&255,j[2]=w>>>16&255,j[3]=w>>>24&255,h.check=s(h.check,j,4,0)),w=0,_=0,h.mode=4;case 4:for(;_<16;){if(0===y)break t;y--,w+=d[p++]<<_,_+=8}h.head&&(h.head.xflags=255&w,h.head.os=w>>8),512&h.flags&&(j[0]=255&w,j[1]=w>>>8&255,h.check=s(h.check,j,2,0)),w=0,_=0,h.mode=5;case 5:if(1024&h.flags){for(;_<16;){if(0===y)break t;y--,w+=d[p++]<<_,_+=8}h.length=w,h.head&&(h.head.extra_len=w),512&h.flags&&(j[0]=255&w,j[1]=w>>>8&255,h.check=s(h.check,j,2,0)),w=0,_=0}else h.head&&(h.head.extra=null);h.mode=6;case 6:if(1024&h.flags&&((S=h.length)>y&&(S=y),S&&(h.head&&(L=h.head.extra_len-h.length,h.head.extra||(h.head.extra=Array(h.head.extra_len)),o.arraySet(h.head.extra,d,p,S,L)),512&h.flags&&(h.check=s(h.check,d,S,p)),y-=S,p+=S,h.length-=S),h.length))break t;h.length=0,h.mode=7;case 7:if(2048&h.flags){if(0===y)break t;S=0;do L=d[p+S++],h.head&&L&&h.length<65536&&(h.head.name+=String.fromCharCode(L));while(L&&S>9&1,h.head.done=!0),e.adler=h.check=0,h.mode=12;break;case 10:for(;_<32;){if(0===y)break t;y--,w+=d[p++]<<_,_+=8}e.adler=h.check=u(w),w=0,_=0,h.mode=11;case 11:if(0===h.havedict)return e.next_out=m,e.avail_out=b,e.next_in=p,e.avail_in=y,h.hold=w,h.bits=_,2;e.adler=h.check=1,h.mode=12;case 12:if(5===t||6===t)break t;case 13:if(h.last){w>>>=7&_,_-=7&_,h.mode=27;break}for(;_<3;){if(0===y)break t;y--,w+=d[p++]<<_,_+=8}switch(h.last=1&w,_-=1,3&(w>>>=1)){case 0:h.mode=14;break;case 1:if(g){for(n=new o.Buf32(512),i=new o.Buf32(32),r=0;r<144;)h.lens[r++]=8;for(;r<256;)h.lens[r++]=9;for(;r<280;)h.lens[r++]=7;for(;r<288;)h.lens[r++]=8;for(c(1,h.lens,0,288,n,0,h.work,{bits:9}),r=0;r<32;)h.lens[r++]=5;c(2,h.lens,0,32,i,0,h.work,{bits:5}),g=!1}if(h.lencode=n,h.lenbits=9,h.distcode=i,h.distbits=5,h.mode=20,6===t){w>>>=2,_-=2;break t}break;case 2:h.mode=17;break;case 3:e.msg="invalid block type",h.mode=30}w>>>=2,_-=2;break;case 14:for(w>>>=7&_,_-=7&_;_<32;){if(0===y)break t;y--,w+=d[p++]<<_,_+=8}if((65535&w)!=(w>>>16^65535)){e.msg="invalid stored block lengths",h.mode=30;break}if(h.length=65535&w,w=0,_=0,h.mode=15,6===t)break t;case 15:h.mode=16;case 16:if(S=h.length){if(S>y&&(S=y),S>b&&(S=b),0===S)break t;o.arraySet(f,d,p,S,m),y-=S,p+=S,b-=S,m+=S,h.length-=S;break}h.mode=12;break;case 17:for(;_<14;){if(0===y)break t;y--,w+=d[p++]<<_,_+=8}if(h.nlen=(31&w)+257,_-=5,h.ndist=(31&(w>>>=5))+1,_-=5,h.ncode=(15&(w>>>=5))+4,w>>>=4,_-=4,h.nlen>286||h.ndist>30){e.msg="too many length or distance symbols",h.mode=30;break}h.have=0,h.mode=18;case 18:for(;h.have>>=3,_-=3}for(;h.have<19;)h.lens[z[h.have++]]=0;if(h.lencode=h.lendyn,h.lenbits=7,M={bits:h.lenbits},T=c(0,h.lens,0,19,h.lencode,0,h.work,M),h.lenbits=M.bits,T){e.msg="invalid code lengths set",h.mode=30;break}h.have=0,h.mode=19;case 19:for(;h.have>>24,A=D>>>16&255,O=65535&D,!(P<=_);){if(0===y)break t;y--,w+=d[p++]<<_,_+=8}if(O<16)w>>>=P,_-=P,h.lens[h.have++]=O;else{if(16===O){for(B=P+2;_>>=P,_-=P,0===h.have){e.msg="invalid bit length repeat",h.mode=30;break}L=h.lens[h.have-1],S=3+(3&w),w>>>=2,_-=2}else if(17===O){for(B=P+3;_>>=P,_-=P,L=0,S=3+(7&w),w>>>=3,_-=3}else{for(B=P+7;_>>=P,_-=P,L=0,S=11+(127&w),w>>>=7,_-=7}if(h.have+S>h.nlen+h.ndist){e.msg="invalid bit length repeat",h.mode=30;break}for(;S--;)h.lens[h.have++]=L}}if(30===h.mode)break;if(0===h.lens[256]){e.msg="invalid code -- missing end-of-block",h.mode=30;break}if(h.lenbits=9,M={bits:h.lenbits},T=c(1,h.lens,0,h.nlen,h.lencode,0,h.work,M),h.lenbits=M.bits,T){e.msg="invalid literal/lengths set",h.mode=30;break}if(h.distbits=6,h.distcode=h.distdyn,M={bits:h.distbits},T=c(2,h.lens,h.nlen,h.ndist,h.distcode,0,h.work,M),h.distbits=M.bits,T){e.msg="invalid distances set",h.mode=30;break}if(h.mode=20,6===t)break t;case 20:h.mode=21;case 21:if(y>=6&&b>=258){e.next_out=m,e.avail_out=b,e.next_in=p,e.avail_in=y,h.hold=w,h.bits=_,l(e,x),m=e.next_out,f=e.output,b=e.avail_out,p=e.next_in,d=e.input,y=e.avail_in,w=h.hold,_=h.bits,12===h.mode&&(h.back=-1);break}for(h.back=0;P=(D=h.lencode[w&(1<>>24,A=D>>>16&255,O=65535&D,!(P<=_);){if(0===y)break t;y--,w+=d[p++]<<_,_+=8}if(A&&(240&A)==0){for(R=P,I=A,N=O;P=(D=h.lencode[N+((w&(1<>R)])>>>24,A=D>>>16&255,O=65535&D,!(R+P<=_);){if(0===y)break t;y--,w+=d[p++]<<_,_+=8}w>>>=R,_-=R,h.back+=R}if(w>>>=P,_-=P,h.back+=P,h.length=O,0===A){h.mode=26;break}if(32&A){h.back=-1,h.mode=12;break}if(64&A){e.msg="invalid literal/length code",h.mode=30;break}h.extra=15&A,h.mode=22;case 22:if(h.extra){for(B=h.extra;_>>=h.extra,_-=h.extra,h.back+=h.extra}h.was=h.length,h.mode=23;case 23:for(;P=(D=h.distcode[w&(1<>>24,A=D>>>16&255,O=65535&D,!(P<=_);){if(0===y)break t;y--,w+=d[p++]<<_,_+=8}if((240&A)==0){for(R=P,I=A,N=O;P=(D=h.distcode[N+((w&(1<>R)])>>>24,A=D>>>16&255,O=65535&D,!(R+P<=_);){if(0===y)break t;y--,w+=d[p++]<<_,_+=8}w>>>=R,_-=R,h.back+=R}if(w>>>=P,_-=P,h.back+=P,64&A){e.msg="invalid distance code",h.mode=30;break}h.offset=O,h.extra=15&A,h.mode=24;case 24:if(h.extra){for(B=h.extra;_>>=h.extra,_-=h.extra,h.back+=h.extra}if(h.offset>h.dmax){e.msg="invalid distance too far back",h.mode=30;break}h.mode=25;case 25:if(0===b)break t;if(S=x-b,h.offset>S){if((S=h.offset-S)>h.whave&&h.sane){e.msg="invalid distance too far back",h.mode=30;break}S>h.wnext?(S-=h.wnext,E=h.wsize-S):E=h.wnext-S,S>h.length&&(S=h.length),C=h.window}else C=f,E=m-h.offset,S=h.length;S>b&&(S=b),b-=S,h.length-=S;do f[m++]=C[E++];while(--S);0===h.length&&(h.mode=21);break;case 26:if(0===b)break t;f[m++]=h.length,b--,h.mode=21;break;case 27:if(h.wrap){for(;_<32;){if(0===y)break t;y--,w|=d[p++]<<_,_+=8}if(x-=b,e.total_out+=x,h.total+=x,x&&(e.adler=h.check=h.flags?s(h.check,f,x,m-x):a(h.check,f,x,m-x)),x=b,(h.flags?w:u(w))!==h.check){e.msg="incorrect data check",h.mode=30;break}w=0,_=0}h.mode=28;case 28:if(h.wrap&&h.flags){for(;_<32;){if(0===y)break t;y--,w+=d[p++]<<_,_+=8}if(w!==(0|h.total)){e.msg="incorrect length check",h.mode=30;break}w=0,_=0}h.mode=29;case 29:T=1;break t;case 30:T=-3;break t;case 31:return -4;default:return -2}return(e.next_out=m,e.avail_out=b,e.next_in=p,e.avail_in=y,h.hold=w,h.bits=_,(h.wsize||x!==e.avail_out&&h.mode<30&&(h.mode<27||4!==t))&&v(e,e.output,e.next_out,x-e.avail_out))?(h.mode=31,-4):(k-=e.avail_in,x-=e.avail_out,e.total_in+=k,e.total_out+=x,h.total+=x,h.wrap&&x&&(e.adler=h.check=h.flags?s(h.check,f,x,e.next_out-x):a(h.check,f,x,e.next_out-x)),e.data_type=h.bits+64*!!h.last+128*(12===h.mode)+256*(20===h.mode||15===h.mode),(0===k&&0===x||4===t)&&0===T&&(T=-5),T)},t.inflateEnd=function(e){if(!e||!e.state)return -2;var t=e.state;return t.window&&(t.window=null),e.state=null,0},t.inflateGetHeader=function(e,t){var r;return e&&e.state&&(2&(r=e.state).wrap)!=0?(r.head=t,t.done=!1,0):-2},t.inflateSetDictionary=function(e,t){var r,n,i=t.length;return e&&e.state&&(0===(r=e.state).wrap||11===r.mode)?11===r.mode&&a(1,t,i,0)!==r.check?-3:v(e,t,i,i)?(r.mode=31,-4):(r.havedict=1,0):-2},t.inflateInfo="pako inflate (from Nodeca project)"},87146:(e,t,r)=>{"use strict";function n(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var i=r(14266),o=n(r(49342)),a=r(62602),s=n(r(71907));function l(e){this.value=e}function c(){}c.prototype={nameLookup:function(e,t){return this.internalNameLookup(e,t)},depthedLookup:function(e){return[this.aliasable("container.lookup"),"(depths, ",JSON.stringify(e),")"]},compilerInfo:function(){var e=i.COMPILER_REVISION,t=i.REVISION_CHANGES[e];return[e,t]},appendToBuffer:function(e,t,r){return(a.isArray(e)||(e=[e]),e=this.source.wrap(e,t),this.environment.isSimple)?["return ",e,";"]:r?["buffer += ",e,";"]:(e.appendToBuffer=!0,e)},initializeBuffer:function(){return this.quotedString("")},internalNameLookup:function(e,t){return this.lookupPropertyFunctionIsUsed=!0,["lookupProperty(",e,",",JSON.stringify(t),")"]},lookupPropertyFunctionIsUsed:!1,compile:function(e,t,r,n){this.environment=e,this.options=t,this.stringParams=this.options.stringParams,this.trackIds=this.options.trackIds,this.precompile=!n,this.name=this.environment.name,this.isChild=!!r,this.context=r||{decorators:[],programs:[],environments:[]},this.preamble(),this.stackSlot=0,this.stackVars=[],this.aliases={},this.registers={list:[]},this.hashes=[],this.compileStack=[],this.inlineStack=[],this.blockParams=[],this.compileChildren(e,t),this.useDepths=this.useDepths||e.useDepths||e.useDecorators||this.options.compat,this.useBlockParams=this.useBlockParams||e.useBlockParams;var i=e.opcodes,a=void 0,s=void 0,l=void 0,c=void 0;for(l=0,c=i.length;l0&&(r+=", "+n.join(", "));var i=0;Object.keys(this.aliases).forEach(function(e){var n=t.aliases[e];n.children&&n.referenceCount>1&&(r+=", alias"+ ++i+"="+e,n.children[0]="alias"+i)}),this.lookupPropertyFunctionIsUsed&&(r+=", "+this.lookupPropertyFunctionVarDeclaration());var o=["container","depth0","helpers","partials","data"];(this.useBlockParams||this.useDepths)&&o.push("blockParams"),this.useDepths&&o.push("depths");var a=this.mergeSource(r);return e?(o.push(a),Function.apply(this,o)):this.source.wrap(["function(",o.join(","),") {\n ",a,"}"])},mergeSource:function(e){var t=this.environment.isSimple,r=!this.forceBuffer,n=void 0,i=void 0,o=void 0,a=void 0;return this.source.each(function(e){e.appendToBuffer?(o?e.prepend(" + "):o=e,a=e):(o&&(i?o.prepend("buffer += "):n=!0,a.add(";"),o=a=void 0),i=!0,t||(r=!1))}),r?o?(o.prepend("return "),a.add(";")):i||this.source.push('return "";'):(e+=", buffer = "+(n?"":this.initializeBuffer()),o?(o.prepend("return buffer + "),a.add(";")):this.source.push("return buffer;")),e&&this.source.prepend("var "+e.substring(2)+(n?"":";\n")),this.source.merge()},lookupPropertyFunctionVarDeclaration:function(){return"\n lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n }\n ".trim()},blockValue:function(e){var t=this.aliasable("container.hooks.blockHelperMissing"),r=[this.contextName(0)];this.setupHelperArgs(e,0,r);var n=this.popStack();r.splice(1,0,n),this.push(this.source.functionCall(t,"call",r))},ambiguousBlockValue:function(){var e=this.aliasable("container.hooks.blockHelperMissing"),t=[this.contextName(0)];this.setupHelperArgs("",0,t,!0),this.flushInline();var r=this.topStack();t.splice(1,0,r),this.pushSource(["if (!",this.lastHelper,") { ",r," = ",this.source.functionCall(e,"call",t),"}"])},appendContent:function(e){this.pendingContent?e=this.pendingContent+e:this.pendingLocation=this.source.currentLocation,this.pendingContent=e},append:function(){if(this.isInline())this.replaceStack(function(e){return[" != null ? ",e,' : ""']}),this.pushSource(this.appendToBuffer(this.popStack()));else{var e=this.popStack();this.pushSource(["if (",e," != null) { ",this.appendToBuffer(e,void 0,!0)," }"]),this.environment.isSimple&&this.pushSource(["else { ",this.appendToBuffer("''",void 0,!0)," }"])}},appendEscaped:function(){this.pushSource(this.appendToBuffer([this.aliasable("container.escapeExpression"),"(",this.popStack(),")"]))},getContext:function(e){this.lastContext=e},pushContext:function(){this.pushStackLiteral(this.contextName(this.lastContext))},lookupOnContext:function(e,t,r,n){var i=0;n||!this.options.compat||this.lastContext?this.pushContext():this.push(this.depthedLookup(e[i++])),this.resolvePath("context",e,i,t,r)},lookupBlockParam:function(e,t){this.useBlockParams=!0,this.push(["blockParams[",e[0],"][",e[1],"]"]),this.resolvePath("context",t,1)},lookupData:function(e,t,r){e?this.pushStackLiteral("container.data(data, "+e+")"):this.pushStackLiteral("data"),this.resolvePath("data",t,0,!0,r)},resolvePath:function(e,t,r,n,i){var o=this;if(this.options.strict||this.options.assumeObjects)return void this.push(function(e,t,r,n,i){var o=t.popStack(),a=r.length;for(e&&a--;nthis.stackVars.length&&this.stackVars.push("stack"+this.stackSlot),this.topStackName()},topStackName:function(){return"stack"+this.stackSlot},flushInline:function(){var e=this.inlineStack;this.inlineStack=[];for(var t=0,r=e.length;t{"use strict";var n,i=r(56692),o=r(59992),a=r(57148),s=r(55842),l=r(9629),c=573;function u(e,t){return e.msg=l[t],t}function h(e){return(e<<1)-9*(e>4)}function d(e){for(var t=e.length;--t>=0;)e[t]=0}function f(e){var t=e.state,r=t.pending;r>e.avail_out&&(r=e.avail_out),0!==r&&(i.arraySet(e.output,t.pending_buf,t.pending_out,r,e.next_out),e.next_out+=r,t.pending_out+=r,e.total_out+=r,e.avail_out-=r,t.pending-=r,0===t.pending&&(t.pending_out=0))}function p(e,t){o._tr_flush_block(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,f(e.strm)}function m(e,t){e.pending_buf[e.pending++]=t}function g(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t}function v(e,t){var r,n,i=e.max_chain_length,o=e.strstart,a=e.prev_length,s=e.nice_match,l=e.strstart>e.w_size-262?e.strstart-(e.w_size-262):0,c=e.window,u=e.w_mask,h=e.prev,d=e.strstart+258,f=c[o+a-1],p=c[o+a];e.prev_length>=e.good_match&&(i>>=2),s>e.lookahead&&(s=e.lookahead);do{if(c[(r=t)+a]!==p||c[r+a-1]!==f||c[r]!==c[o]||c[++r]!==c[o+1])continue;o+=2,r++;do;while(c[++o]===c[++r]&&c[++o]===c[++r]&&c[++o]===c[++r]&&c[++o]===c[++r]&&c[++o]===c[++r]&&c[++o]===c[++r]&&c[++o]===c[++r]&&c[++o]===c[++r]&&oa){if(e.match_start=t,a=n,n>=s)break;f=c[o+a-1],p=c[o+a]}}while((t=h[t&u])>l&&0!=--i);return a<=e.lookahead?a:e.lookahead}function y(e){var t,r,n,o,l,c=e.w_size;do{if(o=e.window_size-e.lookahead-e.strstart,e.strstart>=c+(c-262)){i.arraySet(e.window,e.window,c,c,0),e.match_start-=c,e.strstart-=c,e.block_start-=c,t=r=e.hash_size;do n=e.head[--t],e.head[t]=n>=c?n-c:0;while(--r);t=r=c;do n=e.prev[--t],e.prev[t]=n>=c?n-c:0;while(--r);o+=c}if(0===e.strm.avail_in)break;if(r=function(e,t,r,n){var o=e.avail_in;return(o>n&&(o=n),0===o)?0:(e.avail_in-=o,i.arraySet(t,e.input,e.next_in,o,r),1===e.state.wrap?e.adler=a(e.adler,t,o,r):2===e.state.wrap&&(e.adler=s(e.adler,t,o,r)),e.next_in+=o,e.total_in+=o,o)}(e.strm,e.window,e.strstart+e.lookahead,o),e.lookahead+=r,e.lookahead+e.insert>=3)for(l=e.strstart-e.insert,e.ins_h=e.window[l],e.ins_h=(e.ins_h<=3&&(e.ins_h=(e.ins_h<=3)if(n=o._tr_tally(e,e.strstart-e.match_start,e.match_length-3),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=3){e.match_length--;do e.strstart++,e.ins_h=(e.ins_h<=3&&(e.ins_h=(e.ins_h<4096)&&(e.match_length=2)),e.prev_length>=3&&e.match_length<=e.prev_length){i=e.strstart+e.lookahead-3,n=o._tr_tally(e,e.strstart-1-e.prev_match,e.prev_length-3),e.lookahead-=e.prev_length-1,e.prev_length-=2;do++e.strstart<=i&&(e.ins_h=(e.ins_h<15&&(s=2,n-=16),o<1||o>9||8!==r||n<8||n>15||t<0||t>9||a<0||a>4)return u(e,-2);8===n&&(n=9);var l=new k;return e.state=l,l.strm=e,l.wrap=s,l.gzhead=null,l.w_bits=n,l.w_size=1<e.pending_buf_size-5&&(r=e.pending_buf_size-5);;){if(e.lookahead<=1){if(y(e),0===e.lookahead&&0===t)return 1;if(0===e.lookahead)break}e.strstart+=e.lookahead,e.lookahead=0;var n=e.block_start+r;if((0===e.strstart||e.strstart>=n)&&(e.lookahead=e.strstart-n,e.strstart=n,p(e,!1),0===e.strm.avail_out)||e.strstart-e.block_start>=e.w_size-262&&(p(e,!1),0===e.strm.avail_out))return 1}return(e.insert=0,4===t)?(p(e,!0),0===e.strm.avail_out)?3:4:(e.strstart>e.block_start&&(p(e,!1),e.strm.avail_out),1)}),new _(4,4,8,4,b),new _(4,5,16,8,b),new _(4,6,32,32,b),new _(4,4,16,16,w),new _(8,16,32,32,w),new _(8,16,128,128,w),new _(8,32,128,256,w),new _(32,128,258,1024,w),new _(32,258,258,4096,w)],t.deflateInit=function(e,t){return E(e,t,8,15,8,0)},t.deflateInit2=E,t.deflateReset=S,t.deflateResetKeep=x,t.deflateSetHeader=function(e,t){return e&&e.state&&2===e.state.wrap?(e.state.gzhead=t,0):-2},t.deflate=function(e,t){if(!e||!e.state||t>5||t<0)return e?u(e,-2):-2;if(i=e.state,!e.output||!e.input&&0!==e.avail_in||666===i.status&&4!==t)return u(e,0===e.avail_out?-5:-2);if(i.strm=e,r=i.last_flush,i.last_flush=t,42===i.status)if(2===i.wrap)e.adler=0,m(i,31),m(i,139),m(i,8),i.gzhead?(m(i,+!!i.gzhead.text+2*!!i.gzhead.hcrc+4*!!i.gzhead.extra+8*!!i.gzhead.name+16*!!i.gzhead.comment),m(i,255&i.gzhead.time),m(i,i.gzhead.time>>8&255),m(i,i.gzhead.time>>16&255),m(i,i.gzhead.time>>24&255),m(i,9===i.level?2:4*(i.strategy>=2||i.level<2)),m(i,255&i.gzhead.os),i.gzhead.extra&&i.gzhead.extra.length&&(m(i,255&i.gzhead.extra.length),m(i,i.gzhead.extra.length>>8&255)),i.gzhead.hcrc&&(e.adler=s(e.adler,i.pending_buf,i.pending,0)),i.gzindex=0,i.status=69):(m(i,0),m(i,0),m(i,0),m(i,0),m(i,0),m(i,9===i.level?2:4*(i.strategy>=2||i.level<2)),m(i,3),i.status=113);else{var r,i,a,l,c=8+(i.w_bits-8<<4)<<8,v=-1;c|=(i.strategy>=2||i.level<2?0:i.level<6?1:6===i.level?2:3)<<6,0!==i.strstart&&(c|=32),c+=31-c%31,i.status=113,g(i,c),0!==i.strstart&&(g(i,e.adler>>>16),g(i,65535&e.adler)),e.adler=1}if(69===i.status)if(i.gzhead.extra){for(a=i.pending;i.gzindex<(65535&i.gzhead.extra.length)&&(i.pending!==i.pending_buf_size||(i.gzhead.hcrc&&i.pending>a&&(e.adler=s(e.adler,i.pending_buf,i.pending-a,a)),f(e),a=i.pending,i.pending!==i.pending_buf_size));)m(i,255&i.gzhead.extra[i.gzindex]),i.gzindex++;i.gzhead.hcrc&&i.pending>a&&(e.adler=s(e.adler,i.pending_buf,i.pending-a,a)),i.gzindex===i.gzhead.extra.length&&(i.gzindex=0,i.status=73)}else i.status=73;if(73===i.status)if(i.gzhead.name){a=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>a&&(e.adler=s(e.adler,i.pending_buf,i.pending-a,a)),f(e),a=i.pending,i.pending===i.pending_buf_size)){l=1;break}l=i.gzindexa&&(e.adler=s(e.adler,i.pending_buf,i.pending-a,a)),0===l&&(i.gzindex=0,i.status=91)}else i.status=91;if(91===i.status)if(i.gzhead.comment){a=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>a&&(e.adler=s(e.adler,i.pending_buf,i.pending-a,a)),f(e),a=i.pending,i.pending===i.pending_buf_size)){l=1;break}l=i.gzindexa&&(e.adler=s(e.adler,i.pending_buf,i.pending-a,a)),0===l&&(i.status=103)}else i.status=103;if(103===i.status&&(i.gzhead.hcrc?(i.pending+2>i.pending_buf_size&&f(e),i.pending+2<=i.pending_buf_size&&(m(i,255&e.adler),m(i,e.adler>>8&255),e.adler=0,i.status=113)):i.status=113),0!==i.pending){if(f(e),0===e.avail_out)return i.last_flush=-1,0}else if(0===e.avail_in&&h(t)<=h(r)&&4!==t)return u(e,-5);if(666===i.status&&0!==e.avail_in)return u(e,-5);if(0!==e.avail_in||0!==i.lookahead||0!==t&&666!==i.status){var b=2===i.strategy?function(e,t){for(var r;;){if(0===e.lookahead&&(y(e),0===e.lookahead)){if(0===t)return 1;break}if(e.match_length=0,r=o._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,r&&(p(e,!1),0===e.strm.avail_out))return 1}return(e.insert=0,4===t)?(p(e,!0),0===e.strm.avail_out)?3:4:e.last_lit&&(p(e,!1),0===e.strm.avail_out)?1:2}(i,t):3===i.strategy?function(e,t){for(var r,n,i,a,s=e.window;;){if(e.lookahead<=258){if(y(e),e.lookahead<=258&&0===t)return 1;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=3&&e.strstart>0&&(n=s[i=e.strstart-1])===s[++i]&&n===s[++i]&&n===s[++i]){a=e.strstart+258;do;while(n===s[++i]&&n===s[++i]&&n===s[++i]&&n===s[++i]&&n===s[++i]&&n===s[++i]&&n===s[++i]&&n===s[++i]&&ie.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=3?(r=o._tr_tally(e,1,e.match_length-3),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(r=o._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),r&&(p(e,!1),0===e.strm.avail_out))return 1}return(e.insert=0,4===t)?(p(e,!0),0===e.strm.avail_out)?3:4:e.last_lit&&(p(e,!1),0===e.strm.avail_out)?1:2}(i,t):n[i.level].func(i,t);if((3===b||4===b)&&(i.status=666),1===b||3===b)return 0===e.avail_out&&(i.last_flush=-1),0;if(2===b&&(1===t?o._tr_align(i):5!==t&&(o._tr_stored_block(i,0,0,!1),3===t&&(d(i.head),0===i.lookahead&&(i.strstart=0,i.block_start=0,i.insert=0))),f(e),0===e.avail_out))return i.last_flush=-1,0}return 4!==t?0:i.wrap<=0?1:(2===i.wrap?(m(i,255&e.adler),m(i,e.adler>>8&255),m(i,e.adler>>16&255),m(i,e.adler>>24&255),m(i,255&e.total_in),m(i,e.total_in>>8&255),m(i,e.total_in>>16&255),m(i,e.total_in>>24&255)):(g(i,e.adler>>>16),g(i,65535&e.adler)),f(e),i.wrap>0&&(i.wrap=-i.wrap),+(0===i.pending))},t.deflateEnd=function(e){var t;return e&&e.state?42!==(t=e.state.status)&&69!==t&&73!==t&&91!==t&&103!==t&&113!==t&&666!==t?u(e,-2):(e.state=null,113===t?u(e,-3):0):-2},t.deflateSetDictionary=function(e,t){var r,n,o,s,l,c,u,h,f=t.length;if(!e||!e.state||2===(s=(r=e.state).wrap)||1===s&&42!==r.status||r.lookahead)return -2;for(1===s&&(e.adler=a(e.adler,t,f,0)),r.wrap=0,f>=r.w_size&&(0===s&&(d(r.head),r.strstart=0,r.block_start=0,r.insert=0),h=new i.Buf8(r.w_size),i.arraySet(h,t,f-r.w_size,r.w_size,0),t=h,f=r.w_size),l=e.avail_in,c=e.next_in,u=e.input,e.avail_in=f,e.next_in=0,e.input=t,y(r);r.lookahead>=3;){n=r.strstart,o=r.lookahead-2;do r.ins_h=(r.ins_h<{"use strict";var n=r(94001),i=r(26527),o=r(93625),a=r(48780),s=r(25542),l=function(e,t,r){this.name=e,this.dir=r.dir,this.date=r.date,this.comment=r.comment,this.unixPermissions=r.unixPermissions,this.dosPermissions=r.dosPermissions,this._data=t,this._dataBinary=r.binary,this.options={compression:r.compression,compressionOptions:r.compressionOptions}};l.prototype={internalStream:function(e){var t=null,r="string";try{if(!e)throw Error("No output type specified.");r=e.toLowerCase();var i="string"===r||"text"===r;("binarystring"===r||"text"===r)&&(r="string"),t=this._decompressWorker();var a=!this._dataBinary;a&&!i&&(t=t.pipe(new o.Utf8EncodeWorker)),!a&&i&&(t=t.pipe(new o.Utf8DecodeWorker))}catch(e){(t=new s("error")).error(e)}return new n(t,r,"")},async:function(e,t){return this.internalStream(e).accumulate(t)},nodeStream:function(e,t){return this.internalStream(e||"nodebuffer").toNodejsStream(t)},_compressWorker:function(e,t){if(this._data instanceof a&&this._data.compression.magic===e.magic)return this._data.getCompressedWorker();var r=this._decompressWorker();return this._dataBinary||(r=r.pipe(new o.Utf8EncodeWorker)),a.createWorkerFrom(r,e,t)},_decompressWorker:function(){return this._data instanceof a?this._data.getContentWorker():this._data instanceof s?this._data:new i(this._data)}};for(var c=["asText","asBinary","asNodeBuffer","asUint8Array","asArrayBuffer"],u=function(){throw Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},h=0;h{"use strict";var n=null;e.exports={Promise:"undefined"!=typeof Promise?Promise:r(42672)}},88584:(e,t,r)=>{"use strict";t.__esModule=!0;var n=function(e){return e&&e.__esModule?e:{default:e}}(r(49342));t.default=function(e){e.registerHelper("helperMissing",function(){if(1!=arguments.length)throw new n.default('Missing helper: "'+arguments[arguments.length-1].name+'"')})},e.exports=t.default},91349:(e,t,r)=>{"use strict";var n=r(20759),i=r(74545),o=r(21464),a=r(88033);function s(e){return e}function l(e,t){for(var r=0;r1;)try{return c.stringifyByChunk(e,n,r)}catch(e){r=Math.floor(r/2)}return c.stringifyByChar(e)}function h(e,t){for(var r=0;r{"use strict";e.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},92089:(e,t,r)=>{"use strict";var n=r(25542);t.STORE={magic:"\0\0",compressWorker:function(){return new n("STORE compression")},uncompressWorker:function(){return new n("STORE decompression")}},t.DEFLATE=r(69462)},93284:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(62602),i=function(e){return e&&e.__esModule?e:{default:e}}(r(49342));t.default=function(e){e.registerHelper("each",function(e,t){if(!t)throw new i.default("Must pass iterator to #each");var r,o=t.fn,a=t.inverse,s=0,l="",c=void 0,u=void 0;function h(t,r,i){c&&(c.key=t,c.index=r,c.first=0===r,c.last=!!i,u&&(c.contextPath=u+t)),l+=o(e[t],{data:c,blockParams:n.blockParams([e[t],t],[u+t,null])})}if(t.data&&t.ids&&(u=n.appendContextPath(t.data.contextPath,t.ids[0])+"."),n.isFunction(e)&&(e=e.call(this)),t.data&&(c=n.createFrame(t.data)),e&&"object"==typeof e)if(n.isArray(e))for(var d=e.length;s{"use strict";r.d(t,{A:()=>n});let n=(0,r(62688).A)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]])},93625:(e,t,r)=>{"use strict";for(var n=r(91349),i=r(20759),o=r(21464),a=r(25542),s=Array(256),l=0;l<256;l++)s[l]=l>=252?6:l>=248?5:l>=240?4:l>=224?3:l>=192?2:1;s[254]=s[254]=1;var c=function(e){var t,r,n,o,a,s=e.length,l=0;for(o=0;o>>6:(r<65536?t[a++]=224|r>>>12:(t[a++]=240|r>>>18,t[a++]=128|r>>>12&63),t[a++]=128|r>>>6&63),t[a++]=128|63&r);return t},u=function(e,t){var r;for((t=t||e.length)>e.length&&(t=e.length),r=t-1;r>=0&&(192&e[r])==128;)r--;return r<0||0===r?t:r+s[e[r]]>t?r:t},h=function(e){var t,r,i,o,a=e.length,l=Array(2*a);for(r=0,t=0;t4){l[r++]=65533,t+=o-1;continue}for(i&=2===o?31:3===o?15:7;o>1&&t1){l[r++]=65533;continue}i<65536?l[r++]=i:(i-=65536,l[r++]=55296|i>>10&1023,l[r++]=56320|1023&i)}return l.length!==r&&(l.subarray?l=l.subarray(0,r):l.length=r),n.applyFromCharCode(l)};function d(){a.call(this,"utf-8 decode"),this.leftOver=null}function f(){a.call(this,"utf-8 encode")}t.utf8encode=function(e){return i.nodebuffer?o.newBufferFrom(e,"utf-8"):c(e)},t.utf8decode=function(e){return i.nodebuffer?n.transformTo("nodebuffer",e).toString("utf-8"):h(e=n.transformTo(i.uint8array?"uint8array":"array",e))},n.inherits(d,a),d.prototype.processChunk=function(e){var r=n.transformTo(i.uint8array?"uint8array":"array",e.data);if(this.leftOver&&this.leftOver.length){if(i.uint8array){var o=r;(r=new Uint8Array(o.length+this.leftOver.length)).set(this.leftOver,0),r.set(o,this.leftOver.length)}else r=this.leftOver.concat(r);this.leftOver=null}var a=u(r),s=r;a!==r.length&&(i.uint8array?(s=r.subarray(0,a),this.leftOver=r.subarray(a,r.length)):(s=r.slice(0,a),this.leftOver=r.slice(a,r.length))),this.push({data:t.utf8decode(s),meta:e.meta})},d.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:t.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},t.Utf8DecodeWorker=d,n.inherits(f,a),f.prototype.processChunk=function(e){this.push({data:t.utf8encode(e.data),meta:e.meta})},t.Utf8EncodeWorker=f},94001:(e,t,r)=>{"use strict";var n=r(91349),i=r(49576),o=r(25542),a=r(74545),s=r(20759),l=r(88033),c=null;if(s.nodestream)try{c=r(82471)}catch(e){}function u(e,t,r){var a=t;switch(t){case"blob":case"arraybuffer":a="uint8array";break;case"base64":a="string"}try{this._internalType=a,this._outputType=t,this._mimeType=r,n.checkSupport(a),this._worker=e.pipe(new i(a)),e.lock()}catch(e){this._worker=new o("error"),this._worker.error(e)}}u.prototype={accumulate:function(e){var t;return t=this,new l.Promise(function(r,i){var o=[],s=t._internalType,l=t._outputType,c=t._mimeType;t.on("data",function(t,r){o.push(t),e&&e(r)}).on("error",function(e){o=[],i(e)}).on("end",function(){try{var e=function(e,t,r){switch(e){case"blob":return n.newBlob(n.transformTo("arraybuffer",t),r);case"base64":return a.encode(t);default:return n.transformTo(e,t)}}(l,function(e,t){var r,n=0,i=null,o=0;for(r=0;r{"use strict";function n(){if(!(this instanceof n))return new n;if(arguments.length)throw Error("The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide.");this.files=Object.create(null),this.comment=null,this.root="",this.clone=function(){var e=new n;for(var t in this)"function"!=typeof this[t]&&(e[t]=this[t]);return e}}n.prototype=r(97329),n.prototype.loadAsync=r(18882),n.support=r(20759),n.defaults=r(7952),n.version="3.10.1",n.loadAsync=function(e,t){return new n().loadAsync(e,t)},n.external=r(88033),e.exports=n},94760:(e,t,r)=>{"use strict";function n(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0,t.parseWithoutProcessing=c,t.parse=function(e,t){var r=c(e,t);return new o.default(t).accept(r)};var i=n(r(82350)),o=n(r(22544)),a=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(r(96936)),s=r(62602);t.parser=i.default;var l={};function c(e,t){return"Program"===e.type?e:(i.default.yy=l,l.locInfo=function(e){return new l.SourceLocation(t&&t.srcName,e)},i.default.parse(e))}s.extend(l,a)},96014:(e,t,r)=>{e.exports=r(28354).deprecate},96148:(e,t,r)=>{"use strict";var n=r(91349),i=r(20759),o=r(61756),a=r(20714),s=r(10129),l=r(60206);e.exports=function(e){var t=n.getTypeOf(e);return(n.checkSupport(t),"string"!==t||i.uint8array)?"nodebuffer"===t?new s(e):i.uint8array?new l(n.transformTo("uint8array",e)):new o(n.transformTo("array",e)):new a(e)}},96936:(e,t,r)=>{"use strict";t.__esModule=!0,t.SourceLocation=function(e,t){this.source=e,this.start={line:t.first_line,column:t.first_column},this.end={line:t.last_line,column:t.last_column}},t.id=function(e){return/^\[.*\]$/.test(e)?e.substring(1,e.length-1):e},t.stripFlags=function(e,t){return{open:"~"===e.charAt(2),close:"~"===t.charAt(t.length-3)}},t.stripComment=function(e){return e.replace(/^\{\{~?!-?-?/,"").replace(/-?-?~?\}\}$/,"")},t.preparePath=function(e,t,r){r=this.locInfo(r);for(var i=e?"@":"",o=[],a=0,s=0,l=t.length;s0)throw new n.default("Invalid path: "+i,{loc:r});else".."===c&&a++}return{type:"PathExpression",data:e,depth:a,parts:o,original:i,loc:r}},t.prepareMustache=function(e,t,r,n,i,o){var a=n.charAt(3)||n.charAt(2);return{type:/\*/.test(n)?"Decorator":"MustacheStatement",path:e,params:t,hash:r,escaped:"{"!==a&&"&"!==a,strip:i,loc:this.locInfo(o)}},t.prepareRawBlock=function(e,t,r,n){i(e,r);var o={type:"Program",body:t,strip:{},loc:n=this.locInfo(n)};return{type:"BlockStatement",path:e.path,params:e.params,hash:e.hash,program:o,openStrip:{},inverseStrip:{},closeStrip:{},loc:n}},t.prepareBlock=function(e,t,r,o,a,s){o&&o.path&&i(e,o);var l=/\*/.test(e.open);t.blockParams=e.blockParams;var c=void 0,u=void 0;if(r){if(l)throw new n.default("Unexpected inverse block on decorator",r);r.chain&&(r.program.body[0].closeStrip=o.strip),u=r.strip,c=r.program}return a&&(a=c,c=t,t=a),{type:l?"DecoratorBlock":"BlockStatement",path:e.path,params:e.params,hash:e.hash,program:t,inverse:c,openStrip:e.strip,inverseStrip:u,closeStrip:o&&o.strip,loc:this.locInfo(s)}},t.prepareProgram=function(e,t){if(!t&&e.length){var r=e[0].loc,n=e[e.length-1].loc;r&&n&&(t={source:r.source,start:{line:r.start.line,column:r.start.column},end:{line:n.end.line,column:n.end.column}})}return{type:"Program",body:e,strip:{},loc:t}},t.preparePartialBlock=function(e,t,r,n){return i(e,r),{type:"PartialBlockStatement",name:e.path,params:e.params,hash:e.hash,program:t,openStrip:e.strip,closeStrip:r&&r.strip,loc:this.locInfo(n)}};var n=function(e){return e&&e.__esModule?e:{default:e}}(r(49342));function i(e,t){if(t=t.path?t.path.original:t,e.path.original!==t){var r={loc:e.path.loc};throw new n.default(e.path.original+" doesn't match "+t,r)}}},96963:(e,t,r)=>{"use strict";r.d(t,{B:()=>l});var n,i=r(43210),o=r(66156),a=(n||(n=r.t(i,2)))[" useId ".trim().toString()]||(()=>void 0),s=0;function l(e){let[t,r]=i.useState(a());return(0,o.N)(()=>{e||r(e=>e??String(s++))},[e]),e||(t?`radix-${t}`:"")}},97329:(e,t,r)=>{"use strict";var n=r(93625),i=r(91349),o=r(25542),a=r(94001),s=r(7952),l=r(48780),c=r(87308),u=r(73046),h=r(21464),d=r(12904),f=function(e,t,r){var n,a=i.getTypeOf(t),u=i.extend(r||{},s);u.date=u.date||new Date,null!==u.compression&&(u.compression=u.compression.toUpperCase()),"string"==typeof u.unixPermissions&&(u.unixPermissions=parseInt(u.unixPermissions,8)),u.unixPermissions&&16384&u.unixPermissions&&(u.dir=!0),u.dosPermissions&&16&u.dosPermissions&&(u.dir=!0),u.dir&&(e=m(e)),u.createFolders&&(n=p(e))&&g.call(this,n,!0);var f="string"===a&&!1===u.binary&&!1===u.base64;r&&void 0!==r.binary||(u.binary=!f),(t instanceof l&&0===t.uncompressedSize||u.dir||!t||0===t.length)&&(u.base64=!1,u.binary=!0,t="",u.compression="STORE",a="string");var v=null;v=t instanceof l||t instanceof o?t:h.isNode&&h.isStream(t)?new d(e,t):i.prepareContent(e,t,u.binary,u.optimizedBinaryString,u.base64);var y=new c(e,v,u);this.files[e]=y},p=function(e){"/"===e.slice(-1)&&(e=e.substring(0,e.length-1));var t=e.lastIndexOf("/");return t>0?e.substring(0,t):""},m=function(e){return"/"!==e.slice(-1)&&(e+="/"),e},g=function(e,t){return t=void 0!==t?t:s.createFolders,e=m(e),this.files[e]||f.call(this,e,null,{dir:!0,createFolders:t}),this.files[e]};function v(e){return"[object RegExp]"===Object.prototype.toString.call(e)}e.exports={load:function(){throw Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},forEach:function(e){var t,r,n;for(t in this.files)n=this.files[t],(r=t.slice(this.root.length,t.length))&&t.slice(0,this.root.length)===this.root&&e(r,n)},filter:function(e){var t=[];return this.forEach(function(r,n){e(r,n)&&t.push(n)}),t},file:function(e,t,r){if(1==arguments.length)if(v(e)){var n=e;return this.filter(function(e,t){return!t.dir&&n.test(e)})}else{var i=this.files[this.root+e];return i&&!i.dir?i:null}return e=this.root+e,f.call(this,e,t,r),this},folder:function(e){if(!e)return this;if(v(e))return this.filter(function(t,r){return r.dir&&e.test(t)});var t=this.root+e,r=g.call(this,t),n=this.clone();return n.root=r.name,n},remove:function(e){e=this.root+e;var t=this.files[e];if(t||("/"!==e.slice(-1)&&(e+="/"),t=this.files[e]),t&&!t.dir)delete this.files[e];else for(var r=this.filter(function(t,r){return r.name.slice(0,e.length)===e}),n=0;n{"use strict";r.d(t,{s:()=>a,t:()=>o});var n=r(43210);function i(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}function o(...e){return t=>{let r=!1,n=e.map(e=>{let n=i(e,t);return r||"function"!=typeof n||(r=!0),n});if(r)return()=>{for(let t=0;t{"use strict";r.d(t,{A:()=>n});let n=(0,r(62688).A)("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]])},99577:(e,t,r)=>{"use strict";t.__esModule=!0;var n=r(62602),i=function(e){return e&&e.__esModule?e:{default:e}}(r(49342));t.default=function(e){e.registerHelper("with",function(e,t){if(2!=arguments.length)throw new i.default("#with requires exactly one argument");n.isFunction(e)&&(e=e.call(this));var r=t.fn;if(n.isEmpty(e))return t.inverse(this);var o=t.data;return t.data&&t.ids&&((o=n.createFrame(t.data)).contextPath=n.appendContextPath(t.data.contextPath,t.ids[0])),r(e,{data:o,blockParams:n.blockParams([e],[o&&o.contextPath])})})},e.exports=t.default}}; \ No newline at end of file diff --git a/.next/server/chunks/2436.js b/.next/server/chunks/2436.js new file mode 100644 index 0000000000000000000000000000000000000000..35ccf81e84473863468d497b0fcce2e784933002 --- /dev/null +++ b/.next/server/chunks/2436.js @@ -0,0 +1 @@ +exports.id=2436,exports.ids=[2436],exports.modules={581:(t,e,r)=>{"use strict";e.__esModule=!0;var s=function(t){return t&&t.__esModule?t:{default:t}}(r(58668));function i(){this.parents=[]}function n(t){this.acceptRequired(t,"path"),this.acceptArray(t.params),this.acceptKey(t,"hash")}function o(t){n.call(this,t),this.acceptKey(t,"program"),this.acceptKey(t,"inverse")}function a(t){this.acceptRequired(t,"name"),this.acceptArray(t.params),this.acceptKey(t,"hash")}i.prototype={constructor:i,mutating:!1,acceptKey:function(t,e){var r=this.accept(t[e]);if(this.mutating){if(r&&!i.prototype[r.type])throw new s.default('Unexpected node type "'+r.type+'" found when accepting '+e+" on "+t.type);t[e]=r}},acceptRequired:function(t,e){if(this.acceptKey(t,e),!t[e])throw new s.default(t.type+" requires "+e)},acceptArray:function(t){for(var e=0,r=t.length;e{"use strict";e.__esModule=!0;var r={helpers:{helperExpression:function(t){return"SubExpression"===t.type||("MustacheStatement"===t.type||"BlockStatement"===t.type)&&!!(t.params&&t.params.length||t.hash)},scopedId:function(t){return/^\.|this\b/.test(t.original)},simpleId:function(t){return 1===t.parts.length&&!r.helpers.scopedId(t)&&!t.depth}}};e.default=r,t.exports=e.default},14010:(t,e,r)=>{"use strict";e.__esModule=!0;var s=r(66112);e.default=function(t){t.registerHelper("blockHelperMissing",function(e,r){var i=r.inverse,n=r.fn;if(!0===e)return n(this);if(!1===e||null==e)return i(this);if(s.isArray(e))if(e.length>0)return r.ids&&(r.ids=[r.name]),t.helpers.each(e,r);else return i(this);if(r.data&&r.ids){var o=s.createFrame(r.data);o.contextPath=s.appendContextPath(r.data.contextPath,r.name),r={data:o}}return n(e,r)})},t.exports=e.default},16283:(t,e,r)=>{"use strict";e.__esModule=!0,e.registerDefaultDecorators=function(t){s.default(t)};var s=function(t){return t&&t.__esModule?t:{default:t}}(r(38327))},16837:(t,e,r)=>{"use strict";e.__esModule=!0;var s=r(66112),i=void 0;function n(t,e,r){if(s.isArray(t)){for(var i=[],n=0,o=t.length;n{"use strict";function r(t){this.string=t}e.__esModule=!0,r.prototype.toString=r.prototype.toHTML=function(){return""+this.string},e.default=r,t.exports=e.default},28901:(t,e)=>{"use strict";e.__esModule=!0,e.default=function(t){t.registerHelper("lookup",function(t,e,r){return t?r.lookupProperty(t,e):t})},t.exports=e.default},31842:(t,e,r)=>{"use strict";e.__esModule=!0;var s=r(66112),i=function(t){return t&&t.__esModule?t:{default:t}}(r(58668));e.default=function(t){t.registerHelper("each",function(t,e){if(!e)throw new i.default("Must pass iterator to #each");var r,n=e.fn,o=e.inverse,a=0,c="",l=void 0,p=void 0;function h(e,r,i){l&&(l.key=e,l.index=r,l.first=0===r,l.last=!!i,p&&(l.contextPath=p+e)),c+=n(t[e],{data:l,blockParams:s.blockParams([t[e],e],[p+e,null])})}if(e.data&&e.ids&&(p=s.appendContextPath(e.data.contextPath,e.ids[0])+"."),s.isFunction(t)&&(t=t.call(this)),e.data&&(l=s.createFrame(e.data)),t&&"object"==typeof t)if(s.isArray(t))for(var u=t.length;a{"use strict";e.__esModule=!0,e.createProtoAccessControl=function(t){var e=Object.create(null);e.constructor=!1,e.__defineGetter__=!1,e.__defineSetter__=!1,e.__lookupGetter__=!1;var r=Object.create(null);return r.__proto__=!1,{properties:{whitelist:s.createNewLookupObject(r,t.allowedProtoProperties),defaultValue:t.allowProtoPropertiesByDefault},methods:{whitelist:s.createNewLookupObject(e,t.allowedProtoMethods),defaultValue:t.allowProtoMethodsByDefault}}},e.resultIsAllowed=function(t,e,r){return"function"==typeof t?o(e.methods,r):o(e.properties,r)},e.resetLoggedProperties=function(){Object.keys(n).forEach(function(t){delete n[t]})};var s=r(44415),i=function(t){return t&&t.__esModule?t:{default:t}}(r(58093)),n=Object.create(null);function o(t,e){var r;return void 0!==t.whitelist[e]?!0===t.whitelist[e]:void 0!==t.defaultValue?t.defaultValue:(!0!==n[r=e]&&(n[r]=!0,i.default.log("error",'Handlebars: Access has been denied to resolve the property "'+r+'" because it is not an "own property" of its parent.\nYou can add a runtime option to disable the check or this warning:\nSee https://handlebarsjs.com/api-reference/runtime-options.html#options-to-control-prototype-access for details')),!1)}},35089:(t,e)=>{"use strict";e.__esModule=!0,e.default=function(t){t.registerHelper("log",function(){for(var e=[void 0],r=arguments[arguments.length-1],s=0;s{"use strict";e.__esModule=!0;var s=r(66112);e.default=function(t){t.registerDecorator("inline",function(t,e,r,i){var n=t;return e.partials||(e.partials={},n=function(i,n){var o=r.partials;r.partials=s.extend({},o,e.partials);var a=t(i,n);return r.partials=o,a}),e.partials[i.args[0]]=i.fn,n})},t.exports=e.default},38786:(t,e,r)=>{"use strict";function s(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var i=s(r(61292)),n=s(r(9431)),o=r(75890),a=r(80714),c=s(r(70080)),l=s(r(581)),p=s(r(91325)),h=i.default.create;function u(){var t=h();return t.compile=function(e,r){return a.compile(e,r,t)},t.precompile=function(e,r){return a.precompile(e,r,t)},t.AST=n.default,t.Compiler=a.Compiler,t.JavaScriptCompiler=c.default,t.Parser=o.parser,t.parse=o.parse,t.parseWithoutProcessing=o.parseWithoutProcessing,t}var d=u();d.create=u,p.default(d),d.Visitor=l.default,d.default=d,e.default=d,t.exports=e.default},39767:(t,e,r)=>{"use strict";function s(){this.padding=0}e.__esModule=!0,e.print=function(t){return new s().accept(t)},e.PrintVisitor=s,s.prototype=new(function(t){return t&&t.__esModule?t:{default:t}}(r(581))).default,s.prototype.pad=function(t){for(var e="",r=0,s=this.padding;r "+e+" }}")},s.prototype.PartialBlockStatement=function(t){var e="PARTIAL BLOCK:"+t.name.original;return t.params[0]&&(e+=" "+this.accept(t.params[0])),t.hash&&(e+=" "+this.accept(t.hash)),e+=" "+this.pad("PROGRAM:"),this.padding++,e+=this.accept(t.program),this.padding--,this.pad("{{> "+e+" }}")},s.prototype.ContentStatement=function(t){return this.pad("CONTENT[ '"+t.value+"' ]")},s.prototype.CommentStatement=function(t){return this.pad("{{! '"+t.value+"' }}")},s.prototype.SubExpression=function(t){for(var e=t.params,r=[],s=void 0,i=0,n=e.length;i2&&_.push("'"+this.terminals_[v]+"'");P=this.lexer.showPosition?"Parse error on line "+(a+1)+":\n"+this.lexer.showPosition()+"\nExpecting "+_.join(", ")+", got '"+(this.terminals_[u]||u)+"'":"Parse error on line "+(a+1)+": Unexpected "+(1==u?"end of input":"'"+(this.terminals_[u]||u)+"'"),this.parseError(P,{text:this.lexer.match,token:this.terminals_[u]||u,line:this.lexer.yylineno,loc:p,expected:_})}}if(m[0]instanceof Array&&m.length>1)throw Error("Parse Error: multiple actions possible at state: "+f+", token: "+u);switch(m[0]){case 1:r.push(u),s.push(this.lexer.yytext),i.push(this.lexer.yylloc),r.push(m[1]),u=null,d?(u=d,d=null):(c=this.lexer.yyleng,o=this.lexer.yytext,a=this.lexer.yylineno,p=this.lexer.yylloc,l>0&&l--);break;case 2:if(y=this.productions_[m[1]][1],S.$=s[s.length-y],S._$={first_line:i[i.length-(y||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(y||1)].first_column,last_column:i[i.length-1].last_column},h&&(S._$.range=[i[i.length-(y||1)].range[0],i[i.length-1].range[1]]),void 0!==(g=this.performAction.call(S,o,c,a,this.yy,m[1],s,i)))return g;y&&(r=r.slice(0,-1*y*2),s=s.slice(0,-1*y),i=i.slice(0,-1*y)),r.push(this.productions_[m[1]][0]),s.push(S.$),i.push(S._$),k=n[r[r.length-2]][r[r.length-1]],r.push(k);break;case 3:return!0}}return!0}};function r(){this.yy={}}return(t={EOF:1,parseError:function(t,e){if(this.yy.parser)this.yy.parser.parseError(t,e);else throw Error(t)},setInput:function(t){return this._input=t,this._more=this._less=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,r=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e-1),this.offset-=e;var s=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),r.length-1&&(this.yylineno-=r.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:r?(r.length===s.length?this.yylloc.first_column:0)+s[s.length-r.length].length-r[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this},more:function(){return this._more=!0,this},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var t,e,r,s,i,n=this._currentRules(),o=0;oe[0].length)||(e=r,s=o,this.options.flex));o++);return e?((i=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],t=this.performAction.call(this,this.yy,this,n[s],this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),t)?t:void 0:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return void 0!==t?t:this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.pop()},_currentRules:function(){return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules},topState:function(){return this.conditionStack[this.conditionStack.length-2]},pushState:function(t){this.begin(t)}}).options={},t.performAction=function(t,e,r,s){function i(t,r){return e.yytext=e.yytext.substring(t,e.yyleng-r+t)}switch(r){case 0:if("\\\\"===e.yytext.slice(-2)?(i(0,1),this.begin("mu")):"\\"===e.yytext.slice(-1)?(i(0,1),this.begin("emu")):this.begin("mu"),e.yytext)return 15;break;case 1:case 5:return 15;case 2:return this.popState(),15;case 3:return this.begin("raw"),15;case 4:if(this.popState(),"raw"===this.conditionStack[this.conditionStack.length-1])return 15;return i(5,9),"END_RAW_BLOCK";case 6:case 22:return this.popState(),14;case 7:return 65;case 8:return 68;case 9:return 19;case 10:return this.popState(),this.begin("raw"),23;case 11:return 55;case 12:return 60;case 13:return 29;case 14:return 47;case 15:case 16:return this.popState(),44;case 17:return 34;case 18:return 39;case 19:return 51;case 20:case 23:return 48;case 21:this.unput(e.yytext),this.popState(),this.begin("com");break;case 24:return 73;case 25:case 26:case 41:return 72;case 27:return 87;case 28:break;case 29:return this.popState(),54;case 30:return this.popState(),33;case 31:return e.yytext=i(1,2).replace(/\\"/g,'"'),80;case 32:return e.yytext=i(1,2).replace(/\\'/g,"'"),80;case 33:return 85;case 34:case 35:return 82;case 36:return 83;case 37:return 84;case 38:return 81;case 39:return 75;case 40:return 77;case 42:return e.yytext=e.yytext.replace(/\\([\\\]])/g,"$1"),72;case 43:return"INVALID";case 44:return 5}},t.rules=[/^(?:[^\x00]*?(?=(\{\{)))/,/^(?:[^\x00]+)/,/^(?:[^\x00]{2,}?(?=(\{\{|\\\{\{|\\\\\{\{|$)))/,/^(?:\{\{\{\{(?=[^/]))/,/^(?:\{\{\{\{\/[^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=[=}\s\/.])\}\}\}\})/,/^(?:[^\x00]+?(?=(\{\{\{\{)))/,/^(?:[\s\S]*?--(~)?\}\})/,/^(?:\()/,/^(?:\))/,/^(?:\{\{\{\{)/,/^(?:\}\}\}\})/,/^(?:\{\{(~)?>)/,/^(?:\{\{(~)?#>)/,/^(?:\{\{(~)?#\*?)/,/^(?:\{\{(~)?\/)/,/^(?:\{\{(~)?\^\s*(~)?\}\})/,/^(?:\{\{(~)?\s*else\s*(~)?\}\})/,/^(?:\{\{(~)?\^)/,/^(?:\{\{(~)?\s*else\b)/,/^(?:\{\{(~)?\{)/,/^(?:\{\{(~)?&)/,/^(?:\{\{(~)?!--)/,/^(?:\{\{(~)?![\s\S]*?\}\})/,/^(?:\{\{(~)?\*?)/,/^(?:=)/,/^(?:\.\.)/,/^(?:\.(?=([=~}\s\/.)|])))/,/^(?:[\/.])/,/^(?:\s+)/,/^(?:\}(~)?\}\})/,/^(?:(~)?\}\})/,/^(?:"(\\["]|[^"])*")/,/^(?:'(\\[']|[^'])*')/,/^(?:@)/,/^(?:true(?=([~}\s)])))/,/^(?:false(?=([~}\s)])))/,/^(?:undefined(?=([~}\s)])))/,/^(?:null(?=([~}\s)])))/,/^(?:-?[0-9]+(?:\.[0-9]+)?(?=([~}\s)])))/,/^(?:as\s+\|)/,/^(?:\|)/,/^(?:([^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=([=~}\s\/.)|]))))/,/^(?:\[(\\\]|[^\]])*\])/,/^(?:.)/,/^(?:$)/],t.conditions={mu:{rules:[7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44],inclusive:!1},emu:{rules:[2],inclusive:!1},com:{rules:[6],inclusive:!1},raw:{rules:[3,4,5],inclusive:!1},INITIAL:{rules:[0,1,44],inclusive:!0}},e.lexer=t,r.prototype=e,e.Parser=r,new r}(),t.exports=e.default},44007:(t,e,r)=>{"use strict";e.__esModule=!0;var s=r(66112),i=function(t){return t&&t.__esModule?t:{default:t}}(r(58668));e.default=function(t){t.registerHelper("with",function(t,e){if(2!=arguments.length)throw new i.default("#with requires exactly one argument");s.isFunction(t)&&(t=t.call(this));var r=e.fn;if(s.isEmpty(t))return e.inverse(this);var n=e.data;return e.data&&e.ids&&((n=s.createFrame(e.data)).contextPath=s.appendContextPath(e.data.contextPath,e.ids[0])),r(t,{data:n,blockParams:s.blockParams([t],[n&&n.contextPath])})})},t.exports=e.default},44415:(t,e,r)=>{"use strict";e.__esModule=!0,e.createNewLookupObject=function(){for(var t=arguments.length,e=Array(t),r=0;r{"use strict";e.__esModule=!0;var s=r(66112),i=function(t){return t&&t.__esModule?t:{default:t}}(r(58668));e.default=function(t){t.registerHelper("if",function(t,e){if(2!=arguments.length)throw new i.default("#if requires exactly one argument");return(s.isFunction(t)&&(t=t.call(this)),!e.hash.includeZero&&!t||s.isEmpty(t))?e.inverse(this):e.fn(this)}),t.registerHelper("unless",function(e,r){if(2!=arguments.length)throw new i.default("#unless requires exactly one argument");return t.helpers.if.call(this,e,{fn:r.inverse,inverse:r.fn,hash:r.hash})})},t.exports=e.default},47358:(t,e,r)=>{"use strict";e.__esModule=!0;var s=function(t){return t&&t.__esModule?t:{default:t}}(r(58668));e.default=function(t){t.registerHelper("helperMissing",function(){if(1!=arguments.length)throw new s.default('Missing helper: "'+arguments[arguments.length-1].name+'"')})},t.exports=e.default},58093:(t,e,r)=>{"use strict";e.__esModule=!0;var s=r(66112),i={methodMap:["debug","info","warn","error"],level:"info",lookupLevel:function(t){if("string"==typeof t){var e=s.indexOf(i.methodMap,t.toLowerCase());t=e>=0?e:parseInt(t,10)}return t},log:function(t){if(t=i.lookupLevel(t),"undefined"!=typeof console&&i.lookupLevel(i.level)<=t){var e=i.methodMap[t];console[e]||(e="log");for(var r=arguments.length,s=Array(r>1?r-1:0),n=1;n{"use strict";e.__esModule=!0;var r=["description","fileName","lineNumber","endLineNumber","message","name","number","stack"];function s(t,e){var i=e&&e.loc,n=void 0,o=void 0,a=void 0,c=void 0;i&&(n=i.start.line,o=i.end.line,a=i.start.column,c=i.end.column,t+=" - "+n+":"+a);for(var l=Error.prototype.constructor.call(this,t),p=0;p{"use strict";function s(t){return t&&t.__esModule?t:{default:t}}function i(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e.default=t,e}e.__esModule=!0;var n=i(r(76704)),o=s(r(27736)),a=s(r(58668)),c=i(r(66112)),l=i(r(78217)),p=s(r(91325));function h(){var t=new n.HandlebarsEnvironment;return c.extend(t,n),t.SafeString=o.default,t.Exception=a.default,t.Utils=c,t.escapeExpression=c.escapeExpression,t.VM=l,t.template=function(e){return l.template(e,t)},t}var u=h();u.create=h,p.default(u),u.default=u,e.default=u,t.exports=e.default},66112:(t,e)=>{"use strict";e.__esModule=!0,e.extend=o,e.indexOf=function(t,e){for(var r=0,s=t.length;r":">",'"':""","'":"'","`":"`","=":"="},s=/[&<>"'`=]/g,i=/[&<>"'`=]/;function n(t){return r[t]}function o(t){for(var e=1;e{"use strict";function s(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var i=r(76704),n=s(r(58668)),o=r(66112),a=s(r(16837));function c(t){this.value=t}function l(){}l.prototype={nameLookup:function(t,e){return this.internalNameLookup(t,e)},depthedLookup:function(t){return[this.aliasable("container.lookup"),"(depths, ",JSON.stringify(t),")"]},compilerInfo:function(){var t=i.COMPILER_REVISION,e=i.REVISION_CHANGES[t];return[t,e]},appendToBuffer:function(t,e,r){return(o.isArray(t)||(t=[t]),t=this.source.wrap(t,e),this.environment.isSimple)?["return ",t,";"]:r?["buffer += ",t,";"]:(t.appendToBuffer=!0,t)},initializeBuffer:function(){return this.quotedString("")},internalNameLookup:function(t,e){return this.lookupPropertyFunctionIsUsed=!0,["lookupProperty(",t,",",JSON.stringify(e),")"]},lookupPropertyFunctionIsUsed:!1,compile:function(t,e,r,s){this.environment=t,this.options=e,this.stringParams=this.options.stringParams,this.trackIds=this.options.trackIds,this.precompile=!s,this.name=this.environment.name,this.isChild=!!r,this.context=r||{decorators:[],programs:[],environments:[]},this.preamble(),this.stackSlot=0,this.stackVars=[],this.aliases={},this.registers={list:[]},this.hashes=[],this.compileStack=[],this.inlineStack=[],this.blockParams=[],this.compileChildren(t,e),this.useDepths=this.useDepths||t.useDepths||t.useDecorators||this.options.compat,this.useBlockParams=this.useBlockParams||t.useBlockParams;var i=t.opcodes,o=void 0,a=void 0,c=void 0,l=void 0;for(c=0,l=i.length;c0&&(r+=", "+s.join(", "));var i=0;Object.keys(this.aliases).forEach(function(t){var s=e.aliases[t];s.children&&s.referenceCount>1&&(r+=", alias"+ ++i+"="+t,s.children[0]="alias"+i)}),this.lookupPropertyFunctionIsUsed&&(r+=", "+this.lookupPropertyFunctionVarDeclaration());var n=["container","depth0","helpers","partials","data"];(this.useBlockParams||this.useDepths)&&n.push("blockParams"),this.useDepths&&n.push("depths");var o=this.mergeSource(r);return t?(n.push(o),Function.apply(this,n)):this.source.wrap(["function(",n.join(","),") {\n ",o,"}"])},mergeSource:function(t){var e=this.environment.isSimple,r=!this.forceBuffer,s=void 0,i=void 0,n=void 0,o=void 0;return this.source.each(function(t){t.appendToBuffer?(n?t.prepend(" + "):n=t,o=t):(n&&(i?n.prepend("buffer += "):s=!0,o.add(";"),n=o=void 0),i=!0,e||(r=!1))}),r?n?(n.prepend("return "),o.add(";")):i||this.source.push('return "";'):(t+=", buffer = "+(s?"":this.initializeBuffer()),n?(n.prepend("return buffer + "),o.add(";")):this.source.push("return buffer;")),t&&this.source.prepend("var "+t.substring(2)+(s?"":";\n")),this.source.merge()},lookupPropertyFunctionVarDeclaration:function(){return"\n lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n }\n ".trim()},blockValue:function(t){var e=this.aliasable("container.hooks.blockHelperMissing"),r=[this.contextName(0)];this.setupHelperArgs(t,0,r);var s=this.popStack();r.splice(1,0,s),this.push(this.source.functionCall(e,"call",r))},ambiguousBlockValue:function(){var t=this.aliasable("container.hooks.blockHelperMissing"),e=[this.contextName(0)];this.setupHelperArgs("",0,e,!0),this.flushInline();var r=this.topStack();e.splice(1,0,r),this.pushSource(["if (!",this.lastHelper,") { ",r," = ",this.source.functionCall(t,"call",e),"}"])},appendContent:function(t){this.pendingContent?t=this.pendingContent+t:this.pendingLocation=this.source.currentLocation,this.pendingContent=t},append:function(){if(this.isInline())this.replaceStack(function(t){return[" != null ? ",t,' : ""']}),this.pushSource(this.appendToBuffer(this.popStack()));else{var t=this.popStack();this.pushSource(["if (",t," != null) { ",this.appendToBuffer(t,void 0,!0)," }"]),this.environment.isSimple&&this.pushSource(["else { ",this.appendToBuffer("''",void 0,!0)," }"])}},appendEscaped:function(){this.pushSource(this.appendToBuffer([this.aliasable("container.escapeExpression"),"(",this.popStack(),")"]))},getContext:function(t){this.lastContext=t},pushContext:function(){this.pushStackLiteral(this.contextName(this.lastContext))},lookupOnContext:function(t,e,r,s){var i=0;s||!this.options.compat||this.lastContext?this.pushContext():this.push(this.depthedLookup(t[i++])),this.resolvePath("context",t,i,e,r)},lookupBlockParam:function(t,e){this.useBlockParams=!0,this.push(["blockParams[",t[0],"][",t[1],"]"]),this.resolvePath("context",e,1)},lookupData:function(t,e,r){t?this.pushStackLiteral("container.data(data, "+t+")"):this.pushStackLiteral("data"),this.resolvePath("data",e,0,!0,r)},resolvePath:function(t,e,r,s,i){var n=this;if(this.options.strict||this.options.assumeObjects)return void this.push(function(t,e,r,s,i){var n=e.popStack(),o=r.length;for(t&&o--;sthis.stackVars.length&&this.stackVars.push("stack"+this.stackSlot),this.topStackName()},topStackName:function(){return"stack"+this.stackSlot},flushInline:function(){var t=this.inlineStack;this.inlineStack=[];for(var e=0,r=t.length;e{"use strict";function s(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0,e.parseWithoutProcessing=l,e.parse=function(t,e){var r=l(t,e);return new n.default(e).accept(r)};var i=s(r(43500)),n=s(r(91738)),o=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e.default=t,e}(r(78238)),a=r(66112);e.parser=i.default;var c={};function l(t,e){return"Program"===t.type?t:(i.default.yy=c,c.locInfo=function(t){return new c.SourceLocation(e&&e.srcName,t)},i.default.parse(t))}a.extend(c,o)},76704:(t,e,r)=>{"use strict";function s(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0,e.HandlebarsEnvironment=h;var i=r(66112),n=s(r(58668)),o=r(79984),a=r(16283),c=s(r(58093)),l=r(34e3);e.VERSION="4.7.8",e.COMPILER_REVISION=8,e.LAST_COMPATIBLE_COMPILER_REVISION=7,e.REVISION_CHANGES={1:"<= 1.0.rc.2",2:"== 1.0.0-rc.3",3:"== 1.0.0-rc.4",4:"== 1.x.x",5:"== 2.0.0-alpha.x",6:">= 2.0.0-beta.1",7:">= 4.0.0 <4.3.0",8:">= 4.3.0"};var p="[object Object]";function h(t,e,r){this.helpers=t||{},this.partials=e||{},this.decorators=r||{},o.registerDefaultHelpers(this),a.registerDefaultDecorators(this)}h.prototype={constructor:h,logger:c.default,log:c.default.log,registerHelper:function(t,e){if(i.toString.call(t)===p){if(e)throw new n.default("Arg not supported with multiple helpers");i.extend(this.helpers,t)}else this.helpers[t]=e},unregisterHelper:function(t){delete this.helpers[t]},registerPartial:function(t,e){if(i.toString.call(t)===p)i.extend(this.partials,t);else{if(void 0===e)throw new n.default('Attempting to register a partial called "'+t+'" as undefined');this.partials[t]=e}},unregisterPartial:function(t){delete this.partials[t]},registerDecorator:function(t,e){if(i.toString.call(t)===p){if(e)throw new n.default("Arg not supported with multiple decorators");i.extend(this.decorators,t)}else this.decorators[t]=e},unregisterDecorator:function(t){delete this.decorators[t]},resetLoggedPropertyAccesses:function(){l.resetLoggedProperties()}},e.log=c.default.log,e.createFrame=i.createFrame,e.logger=c.default},78217:(t,e,r)=>{"use strict";e.__esModule=!0,e.checkRevision=function(t){var e=t&&t[0]||1,r=n.COMPILER_REVISION;if(!(e>=n.LAST_COMPATIBLE_COMPILER_REVISION)||!(e<=n.COMPILER_REVISION))if(e{"use strict";e.__esModule=!0,e.SourceLocation=function(t,e){this.source=t,this.start={line:e.first_line,column:e.first_column},this.end={line:e.last_line,column:e.last_column}},e.id=function(t){return/^\[.*\]$/.test(t)?t.substring(1,t.length-1):t},e.stripFlags=function(t,e){return{open:"~"===t.charAt(2),close:"~"===e.charAt(e.length-3)}},e.stripComment=function(t){return t.replace(/^\{\{~?!-?-?/,"").replace(/-?-?~?\}\}$/,"")},e.preparePath=function(t,e,r){r=this.locInfo(r);for(var i=t?"@":"",n=[],o=0,a=0,c=e.length;a0)throw new s.default("Invalid path: "+i,{loc:r});else".."===l&&o++}return{type:"PathExpression",data:t,depth:o,parts:n,original:i,loc:r}},e.prepareMustache=function(t,e,r,s,i,n){var o=s.charAt(3)||s.charAt(2);return{type:/\*/.test(s)?"Decorator":"MustacheStatement",path:t,params:e,hash:r,escaped:"{"!==o&&"&"!==o,strip:i,loc:this.locInfo(n)}},e.prepareRawBlock=function(t,e,r,s){i(t,r);var n={type:"Program",body:e,strip:{},loc:s=this.locInfo(s)};return{type:"BlockStatement",path:t.path,params:t.params,hash:t.hash,program:n,openStrip:{},inverseStrip:{},closeStrip:{},loc:s}},e.prepareBlock=function(t,e,r,n,o,a){n&&n.path&&i(t,n);var c=/\*/.test(t.open);e.blockParams=t.blockParams;var l=void 0,p=void 0;if(r){if(c)throw new s.default("Unexpected inverse block on decorator",r);r.chain&&(r.program.body[0].closeStrip=n.strip),p=r.strip,l=r.program}return o&&(o=l,l=e,e=o),{type:c?"DecoratorBlock":"BlockStatement",path:t.path,params:t.params,hash:t.hash,program:e,inverse:l,openStrip:t.strip,inverseStrip:p,closeStrip:n&&n.strip,loc:this.locInfo(a)}},e.prepareProgram=function(t,e){if(!e&&t.length){var r=t[0].loc,s=t[t.length-1].loc;r&&s&&(e={source:r.source,start:{line:r.start.line,column:r.start.column},end:{line:s.end.line,column:s.end.column}})}return{type:"Program",body:t,strip:{},loc:e}},e.preparePartialBlock=function(t,e,r,s){return i(t,r),{type:"PartialBlockStatement",name:t.path,params:t.params,hash:t.hash,program:e,openStrip:t.strip,closeStrip:r&&r.strip,loc:this.locInfo(s)}};var s=function(t){return t&&t.__esModule?t:{default:t}}(r(58668));function i(t,e){if(e=e.path?e.path.original:e,t.path.original!==e){var r={loc:t.path.loc};throw new s.default(t.path.original+" doesn't match "+e,r)}}},79984:(t,e,r)=>{"use strict";function s(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0,e.registerDefaultHelpers=function(t){i.default(t),n.default(t),o.default(t),a.default(t),c.default(t),l.default(t),p.default(t)},e.moveHelperToHooks=function(t,e,r){t.helpers[e]&&(t.hooks[e]=t.helpers[e],r||delete t.helpers[e])};var i=s(r(14010)),n=s(r(31842)),o=s(r(47358)),a=s(r(47032)),c=s(r(35089)),l=s(r(28901)),p=s(r(44007))},80714:(t,e,r)=>{"use strict";function s(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0,e.Compiler=c,e.precompile=function(t,e,r){if(null==t||"string"!=typeof t&&"Program"!==t.type)throw new i.default("You must pass a string or Handlebars AST to Handlebars.precompile. You passed "+t);"data"in(e=e||{})||(e.data=!0),e.compat&&(e.useDepths=!0);var s=r.parse(t,e),n=new r.Compiler().compile(s,e);return new r.JavaScriptCompiler().compile(n,e)},e.compile=function(t,e,r){if(void 0===e&&(e={}),null==t||"string"!=typeof t&&"Program"!==t.type)throw new i.default("You must pass a string or Handlebars AST to Handlebars.compile. You passed "+t);"data"in(e=n.extend({},e))||(e.data=!0),e.compat&&(e.useDepths=!0);var s=void 0;function o(){var s=r.parse(t,e),i=new r.Compiler().compile(s,e),n=new r.JavaScriptCompiler().compile(i,e,void 0,!0);return r.template(n)}function a(t,e){return s||(s=o()),s.call(this,t,e)}return a._setup=function(t){return s||(s=o()),s._setup(t)},a._child=function(t,e,r,i){return s||(s=o()),s._child(t,e,r,i)},a};var i=s(r(58668)),n=r(66112),o=s(r(9431)),a=[].slice;function c(){}function l(t){if(!t.path.parts){var e=t.path;t.path={type:"PathExpression",data:!1,depth:0,parts:[e.original+""],original:e.original+"",loc:e.loc}}}c.prototype={compiler:c,equals:function(t){var e=this.opcodes.length;if(t.opcodes.length!==e)return!1;for(var r=0;r1)throw new i.default("Unsupported number of partial arguments: "+r.length,t);r.length||(this.options.explicitPartialContext?this.opcode("pushLiteral","undefined"):r.push({type:"PathExpression",parts:[],depth:0}));var s=t.name.original,n="SubExpression"===t.name.type;n&&this.accept(t.name),this.setupFullMustacheParams(t,e,void 0,!0);var o=t.indent||"";this.options.preventIndent&&o&&(this.opcode("appendContent",o),o=""),this.opcode("invokePartial",n,s,o),this.opcode("append")},PartialBlockStatement:function(t){this.PartialStatement(t)},MustacheStatement:function(t){this.SubExpression(t),t.escaped&&!this.options.noEscape?this.opcode("appendEscaped"):this.opcode("append")},Decorator:function(t){this.DecoratorBlock(t)},ContentStatement:function(t){t.value&&this.opcode("appendContent",t.value)},CommentStatement:function(){},SubExpression:function(t){l(t);var e=this.classifySexpr(t);"simple"===e?this.simpleSexpr(t):"helper"===e?this.helperSexpr(t):this.ambiguousSexpr(t)},ambiguousSexpr:function(t,e,r){var s=t.path,i=s.parts[0];this.opcode("getContext",s.depth),this.opcode("pushProgram",e),this.opcode("pushProgram",r),s.strict=!0,this.accept(s),this.opcode("invokeAmbiguous",i,null!=e||null!=r)},simpleSexpr:function(t){var e=t.path;e.strict=!0,this.accept(e),this.opcode("resolvePossibleLambda")},helperSexpr:function(t,e,r){var s=this.setupFullMustacheParams(t,e,r),n=t.path,a=n.parts[0];if(this.options.knownHelpers[a])this.opcode("invokeKnownHelper",s.length,a);else if(this.options.knownHelpersOnly)throw new i.default("You specified knownHelpersOnly, but used the unknown helper "+a,t);else n.strict=!0,n.falsy=!0,this.accept(n),this.opcode("invokeHelper",s.length,n.original,o.default.helpers.simpleId(n))},PathExpression:function(t){this.addDepth(t.depth),this.opcode("getContext",t.depth);var e=t.parts[0],r=o.default.helpers.scopedId(t),s=!t.depth&&!r&&this.blockParamIndex(e);s?this.opcode("lookupBlockParam",s,t.parts):e?t.data?(this.options.data=!0,this.opcode("lookupData",t.depth,t.parts,t.strict)):this.opcode("lookupOnContext",t.parts,t.falsy,t.strict,r):this.opcode("pushContext")},StringLiteral:function(t){this.opcode("pushString",t.value)},NumberLiteral:function(t){this.opcode("pushLiteral",t.value)},BooleanLiteral:function(t){this.opcode("pushLiteral",t.value)},UndefinedLiteral:function(){this.opcode("pushLiteral","undefined")},NullLiteral:function(){this.opcode("pushLiteral","null")},Hash:function(t){var e=t.pairs,r=0,s=e.length;for(this.opcode("pushHash");r=0)return[e,i]}}}},91325:(t,e)=>{"use strict";e.__esModule=!0,e.default=function(t){"object"!=typeof globalThis&&(Object.prototype.__defineGetter__("__magic__",function(){return this}),__magic__.globalThis=__magic__,delete Object.prototype.__magic__);var e=globalThis.Handlebars;t.noConflict=function(){return globalThis.Handlebars===t&&(globalThis.Handlebars=e),t}},t.exports=e.default},91738:(t,e,r)=>{"use strict";function s(){var t=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];this.options=t}function i(t,e,r){void 0===e&&(e=t.length);var s=t[e-1],i=t[e-2];return s?"ContentStatement"===s.type?(i||!r?/\r?\n\s*?$/:/(^|\r?\n)\s*?$/).test(s.original):void 0:r}function n(t,e,r){void 0===e&&(e=-1);var s=t[e+1],i=t[e+2];return s?"ContentStatement"===s.type?(i||!r?/^\s*?\r?\n/:/^\s*?(\r?\n|$)/).test(s.original):void 0:r}function o(t,e,r){var s=t[null==e?0:e+1];if(s&&"ContentStatement"===s.type&&(r||!s.rightStripped)){var i=s.value;s.value=s.value.replace(r?/^\s+/:/^[ \t]*\r?\n?/,""),s.rightStripped=s.value!==i}}function a(t,e,r){var s=t[null==e?t.length-1:e-1];if(s&&"ContentStatement"===s.type&&(r||!s.leftStripped)){var i=s.value;return s.value=s.value.replace(r?/\s+$/:/[ \t]+$/,""),s.leftStripped=s.value!==i,s.leftStripped}}e.__esModule=!0,s.prototype=new(function(t){return t&&t.__esModule?t:{default:t}}(r(581))).default,s.prototype.Program=function(t){var e=!this.options.ignoreStandalone,r=!this.isRootSeen;this.isRootSeen=!0;for(var s=t.body,c=0,l=s.length;c{var s=r(38786).default,i=r(39767);s.PrintVisitor=i.PrintVisitor,s.print=i.print,t.exports=s},94267:(t,e)=>{"use strict";e.__esModule=!0,e.wrapHelper=function(t,e){return"function"!=typeof t?t:function(){var r=arguments[arguments.length-1];return arguments[arguments.length-1]=e(r),t.apply(this,arguments)}}}}; \ No newline at end of file diff --git a/.next/server/chunks/2437.js b/.next/server/chunks/2437.js new file mode 100644 index 0000000000000000000000000000000000000000..5809f697497f0793bb8fe5ce686f8f7f7dc2bb9a --- /dev/null +++ b/.next/server/chunks/2437.js @@ -0,0 +1,2902 @@ +"use strict";exports.id=2437,exports.ids=[2437],exports.modules={3145:(e,t,i)=>{i.d(t,{t:()=>$});var s=i(60687),r=i(43210),a=i(4950),n=i(57462),o=i(10158),l=i(96241);class c{static{this.BASE_URL="https://openrouter.ai/api/v1"}static async getGenerationStats(e,t){if(!e||!t)return null;try{let i=await fetch(`${this.BASE_URL}/generation?id=${e}`,{headers:{Authorization:`Bearer ${t}`,"Content-Type":"application/json"}});if(!i.ok)return l.v.warn(`[GenerationAPI] Failed to fetch generation stats: ${i.status}`),null;return await i.json()}catch(e){return l.v.error("[GenerationAPI] Error fetching generation stats:",e),null}}static queueGenerationForCostUpdate(e,t,i,s,r,a){setTimeout(async()=>{let i=await this.getGenerationStats(e,t);if(i?.usage){let t=i.total_cost??i.usage.total_cost??0;l.v.debug(`[GenerationAPI] Generation ${e}`,{normalized_tokens:i.usage.total_tokens,native_tokens:i.usage.native_tokens_total,actual_cost:t}),a(t,i.usage)}},3e3)}static extractGenerationId(e){return e.get("x-openrouter-generation-id")}static extractCostFromHeaders(e){let t,i,s=e.get("x-openrouter-usage"),r=e.get("x-openrouter-cost");if(s)try{t=JSON.parse(s)}catch(e){l.v.warn("[GenerationAPI] Failed to parse usage header:",e)}if(r){let e=parseFloat(r);isNaN(e)||(i=e)}return t||void 0!==i?{usage:t,cost:i}:null}}class d{constructor(e){this.provider=e?.provider||a.s.getSelectedProvider()||"openrouter",this.providerConfig=(0,o.sO)(this.provider),this.apiKey=e?.apiKey||a.s.getProviderApiKey(this.provider)||"",this.model=e?.model||a.s.getProviderModel(this.provider)||this.getDefaultModel(),this.temperature=e?.temperature||.7,this.maxTokens=e?.maxTokens||4096}getDefaultModel(){switch(this.provider){case"openrouter":return"deepseek/deepseek-chat";case"openai":return"gpt-4o-mini";case"anthropic":return"claude-3-5-haiku-20241022";case"groq":return"llama-3.3-70b-versatile";case"gemini":return"gemini-1.5-flash";case"ollama":return"llama3.2:latest";case"lmstudio":return"qwen/qwen3-4b-thinking-2507";case"sambanova":return"Meta-Llama-3.3-70B-Instruct";default:return""}}async generateWithTools(e,t,i){if(this.providerConfig.apiKeyRequired&&!this.apiKey)throw Error(`${this.providerConfig.name} API key is required. Please set it in settings.`);let s=[{role:"system",content:await (0,n.m)(i?.fileTree)},{role:"user",content:e}];try{if("anthropic"===this.provider)return this.generateWithToolsAnthropic(s,t);if("gemini"===this.provider)return this.generateWithToolsGemini(s,t);return this.generateWithToolsOpenAI(s,t)}catch(e){throw e}}async generate(e,t){if(this.providerConfig.apiKeyRequired&&!this.apiKey)throw Error(`${this.providerConfig.name} API key is required. Please set it in settings.`);let i=[{role:"system",content:await (0,n.m)(t?.fileTree)},{role:"user",content:e}];return"anthropic"===this.provider?this.generateAnthropic(i):"gemini"===this.provider?this.generateGemini(i):this.generateOpenAI(i)}async generateWithToolsOpenAI(e,t){let i=this.providerConfig.baseUrl||"https://openrouter.ai/api/v1",s={"Content-Type":"application/json"};this.apiKey&&(s.Authorization=`Bearer ${this.apiKey}`),"openrouter"===this.provider&&(s["HTTP-Referer"]="http://localhost:3000",s["X-Title"]="OSW-Studio"),this.providerConfig.customHeaders&&Object.assign(s,this.providerConfig.customHeaders);let r=await fetch(`${i}/chat/completions`,{method:"POST",headers:s,body:JSON.stringify({model:this.model,messages:e,tools:t.map(e=>({type:"function",function:e})),tool_choice:"auto",temperature:this.temperature,max_tokens:this.maxTokens,stream:!0})});if(!r.ok){let e=await r.text();throw Error(`${this.providerConfig.name} API error: ${e}`)}return this.parseStreamResponse(r)}async generateOpenAI(e){let t=this.providerConfig.baseUrl||"https://openrouter.ai/api/v1",i={"Content-Type":"application/json"};this.apiKey&&(i.Authorization=`Bearer ${this.apiKey}`),"openrouter"===this.provider&&(i["HTTP-Referer"]="http://localhost:3000",i["X-Title"]="OSW-Studio");let s=await fetch(`${t}/chat/completions`,{method:"POST",headers:i,body:JSON.stringify({model:this.model,messages:e,temperature:this.temperature,max_tokens:this.maxTokens,stream:!1})});if(!s.ok){let e=await s.text();throw Error(`${this.providerConfig.name} API error: ${e}`)}let r=await s.json();return r.choices[0]?.message?.content||""}async generateWithToolsAnthropic(e,t){let i=e.find(e=>"system"===e.role)?.content||"",s=e.filter(e=>"system"!==e.role).map(e=>({role:"user"===e.role?"user":"assistant",content:e.content})),r=await fetch("https://api.anthropic.com/v1/messages",{method:"POST",headers:{"Content-Type":"application/json","x-api-key":this.apiKey,"anthropic-version":"2023-06-01","anthropic-beta":"tools-2024-04-04"},body:JSON.stringify({model:this.model,messages:s,system:i,tools:t.map(e=>({name:e.name,description:e.description,input_schema:e.parameters})),temperature:this.temperature,max_tokens:this.maxTokens,stream:!0})});if(!r.ok){let e=await r.text();throw Error(`Anthropic API error: ${e}`)}return this.parseAnthropicStream(r)}async generateAnthropic(e){let t=e.find(e=>"system"===e.role)?.content||"",i=e.filter(e=>"system"!==e.role).map(e=>({role:"user"===e.role?"user":"assistant",content:e.content})),s=await fetch("https://api.anthropic.com/v1/messages",{method:"POST",headers:{"Content-Type":"application/json","x-api-key":this.apiKey,"anthropic-version":"2023-06-01"},body:JSON.stringify({model:this.model,messages:i,system:t,temperature:this.temperature,max_tokens:this.maxTokens})});if(!s.ok){let e=await s.text();throw Error(`Anthropic API error: ${e}`)}let r=await s.json();return r.content[0]?.text||""}async generateWithToolsGemini(e,t){throw Error("Gemini tool calling not yet implemented. Please use OpenRouter or another provider.")}async generateGemini(e){let t=e.map(e=>({role:"system"===e.role?"user":e.role,parts:[{text:e.content}]})),i=await fetch(`https://generativelanguage.googleapis.com/v1beta/models/${this.model}:generateContent?key=${this.apiKey}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({contents:t,generationConfig:{temperature:this.temperature,maxOutputTokens:this.maxTokens}})});if(!i.ok){let e=await i.text();throw Error(`Gemini API error: ${e}`)}let s=await i.json();return s.candidates[0]?.content?.parts[0]?.text||""}async *parseStreamResponse(e){let t=e.body?.getReader();if(!t)throw Error("Response body is not readable");let i=new TextDecoder,s="",r=null,a=null,n=null;if("openrouter"===this.provider){let t=e.headers;n=c.extractGenerationId(t);let i=c.extractCostFromHeaders(t);if(i?.cost!==void 0||i?.usage){let e=i.usage?.prompt_tokens??0,t=i.usage?.completion_tokens??0,s=i.usage?.total_tokens??e+t,r=i.cost??i.usage?.total_cost,o="number"==typeof r&&Number.isFinite(r)&&r>1e-6;a={promptTokens:e,completionTokens:t,totalTokens:s,cost:o?r:void 0,model:this.model,provider:this.provider,generationId:n||void 0,isEstimated:!o}}if(!a){let e=t.get("x-openrouter-usage");if(e)try{let t=JSON.parse(e),i=t.total_cost,s="number"==typeof i&&Number.isFinite(i)&&i>1e-6;a={promptTokens:t.prompt_tokens||0,completionTokens:t.completion_tokens||0,totalTokens:t.total_tokens||(t.prompt_tokens||0)+(t.completion_tokens||0),cost:s?i:void 0,model:this.model,provider:this.provider,generationId:n||void 0,isEstimated:!s}}catch(e){l.v.error("Error parsing OpenRouter usage header:",e)}}}for(;;){let{done:e,value:o}=await t.read();if(e)break;let c=(s+=i.decode(o,{stream:!0})).split("\n");for(let e of(s=c.pop()||"",c))if(e.startsWith("data: ")){let t=e.slice(6);if("[DONE]"===t){a&&a.totalTokens&&(yield{type:"usage",usage:a}),yield{type:"done"};return}try{let e=JSON.parse(t),i=e.choices?.[0]?.delta;if(i?.content&&(yield{type:"content",content:i.content}),i?.tool_calls)for(let e of i.tool_calls)e.id&&(r&&(yield{type:"tool_call",toolCall:r}),r={id:e.id,type:"function",function:{name:e.function?.name||"",arguments:""}}),e.function?.arguments&&r&&(r.argumentsBuffer=(r.argumentsBuffer||"")+e.function.arguments,r.function&&(r.function.arguments=r.argumentsBuffer));e.usage&&(a={promptTokens:e.usage.prompt_tokens||0,completionTokens:e.usage.completion_tokens||0,totalTokens:e.usage.total_tokens||0,cachedTokens:e.usage.cached_tokens,model:this.model,provider:this.provider,generationId:n||void 0}),e.x_groq?.usage&&(a={promptTokens:e.x_groq.usage.prompt_tokens||0,completionTokens:e.x_groq.usage.completion_tokens||0,totalTokens:e.x_groq.usage.total_tokens||0,model:this.model,provider:this.provider})}catch(e){l.v.error("Error parsing stream chunk:",e)}}}if(r)try{let e=r.argumentsBuffer;e&&r.function&&(r.function.arguments=e),yield{type:"tool_call",toolCall:r}}catch(e){l.v.error("Error parsing tool call parameters:",e)}a&&a.totalTokens&&(yield{type:"usage",usage:a}),yield{type:"done"}}async *parseAnthropicStream(e){let t=e.body?.getReader();if(!t)throw Error("Response body is not readable");let i=new TextDecoder,s="",r=null;for(;;){let{done:e,value:a}=await t.read();if(e)break;let n=(s+=i.decode(a,{stream:!0})).split("\n");for(let e of(s=n.pop()||"",n))if(e.startsWith("data: ")){let t=e.slice(6);try{let e=JSON.parse(t);if("content_block_delta"===e.type&&e.delta?.text_delta?.text)yield{type:"content",content:e.delta.text_delta.text};else if("content_block_start"===e.type&&e.content_block?.type==="tool_use")yield{type:"tool_call",toolCall:{id:e.content_block.id,type:"function",function:{name:e.content_block.name,arguments:JSON.stringify(e.content_block.input||{})}}};else if("message_start"===e.type&&e.message?.usage)r={promptTokens:e.message.usage.input_tokens||0,completionTokens:e.message.usage.output_tokens||0,totalTokens:(e.message.usage.input_tokens||0)+(e.message.usage.output_tokens||0),cachedTokens:e.message.usage.cache_creation_input_tokens||e.message.usage.cache_read_input_tokens,model:this.model,provider:this.provider};else if("message_delta"===e.type&&e.usage)r&&(r.completionTokens=e.usage.output_tokens||r.completionTokens,r.totalTokens=(r.promptTokens||0)+(r.completionTokens||0));else if("message_stop"===e.type){r&&r.totalTokens&&(yield{type:"usage",usage:r}),yield{type:"done"};return}}catch(e){l.v.error("Error parsing Anthropic stream:",e)}}}r&&r.totalTokens&&(yield{type:"usage",usage:r}),yield{type:"done"}}static async validateApiKey(e,t){if(!e)return!1;try{let i=await fetch("/api/validate-key",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({apiKey:e,provider:t})});if(!i.ok)return!1;let{valid:s}=await i.json();return s}catch{return!1}}static async getAvailableModels(e,t){let i=t||a.s.getSelectedProvider()||"openrouter",s=(0,o.sO)(i),r=e||a.s.getProviderApiKey(i);if(!s.supportsModelDiscovery&&s.models)return s.models.map(e=>e.id);try{let e=await fetch("/api/models",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({apiKey:r,provider:i})});if(!e.ok)return s.models?.map(e=>e.id)||[];let{models:t}=await e.json();return t||[]}catch{return s.models?.map(e=>e.id)||[]}}}var p=i(24934),u=i(68988),h=i(39390),m=i(40211),f=i(13964);let g=r.forwardRef(({className:e,...t},i)=>(0,s.jsx)(m.bL,{ref:i,className:(0,l.cn)("peer h-4 w-4 shrink-0 rounded-sm border border-primary shadow focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground",e),...t,children:(0,s.jsx)(m.C1,{className:(0,l.cn)("flex items-center justify-center text-current"),children:(0,s.jsx)(f.A,{className:"h-4 w-4"})})}));g.displayName=m.bL.displayName;var y=i(12597),b=i(13861),v=i(11860),x=i(25334),w=i(52581),k=i(59821),S=i(33135),C=i(78200),T=i(56085),A=i(45583),j=i(9593),E=i(24413),I=i(10510),N=i(41862),O=i(78272),P=i(99270),_=i(34429),F=i(24573);function D({provider:e,value:t,onChange:i,className:n,hideModelDetails:c}){let m=e||a.s.getSelectedProvider(),f=(0,o.sO)(m),[g,y]=(0,r.useState)([]),[b,x]=(0,r.useState)(!0),[D,R]=(0,r.useState)(""),[$,M]=(0,r.useState)(!1),[L,B]=(0,r.useState)(""),[U,H]=(0,r.useState)(!1),W=e=>e.name;(0,r.useCallback)(async()=>{try{x(!0);let e=a.s.getProviderApiKey(m);if(f.apiKeyRequired&&!e){H(!0),f.models?y(f.models):y([]);return}H(!1);let t=a.s.getCachedModels(m);if(t){let e=t.models;y(e),"openrouter"===m&&(0,F.V)("openrouter",e);return}let i=[];if("openrouter"===m){let e=await (0,_.QF)();(0,F.b)(e);let t=e=>{if("string"==typeof e)return e;if(e&&"object"==typeof e){let t=["description","name","summary"].map(t=>e[t]).find(e=>"string"==typeof e);if(t)return t;try{return JSON.stringify(e)}catch{}}return null==e?"":String(e)};i=e.map(e=>{let i=e.pricing?.prompt?Number(e.pricing.prompt):void 0,s=e.pricing?.completion?Number(e.pricing.completion):void 0,r=e.pricing?.internal_reasoning?Number(e.pricing.internal_reasoning):void 0,a=e=>{if(void 0!==e&&Number.isFinite(e))return 1e6*e},n=a(i),o=a(s),l=a(r);return{id:e.id,name:e.name,description:t(e.description),contextLength:e.context_length,maxTokens:e.top_provider?.max_completion_tokens,supportsFunctions:e.supported_parameters?.includes("tools"),supportsVision:e.architecture?.input_modalities?.includes("image"),pricing:void 0!==n&&void 0!==o?{input:n,output:o,reasoning:l}:void 0}})}else i=f.supportsModelDiscovery?(await d.getAvailableModels(e||void 0,m)).map(e=>({id:e,name:e.split("/").pop()||e,contextLength:32e3,supportsFunctions:!0})):f.models?f.models:[];y(i),f.isLocal&&0===i.length&&w.oR.warning(`No models found in ${f.name}. Please load some models in the application.`,{duration:5e3}),i.length>0&&(a.s.setCachedModels(m,i),"openrouter"===m&&(0,F.V)("openrouter",i))}catch(e){l.v.error("Failed to load models:",e),f.isLocal&&w.oR.error(`${f.name} server not running. Please start the server and load some models.`,{duration:5e3}),f.models&&y(f.models)}finally{x(!1)}},[m,f]);let q=e=>{R(e),a.s.setProviderModel(m,e),i?.(e),M(!1),B("")},z=e=>{let t=e.id.toLowerCase();return t.includes("deepseek")?(0,s.jsx)(C.A,{className:"h-3 w-3"}):t.includes("claude")?(0,s.jsx)(T.A,{className:"h-3 w-3"}):t.includes("gpt")?(0,s.jsx)(A.A,{className:"h-3 w-3"}):t.includes("gemini")?(0,s.jsx)(j.A,{className:"h-3 w-3"}):t.includes("llama")?(0,s.jsx)(E.A,{className:"h-3 w-3"}):t.includes("qwen")?(0,s.jsx)(I.A,{className:"h-3 w-3"}):null},G=e=>{let t=e.toLowerCase();return t.includes("deepseek")?"bg-blue-500/10 text-blue-500":t.includes("claude")?"bg-orange-500/10 text-orange-500":t.includes("openai")||t.includes("gpt")?"bg-green-500/10 text-green-500":t.includes("qwen")?"bg-orange-500/10 text-orange-500":t.includes("google")?"bg-red-500/10 text-red-500":t.includes("meta")?"bg-indigo-500/10 text-indigo-500":"bg-gray-500/10 text-gray-500"},K=(0,r.useMemo)(()=>{if(!L.trim())return g;let e=L.toLowerCase();return g.filter(t=>{let i=t.id.toLowerCase(),s=W(t).toLowerCase(),r=t.id.split("/")[0].toLowerCase();return i.includes(e)||s.includes(e)||r.includes(e)})},[g,L]),J=g.find(e=>e.id===D);return b?(0,s.jsxs)("div",{className:n,children:[(0,s.jsx)(h.J,{children:"AI Model"}),(0,s.jsxs)("div",{className:"flex items-center gap-2 h-10 px-3 border rounded-md bg-muted",children:[(0,s.jsx)(N.A,{className:"h-4 w-4 animate-spin"}),(0,s.jsx)("span",{className:"text-sm text-muted-foreground",children:"Loading models..."})]})]}):U?(0,s.jsxs)("div",{className:n,children:[(0,s.jsx)(h.J,{children:"AI Model"}),(0,s.jsx)("div",{className:"flex items-center gap-2 h-10 px-3 border rounded-md bg-muted/50 border-orange-200 dark:border-orange-800",children:(0,s.jsxs)("span",{className:"text-sm text-orange-600 dark:text-orange-400",children:["API key required for ",f.name]})}),(0,s.jsx)("p",{className:"text-xs text-muted-foreground mt-1",children:"Set your API key in settings to load available models"})]}):(0,s.jsxs)("div",{className:n,children:[(0,s.jsx)(h.J,{htmlFor:"model-select",children:"AI Model"}),(0,s.jsxs)(S.AM,{open:$,onOpenChange:M,children:[(0,s.jsx)(S.Wv,{asChild:!0,children:(0,s.jsxs)(p.$,{variant:"outline",role:"combobox","aria-expanded":$,className:"justify-between font-normal min-w-[200px]",children:[J?(0,s.jsxs)("div",{className:"flex items-center gap-2 truncate",children:[z(J),(0,s.jsx)("span",{className:"truncate",children:W(J)})]}):(0,s.jsx)("span",{className:"text-muted-foreground",children:"Select a model..."}),(0,s.jsx)(O.A,{className:"ml-2 h-4 w-4 shrink-0 opacity-50"})]})}),(0,s.jsxs)(S.hl,{className:"w-[32rem] p-0",align:"start",side:"bottom",sideOffset:5,avoidCollisions:!1,children:[(0,s.jsxs)("div",{className:"flex items-center border-b px-3",children:[(0,s.jsx)(P.A,{className:"h-4 w-4 shrink-0 opacity-50"}),(0,s.jsx)(u.p,{placeholder:"Search models...",value:L,onChange:e=>B(e.target.value),className:"h-10 border-0 focus:ring-0 focus-visible:ring-0 focus-visible:ring-offset-0"}),L&&(0,s.jsx)(p.$,{variant:"ghost",size:"sm",onClick:()=>B(""),className:"h-5 w-5 p-0",children:(0,s.jsx)(v.A,{className:"h-3 w-3"})})]}),(0,s.jsx)("div",{className:"max-h-[400px] min-h-[300px] overflow-y-auto",children:0===K.length?(0,s.jsx)("div",{className:"py-6 text-center text-sm text-muted-foreground",children:"No models found"}):K.map(e=>(0,s.jsx)("button",{onClick:()=>q(e.id),className:(0,l.cn)("w-full text-left px-3 py-3 hover:bg-accent hover:text-accent-foreground transition-colors",D===e.id&&"bg-accent"),children:(0,s.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[z(e),(0,s.jsx)("span",{className:"font-medium",children:W(e)}),"openrouter"===m&&(0,s.jsx)(k.E,{variant:"secondary",className:`text-xs ${G(e.id)}`,children:e.id.split("/")[0]})]}),(0,s.jsxs)("div",{className:"flex items-center gap-3 text-xs text-muted-foreground",children:[(0,s.jsxs)("span",{children:["Context: ",Math.round(e.contextLength/1e3),"K"]}),e.pricing&&(0===e.pricing.input&&0===e.pricing.output?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("span",{children:"•"}),(0,s.jsx)("span",{children:"Free"})]}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("span",{children:"•"}),(0,s.jsxs)("span",{children:[(0,_.WK)(e.pricing.input),"/K | ",(0,_.WK)(e.pricing.output),"/K"]})]})),!e.pricing&&"openrouter"!==m&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("span",{children:"•"}),(0,s.jsx)("span",{children:"Pricing varies"})]})]})]})},e.id))})]})]}),!c&&J&&(0,s.jsxs)("div",{className:"mt-1 text-xs text-muted-foreground max-h-[150px] overflow-y-auto pr-2",children:[(0,s.jsx)("div",{className:"font-medium mb-1",children:J.pricing?0===J.pricing.input&&0===J.pricing.output?"Free":`Input: ${(0,_.WK)(J.pricing.input)}/K • Output: ${(0,_.WK)(J.pricing.output)}/K`:"Pricing varies by provider"}),J.description&&(0,s.jsx)("div",{children:J.description})]})]})}var R=i(63974);function $({onClose:e,onModelChange:t}){let[i,n]=(0,r.useState)({}),[l,c]=(0,r.useState)(()=>a.s.getSelectedProvider()),[m,k]=(0,r.useState)(!1),[S,C]=(0,r.useState)(!1),[T,A]=(0,r.useState)(null),[j,E]=(0,r.useState)(""),[I,N]=(0,r.useState)(()=>!1),O=e=>{E(e),a.s.setProviderApiKey(l,e),A(null),a.s.clearModelCache(l),window.dispatchEvent(new CustomEvent("apiKeyUpdated",{detail:{provider:l,hasKey:!!e}}))},P=async()=>{if(!j)return void w.oR.error("Please enter an API key");C(!0);try{let e=await d.validateApiKey(j,l);A(e),e?w.oR.success("API key is valid!"):w.oR.error("Invalid API key")}catch{A(!1),w.oR.error("Failed to validate API key")}finally{C(!1)}},_=(0,o.sO)(l);return(0,s.jsxs)("div",{className:"space-y-6",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("h3",{className:"font-medium text-sm",children:"Model Settings"}),(0,s.jsx)("p",{className:"text-muted-foreground text-xs mt-1",children:"Configure your AI model and API connection"})]}),(0,s.jsxs)("div",{className:"space-y-4",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)(h.J,{htmlFor:"provider",children:"AI Provider"}),(0,s.jsxs)(R.l6,{value:l,onValueChange:e=>{c(e),a.s.setSelectedProvider(e),E(a.s.getProviderApiKey(e)||""),A(null)},children:[(0,s.jsx)(R.bq,{id:"provider",className:"mt-2 !h-fit",children:(0,s.jsx)(R.yv,{placeholder:"Select a provider",children:l&&(0,s.jsxs)("div",{className:"flex flex-col text-left",children:[(0,s.jsx)("span",{className:"font-medium",children:_.name}),(0,s.jsx)("span",{className:"text-xs text-muted-foreground",children:_.description})]})})}),(0,s.jsx)(R.gC,{className:"max-h-[400px]",children:(0,o.OM)().map(e=>(0,s.jsx)(R.eb,{value:e.id,children:(0,s.jsxs)("div",{className:"flex flex-col",children:[(0,s.jsx)("span",{className:"font-medium",children:e.name}),(0,s.jsx)("span",{className:"text-xs text-muted-foreground",children:e.description})]})},e.id))})]})]}),(_.apiKeyRequired||_.isLocal)&&(0,s.jsxs)("div",{children:[(0,s.jsxs)(h.J,{htmlFor:"api-key",children:[_.name," API Key",!_.apiKeyRequired&&(0,s.jsx)("span",{className:"text-muted-foreground text-xs ml-1",children:"(optional)"})]}),(0,s.jsxs)("div",{className:"flex gap-2 mt-2",children:[(0,s.jsxs)("div",{className:"relative flex-1",children:[(0,s.jsx)(u.p,{id:"api-key",type:m?"text":"password",value:j,onChange:e=>O(e.target.value),placeholder:_.apiKeyPlaceholder||"API Key",className:"pr-10","data-tour-id":"provider-key-input"}),(0,s.jsx)(p.$,{size:"icon",variant:"ghost",className:"absolute right-1 top-1 h-7 w-7",onClick:()=>k(!m),children:m?(0,s.jsx)(y.A,{className:"h-4 w-4"}):(0,s.jsx)(b.A,{className:"h-4 w-4"})})]}),(0,s.jsx)(p.$,{onClick:P,disabled:S||!j,size:"sm",children:S?"Validating...":"Validate"}),null!==T&&(0,s.jsx)("div",{className:"flex items-center",children:T?(0,s.jsx)(f.A,{className:"h-5 w-5 text-green-500"}):(0,s.jsx)(v.A,{className:"h-5 w-5 text-red-500"})})]}),_.apiKeyHelpUrl&&(0,s.jsxs)("p",{className:"text-sm text-muted-foreground mt-2",children:["Get your API key from"," ",(0,s.jsxs)("a",{href:_.apiKeyHelpUrl,target:"_blank",rel:"noopener noreferrer",className:"text-primary hover:underline inline-flex items-center gap-1",children:[_.name," ",(0,s.jsx)(x.A,{className:"h-3 w-3"})]})]}),_.isLocal&&!_.apiKeyRequired&&(0,s.jsxs)("p",{className:"text-sm text-muted-foreground mt-2",children:["API key is optional for ",_.name,". Only needed if you've configured authentication on your local server."]})]}),!_.apiKeyRequired&&_.isLocal&&(0,s.jsxs)("div",{className:"text-sm text-muted-foreground p-3 border rounded-md bg-muted/50",children:[(0,s.jsx)("p",{className:"font-medium mb-1",children:"Local Provider"}),(0,s.jsxs)("p",{children:["Make sure ",_.name," is running on your machine."]}),(0,s.jsxs)("p",{children:["Default endpoint: ",(0,s.jsx)("code",{className:"text-xs",children:_.baseUrl})]}),"lmstudio"===l&&(0,s.jsxs)("div",{className:"mt-2 text-xs",children:[(0,s.jsx)("p",{className:"font-medium",children:"For tool use support:"}),(0,s.jsx)("p",{children:"• Load a model like qwen/qwen3-4b-thinking-2507"}),(0,s.jsx)("p",{children:"• Start the local server in LM Studio"}),(0,s.jsx)("p",{children:"• Models will be automatically discovered"})]})]}),(0,s.jsxs)("div",{className:"space-y-3",children:[(0,s.jsx)(h.J,{className:"text-sm font-medium",children:"Code Mode Model"}),(0,s.jsx)(D,{provider:l,onChange:e=>{I||t?.(e)},className:"space-y-2"})]}),(0,s.jsxs)("div",{className:"flex items-start space-x-2 pt-2",children:[(0,s.jsx)(g,{id:"separate-chat-model",checked:I,onCheckedChange:e=>N(!0===e)}),(0,s.jsxs)("div",{className:"grid gap-1.5 leading-none",children:[(0,s.jsx)("label",{htmlFor:"separate-chat-model",className:"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70 cursor-pointer",children:"Use different model for chat mode"}),(0,s.jsx)("p",{className:"text-xs text-muted-foreground",children:"Select a separate (usually cheaper) model for chat/planning mode"})]})]}),I&&(0,s.jsxs)("div",{className:"space-y-3 pt-2",children:[(0,s.jsx)(h.J,{className:"text-sm font-medium",children:"Chat Mode Model"}),(0,s.jsx)(D,{provider:l,onChange:e=>{t?.(e)},className:"space-y-2"})]})]}),e&&(0,s.jsx)("div",{className:"flex justify-end pt-4 border-t",children:(0,s.jsx)(p.$,{onClick:e,size:"sm",children:"Done"})})]})}},10158:(e,t,i)=>{i.d(t,{OM:()=>a,sO:()=>r});let s={openrouter:{id:"openrouter",name:"OpenRouter",description:"Access multiple AI models through a unified API",apiKeyRequired:!0,apiKeyPlaceholder:"sk-or-...",apiKeyHelpUrl:"https://openrouter.ai/keys",baseUrl:"https://openrouter.ai/api/v1",supportsModelDiscovery:!0,supportsFunctions:!0,supportsStreaming:!0},openai:{id:"openai",name:"OpenAI",description:"GPT-4, GPT-3.5 and other OpenAI models",apiKeyRequired:!0,apiKeyPlaceholder:"sk-...",apiKeyHelpUrl:"https://platform.openai.com/api-keys",baseUrl:"https://api.openai.com/v1",supportsModelDiscovery:!0,supportsFunctions:!0,supportsStreaming:!0},anthropic:{id:"anthropic",name:"Anthropic",description:"Claude 3.5 Sonnet, Haiku and Opus models",apiKeyRequired:!0,apiKeyPlaceholder:"sk-ant-...",apiKeyHelpUrl:"https://console.anthropic.com/settings/keys",baseUrl:"https://api.anthropic.com/v1",supportsModelDiscovery:!0,supportsFunctions:!0,supportsStreaming:!0},groq:{id:"groq",name:"Groq",description:"Ultra-fast inference with Llama and Mixtral models",apiKeyRequired:!0,apiKeyPlaceholder:"gsk_...",apiKeyHelpUrl:"https://console.groq.com/keys",baseUrl:"https://api.groq.com/openai/v1",supportsModelDiscovery:!0,supportsFunctions:!0,supportsStreaming:!0},gemini:{id:"gemini",name:"Google Gemini",description:"Google's multimodal AI models",apiKeyRequired:!0,apiKeyPlaceholder:"AI...",apiKeyHelpUrl:"https://aistudio.google.com/apikey",baseUrl:"https://generativelanguage.googleapis.com/v1beta",models:[{id:"gemini-2.0-flash-exp",name:"Gemini 2.0 Flash",description:"Latest experimental Gemini model",contextLength:1048576,maxTokens:8192,supportsFunctions:!0,supportsVision:!0},{id:"gemini-1.5-pro",name:"Gemini 1.5 Pro",description:"Advanced reasoning and analysis",contextLength:2097152,maxTokens:8192,supportsFunctions:!0,supportsVision:!0},{id:"gemini-1.5-flash",name:"Gemini 1.5 Flash",description:"Fast and versatile",contextLength:1048576,maxTokens:8192,supportsFunctions:!0,supportsVision:!0}],supportsFunctions:!0,supportsStreaming:!0},ollama:{id:"ollama",name:"Ollama",description:"Run models locally with Ollama",apiKeyRequired:!1,baseUrl:"http://localhost:11434/v1",supportsModelDiscovery:!0,supportsFunctions:!0,supportsStreaming:!0,isLocal:!0},lmstudio:{id:"lmstudio",name:"LM Studio",description:"Local model server with tool use support",apiKeyRequired:!1,baseUrl:"http://localhost:1234/v1",supportsModelDiscovery:!0,supportsFunctions:!0,supportsStreaming:!0,isLocal:!0},sambanova:{id:"sambanova",name:"SambaNova",description:"High-performance AI chips for inference",apiKeyRequired:!0,apiKeyPlaceholder:"SambaNova API Key",apiKeyHelpUrl:"https://cloud.sambanova.ai/apis",baseUrl:"https://api.sambanova.ai/v1",supportsModelDiscovery:!0,supportsFunctions:!0,supportsStreaming:!0}};function r(e){return s[e]}function a(){return Object.values(s)}},22106:(e,t,i)=>{i.d(t,{B:()=>a});var s=i(79170),r=i.n(s);class a{constructor(e,t,i){this.blobUrls=new Map,this.fileHashes=new Map,this.templateCache=new Map,this.partialsRegistered=!1,this.vfs=e,this.projectId=t,this.baseUrl="",i&&(this.blobUrls=new Map(i)),this.handlebars=r().create(),this.registerHelpers()}registerHelpers(){this.handlebars.registerHelper("eq",(e,t)=>e===t),this.handlebars.registerHelper("ne",(e,t)=>e!==t),this.handlebars.registerHelper("lt",(e,t)=>ee>t),this.handlebars.registerHelper("lte",(e,t)=>e<=t),this.handlebars.registerHelper("gte",(e,t)=>e>=t),this.handlebars.registerHelper("and",function(){let e=Array.prototype.slice.call(arguments,0,-1);return e.every(e=>e)}),this.handlebars.registerHelper("or",function(){let e=Array.prototype.slice.call(arguments,0,-1);return e.some(e=>e)}),this.handlebars.registerHelper("not",e=>!e),this.handlebars.registerHelper("add",(e,t)=>e+t),this.handlebars.registerHelper("subtract",(e,t)=>e-t),this.handlebars.registerHelper("multiply",(e,t)=>e*t),this.handlebars.registerHelper("divide",(e,t)=>e/t),this.handlebars.registerHelper("uppercase",e=>e?.toUpperCase()),this.handlebars.registerHelper("lowercase",e=>e?.toLowerCase()),this.handlebars.registerHelper("concat",function(){let e=Array.prototype.slice.call(arguments,0,-1);return e.join("")}),this.handlebars.registerHelper("json",e=>JSON.stringify(e,null,2)),this.handlebars.registerHelper("formatDate",e=>new Date(e).toLocaleDateString()),this.handlebars.registerHelper("limit",(e,t)=>e?.slice(0,t))}async registerPartials(){if(!this.partialsRegistered)try{for(let e of(await this.vfs.getAllFilesAndDirectories(this.projectId)).filter(e=>"content"in e&&e.path.startsWith("/templates/")&&(e.path.endsWith(".hbs")||e.path.endsWith(".handlebars")))){let t=e.content,i=e.path.replace(/^\/templates\//,"").replace(/\.hbs$/,"").replace(/\.handlebars$/,"");this.handlebars.registerPartial(i,t);let s=i.split("/").pop();if(s&&this.handlebars.registerPartial(s,t),i.includes("/")){let e=i.replace(/\//g,"-");this.handlebars.registerPartial(e,t)}}this.partialsRegistered=!0}catch(e){}}async compileTemplate(e,t={}){let i=this.templateCache.get(e);if(!i)try{let t=(await this.vfs.readFile(this.projectId,e)).content;i=this.handlebars.compile(t),this.templateCache.set(e,i)}catch(t){return console.error(`Failed to compile template ${e}:`,t),""}return i(t)}async compileProject(e=!1){await this.registerPartials();let t=await this.vfs.listDirectory(this.projectId,"/"),i=new Map(this.blobUrls),s=new Map,r=[];for(let a of t){let t;if("template"===a.type||"html"===a.type||"css"===a.type)continue;t="image"===a.type||"video"===a.type?{path:a.path,content:a.content,mimeType:a.mimeType}:"js"===a.type?await this.processJS(a):{path:a.path,content:a.content,mimeType:a.mimeType};let n=this.hashContent(t.content),o=this.fileHashes.get(t.path);if(e&&o===n&&i.has(t.path)){let e=i.get(t.path);s.set(t.path,e),t.blobUrl=e,i.delete(t.path)}else{let e=new Blob([t.content],{type:t.mimeType}),i=URL.createObjectURL(e);s.set(t.path,i),t.blobUrl=i,this.fileHashes.set(t.path,n)}r.push(t)}for(let a of t){if("html"!==a.type)continue;let t=await this.processHTML(a,s),n=this.hashContent(t.content),o=this.fileHashes.get(t.path);if(e&&o===n&&i.has(t.path)){let e=i.get(t.path);s.set(t.path,e),t.blobUrl=e,i.delete(t.path)}else{let e=new Blob([t.content],{type:t.mimeType}),i=URL.createObjectURL(e);s.set(t.path,i),t.blobUrl=i,this.fileHashes.set(t.path,n)}r.push(t)}let a=[...r];for(let r of t)if("css"===r.type){let t=await this.processCSS(r,s),n=this.hashContent(t.content),o=this.fileHashes.get(t.path);if(e&&o===n&&i.has(t.path)){let e=i.get(t.path);s.set(t.path,e),t.blobUrl=e,i.delete(t.path)}else{let e=new Blob([t.content],{type:t.mimeType}),i=URL.createObjectURL(e);s.set(t.path,i),t.blobUrl=i,this.fileHashes.set(t.path,n)}a.push(t)}let n=this.generateRoutes(t);if(e)for(let[,e]of i)URL.revokeObjectURL(e);else e||this.cleanupBlobUrls();return this.blobUrls=s,{entryPoint:"/index.html",files:a,routes:n,blobUrls:this.blobUrls}}hashContent(e){let t=0;if(e instanceof ArrayBuffer){let i=new Uint8Array(e);for(let e=0;e +// VFS Asset Interceptor - Auto-injected by OSW Studio +(function() { + const vfsBlobUrls = ${JSON.stringify(s)}; + + // Helper function to resolve VFS paths to blob URLs + function resolveVfsUrl(url) { + if (!url || typeof url !== 'string') return url; + if (url.startsWith('/assets/') && vfsBlobUrls[url]) { + return vfsBlobUrls[url]; + } + return url; + } + + // Intercept Image src setter to handle ALL image loading + const originalSrcDescriptor = Object.getOwnPropertyDescriptor(HTMLImageElement.prototype, 'src'); + Object.defineProperty(HTMLImageElement.prototype, 'src', { + get: function() { + return originalSrcDescriptor.get.call(this); + }, + set: function(value) { + const resolvedUrl = resolveVfsUrl(value); + return originalSrcDescriptor.set.call(this, resolvedUrl); + }, + enumerable: true, + configurable: true + }); + + // Intercept setAttribute for src attributes + const originalSetAttribute = Element.prototype.setAttribute; + Element.prototype.setAttribute = function(name, value) { + if ((name === 'src' || name === 'href') && this instanceof HTMLImageElement) { + value = resolveVfsUrl(value); + } + return originalSetAttribute.call(this, name, value); + }; + + // Intercept innerHTML to catch template-generated images + const originalInnerHTMLDescriptor = Object.getOwnPropertyDescriptor(Element.prototype, 'innerHTML'); + Object.defineProperty(Element.prototype, 'innerHTML', { + get: function() { + return originalInnerHTMLDescriptor.get.call(this); + }, + set: function(value) { + if (typeof value === 'string' && value.includes('/assets/')) { + // Replace asset URLs in the HTML string before setting + const srcRegex = new RegExp('src=["\\']([^"\\']*/assets/[^"\\']*)["\\']', 'g'); + value = value.replace(srcRegex, function(match, url) { + const resolvedUrl = resolveVfsUrl(url); + if (resolvedUrl !== url) { + return match.replace(url, resolvedUrl); + } + return match; + }); + } + return originalInnerHTMLDescriptor.set.call(this, value); + }, + enumerable: true, + configurable: true + }); + + // Intercept Image constructor + const OriginalImage = window.Image; + window.Image = function(...args) { + const img = new OriginalImage(...args); + // Override src setter for this instance too + const descriptor = Object.getOwnPropertyDescriptor(img, 'src') || + Object.getOwnPropertyDescriptor(HTMLImageElement.prototype, 'src'); + if (descriptor) { + Object.defineProperty(img, 'src', { + get: descriptor.get, + set: function(value) { + const resolvedUrl = resolveVfsUrl(value); + return originalSrcDescriptor.set.call(this, resolvedUrl); + }, + enumerable: true, + configurable: true + }); + } + return img; + }; + // Preserve original Image properties + Object.setPrototypeOf(window.Image, OriginalImage); + window.Image.prototype = OriginalImage.prototype; + + // Intercept createElement for img elements + const originalCreateElement = document.createElement; + document.createElement = function(tagName, options) { + const element = originalCreateElement.call(this, tagName, options); + if (tagName.toLowerCase() === 'img') { + const originalSrcDescriptor = Object.getOwnPropertyDescriptor(HTMLImageElement.prototype, 'src'); + Object.defineProperty(element, 'src', { + get: function() { + return originalSrcDescriptor.get.call(this); + }, + set: function(value) { + const resolvedUrl = resolveVfsUrl(value); + return originalSrcDescriptor.set.call(this, resolvedUrl); + }, + enumerable: true, + configurable: true + }); + } + return element; + }; + + // Intercept fetch requests to VFS assets + const originalFetch = window.fetch; + window.fetch = function(input, init) { + const url = typeof input === 'string' ? input : input.url; + const resolvedUrl = resolveVfsUrl(url); + + if (resolvedUrl !== url) { + return originalFetch(resolvedUrl, init); + } + + return originalFetch(input, init); + }; + + // Intercept XMLHttpRequest for older code + const OriginalXHR = window.XMLHttpRequest; + window.XMLHttpRequest = function() { + const xhr = new OriginalXHR(); + const originalOpen = xhr.open; + + xhr.open = function(method, url, ...args) { + const resolvedUrl = resolveVfsUrl(url); + return originalOpen.call(this, method, resolvedUrl, ...args); + }; + + return xhr; + }; + + // Process any existing images in the DOM when ready + function processExistingImages() { + const images = document.querySelectorAll('img[src*="/assets/"]'); + images.forEach(img => { + const currentSrc = img.src; + const resolvedSrc = resolveVfsUrl(currentSrc); + if (resolvedSrc !== currentSrc) { + img.src = resolvedSrc; + } + }); + } + + // Use MutationObserver to catch dynamically added images + function setupMutationObserver() { + if (typeof MutationObserver !== 'undefined') { + const observer = new MutationObserver(function(mutations) { + mutations.forEach(function(mutation) { + mutation.addedNodes.forEach(function(node) { + if (node.nodeType === 1) { // Element node + if (node.tagName === 'IMG' && node.src && node.src.includes('/assets/')) { + const resolvedSrc = resolveVfsUrl(node.src); + if (resolvedSrc !== node.src) { + node.src = resolvedSrc; + } + } + // Also check children + const childImages = node.querySelectorAll && node.querySelectorAll('img[src*="/assets/"]'); + if (childImages) { + childImages.forEach(img => { + const resolvedSrc = resolveVfsUrl(img.src); + if (resolvedSrc !== img.src) { + img.src = resolvedSrc; + } + }); + } + } + }); + }); + }); + + observer.observe(document.body || document.documentElement, { + childList: true, + subtree: true + }); + } + } + + // Setup everything when DOM is ready + if (document.readyState === 'loading') { + document.addEventListener('DOMContentLoaded', function() { + processExistingImages(); + setupMutationObserver(); + }); + } else { + processExistingImages(); + setupMutationObserver(); + } +})(); +`;return i=i.includes("")?i.replace("",r+"\n"):i.includes("")?i.replace("",r+"\n"):r+"\n"+i,{path:e.path,content:i,mimeType:e.mimeType}}extractPartialReferences(e){let t,i=/\{\{>\s*([\w-]+)\s*(?:\s+[^}]*)?\}\}/g,s=new Set;for(;null!==(t=i.exec(e));)s.add(t[1]);return Array.from(s)}registerErrorStubsForMissingPartials(e){for(let t of e)if(!this.handlebars.partials[t]){let e=`
+ ⚠️ Missing partial: "${t}" +

Create file in /templates/ directory (e.g., /templates/${t}.hbs or /templates/components/${t}.hbs)

+
`;this.handlebars.registerPartial(t,e)}}async processHandlebarsTemplates(e){await this.registerPartials();try{let t=this.detectInvalidHandlebarsPatterns(e);if(t.length>0){let i=t.map(e=>`❌ ${e.error} +💡 ${e.suggestion}`).join("\n\n");return` +
+

⚠️ Handlebars Template Error

+
${i}
+
+`}let i=this.extractPartialReferences(e);this.registerErrorStubsForMissingPartials(i);let s={};try{let e=await this.vfs.readFile(this.projectId,"/data.json");s=JSON.parse(e.content)}catch{}return this.handlebars.compile(e)(s)}catch(i){console.error("VirtualServer: Error processing Handlebars templates:",i);let t=i instanceof Error?i.message:String(i);return` +
+

⚠️ Handlebars Template Error

+

Error: ${t}

+

Common fixes:

+
    +
  • Check for typos in helper names and partial references
  • +
  • Ensure all opening tags have matching closing tags
  • +
  • Verify partial names exist in /templates/ directory
  • +
  • Use {{> partialName}} syntax, not (> partialName)
  • +
+
+`}}detectInvalidHandlebarsPatterns(e){let t=[];return/\w+\s*=\s*\(\s*>\s*[\w-]+\s*\)/g.test(e)&&t.push({error:"Invalid syntax: Using (> partial) as parameter value",suggestion:"Use string-based dynamic partials: content=\"partial-name\" then {{> (lookup this 'content')}}"}),/\{\{\s*>\s*\(\s*>\s*[\w-]+\s*\)\s*\}\}/g.test(e)&&t.push({error:"Invalid syntax: Double partial reference {{> (> partial)}}",suggestion:"Use {{> partialName}} for static partials or {{> (lookup data 'partialName')}} for dynamic"}),/\{\{\s*>\s*[\w-]+\s+\w+\s*=\s*[^"'\s}][^}]*\s[^}]*(?:\s|}})/g.test(e)&&t.push({error:"Missing quotes in parameter values",suggestion:'Wrap parameter values in quotes: title="My Title" not title=My Title'}),t}async processCSS(e,t){let i=e.content;return i=await this.processUrlReferences(i,t),{path:e.path,content:i,mimeType:e.mimeType}}async processJS(e){let t=e.content;return{path:e.path,content:t,mimeType:e.mimeType}}isAssetReference(e){let t=e.split("?")[0].split("#")[0];return[".css",".js",".jsx",".ts",".tsx",".png",".jpg",".jpeg",".gif",".svg",".ico",".webp",".woff",".woff2",".ttf",".otf",".eot",".mp4",".webm",".ogg",".mp3",".wav",".pdf",".zip",".json",".xml"].includes(t.substring(t.lastIndexOf(".")).toLowerCase())}async processInternalReferences(e,t){let i=await this.vfs.listDirectory(this.projectId,"/"),s=t||this.blobUrls,r=e;for(let e of[/href="([^"]+)"/g,/src="([^"]+)"/g,/href='([^']+)'/g,/src='([^']+)'/g])r=r.replace(e,(e,t)=>{if(t.startsWith("http")||t.startsWith("data:")||t.startsWith("//")||t.startsWith("blob:")||t.startsWith("#")||e.includes("href=")&&!this.isAssetReference(t))return e;let r=this.normalizePath(t);if(i.some(e=>e.path===r)){let i=s.get(r);if(i)return e.replace(t,i)}return e});return r}async processUrlReferences(e,t){return e.replace(/url\(['"]?([^'")]+)['"]?\)/g,(e,i)=>{if(i.startsWith("http")||i.startsWith("data:")||i.startsWith("//")||i.startsWith("blob:"))return e;let s=this.normalizePath(i),r=t.get(s);return r?`url('${r}')`:e})}normalizePath(e){return(e.startsWith("./")&&(e=e.slice(2)),e.startsWith("/")||(e="/"+e),e.endsWith("/"))?e+"index.html":e.includes(".")?e:e+".html"}generateRoutes(e){return e.filter(e=>"html"===e.type).map(e=>{let t=e.content.match(/([^<]+)<\/title>/i),i=t?t[1]:e.name.replace(".html",""),s=e.path.replace(".html","")||"/";return{path:"/index"===s?"/":s,file:e.path,title:i}})}extractTitle(e){let t=e.match(/<title>([^<]+)<\/title>/i);return t?t[1]:"Untitled Page"}cleanupBlobUrls(){for(let e of this.blobUrls.values())URL.revokeObjectURL(e);this.blobUrls.clear(),this.templateCache.clear(),this.partialsRegistered=!1}async getCompiledFile(e){try{let t=await this.vfs.readFile(this.projectId,e);if("html"===t.type)return await this.processHTML(t,this.blobUrls);if("css"===t.type)return await this.processCSS(t,new Map);if("js"===t.type)return await this.processJS(t);else return{path:t.path,content:t.content,mimeType:t.mimeType}}catch{return null}}}},24573:(e,t,i)=>{i.d(t,{V:()=>n,b:()=>o});var s=i(4950);let r="openrouter";function a(e){if(!e)return;let t=Number(e);if(Number.isFinite(t)&&!(t<=0))return t<.01?1e6*t:t}function n(e,t){if(!Array.isArray(t)||0===t.length)return;let i={};for(let s of t){if(!s?.pricing)continue;let t={input:s.pricing.input,output:s.pricing.output,reasoning:s.pricing.reasoning};Number.isFinite(t.input)&&Number.isFinite(t.output)&&(i[s.id]=t,i[`${e}/${s.id}`]=t)}if(e===r)for(let[e,t]of Object.entries(i)){let s=e.split("/").pop();s&&!i[s]&&(i[s]=t)}Object.keys(i).length>0&&s.s.setProviderPricing(e,i)}function o(e){if(!Array.isArray(e)||0===e.length)return;let t={};for(let i of e){let e=a(i.pricing?.prompt),s=a(i.pricing?.completion),n=a(i.pricing?.internal_reasoning);if(void 0===e||void 0===s)continue;let o={input:e,output:s,reasoning:n};t[i.id]=o,t[`${r}/${i.id}`]=o,i.canonical_slug&&(t[i.canonical_slug]=o)}Object.keys(t).length>0&&s.s.setProviderPricing(r,t)}},24923:(e,t,i)=>{i.d(t,{Gr:()=>a,N$:()=>n,N2:()=>l,Q6:()=>r,fu:()=>o});let s={html:["html","htm"],css:["css"],js:["js","mjs","jsx"],json:["json"],text:["txt","md","xml","svg"],template:["hbs","handlebars"],image:["png","jpg","jpeg","gif","webp","ico","bmp"],video:["mp4","webm","ogg"]},r={text:5242880,html:5242880,css:5242880,js:5242880,json:5242880,template:5242880,image:0xa00000,video:0x3200000,binary:0xa00000};function a(e){let t=e.split(".").pop()?.toLowerCase();for(let[e,i]of Object.entries(s))if(i.includes(t||""))return e;return"text"}function n(e){return({html:"text/html",htm:"text/html",css:"text/css",js:"application/javascript",mjs:"application/javascript",jsx:"application/javascript",json:"application/json",txt:"text/plain",md:"text/markdown",xml:"application/xml",svg:"image/svg+xml",hbs:"text/x-handlebars-template",handlebars:"text/x-handlebars-template",png:"image/png",jpg:"image/jpeg",jpeg:"image/jpeg",gif:"image/gif",webp:"image/webp",ico:"image/x-icon",bmp:"image/bmp",mp4:"video/mp4",webm:"video/webm",ogg:"video/ogg"})[e.split(".").pop()?.toLowerCase()||""]||"application/octet-stream"}function o(e){let t=e.split(".").pop()?.toLowerCase();for(let e of Object.values(s))if(e.includes(t||""))return!0;return!1}let l=[{value:"personal",label:"Personal Use Only",description:"Cannot be resold or used commercially"},{value:"commercial",label:"Commercial Use",description:"Can be used in commercial projects, cannot resell template"},{value:"mit",label:"MIT License",description:"Use freely, must include copyright notice"},{value:"apache-2.0",label:"Apache 2.0",description:"Similar to MIT, with patent protection"},{value:"gpl-3.0",label:"GPL 3.0",description:"Open source, derivatives must also be GPL"},{value:"bsd-3-clause",label:"BSD 3-Clause",description:"Permissive, cannot use author name for promotion"},{value:"cc-by-4.0",label:"CC BY 4.0",description:"Free use with attribution"},{value:"cc-by-sa-4.0",label:"CC BY-SA 4.0",description:"Free use with attribution, share-alike"},{value:"cc-by-nc-4.0",label:"CC BY-NC 4.0",description:"Free for non-commercial use with attribution"},{value:"unlicense",label:"Unlicense (Public Domain)",description:"No restrictions, completely free to use"},{value:"all-rights-reserved",label:"All Rights Reserved",description:"Most restrictive, requires explicit permission"},{value:"custom",label:"Custom License",description:"Specify your own terms"}]},24934:(e,t,i)=>{i.d(t,{$:()=>l});var s=i(60687);i(43210);var r=i(8730),a=i(24224),n=i(96241);let o=(0,a.F)("inline-flex items-center cursor-pointer justify-center gap-2 whitespace-nowrap rounded-full text-sm font-sans font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",{variants:{variant:{default:"bg-primary text-primary-foreground shadow-xs hover:bg-primary/90",destructive:"bg-red-500 text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 [&_svg]:!text-white",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",lightGray:"bg-neutral-200/60 hover:bg-neutral-200",link:"text-primary underline-offset-4 hover:underline",ghostDarker:"text-white shadow-xs focus-visible:ring-black/40 bg-black/40 hover:bg-black/70",black:"bg-neutral-950 text-neutral-300 hover:brightness-110",sky:"bg-sky-500 text-white hover:brightness-110"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",sm:"h-8 rounded-full text-[13px] gap-1.5 px-3",lg:"h-10 rounded-full px-6 has-[>svg]:px-4",icon:"size-9",iconXs:"size-7",iconXss:"size-6",xs:"h-6 text-xs rounded-full pl-2 pr-2 gap-1"}},defaultVariants:{variant:"default",size:"default"}});function l({className:e,variant:t,size:i,asChild:a=!1,...l}){let c=a?r.DX:"button";return(0,s.jsx)(c,{"data-slot":"button",className:(0,n.cn)(o({variant:t,size:i,className:e})),...l})}},26627:(e,t,i)=>{i.d(t,{t:()=>I});class s{constructor(e){this.type=e.type,this.name=e.name,this.description=e.description,this.systemPrompt=e.systemPrompt,this.tools=e.tools,this.maxIterations=e.maxIterations,this.isReadOnly=e.isReadOnly??!1}hasTool(e){return this.tools.includes(e)}}class r{constructor(){this.agents=new Map,this.registerBuiltInAgents()}registerBuiltInAgents(){this.register(new s({type:"orchestrator",name:"Orchestrator",description:"Direct execution agent for web development tasks",systemPrompt:this.getOrchestratorPrompt(),tools:["shell","json_patch","evaluation"],maxIterations:100}))}register(e){this.agents.set(e.type,e)}get(e){return this.agents.get(e)}getAll(){return Array.from(this.agents.values())}has(e){return this.agents.has(e)}getOrchestratorPrompt(){return`You are a web development AI assistant that helps users build static websites. + +Your responsibilities: +1. Understand user requests and implement them directly +2. Write clean, production-quality HTML, CSS, and JavaScript +3. Use shell commands to explore and read files +4. Use json_patch to edit files precisely +5. Evaluate your work before finishing + +Available tools: +- shell: Execute commands (ls, cat, grep, mkdir, etc.) +- json_patch: Edit files using structured operations +- evaluation: Required before finishing - assess whether the task is complete + +Guidelines: +- Read files before editing to understand current structure +- Use targeted reads (head -n 50, tail -n 50, rg -C 5) instead of cat +- Make precise edits with json_patch (ensure oldStr is unique) +- Follow existing code patterns and conventions +- Write semantic HTML and accessible markup +- Keep CSS organized and maintainable + +Evaluation requirement: +- Before finishing, you MUST call the evaluation tool +- Assess whether the user's request has been fully completed +- If work remains (should_continue: true), you will continue working +- If complete (should_continue: false), the task will finish + +You are working in a JAMstack environment (static HTML/CSS/JS only, no backend).`}}let a=new r;var n=i(68269),o=i(38991),l=i(96241);async function c(e,t,i,s){let r=[];if(!i)return{applied:!1,summary:"Missing file path",warnings:["File path is required"]};if(i.startsWith("/")||(i="/"+i),"string"==typeof s)return{applied:!1,summary:"Invalid operations format - received string instead of array",warnings:[`The operations parameter is a JSON string instead of an array. + +You sent: "operations": "[{...}]" (STRING - JSON serialized) +Correct: "operations": [{...}] (ARRAY - direct object) + +Do not stringify the operations array. Pass it directly as an array of objects. + +Correct format: +{ + "file_path": "/path/to/file", + "operations": [ + {"type": "update", "oldStr": "exact text", "newStr": "replacement"} + ] +} + +NOT this (wrong): +{ + "file_path": "/path/to/file", + "operations": "[{\\"type\\": \\"update\\", \\"oldStr\\": \\"exact text\\", \\"newStr\\": \\"replacement\\"}]" +}`]};if(!s||0===s.length)return{applied:!1,summary:"Missing operations parameter",warnings:[`json_patch requires an operations array with at least one operation. + +Required format: +{ + "file_path": "/path/to/file", + "operations": [ + { + "type": "update", + "oldStr": "exact text to find", + "newStr": "replacement text" + } + ] +} + +Operation types: +• update: Replace exact string (oldStr must be unique in file) +• rewrite: Replace entire file content +• replace_entity: Replace entire code entity (function, class, etc.) by its opening pattern + +Examples: +✅ Update text: {"file_path": "/index.html", "operations": [{"type": "update", "oldStr": "<title>Old", "newStr": "New"}]} +✅ Rewrite file: {"file_path": "/style.css", "operations": [{"type": "rewrite", "content": "body { margin: 0; }"}]} +✅ Replace function: {"file_path": "/app.js", "operations": [{"type": "replace_entity", "selector": "function myFunc()", "replacement": "function myFunc() { return true; }"}]} + +❌ Wrong - Missing operations: {"file_path": "/file.js"} +❌ Wrong - Empty operations: {"file_path": "/file.js", "operations": []}`]};let a=i.replace(/\/+/g,"/");try{let i="",n=!0;try{let s=await e.readFile(t,a);if("string"!=typeof s.content)return{applied:!1,summary:"Cannot patch binary file",warnings:[`File ${a} is binary and cannot be patched`]};i=s.content}catch(e){if(e.message?.includes("not found"))n=!1,i="",l.v.debug(`[StringPatch] File ${a} does not exist, will create it`);else throw e}let o=i,c=0;for(let e=0;e1){r.push(`Operation ${e+1}: oldStr appears ${a} times in file, must be unique. String: "${d(i,100)}"`);continue}o=o.replace(i,s??""),c++}else if("rewrite"===t.type)o=t.content??"",c++;else if("replace_entity"===t.type){let{selector:i,replacement:s,entity_type:a}=t;if(!i){r.push(`Operation ${e+1}: selector is required for replace_entity operations`);continue}if(void 0===s){r.push(`Operation ${e+1}: replacement is required for replace_entity operations`);continue}let n=function(e,t,i,s){try{let r=function(e,t){let i=[],s=new Set,r=e=>{e&&(s.has(e)||(s.add(e),i.push(e)))};for(let s of(r(t),r(t.replace(/^\s+/,"")),r(t.replace(/\s+$/,"")),r(t.replace(/^\s+/,"").replace(/\s+$/,"")),i)){if(!s)continue;let t=e.indexOf(s);if(-1!==t)return{index:t,normalizedSelector:s}}return null}(e,t);if(!r)return{success:!1,error:`Selector not found: "${d(t,100)}"`};let{index:a,normalizedSelector:n}=r,o=function(e,t,i,s){var r,a,n,o,l,c,d,u,h;switch(s||((r=i).startsWith("<")&&r.includes(">")?"html_element":r.includes("React.FC")||r.includes(": FC<")?"react_component":r.includes("function ")||r.includes(" = (")||r.includes(" => {")?"function":r.startsWith(".")||r.startsWith("#")?"css_rule":r.includes("interface ")||r.includes("type ")?r.includes("interface ")?"interface":"type":"bracket_matched")){case"html_element":return function(e,t,i){if(t<0||t>=e.length)return null;let s=i.match(/<(\w+)(?:\s|>)/);if(!s)return null;let r=s[1],a=Math.max(0,t);if(i.includes("/>"))return{start:a,end:e.indexOf("/>",t)+2};let n=0,o=t;for(;o]*)?>`)),i=e.substring(o).match(RegExp(``)),s=-1,l=-1;if(t){let i=e.substring(o).indexOf(t[0]);s=-1!==i?o+i:-1}if(i){let t=e.substring(o).indexOf(i[0]);l=-1!==t?o+t:-1}if(-1===l)break;if(-1!==s&&s0?s.join(", "):"none"} + +Valid operation types: "update", "rewrite", "replace_entity" + +Common mistakes: +• Malformed key name like "\\"type\\"" instead of "type" (check JSON escaping) +• Missing "type" field entirely +• Typo in type value (e.g., "rewite" instead of "rewrite") + +Correct formats: +{"type": "update", "oldStr": "exact text to find", "newStr": "replacement"} +{"type": "rewrite", "content": "complete new file content"} +{"type": "replace_entity", "selector": "opening pattern", "replacement": "new entity content"}`)}}catch(t){r.push(`Operation ${e+1}: ${t.message||String(t)}`)}}c>0&&(n?await e.updateFile(t,a,o):await e.createFile(t,a,o));let u=c>0?`Applied ${c}/${s.length} operations to ${a}`:`No operations applied to ${a}`;return{applied:c>0,summary:u,warnings:r.length>0?r:void 0}}catch(t){let e=t.message||String(t);return l.v.error(`[StringPatch] Failed to patch ${a}:`,e),{applied:!1,summary:`Failed to patch ${a}`,warnings:[`Error: ${e}`]}}}function d(e,t){return e.length<=t?e:t<=3?e.substring(0,Math.max(0,t)):e.substring(0,t-3)+"..."}function p(e,t){if(t<0||t>=e.length)return null;let i=e.indexOf("{",t);if(-1===i)return null;let s=Math.max(0,t),r=0,a=i;for(;a0){let e=0;for(let t=n-1;t>=0&&"\\"===a[t];t--)e++;e%2==0&&(a=a.slice(0,n))}try{a=JSON.parse(`"${a}"`)}catch{a=a.replace(/\\n/g,"\n").replace(/\\r/g,"\r").replace(/\\t/g," ").replace(/\\"/g,'"').replace(/\\\\/g,"\\")}if(a.length>0)return{success:!0,content:a,filePath:i,operationType:r}}}return"update"===r&&e.match(/"newStr"\s*:\s*"([\s\S]*?)(?:"|$)/)?{success:!1,filePath:i,operationType:r,error:"Update operations cannot be safely continued - oldStr matching would fail"}:"replace_entity"===r?{success:!1,filePath:i,operationType:r,error:"Replace entity operations cannot be safely continued - selector matching would fail"}:{success:!1,filePath:i,operationType:r,error:"Could not extract content from truncated JSON"}}function h(e){return Math.ceil(e.length/4)}function m(e){return e<1024?`${e} B`:e<1048576?`${(e/1024).toFixed(1)} KB`:`${(e/1048576).toFixed(1)} MB`}class f{constructor(){this.tools=new Map,this.registerBuiltInTools()}registerBuiltInTools(){this.register({id:"shell",definition:{name:"shell",description:`Execute shell commands to interact with the file system. + +Available commands: +- File reading: cat, head, tail, nl +- Directory listing: ls, tree +- Search: grep, rg (ripgrep), find +- File operations: mkdir, mv, cp, rm, rmdir, touch +- Other: echo + +IMPORTANT: Execute ONE command at a time. Pass the complete command as a single string. + +Brace Expansion Support: +The shell supports bash-style brace expansion - use {a,b,c} syntax to create multiple arguments. +- {"cmd": "mkdir templates/{layout,components,pages}"} → Creates 3 directories +- {"cmd": "touch src/{index,app,utils}.js"} → Creates 3 files + +Multiple Arguments: +- mkdir, touch, rm, cat support multiple paths +- {"cmd": "mkdir dir1 dir2 dir3"} → Creates 3 directories +- {"cmd": "touch file1.txt file2.txt file3.txt"} → Creates 3 files + +Examples: +- {"cmd": "ls -la /"} +- {"cmd": "cat /index.html /app.js /style.css"} ← Multiple files +- {"cmd": "mkdir -p templates/components/{post,comment,user}"} ← Brace expansion +- {"cmd": "touch file1.txt file2.txt"} ← Multiple files +- {"cmd": "grep -r pattern /"}`,parameters:{type:"object",properties:{cmd:{type:"string",description:"Single shell command to execute (complete command with all arguments as a string)"}},required:["cmd"]}},executor:{execute:async(e,t,i)=>{var s;if("string"!=typeof t.cmd)return'Error: cmd must be a string. Pass the complete command as a single string (e.g., "ls -la /")';let r=function(e){let t=[],i="",s=!1,r="",a=!1;for(let n=0;n0&&(t.push(i),i=""):i+=o}return i.length>0&&t.push(i),function(e){let t=[];for(let i of e){let e=i.match(/^(.+)\{([^}]+)\}(.*)$/);if(e){let[,i,s,r]=e;for(let e of s.split(",").map(e=>e.trim()))t.push(i+e+r)}else t.push(i)}return t}(t)}(t.cmd);if(i.isReadOnly&&(s=r)&&0!==s.length&&(["mkdir","rm","rmdir","mv","cp","touch"].includes(s[0])||("echo"===s[0]?s.some(e=>">"===e||">>"===e):s.some(e=>">"===e||">>"===e))))return`Error: Write operations are disabled in read-only mode. "${r[0]}" is not allowed.`;let a=await o._.execute(e,r);if(a.success)return a.stdout&&a.stdout.trim().length>0?a.stdout:"Command succeeded with no output";{let e=a.stderr&&a.stderr.trim().length>0?a.stderr:"Command failed";return`Error: ${e}`}}}}),this.register({id:"json_patch",definition:{name:"json_patch",description:`Edit files using structured patch operations. Supports three operation types: + +IMPORTANT: The 'operations' parameter must be a direct array, NOT a JSON string. +❌ Wrong: "operations": "[{...}]" +✅ Correct: "operations": [{...}] + +1. UPDATE - Replace exact string (must be unique in file): + {"type": "update", "oldStr": "exact text to find", "newStr": "replacement text"} + +2. REWRITE - Replace entire file content: + {"type": "rewrite", "content": "complete new file content"} + +3. REPLACE_ENTITY - Replace code entity (function, CSS rule, HTML element) by opening pattern: + {"type": "replace_entity", "selector": "opening pattern", "replacement": "new entity content"} + +Examples: +{ + "file_path": "/index.html", + "operations": [ + {"type": "update", "oldStr": "Old Title", "newStr": "New Title"} + ] +} + +{ + "file_path": "/style.css", + "operations": [ + {"type": "rewrite", "content": "body { margin: 0; padding: 0; }"} + ] +} + +{ + "file_path": "/app.js", + "operations": [ + {"type": "replace_entity", "selector": "function myFunc()", "replacement": "function myFunc() { return true; }"} + ] +}`,parameters:{type:"object",properties:{file_path:{type:"string",description:"Path to file to edit (must start with /)"},operations:{type:"array",description:"Array of patch operations",items:{oneOf:[{type:"object",properties:{type:{type:"string",enum:["update"],description:"Update operation type"},oldStr:{type:"string",description:"Exact text to find (must be unique)"},newStr:{type:"string",description:"Replacement text"}},required:["type","oldStr","newStr"]},{type:"object",properties:{type:{type:"string",enum:["rewrite"],description:"Rewrite operation type"},content:{type:"string",description:"Complete new file content"}},required:["type","content"]},{type:"object",properties:{type:{type:"string",enum:["replace_entity"],description:"Replace entity operation type"},selector:{type:"string",description:"Opening pattern to identify entity"},replacement:{type:"string",description:"New entity content"},entity_type:{type:"string",description:"Optional: html_element, function, css_rule, etc."}},required:["type","selector","replacement"]}]}}},required:["file_path","operations"]}},executor:{execute:async(e,t,i)=>{if(i.isReadOnly)return"Error: File editing is disabled in read-only mode.";if("string"==typeof t.operations)try{t.operations=JSON.parse(t.operations)}catch(t){let e=t instanceof Error?t.message:String(t);return`Error: operations parameter appears to be a stringified JSON array, but parsing failed. + +This usually means the JSON is malformed or truncated. Common causes: +1. Content string not properly escaped or too long +2. JSON syntax error in the operations array +3. Unclosed quotes or brackets + +Parse error: ${e} + +For large file rewrites, ensure: +- Content is properly escaped (use raw strings or escape quotes) +- JSON is complete and valid +- Consider breaking very large content into smaller operations + +❌ Wrong: "operations": "[{...}]" (stringified) +✅ Correct: "operations": [{...}] (direct array)`}Array.isArray(t.operations)&&(t.operations=t.operations.map(e=>{if("string"==typeof e&&/^\s*[{\[]/.test(e))try{return JSON.parse(e)}catch{}return e}));let s=new n.r8;await s.init();let r=await c(s,e,t.file_path,t.operations),a=r.summary;return(r.warnings&&r.warnings.length>0&&(a+="\n\nWarnings:\n"+r.warnings.map(e=>`• ${e}`).join("\n")),r.applied)?a:`Error: ${a}`}}}),this.register({id:"evaluation",definition:{name:"evaluation",description:"Assess whether the task has been completed successfully. Required before finishing work.",parameters:{type:"object",properties:{goal_achieved:{type:"boolean",description:"Whether the original task/goal has been fully achieved"},progress_summary:{type:"string",description:"Brief summary of work completed so far"},remaining_work:{type:"array",items:{type:"string"},description:"List of specific tasks still needed. Empty array if goal_achieved is true."},blockers:{type:"array",items:{type:"string"},description:"Current blockers preventing progress. Empty array if no blockers."},reasoning:{type:"string",description:"Detailed explanation of current status and next steps"},should_continue:{type:"boolean",description:"Whether to continue working (false if complete or permanently blocked)"}},required:["goal_achieved","progress_summary","remaining_work","reasoning","should_continue"]}},executor:{execute:async(e,t,i)=>[`Goal achieved: ${t.goal_achieved?"Yes":"No"}`,`Progress: ${t.progress_summary}`,t.remaining_work.length>0?`Remaining: ${t.remaining_work.join(", ")}`:"",t.blockers&&t.blockers.length>0?`Blockers: ${t.blockers.join(", ")}`:"",`Should continue: ${t.should_continue?"Yes":"No"}`].filter(Boolean).join("\n")}})}register(e){this.tools.set(e.id,e)}get(e){return this.tools.get(e)}getDefinition(e){return this.tools.get(e)?.definition}getExecutor(e){return this.tools.get(e)?.executor}getDefinitions(e){return e.map(e=>this.getDefinition(e)).filter(e=>void 0!==e)}async execute(e,t,i){let s=e.function?.name,r=this.get(s);if(!r)return`Error: Unknown tool "${s}"`;try{let s=JSON.parse(e.function.arguments);return await r.executor.execute(t,s,i)}catch(n){let a=n instanceof Error?n.message:String(n);if(function(e){if(!(e instanceof Error))return!1;let t=e.message.toLowerCase();return t.includes("unterminated string")||t.includes("unexpected end of json")||t.includes("unexpected end of input")||t.includes("unexpected token")}(n)){l.v.warn(`[ToolRegistry] JSON truncation detected for ${s}, attempting repair...`);let n=function(e){let t=e.length;for(let i of[e=>e+'"}]}',e=>e+'"}]}}',e=>e+'"]}}',e=>e+'"}',e=>e+'"}}',e=>e+'"]',e=>e+"]}",e=>e+"}}",e=>e+"]",e=>e+"}",e=>e+"]}}",e=>e+"}}"])try{let s=i(e),r=JSON.parse(s);return{success:!0,repaired:r,originalLength:t,repairedLength:s.length}}catch{continue}return{success:!1,originalLength:t,error:"Could not repair JSON - all strategies failed"}}(e.function.arguments);if(!n.success)return l.v.error(`[ToolRegistry] JSON repair failed for ${s}:`,n.error),`Error: ${a} + +JSON repair attempt failed. The tool call was likely truncated due to max_tokens limit. + +💡 Solution: Split into smaller operations +• Each operation should be <2KB (~500 tokens) +• Use multiple sequential tool calls +• For large files, break into logical sections`;if("json_patch"===s){let e=n.repaired?.operations;if(Array.isArray(e)&&e.length>0){let a=Array.isArray(e)&&0!==e.length?e.some(e=>{let t=e?.type;return"update"===t||"replace_entity"===t})?"unsafe":e.every(e=>"rewrite"===e?.type)?"safe":"unknown":"unknown";if("safe"===a){l.v.info(`[ToolRegistry] Auto-executing repaired ${s} (safe operations)`);try{let s=await r.executor.execute(t,n.repaired,i);return function(e,t,i,s){let r=h(String(s)),a=m(s),n=i[0]?.type||"unknown";return`${e} + +⚠️ NOTE: Tool call was truncated due to max_tokens limit and auto-repaired. +The operation executed successfully, but the content may be incomplete. + +📊 Size: ~${a} (≈${r} tokens) +📁 File: ${t} +🔧 Operation: ${n} + +📝 Next steps: +1. Verify if the file content is complete +2. If incomplete, continue with additional json_patch operations +3. Use multiple smaller operations (aim for <2KB / ~500 tokens each) + +Example continuation for ${t}: +{"file_path": "${t}", "operations": [{"type": "rewrite", "content": "...remaining content..."}]} + +💡 Tip: Split large files into sections to avoid hitting token limits.`}(s,n.repaired.file_path||"unknown",e,n.originalLength)}catch(t){let e=t instanceof Error?t.message:String(t);return l.v.error(`[ToolRegistry] Repaired ${s} execution failed:`,e),`Error: Repaired JSON execution failed: ${e}`}}if("unsafe"===a)return l.v.warn(`[ToolRegistry] Repaired ${s} contains unsafe operations, not executing`),function(e,t){let i=h(String(t)),s=m(t),r=e.filter(e=>e?.type==="update"||e?.type==="replace_entity").map(e=>e.type);return`Error: Tool call JSON was truncated and contains unsafe operation types. + +📊 Attempted size: ~${s} (≈${i} tokens) +🚫 Unsafe operations detected: ${[...new Set(r)].join(", ")} + +Why this failed: +• 'update' operations require exact, complete oldStr/newStr - partial content = wrong match +• 'replace_entity' operations need complete selectors - partial patterns = wrong entity match +• Auto-repair would corrupt your file with incomplete/incorrect changes + +💡 Solution: Split into smaller json_patch operations +1. Each operation should be <2KB (≈500 tokens) +2. Use multiple sequential tool calls for large changes +3. For rewrites, split content into logical sections + +Example - Instead of one large operation: +❌ {"operations": [{"type": "update", "oldStr": "...4KB...", "newStr": "...4KB..."}]} + +✅ Use multiple smaller operations: +{"operations": [{"type": "update", "oldStr": "...section1...", "newStr": "...new1..."}]} +{"operations": [{"type": "update", "oldStr": "...section2...", "newStr": "...new2..."}]} + +Or use rewrite for complete file replacement (can be continued if truncated).`}(e,n.originalLength)}}return l.v.warn(`[ToolRegistry] Repaired ${s} but safety unknown, not executing`),`Error: ${a} + +Note: JSON repair succeeded but operation type is unclear. Please split into smaller operations.`}return l.v.error(`Tool execution error (${s}):`,a),`Error: ${a}`}}has(e){return this.tools.has(e)}getAll(){return Array.from(this.tools.values())}}let g=new f;var y=i(94742),b=i(32623),v=i(4950),x=i(10158),w=i(86884),k=i(52581),S=i(24573),C=i(34429);async function T(e,t){let i,s,{provider:r,suppressAssistantDelta:a=!1,onProgress:n}=t,o=e.body?.getReader();if(!o)throw Error("No response stream");let c=new TextDecoder,d="",p="",u={},h=null,m="",f=!1,g=[],y={},b={};try{for(;;){let{done:e,value:v}=await o.read();if(e)break;let x=(d+=c.decode(v,{stream:!0})).split("\n");for(let e of(d=x.pop()||"",x))if(!e.startsWith(":")&&e.startsWith("data: ")){let o=e.slice(6);if("[DONE]"===o){h&&m&&h.function&&h.id&&(h.function.arguments=m,u[h.id]=h);break}try{let e=JSON.parse(o);if("anthropic"===r){if("message_delta"===e.type&&e.delta?.stop_reason&&(s=e.delta.stop_reason,"max_tokens"===e.delta.stop_reason&&(f=!0,l.v.warn("[StreamParser] Response truncated due to max_tokens limit (Anthropic)"))),"content_block_delta"===e.type&&e.delta?.text_delta?.text){let t=e.delta.text_delta.text;p+=t,a||n?.("assistant_delta",{text:t,snapshot:p})}else if("content_block_start"===e.type&&e.content_block?.type==="tool_use"){let t={id:e.content_block.id,type:"function",function:{name:e.content_block.name,arguments:""}};u[e.content_block.id]=t,y[e.content_block.id]="",b[e.index]=e.content_block.id,a||n?.("toolCalls",{toolCalls:[t]})}else if("content_block_delta"===e.type&&e.delta?.type==="input_json_delta"){let t=b[e.index];t&&e.delta.partial_json&&(y[t]+=e.delta.partial_json,!a&&u[t]&&(u[t].function.arguments=y[t],n?.("tool_param_delta",{toolId:t,partialArguments:y[t]})))}else if("content_block_stop"===e.type){let t=b[e.index];if(t&&y[t])try{let e=y[t];JSON.parse(e),u[t].function.arguments=e}catch(e){l.v.error("Invalid JSON for tool parameters:",y[t],e),u[t].function.arguments="{}"}}}else{let t=e.choices?.[0]?.delta,i=e.choices?.[0]?.finish_reason;if(i&&(s=i,"length"===i&&(f=!0,l.v.warn("[StreamParser] Response truncated due to max_tokens limit"))),("stop"===i||"tool_calls"===i||"length"===i)&&h&&m&&h.function&&h.id&&(h.function.arguments=m,u[h.id]=h,h=null,m=""),t?.reasoning&&!t?.content&&!t?.tool_calls){let e=String(t.reasoning);p+=e,a||n?.("assistant_delta",{text:e,snapshot:p})}if(t?.content){let e=String(t.content);p+=e,a||n?.("assistant_delta",{text:e,snapshot:p})}if(t?.reasoning_details&&Array.isArray(t.reasoning_details))for(let e of t.reasoning_details){let t=g.findIndex(t=>t.id&&t.id===e.id);t>=0?(e.text&&(g[t].text=(g[t].text||"")+e.text),e.signature&&(g[t].signature=e.signature)):g.push(e)}if(t?.tool_calls)for(let e of t.tool_calls){if(void 0!==e.index){let t=`idx_${e.index}`,i=!u[t];if(i&&(u[t]={id:e.id||`tool_${e.index}`,type:"function",function:{name:"",arguments:""}}),e.function?.name&&(u[t].function.name=e.function.name,i&&!a&&n?.("toolCalls",{toolCalls:[u[t]]})),e.function?.arguments){let i=e.function.arguments;u[t].function.arguments+=i,a||n?.("tool_param_delta",{toolId:u[t].id,partialArguments:u[t].function.arguments})}}else if(e.id)h&&m&&h.function&&h.id&&(h.function.arguments=m,u[h.id]=h),h={id:e.id,type:"function",function:{name:e.function?.name||"",arguments:""}},m=e.function?.arguments||"",!a&&h.function?.name&&n?.("toolCalls",{toolCalls:[h]});else if(e.function?.arguments){let t=e.function.arguments;m+=t,!a&&h&&n?.("tool_param_delta",{toolId:h.id,partialArguments:m})}e.function?.name&&h&&h.function&&(h.function.name=e.function.name)}}e.usage&&(i={promptTokens:e.usage.prompt_tokens||0,completionTokens:e.usage.completion_tokens||0,totalTokens:e.usage.total_tokens||0,cachedTokens:e.usage.cached_tokens,model:t.model,provider:r}),e.x_groq?.usage&&(i={promptTokens:e.x_groq.usage.prompt_tokens||0,completionTokens:e.x_groq.usage.completion_tokens||0,totalTokens:e.x_groq.usage.total_tokens||0,model:t.model,provider:r})}catch(e){o&&o.length>10&&!o.includes("[DONE]")&&l.v.warn("[StreamParser] Parse error:",e,"Data:",o.substring(0,200))}}}}catch(e){l.v.error("Error reading stream:",e),Object.keys(u).length>0&&h&&m&&h.function&&h.id&&(h.function.arguments=m,u[h.id]=h)}return{content:p,toolCalls:Object.values(u),usage:i,wasTruncated:f,finishReason:s,reasoningDetails:g.length>0?g:void 0}}var A=i(57462);let j=e=>new Promise(t=>setTimeout(t,e));class E{constructor(e){this.maxContinuationAttempts=3,this.contentBuffer=new Map,this.activeContinuations=new Map,this.onProgress=e}detectNeedsContinuation(e,t,i){if(!t&&!i||"json_patch"!==e.function.name)return{needsContinuation:!1};let s=u(e.function.arguments);return s.success&&"rewrite"===s.operationType?{needsContinuation:!0,extraction:s}:{needsContinuation:!1,extraction:s}}bufferContent(e,t,i){let s=this.activeContinuations.get(e);if(s){let r=this.contentBuffer.get(e)||"";this.contentBuffer.set(e,r+t),s.attemptCount++,s.toolCallId=i,this.onProgress?.("chunk_progress",{type:"chunk_complete",filePath:e,message:`Chunk ${s.attemptCount} buffered, continuing...`,chunkNumber:s.attemptCount})}else s={toolCallId:i,toolName:"json_patch",filePath:e,operationType:"rewrite",partialContent:t,attemptCount:1,startedAt:Date.now()},this.activeContinuations.set(e,s),this.contentBuffer.set(e,t),this.onProgress?.("chunk_progress",{type:"large_file_detected",filePath:e,message:"Large file detected, writing in chunks...",chunkNumber:1});return s}hasExceededMaxAttempts(e){let t=this.activeContinuations.get(e);return!!t&&t.attemptCount>=this.maxContinuationAttempts}generateContinuationPrompt(e){let t=this.activeContinuations.get(e),i=this.contentBuffer.get(e)||"";if(!t)return"";let s=function(e,t=100){if(e.length<=t)return e;let i=e.slice(-t),s=i.indexOf("\n");return s>0?i.slice(s+1):i}(i,200);return`The previous file operation for "${e}" was truncated due to max_tokens limit. + +**Current buffered content ends with:** +\`\`\` +...${s} +\`\`\` + +**IMPORTANT:** Continue writing the file content from EXACTLY where it left off. +- Do NOT repeat any content that was already written +- Do NOT add any extra spacing or newlines at the start +- Start your content directly after: "${s.slice(-50)}" + +Use this json_patch to continue: +{ + "file_path": "${e}", + "operations": [{"type": "rewrite", "content": "...remaining content starting from where you left off..."}] +} + +Note: Your response will be automatically appended to the buffered content. Only write the NEW content.`}finalizeFile(e){let t=this.activeContinuations.get(e),i=this.contentBuffer.get(e);if(!t||!i)return null;let s=t.attemptCount;return this.activeContinuations.delete(e),this.contentBuffer.delete(e),this.onProgress?.("chunk_progress",{type:"file_complete",filePath:e,message:"File assembled successfully",totalChunks:s}),{content:i,totalChunks:s}}abortContinuation(e){this.activeContinuations.delete(e),this.contentBuffer.delete(e),this.onProgress?.("chunk_progress",{type:"file_aborted",filePath:e,message:"File operation aborted due to max continuation attempts"})}hasContinuation(e){return this.activeContinuations.has(e)}getBufferedContent(e){return this.contentBuffer.get(e)}isContinuationCall(e){let t=this.activeContinuations.get(e);return!!t&&t.attemptCount>1}}class I{constructor(e,t="orchestrator",i,s){this.conversations=new Map,this.totalCost=0,this.totalUsage={promptTokens:0,completionTokens:0,totalTokens:0,cost:0},this.stopped=!1,this.pricingEnsured=new Set,this.lastCheckpointId=null,this.lastToolCallSignature=null,this.duplicateToolCallCount=0,this.evaluationRequested=!1,this.lastEvaluationResult=null,this.projectId=e,this.onProgress=i,this.chatMode=s?.chatMode??!1,this.model=s?.model,this.continuationHandler=new E(i);let r=a.get(t);if(!r)throw Error(`Agent type "${t}" not found`);this.rootAgent=r,this.currentConversationId=this.createConversation(t)}stop(){this.stopped=!0,l.v.info("[MultiAgentOrchestrator] Execution stopped by user")}importConversation(e){let t=this.conversations.get(this.currentConversationId);if(!t)throw Error("Cannot import conversation: root conversation not found");t.messages=e,l.v.info(`[MultiAgentOrchestrator] Imported ${e.length} conversation messages`)}addMessage(e,t){let i=this.conversations.get(e);if(!i)throw Error(`Conversation ${e} not found`);i.messages.push(t),e===this.currentConversationId&&this.onProgress?.("conversation_message",{message:t})}async execute(e){l.v.info("[MultiAgentOrchestrator] Starting execution",{agent:this.rootAgent.type}),this.lastToolCallSignature=null,this.duplicateToolCallCount=0;try{let t;try{let e=await n.vfs.listDirectory(this.projectId,"/");e.length>0&&(t=function(e){if(0===e.length)return"";let t=new Map;for(let i of e){let e=i.path.split("/").filter(Boolean);for(let i=0;i{if(0===e)return"0B";let t=Math.floor(Math.log(e)/Math.log(1024)),i=e/Math.pow(1024,t);return(0===t?i.toString():i.toFixed(1))+["B","KB","MB"][t]},s=(e,r="",a=!0)=>{let n=t.get(e);if(!n)return[];let o=[],l="/"===e?"":e.split("/").pop()||"";if("/"!==e){let e=n.isDirectory?l+"/":l,t=n.isDirectory?"":` (${i(n.size||0)})`;o.push(r+(a?"└── ":"├── ")+e+t)}let c=Array.from(n.children).sort((e,i)=>{let s=t.get(e),r=t.get(i);return s?.isDirectory!==r?.isDirectory?s?.isDirectory?-1:1:e.localeCompare(i)});return c.forEach((t,i)=>{let n=i===c.length-1,l="/"===e?"":r+(a?" ":"│ ");o.push(...s(t,l,n))}),o},r=s("/");return r.length>0?"Project Structure:\n"+r.join("\n"):""}(e))}catch{}let i=await (0,A.m)(t,this.chatMode);return this.addMessage(this.currentConversationId,{role:"system",content:i}),this.addMessage(this.currentConversationId,{role:"user",content:e}),await this.runAgentLoop(this.currentConversationId,this.rootAgent),await this.recordAutoCheckpoint(`After: ${e.substring(0,60)}`),{success:!0,summary:this.generateSummary(),conversation:Array.from(this.conversations.values()),totalCost:this.totalCost,totalUsage:this.totalUsage}}catch(i){let t=i instanceof Error?i.message:"Unknown error";return l.v.error("[MultiAgentOrchestrator] Execution error:",t),this.onProgress?.("error",{message:t,type:"execution_error",stack:i instanceof Error?i.stack:void 0}),await this.recordAutoCheckpoint(`After failure: ${e.substring(0,60)}`),{success:!1,summary:`Error: ${t}`,conversation:Array.from(this.conversations.values()),totalCost:this.totalCost,totalUsage:this.totalUsage}}}async runAgentLoop(e,t){let i=this.conversations.get(e);if(!i)throw Error(`Conversation ${e} not found`);let s=t.maxIterations;for(let r=0;r`${e}: ${JSON.stringify(t[e]).substring(0,50)}`).join(", "),Object.keys(t).length>3&&(e+="...")}catch{e=c.function.arguments.substring(0,100)}let i=`❌ Loop detected: Duplicate tool call detected. + +Tool: ${d} +Parameters: ${e} + +The previous call returned a result, but you're calling it again with identical parameters. + +💡 Next steps: +• Review the previous tool result - did it contain what you needed? +• If the result was incomplete or unexpected, try a different approach +• If you need additional data, modify your parameters or use a different tool +• Do NOT retry the exact same call + +Please revise your approach.`;if(a.push({role:"tool",tool_call_id:c.id,content:i}),this.onProgress?.("tool_status",{toolIndex:t,status:"failed",error:`Loop detected - duplicate tool call #${this.duplicateToolCallCount}`}),this.duplicateToolCallCount>=3)throw Error(`Execution terminated: Too many consecutive duplicate tool calls (${this.duplicateToolCallCount}). The model appears stuck in a loop.`);continue}this.duplicateToolCallCount=0,this.lastToolCallSignature=h,this.onProgress?.("tool_status",{toolIndex:t,status:"executing"});let m={agentType:i.type,isReadOnly:this.chatMode||i.isReadOnly,onProgress:this.onProgress};try{let e;if("json_patch"===d)try{e=JSON.parse(c.function.arguments).file_path}catch{e=u(c.function.arguments).filePath}if(e&&this.continuationHandler.hasContinuation(e))if(s){let i=u(c.function.arguments);if(i.success&&i.content){if(this.continuationHandler.hasExceededMaxAttempts(e)){this.continuationHandler.abortContinuation(e),a.push({role:"tool",tool_call_id:c.id,content:`Error: File operation for "${e}" failed after max continuation attempts.`}),this.onProgress?.("tool_status",{toolIndex:t,status:"failed",error:`Max continuation attempts exceeded for ${e}`});continue}this.continuationHandler.bufferContent(e,i.content,c.id),o=!0,r=e,a.push({role:"tool",tool_call_id:c.id,content:`Continuation chunk buffered for "${e}". More content needed...`}),this.onProgress?.("tool_status",{toolIndex:t,status:"continuing",message:`Additional chunk buffered for ${e}`});break}}else try{let i=JSON.parse(c.function.arguments);if(i.operations?.[0]?.type==="rewrite"&&i.operations[0].content){let s=(this.continuationHandler.getBufferedContent(e)||"")+i.operations[0].content,r=this.continuationHandler.finalizeFile(e),o=!1;try{await n.vfs.readFile(this.projectId,e),o=!0}catch{o=!1}o?await n.vfs.updateFile(this.projectId,e,s):await n.vfs.createFile(this.projectId,e,s),a.push({role:"tool",tool_call_id:c.id,content:`File "${e}" written successfully (assembled from ${r?.totalChunks||1} chunks)`}),this.onProgress?.("tool_status",{toolIndex:t,status:"completed",result:`File assembled from ${r?.totalChunks||1} chunks`});continue}}catch{}let i=await g.execute(c,this.projectId,m);if("evaluation"===d)try{let e=JSON.parse(c.function.arguments);this.lastEvaluationResult={should_continue:!1!==e.should_continue},l.v.info(`[MultiAgentOrchestrator] Captured evaluation result: should_continue=${this.lastEvaluationResult.should_continue}`)}catch(e){l.v.error("[MultiAgentOrchestrator] Failed to parse evaluation arguments:",e)}let p=i.startsWith("Error:");a.push({role:"tool",tool_call_id:c.id,content:i}),this.onProgress?.("tool_status",{toolIndex:t,status:p?"failed":"completed",result:i,...p&&{error:i}}),this.onProgress?.("tool_result",{toolIndex:t,result:i})}catch(i){let e=i instanceof Error?i.message:String(i);if(s&&"json_patch"===c.function.name){let{needsContinuation:s,extraction:n}=this.continuationHandler.detectNeedsContinuation(c,!0,i instanceof Error?i:Error(e));if(s&&n?.success&&n.content&&n.filePath){if(this.continuationHandler.hasExceededMaxAttempts(n.filePath))this.continuationHandler.abortContinuation(n.filePath),a.push({role:"tool",tool_call_id:c.id,content:`Error: File operation for "${n.filePath}" failed after max continuation attempts. ${e}`}),this.onProgress?.("tool_status",{toolIndex:t,status:"failed",error:`Max continuation attempts exceeded for ${n.filePath}`});else{this.continuationHandler.bufferContent(n.filePath,n.content,c.id),o=!0,r=n.filePath,a.push({role:"tool",tool_call_id:c.id,content:`Partial content buffered for "${n.filePath}". Continuation in progress...`}),this.onProgress?.("tool_status",{toolIndex:t,status:"continuing",message:`Buffering content for ${n.filePath}, requesting continuation...`});break}continue}if(n?.filePath){let e=n.filePath;a.push({role:"tool",tool_call_id:c.id,content:`Error: Tool call for "${e}" was truncated before content could be captured (max_tokens limit hit). + +⚠️ IMPORTANT: Your response was cut off at the token limit. The json_patch tool call was incomplete. + +To fix this, please: +1. Use ONLY ONE tool call per response (don't batch multiple file operations) +2. For large files like CSS, split into multiple smaller operations: + - First: Create file with basic structure + - Then: Add sections incrementally with UPDATE operations +3. Keep each operation under 2000 characters + +Example approach for ${e}: +\`\`\` +// Step 1: Create skeleton +json_patch: { "file_path": "${e}", "operations": [{"type": "rewrite", "content": "/* Base styles */\\n\\n/* Layout */\\n\\n/* Components */\\n\\n/* Utilities */"}]} + +// Step 2: Fill in sections with UPDATE operations +\`\`\``}),this.onProgress?.("tool_status",{toolIndex:t,status:"failed",error:`Tool call truncated for ${e} - retry with smaller operations`});continue}}a.push({role:"tool",tool_call_id:c.id,content:`Error: ${e}`}),this.onProgress?.("tool_status",{toolIndex:t,status:"failed",error:e})}}return{results:a,continuationNeeded:o,continuationFilePath:r}}async streamLLMResponse(e,t){let{provider:i,apiKey:s,model:r}=this.getProviderConfig();await this.ensurePricing(i,r);let a=g.getDefinitions(t.tools),n={messages:e.map(e=>{let{ui_metadata:t,...i}=e;return i}),apiKey:s,model:r,provider:i,tools:a,max_tokens:16384,...a&&a.length>0&&{tool_choice:"auto"}},o=await this.fetchWithRetry("/api/generate",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)},3,this.handleRetry.bind(this));if(!o.ok){let e=`API call failed: ${o.statusText}`;try{let t=await o.json();t.error&&(e=t.error)}catch{}throw Error(e)}return this.parseStreamingResponseWithTracking(o,i,r)}createConversation(e,t){let i=`conv_${Date.now()}_${Math.random().toString(36).substr(2,9)}`,s={id:i,agent_type:e,messages:[],metadata:{started_at:Date.now(),cost:0,status:"running"}};return this.conversations.set(i,s),i}async recordAutoCheckpoint(e){let t=await y.Y.createCheckpoint(this.projectId,e,{kind:"auto",baseRevisionId:b.$.getSavedCheckpointId(this.projectId)});return this.lastCheckpointId=t.id,this.onProgress?.("checkpoint_created",{checkpointId:t.id,description:e,timestamp:t.timestamp}),t}getProviderConfig(){let e=v.s.getSelectedProvider(),t=(0,x.sO)(e),i=v.s.getProviderApiKey(e),s=this.model||v.s.getProviderModel(e)||void 0;if(t.apiKeyRequired&&!i)throw Error(`API key not configured for provider: ${e}`);return{provider:e,providerConfig:t,apiKey:i||"",model:s||"default-model"}}handleRetry(e,t){let i=`Rate limited. Retry attempt ${e} in ${t/1e3}s...`;l.v.warn(i),this.onProgress?.("retry",{attempt:e,delay:t,reason:"Rate limited",message:i}),k.oR.info(i,{duration:t>2e3?t-500:2e3,description:"Waiting for rate limit to reset"})}async ensurePricing(e,t){let i=`${e}:${t}`;if(this.pricingEnsured.has(i))return;if("openrouter"!==e||v.s.getModelPricing("openrouter",t))return void this.pricingEnsured.add(i);let s=v.s.getCachedModels("openrouter");if(s?.models?.length&&((0,S.V)("openrouter",s.models),v.s.getModelPricing("openrouter",t)))return void this.pricingEnsured.add(i);try{let e=await (0,C.QF)();(0,S.b)(e),v.s.getModelPricing("openrouter",t)&&this.pricingEnsured.add(i)}catch(e){l.v.warn("[MultiAgentOrchestrator] Failed to fetch pricing metadata",e)}}async fetchWithRetry(e,t,i=3,s){for(let r=0;r<=i;r++){let a=await fetch(e,t);if(429!==a.status||r===i)return a;let n=a.headers.get("Retry-After"),o=n?1e3*parseInt(n):1e3*Math.pow(2,r);s?.(r+1,o),await j(o)}throw Error("Unexpected end of retry loop")}async parseStreamingResponseWithTracking(e,t,i){let s=await T(e,{provider:t,model:i,projectId:this.projectId,onProgress:this.onProgress,onCostUpdate:(e,i)=>{this.totalCost+=e,this.totalUsage.promptTokens+=i.promptTokens,this.totalUsage.completionTokens+=i.completionTokens,this.totalUsage.totalTokens+=i.totalTokens,v.s.updateSessionCost(i,e);let s=v.s.getCurrentSession()?.sessionId;this.projectId.startsWith("test-")||n.vfs.updateProjectCost(this.projectId,{cost:e,provider:i.provider||t||"unknown",tokenUsage:{input:i.promptTokens,output:i.completionTokens},sessionId:s,mode:"absolute"}).catch(e=>l.v.error("Failed to update project cost:",e)),this.onProgress?.("usage",{usage:i,totalCost:this.totalCost})}});if(s.usage){let e=s.usage;e.provider||(e.provider=t),e.model||(e.model=i);let r=w.U.calculateCost(e,t,i,!0);e.cost=r,this.totalUsage.promptTokens+=e.promptTokens,this.totalUsage.completionTokens+=e.completionTokens,this.totalUsage.totalTokens+=e.totalTokens,this.totalCost+=r,v.s.updateSessionCost(e,r);let a=v.s.getCurrentSession()?.sessionId;this.projectId.startsWith("test-")||n.vfs.updateProjectCost(this.projectId,{cost:r,provider:e.provider||t||"unknown",tokenUsage:{input:e.promptTokens,output:e.completionTokens},sessionId:a,mode:"absolute"}).catch(e=>l.v.error("Failed to update project cost:",e)),this.onProgress?.("usage",{usage:e,totalCost:this.totalCost})}return s}getToolCallSignature(e){let t=e.function?.name||"unknown";try{let i=JSON.parse(e.function.arguments);if("shell"===t){let e=Array.isArray(i.cmd)?i.cmd.join(" "):String(i.cmd||"");return`shell:${e}`}if("json_patch"===t){let e=i.file_path||"",t=this.hashString(JSON.stringify(i.operations||null));return`json_patch:${e}:${t}`}let s=this.stableStringify(i);return`${t}:${s}`}catch{return`${t}:${e.function.arguments}`}}hashString(e){let t=0;for(let i=0;it&&"object"==typeof t&&!Array.isArray(t)?Object.keys(t).sort().reduce((e,i)=>(e[i]=t[i],e),{}):t)}generateSummary(){return"Task completed"}}},32623:(e,t,i)=>{i.d(t,{$:()=>o});var s=i(94742),r=i(68269),a=i(96241);class n{subscribe(e){return this.listeners.add(e),()=>this.listeners.delete(e)}emit(e){let t={projectId:e,dirty:this.isDirty(e)};for(let e of this.listeners)try{e(t)}catch(e){a.v.error("[SaveManager] Listener error",e)}}setDirty(e,t){let i=this.dirtyProjects.has(e);t&&!i?(this.dirtyProjects.add(e),this.emit(e)):!t&&i&&(this.dirtyProjects.delete(e),this.emit(e))}markDirty(e){this.isSuppressed(e)||this.setDirty(e,!0)}markClean(e){this.setDirty(e,!1)}isDirty(e){return this.dirtyProjects.has(e)}beginSuppression(e){let t=this.suppressionCounts.get(e)??0;this.suppressionCounts.set(e,t+1)}endSuppression(e){let t=this.suppressionCounts.get(e)??0;if(t<=1)return void this.suppressionCounts.delete(e);this.suppressionCounts.set(e,t-1)}async runWithSuppressedDirty(e,t){this.beginSuppression(e);try{return await t()}finally{this.endSuppression(e)}}isSuppressed(e){return(this.suppressionCounts.get(e)??0)>0}async save(e,t){await r.vfs.init();let i=await r.vfs.getProject(e),a=`Manual save @ ${new Date().toLocaleTimeString()}`,n=await s.Y.createCheckpoint(e,t||a,{kind:"manual",baseRevisionId:i.lastSavedCheckpointId??null,replaceId:i.lastSavedCheckpointId??null});return i.lastSavedCheckpointId=n.id,i.lastSavedAt=new Date(n.timestamp),await r.vfs.updateProject(i),r.vfs.triggerAutoSync?.(e),this.manualCheckpoints.set(e,n.id),this.markClean(e),n}async restoreLastSaved(e){await r.vfs.init();let t=(await r.vfs.getProject(e)).lastSavedCheckpointId;if(!t)return a.v.warn("[SaveManager] No saved checkpoint to restore",{projectId:e}),!1;let i=await this.runWithSuppressedDirty(e,async()=>{if(!await s.Y.checkpointExists(t))return a.v.warn("[SaveManager] Saved checkpoint missing",{projectId:e,checkpointId:t}),!1;let i=await s.Y.restoreCheckpoint(t);return i||a.v.error("[SaveManager] Failed to restore saved checkpoint",{projectId:e,checkpointId:t}),i});return i&&this.markClean(e),i}getSavedCheckpointId(e){return this.manualCheckpoints.get(e)??null}async syncProjectSaveState(e){await r.vfs.init();let t=await r.vfs.getProject(e);t.lastSavedCheckpointId?this.manualCheckpoints.set(e,t.lastSavedCheckpointId):this.manualCheckpoints.delete(e)}constructor(){this.dirtyProjects=new Set,this.listeners=new Set,this.suppressionCounts=new Map,this.manualCheckpoints=new Map}}let o=new n},33135:(e,t,i)=>{i.d(t,{AM:()=>n,Wv:()=>o,hl:()=>l});var s=i(60687);i(43210);var r=i(40599),a=i(96241);function n({...e}){return(0,s.jsx)(r.bL,{"data-slot":"popover",...e})}function o({...e}){return(0,s.jsx)(r.l9,{"data-slot":"popover-trigger",...e})}function l({className:e,align:t="center",sideOffset:i=4,...n}){return(0,s.jsx)(r.ZL,{children:(0,s.jsx)(r.UC,{"data-slot":"popover-content",align:t,sideOffset:i,className:(0,a.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden",e),...n})})}},34429:(e,t,i)=>{i.d(t,{QF:()=>r,WK:()=>a});var s=i(96241);async function r(){try{let e=await fetch("https://openrouter.ai/api/v1/models");if(!e.ok)throw Error(`Failed to fetch models: ${e.statusText}`);return(await e.json()).data.filter(e=>e.architecture.output_modalities.includes("text")&&e.supported_parameters.includes("tools")).sort((e,t)=>{let i=["gpt-4","claude","deepseek","qwen"],s=i.some(t=>e.id.toLowerCase().includes(t)),r=i.some(e=>t.id.toLowerCase().includes(e));return s&&!r?-1:!s&&r?1:t.created-e.created})}catch(e){return s.v.error("Error fetching models:",e),[{id:"deepseek/deepseek-chat",canonical_slug:"deepseek-chat",name:"DeepSeek Chat",created:Date.now(),description:"DeepSeek Chat - Fast and capable model for general tasks",context_length:64e3,architecture:{input_modalities:["text"],output_modalities:["text"],tokenizer:"cl100k_base",instruct_type:"deepseek"},pricing:{prompt:"0.00014",completion:"0.00028",request:"0",image:"0",web_search:"0",internal_reasoning:"0",input_cache_read:"0",input_cache_write:"0"},top_provider:{context_length:64e3,max_completion_tokens:8192,is_moderated:!1},per_request_limits:null,supported_parameters:["tools","tool_choice","temperature","max_tokens"]},{id:"qwen/qwen-2.5-coder-32b-instruct",canonical_slug:"qwen-2.5-coder-32b-instruct",name:"Qwen 2.5 Coder 32B",created:Date.now(),description:"Qwen 2.5 Coder - Specialized for code generation",context_length:32768,architecture:{input_modalities:["text"],output_modalities:["text"],tokenizer:"cl100k_base",instruct_type:"qwen"},pricing:{prompt:"0.00018",completion:"0.00018",request:"0",image:"0",web_search:"0",internal_reasoning:"0",input_cache_read:"0",input_cache_write:"0"},top_provider:{context_length:32768,max_completion_tokens:8192,is_moderated:!1},per_request_limits:null,supported_parameters:["tools","tool_choice","temperature","max_tokens"]},{id:"openai/gpt-4o",canonical_slug:"gpt-4o",name:"GPT-4o",created:Date.now(),description:"OpenAI GPT-4o - Multimodal model with vision capabilities",context_length:128e3,architecture:{input_modalities:["text","image"],output_modalities:["text"],tokenizer:"cl100k_base",instruct_type:"openai"},pricing:{prompt:"0.0025",completion:"0.01",request:"0",image:"0.00765",web_search:"0",internal_reasoning:"0",input_cache_read:"0.00125",input_cache_write:"0.0025"},top_provider:{context_length:128e3,max_completion_tokens:16384,is_moderated:!0},per_request_limits:null,supported_parameters:["tools","tool_choice","temperature","max_tokens","response_format"]},{id:"anthropic/claude-3.5-sonnet",canonical_slug:"claude-3.5-sonnet",name:"Claude 3.5 Sonnet",created:Date.now(),description:"Anthropic Claude 3.5 Sonnet - Advanced reasoning and coding",context_length:2e5,architecture:{input_modalities:["text","image"],output_modalities:["text"],tokenizer:"claude",instruct_type:"anthropic"},pricing:{prompt:"0.003",completion:"0.015",request:"0",image:"0.0048",web_search:"0",internal_reasoning:"0",input_cache_read:"0.0003",input_cache_write:"0.00375"},top_provider:{context_length:2e5,max_completion_tokens:8192,is_moderated:!1},per_request_limits:null,supported_parameters:["tools","tool_choice","temperature","max_tokens"]}]}}function a(e,t=!0){if(null==e)return"";let i=t?e/1e3:e;if(0===i)return"free";if(i<1e-4)return`$${i.toFixed(5).replace(/\.?0+$/,"")}`;if(i<.001)return`$${i.toFixed(4).replace(/\.?0+$/,"")}`;if(i<.01)return`$${i.toFixed(3).replace(/\.?0+$/,"")}`;if(i<.1)return`$${i.toFixed(3).replace(/\.?0+$/,"")}`;if(i<1)return`$${i.toFixed(2).replace(/\.?0+$/,"")}`;else return`$${i.toFixed(2)}`}},38991:(e,t,i)=>{function s(e){return e.length>1e5?e.slice(0,1e5)+"\n… [truncated]":e}function r(e){if(!e)return e;if(e.startsWith("/workspace")){let t=e.slice(10);e=t.length?t:"/"}return e.startsWith("/")||(e="/"+e),e}async function a(e,t,i){if("/"===i||!i)return;let s=i.split("/").filter(Boolean),r="";for(let i=0;inull!=e&&""!==e);if(0===l.length)return{stdout:"",stderr:"No valid command arguments provided",exitCode:2};let[c,...d]=l;try{switch(c){case"ls":{let i=new Set,a=[];for(let e of d)e&&e.startsWith("-")?i.add(e):e&&a.push(e);let n=i.has("-R")||i.has("-r"),o=r(a[0])||"/";if(n){let i=await e.getAllFilesAndDirectories(t,{includeTransient:!0}),r="/"===o?"/":o.endsWith("/")?o:o+"/",a=i.filter(e=>e.path===o||e.path.startsWith(r)).map(e=>e.path).sort().join("\n");return{stdout:s(a),stderr:"",exitCode:0}}{let i=(await e.listDirectory(t,o,{includeTransient:!0})).map(e=>e.path).sort().join("\n");return{stdout:s(i),stderr:"",exitCode:0}}}case"tree":{let i=1/0,a="/";for(let e=0;e"/"===n?"/"!==e:e.startsWith(n+"/")||e===n).sort(),u={name:"/"===n?".":n.split("/").pop()||".",path:n,isDir:!0,children:[]},h=new Map;for(let e of(h.set("/"===n?"":n,u),p)){if(e===n)continue;let t=("/"===n?e:e.slice(n.length)).split("/").filter(Boolean);if(t.length>i)continue;let s=t[t.length-1],r="/"===n?"/"+t.slice(0,-1).join("/"):n+"/"+t.slice(0,-1).join("/"),a="/"===r?"":r.replace(/\/$/,""),o={name:s,path:e,isDir:c.has(e),children:[]};(h.get(a)||u).children.push(o),h.set(e,o)}let m=[n];return!function e(t,i,s,r){if(!r){let e=t.isDir?"/":"";m.push(i+(s?"└── ":"├── ")+t.name+e)}let a=r?"":i+(s?" ":"│ ");t.children.sort((e,t)=>e.isDir!==t.isDir?e.isDir?-1:1:e.name.localeCompare(t.name));for(let i=0;ie&&!e.startsWith("-")).map(e=>r(e));if(0===i.length)return{stdout:"",stderr:"cat: missing file path",exitCode:2};if(i.length>5)return{stdout:"",stderr:`cat: too many files. You requested ${i.length} files, but cat supports a maximum of 5 files at a time. Please split into multiple cat calls.`,exitCode:2};let a=[],n=!1,o=[];for(let s of i){if(!s){o.push("cat: invalid path"),n=!0;continue}if(s.startsWith("/-")){o.push(`cat: invalid path "${s}" (looks like an option)`),n=!0;continue}try{let r=await e.readFile(t,s);"string"!=typeof r.content?(o.push(`cat: ${s}: binary or non-text file`),n=!0):i.length>1?a.push(`=== ${s} === +${r.content}`):a.push(r.content)}catch(t){let e=t instanceof Error?t.message:String(t);o.push(`cat: ${s}: ${e}`),n=!0}}let l=a.join("\n\n"),c=o.join("\n");return{stdout:s(l),stderr:c,exitCode:+!!n}}case"head":{let i=10,a="";for(let e=0;ee-t);for(let r of(u.length>0&&u.push(""),c)){let a=i.n?`${r+1}:`:"";s.has(r),u.push(`${e.path}:${a}${t[r]}`)}}if(0===u.length){let e="/"===o?"workspace root":o;return{stdout:"",stderr:`rg: pattern "${n}" not found in ${e}`,exitCode:1}}return{stdout:s(u.join("\n")),stderr:"",exitCode:0}}case"find":{let i,a,n,o;for(let e=0;ee.path===l||e.path.startsWith(p)).filter(e=>"f"===n?!("type"in e)||"directory"!==e.type:"d"!==n||"type"in e&&"directory"===e.type).map(e=>e.path).filter(e=>!u||u.test(e.split("/").pop()||e)).sort();return{stdout:s(h.join("\n")),stderr:"",exitCode:0}}case"mkdir":{let i=d.includes("-p"),s=d.filter(e=>e&&"-p"!==e).map(e=>r(e));if(0===s.length)return{stdout:"",stderr:"mkdir: missing operand",exitCode:2};let n=!1,o=[];for(let r of s)if(r)try{i?await a(e,t,r):await e.createDirectory(t,r)}catch(e){n=!0,o.push(`mkdir: cannot create directory '${r}': ${e?.message||"unknown error"}`)}return{stdout:"",stderr:o.join("\n"),exitCode:+!!n}}case"touch":{let i=d.filter(e=>e&&!e.startsWith("-")).map(e=>r(e));if(0===i.length)return{stdout:"",stderr:"touch: missing file operand",exitCode:2};let s=!1,a=[];for(let r of i)if(r)try{await e.readFile(t,r)}catch{try{await e.createFile(t,r,"")}catch(e){s=!0,a.push(`touch: cannot touch '${r}': ${e?.message||"cannot create file"}`)}}return{stdout:"",stderr:a.join("\n"),exitCode:+!!s}}case"rm":{let i=!1,a=!1,n=!1,o=[];for(let e of d)e&&e.startsWith("-")?((e.includes("r")||e.includes("R"))&&(i=!0),e.includes("f")&&(a=!0),e.includes("v")&&(n=!0)):e&&o.push(e);if(0===o.length)return{stdout:"",stderr:"rm: missing operand",exitCode:2};let l=!1,c=[];for(let s of o){let o=r(s);if(!o){a||(l=!0);continue}try{await e.deleteFile(t,o),n&&c.push(`removed '${o}'`)}catch{if(i)try{await e.deleteDirectory(t,o),n&&c.push(`removed directory '${o}'`)}catch{!a&&(l=!0,n&&c.push(`rm: cannot remove '${o}': No such file or directory`))}else!a&&(l=!0,n&&c.push(`rm: cannot remove '${o}': Is a directory (use -r to remove directories)`))}}let p=n?c.join("\n"):"",u=l&&!n?"rm: some paths could not be removed":"";return{stdout:s(p),stderr:u,exitCode:+!!l}}case"mv":{let[i,s]=d,a=r(i),n=r(s);if(!a||!n)return{stdout:"",stderr:"mv: missing operands",exitCode:2};try{return await e.renameFile(t,a,n),{stdout:"",stderr:"",exitCode:0}}catch{return await e.renameDirectory(t,a,n),{stdout:"",stderr:"",exitCode:0}}}case"cp":{let i=d.includes("-r"),[s,n]=d.filter(e=>"-r"!==e);if(s=r(s),n=r(n),!s||!n)return{stdout:"",stderr:"cp: missing operands",exitCode:2};try{let i=await e.readFile(t,s),r=(i.content,i.content);try{await e.createFile(t,n,r)}catch{await e.updateFile(t,n,r)}return{stdout:"",stderr:"",exitCode:0}}catch{if(!i)return{stdout:"",stderr:"cp: -r required for directories",exitCode:1};let r=await e.getAllFilesAndDirectories(t,{includeTransient:!0}),o=s.endsWith("/")?s:s+"/";for(let i of r)if((!("type"in i)||"directory"!==i.type)&&(i.path===s||i.path.startsWith(o))){let r=i.path.slice(s.length),o=(n.endsWith("/")?n.slice(0,-1):n)+r;await a(e,t,o.split("/").slice(0,-1).join("/"));let l=(i.content,i.content);try{await e.createFile(t,o,l)}catch{await e.updateFile(t,o,l)}}return{stdout:"",stderr:"",exitCode:0}}}case"echo":{let i=d.indexOf(">");if(-1===i)return{stdout:s(d.join(" ")),stderr:"",exitCode:0};let n=d.slice(0,i).join(" "),o=d[i+1],l=r(o);if(!l)return{stdout:"",stderr:"echo: missing file path after >",exitCode:2};try{let i=l.split("/").slice(0,-1).join("/")||"/";"/"!==i&&await a(e,t,i);try{await e.createFile(t,l,n)}catch{await e.updateFile(t,l,n)}return{stdout:"",stderr:"",exitCode:0}}catch(e){return{stdout:"",stderr:`echo: ${l}: ${e?.message||"cannot write file"}`,exitCode:1}}}default:{let e="bash"===c?` +Don't use "bash" as a command - call the shell tool directly with your command. +Wrong: {"cmd": ["bash", "-c", "ls -la"]} +Right: {"cmd": ["ls", "-la"]} +`:"";return{stdout:"",stderr:`${c}: command not found${e} + +Supported commands: ls, tree, cat, head, tail, rg, grep, find, mkdir, touch, rm, mv, cp, echo + +Correct shell tool usage: + {"cmd": ["ls", "/"]} - List files + {"cmd": ["ls", "-R", "/"]} - List files recursively + {"cmd": ["tree", "/", "-L", "2"]} - Show directory tree (max depth 2) + {"cmd": ["cat", "/file.txt"]} - Read entire file + {"cmd": ["head", "-n", "20", "/file.txt"]} - Read first 20 lines + {"cmd": ["tail", "-n", "20", "/file.txt"]} - Read last 20 lines + {"cmd": ["rg", "-C", "3", "pattern", "/"]} - Search with 3 lines context (recommended) + {"cmd": ["rg", "-A", "2", "-B", "1", "pattern"]} - Search with custom context + {"cmd": ["grep", "-n", "pattern", "/file.txt"]} - Search with line numbers + {"cmd": ["grep", "-F", "literal", "/file.txt"]} - Search literal string + {"cmd": ["find", "/", "-name", "*.js"]} - Find files by name + {"cmd": ["mkdir", "-p", "/path/to/dir"]} - Create directory (with parents) + {"cmd": ["touch", "/file.txt"]} - Create empty file + {"cmd": ["rm", "-rf", "/dirname"]} - Delete directory recursively + {"cmd": ["mv", "/old.txt", "/new.txt"]} - Move/rename files + {"cmd": ["cp", "-r", "/src", "/dest"]} - Copy files/directories + {"cmd": ["echo", "Hello World"]} - Output text + {"cmd": ["echo", "content", ">", "/file.txt"]} - Write text to file + +Note: Use json_patch tool for complex file editing. Use rg (ripgrep) instead of grep for better context.`,exitCode:127}}}}catch(e){return{stdout:"",stderr:e?.message||String(e),exitCode:1}}}i.d(t,{_:()=>o});let o={execute:async(e,t)=>{let{vfs:s}=await Promise.resolve().then(i.bind(i,68269));await s.init();let r=await n(s,e,t);return{success:0===r.exitCode,stdout:r.stdout,stderr:r.stderr}}}},39390:(e,t,i)=>{i.d(t,{J:()=>c});var s=i(60687),r=i(43210),a=i(78148),n=i(24224),o=i(96241);let l=(0,n.F)("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),c=r.forwardRef(({className:e,...t},i)=>(0,s.jsx)(a.b,{ref:i,className:(0,o.cn)(l(),e),...t}));c.displayName=a.b.displayName},51567:(e,t,i)=>{i.d(t,{j:()=>p});var s=i(60687),r=i(43210),a=i(24934),n=i(59821),o=i(96271),l=i(3589),c=i(78272),d=i(12941);function p({title:e,subtitle:t,badge:i,onLogoClick:p,actions:u=[],mobileMenuContent:h,desktopOnlyContent:m,className:f="",leftText:g,mobileVisibleActions:y=[],viewTabs:b,activeViewTab:v,onViewTabChange:x,hideLogo:w=!1,showMobileMenu:k=!1,onMobileMenuClick:S,hideActionsOnMobile:C=!1,pageName:T}){let[A,j]=(0,r.useState)(!1),E=new Set(y),I=C?[]:u.filter(e=>E.has(e.id)),N=C?[]:u.filter(e=>!E.has(e.id));return(0,s.jsxs)("div",{className:`border-b bg-card shadow-sm relative z-20 ${f}`,children:[(0,s.jsxs)("div",{className:"px-3 py-2 flex items-center justify-between",children:[k&&(0,s.jsxs)("div",{className:"md:hidden flex items-center gap-3",children:[(0,s.jsx)(o.g,{width:24,height:24}),T&&(0,s.jsx)("span",{className:"text-sm font-semibold",children:T})]}),!w&&!k&&(0,s.jsxs)("button",{onClick:p,className:"flex items-center gap-2 p-1 pr-2 hover:ring-1 hover:ring-border rounded-sm transition-all",children:[(0,s.jsx)(o.g,{width:24,height:24}),g&&(0,s.jsx)("span",{className:"font-semibold text-lg hidden md:inline",children:g})]}),(0,s.jsx)("div",{className:"flex items-center gap-2 flex-1 justify-center md:justify-start md:ml-6",children:b&&b.length>0?(0,s.jsx)("div",{className:"flex border rounded-full",children:b.map((e,t)=>(0,s.jsxs)(a.$,{variant:v===e.id?"secondary":"ghost",size:"sm",onClick:()=>x?.(e.id),className:`gap-2 ${0===t?"rounded-r-none rounded-l-full":t===b.length-1?"rounded-l-none rounded-r-full":"rounded-none"}`,children:[e.icon&&(0,s.jsx)(e.icon,{className:"h-4 w-4"}),e.label]},e.id))}):g&&!k?(0,s.jsx)("h1",{className:"text-lg font-semibold md:hidden",children:g}):e?(0,s.jsxs)(s.Fragment,{children:[e&&(0,s.jsx)("h1",{className:"text-lg md:text-xl font-semibold",children:e}),i&&(0,s.jsx)(n.E,{variant:"secondary",children:i})]}):null}),!g&&!e&&t&&(0,s.jsx)("div",{className:"hidden md:flex items-center flex-1 ml-6",children:(0,s.jsx)("span",{className:"text-sm text-muted-foreground",children:t})}),(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsxs)("div",{className:"hidden md:flex items-center gap-2",children:[u.map(e=>e.content?(0,s.jsx)("div",{children:e.content},e.id):(0,s.jsxs)(a.$,{variant:e.variant||"outline",size:e.size||"sm",onClick:e.onClick,disabled:e.disabled,className:"justify-start","data-tour-id":e.dataTourId,children:[e.icon&&(0,s.jsx)(e.icon,{className:"h-4 w-4 mr-2"}),e.label]},e.id)),m]}),(0,s.jsx)("div",{className:"md:hidden flex items-center gap-2",children:I.map(e=>e.content?(0,s.jsx)("div",{children:e.content},e.id):(0,s.jsxs)(a.$,{variant:e.variant||"outline",size:e.size||"sm",onClick:e.onClick,disabled:e.disabled,className:"h-8 px-3","data-tour-id":e.dataTourId,children:[e.icon&&(0,s.jsx)(e.icon,{className:"h-4 w-4 mr-2"}),e.label]},e.id))}),(N.length>0||h)&&(0,s.jsx)(a.$,{variant:"ghost",size:"icon",onClick:()=>j(!A),className:"h-8 w-8 md:hidden",children:A?(0,s.jsx)(l.A,{className:"h-4 w-4"}):(0,s.jsx)(c.A,{className:"h-4 w-4"})}),k&&(0,s.jsx)(a.$,{variant:"ghost",size:"icon",onClick:S,className:"md:hidden h-8 w-8",children:(0,s.jsx)(d.A,{className:"h-5 w-5"})})]})]}),A&&(N.length>0||h)&&(0,s.jsxs)("div",{className:"md:hidden border-t bg-muted/30 px-4 py-4 space-y-3",children:[!g&&!e&&t&&(0,s.jsx)("div",{className:"pb-2 border-b border-border/50",children:(0,s.jsx)("p",{className:"text-sm text-muted-foreground",children:t})}),N.length>0&&(0,s.jsx)("div",{className:"space-y-2",children:N.map(e=>e.content?(0,s.jsx)("div",{children:e.content},e.id):(0,s.jsxs)(a.$,{variant:e.variant||"outline",size:e.size||"sm",onClick:()=>{e.onClick(),j(!1)},disabled:e.disabled,className:"w-full justify-start","data-tour-id":e.dataTourId,children:[e.icon&&(0,s.jsx)(e.icon,{className:"h-4 w-4 mr-2"}),e.label]},e.id))}),h&&(0,s.jsx)("div",{className:"pt-2 border-t border-border/50",children:h})]})]})}},57462:(e,t,i)=>{i.d(t,{m:()=>r});var s=i(83562);async function r(e,t){return t?a(e):await n(e)}async function a(e){let t=`You are an AI assistant that helps users with their coding projects. You work in a sandboxed virtual file system. + +🔒 CHAT MODE - READ-ONLY EXPLORATION AND PLANNING + +You have access ONLY to the 'shell' tool with READ-ONLY commands. +YOU CANNOT EDIT FILES IN CHAT MODE. +Focus on exploring the codebase, analyzing code, and discussing approaches. + +SHELL TOOL FORMAT: +The 'cmd' parameter accepts BOTH natural string format and array format - use whichever feels more natural! + +Natural format: {"cmd": "ls -la /"} +Natural format: {"cmd": "rg -C 3 'pattern' /"} +Natural format: {"cmd": "head -n 50 /index.html"} +Array format: {"cmd": ["ls", "-la", "/"]} +Array format: ["rg", "-C", "3", "pattern", "/"] +Array format: {"cmd": ["head", "-n", "50", "/index.html"]} + +Use the shell tool to execute commands. The natural string format is preferred for readability. + +⚠️ CRITICAL: MINIMIZE TOKEN USAGE - AVOID CAT +DO NOT use 'cat' to read entire files unless absolutely necessary! +• cat wastes 10-50x more tokens than alternatives +• You will exceed context limits and fail tasks +• ALWAYS try these first: + 1. rg -C 5 'searchterm' / (search with context - best for finding code) + 2. head -n 50 /file (sample start of file) + 3. tail -n 50 /file (sample end of file) + 4. tree -L 2 / (see project structure) +• ONLY use cat when: + - File is known to be small (<100 lines) + - You genuinely need to see the ENTIRE file + - Other tools have failed to find what you need + +FILE READING DECISION FLOWCHART - FOLLOW THIS ORDER: +When you need to read/inspect files, ALWAYS follow this priority: + +1. **SEARCHING for specific code/patterns?** + ✅ USE: rg -C 5 'pattern' /path + ✅ EXAMPLE: rg -C 3 'function handleClick' / + Why: Shows matches with surrounding context, saves 8-10x tokens + +2. **EXPLORING a file's structure/beginning?** + ✅ USE: head -n 50 /file.js + ✅ EXAMPLE: head -n 100 /components/App.tsx + Why: Sample without reading entire file, saves 10-50x tokens + +3. **CHECKING end of file (logs, recent additions)?** + ✅ USE: tail -n 50 /file.js + ✅ EXAMPLE: tail -n 100 /utils/helpers.js + Why: Sample end without reading entire file + +4. **UNDERSTANDING project structure?** + ✅ USE: tree -L 2 / + ✅ EXAMPLE: tree -L 3 /src + Why: Visual overview without reading files + +5. **NEED ENTIRE FILE** (LAST RESORT ONLY): + ⚠️ USE: cat /file.js (ONLY IF file is small <100 lines OR alternatives failed) + ❌ DON'T: cat /large-component.tsx (will waste massive tokens) + +Available Commands (READ-ONLY): +- Search with context: rg [-C num] [-A num] [-B num] [-n] [-i] [pattern] [path] ← PREFER THIS FOR SEARCH +- Read file head: head [-n lines] [filepath] ← PREFER THIS +- Read file tail: tail [-n lines] [filepath] ← PREFER THIS +- Directory tree: tree [path] [-L depth] ← PREFER THIS +- List files: ls [-R] [path] +- Read entire files: cat [filepath] ← AVOID (use only for small files) +- Search (basic, no context): grep [-n] [-i] [-F] [pattern] [path] ← Use rg instead for context +- Find files: find [path] -name [pattern] + +⚠️ IMPORTANT: grep does NOT support -A, -B, or -C flags. For context around matches, use rg (ripgrep)! + +❌ DISABLED IN CHAT MODE: +- mkdir, touch, mv, rm, cp, echo > (all write operations) +- json_patch tool (not available) +- evaluation tool (not available) + +Important Notes: +- All paths are relative to the project root (/) +- ALWAYS use targeted reads: \`rg -C 5\`, \`head -n 50\`, or \`tail -n 50\` (NOT cat!) +- Reuse snippets from earlier in the conversation when possible +- Use the shell tool via function calling, not by outputting JSON text +- Focus on exploration, analysis, and planning - no file modifications +`,i=await s.skillsService.getEnabledSkillsMetadata();if(i.length>0){for(let e of(t+=` + +📚 SKILLS - READ BEFORE BUILDING: +`,t+=`Skills contain best practices and patterns. CHECK the relevant skill BEFORE starting work: + +`,i))t+=`- ${e.path}: ${e.description} +`;t+=` +⚡ WORKFLOW: When a skill matches your task, run: cat /.skills/.md FIRST, then proceed. +`}if((e||i.length>0)&&(t+=` + +Project Structure: +`,i.length>0&&(t+=`├── .skills/ +`,i.forEach((e,s)=>{let r=s===i.length-1,a=e.path.split("/").pop();t+=`│ ${r?"└── ":"├── "}${a} +`})),e)){let i=e.replace(/^Project Structure:\n/,"");t+=i}return t}async function n(e){let t=`You are an AI assistant that helps users with their coding projects. You work in a sandboxed virtual file system. + +🚨 PLATFORM CONSTRAINTS - READ THIS FIRST: + +This is a STATIC WEBSITE builder - you can ONLY create client-side HTML/CSS/JS: +• ❌ NO backend code (no Node.js, Python, PHP, Ruby, etc.) +• ❌ NO server-side rendering (no Express, Next.js API routes, etc.) +• ❌ NO databases or server-side storage +• ✅ ONLY static files that run in the browser (HTML, CSS, vanilla JS) + +HANDLEBARS IS BUILD-TIME, NOT RUNTIME: +• Handlebars templates are compiled AUTOMATICALLY when the preview loads +• DO NOT write JavaScript code to compile or render Handlebars templates +• DO NOT import Handlebars library or use Handlebars.compile() in your JS +• Just create .hbs files and use {{> partial}} syntax - the system handles compilation + +ROUTING IS AUTOMATIC: +• Navigation works with standard HTML links: About +• Supports directory-based routing: /about/ → /about/index.html +• You can organize pages either way: + - Direct: /about.html + - Directory: /about/index.html (accessed as /about/ or /about) +• DO NOT create routing logic (no History API, hash routing, or SPA routers) +• DO NOT write JavaScript to handle page navigation +• Create separate .html files for each page - the preview handles routing + +DIRECTORY INDEX RESOLUTION: +• When a path ends with / or has no extension, the system tries: + 1. Direct file: /about → /about.html + 2. Directory index: /about → /about/index.html (fallback) +• This allows clean URLs and organized file structures +• Example: /products/ automatically serves /products/index.html + +WHAT YOU CAN BUILD: +• Multi-page websites with .html files +• Interactive features with vanilla JavaScript (DOM manipulation, fetch API, localStorage) +• Reusable components with Handlebars templates (.hbs files) +• Responsive layouts with CSS +• Client-side data visualization, forms, animations, etc. + +SHELL TOOL FORMAT: +The 'cmd' parameter accepts BOTH natural string format and array format - use whichever feels more natural! + +Natural format: {"cmd": "ls -la /"} +Natural format: {"cmd": "rg -C 3 'pattern' /"} +Natural format: {"cmd": "head -n 50 /index.html"} +Array format: {"cmd": ["ls", "-la", "/"]} +Array format: ["rg", "-C", "3", "pattern", "/"] +Array format: {"cmd": ["head", "-n", "50", "/index.html"]} + +Use the shell tool to execute commands. The natural string format is preferred for readability. + +⚠️ CRITICAL: MINIMIZE TOKEN USAGE - AVOID CAT +DO NOT use 'cat' to read entire files unless absolutely necessary! +• cat wastes 10-50x more tokens than alternatives +• You will exceed context limits and fail tasks +• ALWAYS try these first: + 1. rg -C 5 'searchterm' / (search with context - best for finding code) + 2. head -n 50 /file (sample start of file) + 3. tail -n 50 /file (sample end of file) + 4. tree -L 2 / (see project structure) +• ONLY use cat when: + - File is known to be small (<100 lines) + - You genuinely need to see the ENTIRE file + - Other tools have failed to find what you need + +FILE READING DECISION FLOWCHART - FOLLOW THIS ORDER: +When you need to read/inspect files, ALWAYS follow this priority: + +1. **SEARCHING for specific code/patterns?** + ✅ USE: rg -C 5 'pattern' /path + ✅ EXAMPLE: rg -C 3 'function handleClick' / + Why: Shows matches with surrounding context, saves 8-10x tokens + +2. **EXPLORING a file's structure/beginning?** + ✅ USE: head -n 50 /file.js + ✅ EXAMPLE: head -n 100 /components/App.tsx + Why: Sample without reading entire file, saves 10-50x tokens + +3. **CHECKING end of file (logs, recent additions)?** + ✅ USE: tail -n 50 /file.js + ✅ EXAMPLE: tail -n 100 /utils/helpers.js + Why: Sample end without reading entire file + +4. **UNDERSTANDING project structure?** + ✅ USE: tree -L 2 / + ✅ EXAMPLE: tree -L 3 /src + Why: Visual overview without reading files + +5. **NEED ENTIRE FILE** (LAST RESORT ONLY): + ⚠️ USE: cat /file.js (ONLY IF file is small <100 lines OR alternatives failed) + ❌ DON'T: cat /large-component.tsx (will waste massive tokens) + +Available Commands for the shell tool: +- Search with context: rg [-C num] [-A num] [-B num] [-n] [-i] [pattern] [path] ← PREFER THIS FOR SEARCH +- Read file head: head [-n lines] [filepath] ← PREFER THIS +- Read file tail: tail [-n lines] [filepath] ← PREFER THIS +- Directory tree: tree [path] [-L depth] ← PREFER THIS +- List files: ls [-R] [path] +- Read entire files: cat [filepath] ← AVOID (use only for small files) +- Search (basic, no context): grep [-n] [-i] [-F] [pattern] [path] ← Use rg instead for context +- Find files: find [path] -name [pattern] +- Create directories: mkdir [-p] [path1] [path2] ... ← Supports multiple paths and brace expansion +- Create empty files: touch [file1] [file2] ... ← Supports multiple files and brace expansion +- Move/rename: mv [source] [dest] +- Remove files/directories: rm [-rf] [path1] [path2] ... ← Supports multiple paths +- Copy: cp [-r] [source] [dest] +- Output text: echo [text] +- Write to file: echo [text] > [filepath] +- Edit files: Use json_patch tool for reliable file editing + +⚠️ IMPORTANT: grep does NOT support -A, -B, or -C flags. For context around matches, use rg (ripgrep)! + +Bash Brace Expansion: +The shell supports brace expansion like real bash - use {a,b,c} to expand into multiple arguments: +- mkdir -p templates/{layout,components,pages} ← Creates 3 directories +- touch src/{index,app,utils}.js ← Creates 3 files +- Combines with paths: mkdir -p src/{components,utils}/{common,helpers} + +File Editing with json_patch: + +⚠️ CRITICAL WORKFLOW - YOU MUST FOLLOW THIS ORDER: +1. Ensure you have an up-to-date snippet before editing (use \`rg -C 5\`, \`head -n 50\`, or \`tail -n 50\` FIRST; avoid \`cat\` unless file is small) +2. Study the exact content to identify unique strings for replacement +3. Use the json_patch tool with precise string operations + +⚠️ TOKEN LIMITS - PROGRESSIVE FILE BUILDING: +- Your output is limited to ~4000 tokens (~16,000 characters) +- Large files (500+ lines) in one REWRITE will hit this limit and get truncated +- The system can auto-continue truncated operations, but prevention is better + +**LARGE FILE STRATEGY - BUILD PROGRESSIVELY:** + +When creating files >200 lines, use this approach: + +STEP 1: Create skeleton structure first (small REWRITE) +Example for CSS: +{"file_path": "/styles/main.css", "operations": [{"type": "rewrite", "content": "/* ==========================================================================\\n Main Stylesheet\\n ========================================================================== */\\n\\n/* Base Styles */\\n\\n/* Layout */\\n\\n/* Components */\\n\\n/* Utilities */\\n"}]} + +STEP 2: Fill sections with UPDATE operations +{"file_path": "/styles/main.css", "operations": [{"type": "update", "oldStr": "/* Base Styles */\\n", "newStr": "/* Base Styles */\\n\\n*, *::before, *::after { box-sizing: border-box; }\\nhtml { font-size: 16px; }\\nbody { margin: 0; font-family: system-ui, sans-serif; }\\n"}]} + +**TOKEN BUDGETS PER OPERATION:** +- REWRITE: Keep content under 2000 characters (~500 tokens) +- UPDATE: Keep oldStr + newStr combined under 1500 characters + +**ALTERNATIVE: Split into multiple files** +Instead of one 1000-line style.css, create: +- /styles/base.css (reset, typography) +- /styles/layout.css (grid, containers) +- /styles/components.css (buttons, cards) +- /styles/utilities.css (helpers) + +Then import all in your HTML: + + + + +The json_patch tool uses simple JSON operations for reliable file editing. + +⚠️ CRITICAL: Make ONE json_patch call per response. Do NOT batch multiple file operations in a single response - this causes truncation errors. Write one file, wait for confirmation, then write the next. + +Operation Types: +1. UPDATE: Replace exact strings (oldStr must be unique in file) +2. REWRITE: Replace entire file content +3. REPLACE_ENTITY: Replace semantic code entities by opening pattern + +Examples: + +Update specific content: +{ + "file_path": "/index.html", + "operations": [ + { + "type": "update", + "oldStr": "Old Title", + "newStr": "New Title" + } + ] +} + +Add content by expanding existing text: +{ + "file_path": "/app.js", + "operations": [ + { + "type": "update", + "oldStr": "const items = [];", + "newStr": "const items = []; +const newItems = [];" + } + ] +} + +Replace entire file (better for large changes): +{ + "file_path": "/README.md", + "operations": [ + { + "type": "rewrite", + "content": "# New Project + +Complete new file content here." + } + ] +} + +Small targeted update (safer approach): +{ + "file_path": "/index.html", + "operations": [ + { + "type": "update", + "oldStr": "

Ajankohtaista

", + "newStr": "

News Gallery

" + } + ] +} + +Replace HTML element (robust approach): +{ + "file_path": "/index.html", + "operations": [ + { + "type": "replace_entity", + "selector": "
", + "replacement": "
+ +
", + "entity_type": "html_element" + } + ] +} + +Replace section content (also robust): +{ + "file_path": "/components/contact.tsx", + "operations": [ + { + "type": "replace_entity", + "selector": "
", + "replacement": "
+

Get In Touch

+

Contact us at info@example.com

+
", + "entity_type": "html_element" + } + ] +} + +Replace React component: +{ + "file_path": "/components/button.tsx", + "operations": [ + { + "type": "replace_entity", + "selector": "const Button: React.FC = ({", + "replacement": "const Button: React.FC = ({ children, onClick, variant = 'primary' }) => {\\n return (\\n \\n );\\n}", + "entity_type": "react_component" + } + ] +} + +Replace JavaScript function: +{ + "file_path": "/utils/helpers.js", + "operations": [ + { + "type": "replace_entity", + "selector": "function calculateTotal(", + "replacement": "function calculateTotal(items, tax = 0.1) { + const subtotal = items.reduce((sum, item) => sum + item.price, 0); + return subtotal * (1 + tax); +}", + "entity_type": "function" + } + ] +} + +CRITICAL RULES: +• oldStr MUST match exactly what you just inspected in the file output +• Copy the EXACT text from the file - including quotes, spaces, newlines +• JSON escaping (like ") is ONLY for JSON syntax - the tool handles this automatically +• DO NOT add escape characters (for example an extra \\ before \`<\` or \`>\`) that aren't present in the file +• oldStr MUST be unique - if it appears multiple times, include more context +• For replace_entity selectors, copy the opening pattern without leading indentation or trailing whitespace; start at the first non-space character you saw in the file +• Before you run json_patch, confirm the snippet is unique (use \`rg -n "snippet"\` or \`rg -C 5 "snippet"\`). If it appears more than once, capture additional context +• When uncertain, use 'rewrite' operation for complete file replacement +• Multiple operations are applied sequentially + +⚠️ COMMON FAILURE: LARGE TEXT BLOCKS +• DON'T try to match huge blocks of content (50+ lines) +• Large blocks often have tiny differences that cause failures +• For large changes, use smaller targeted updates OR 'rewrite' entire file +• If oldStr keeps failing, make it smaller and more specific + +⚠️ OPERATION TYPE PRIORITY (use in this order): + +1. **FIRST CHOICE - "replace_entity"** for: + • HTML elements: \`
\`, \` + +\`\`\` + +**Formspree** +\`\`\`html +
+ + + +
+\`\`\` + +**Basin** +\`\`\`html +
+ + + +
+\`\`\` + +## Project Structure + +\`\`\` +/ +├── PLAN.md # Project roadmap (create first!) +├── index.html # Homepage +├── about.html # About page +├── contact.html # Contact page +├── templates/ +│ ├── components/ +│ │ ├── nav.hbs # Navigation component +│ │ └── footer.hbs # Footer component +│ └── partials/ +│ ├── hero.hbs # Reusable hero section +│ └── cta.hbs # Call-to-action section +├── styles.css # Custom styles (if needed) +└── scripts/ + └── main.js # Custom JavaScript (if needed) +\`\`\` + +## Color Palette Guidelines + +Choose accessible, professional color schemes: + +\`\`\`javascript +// Example palettes + +// Professional Blue +{ primary: '#2563EB', secondary: '#3B82F6', accent: '#F59E0B' } + +// Modern Purple +{ primary: '#7C3AED', secondary: '#8B5CF6', accent: '#10B981' } + +// Clean Teal +{ primary: '#0D9488', secondary: '#14B8A6', accent: '#F97316' } + +// Warm Orange +{ primary: '#EA580C', secondary: '#F97316', accent: '#0EA5E9' } +\`\`\` + +**Tools for color selection:** +- coolors.co - Generate palettes +- tailwindcss.com/docs/customizing-colors - Tailwind palette +- contrast-ratio.com - Check WCAG accessibility + +## Planning Do's and Don'ts + +### Do's +✅ Create PLAN.md before writing any code +✅ Choose ONE CSS framework and stick with it +✅ Plan all pages upfront +✅ Use CDN links for all external assets +✅ Consider mobile-first design +✅ Ensure color contrast meets WCAG AA (4.5:1 for text) +✅ Plan component reuse (nav, footer, cards) + +### Don'ts +❌ Don't skip PLAN.md - it saves time later +❌ Don't mix multiple CSS frameworks +❌ Don't use emojis for icons (use icon libraries) +❌ Don't plan for backend features (static sites only) +❌ Don't use npm/build tools (CDN only) +❌ Don't over-engineer - start simple +❌ Don't forget responsive breakpoints in your plan +`},{id:"osw-one-shot",content:String.raw`--- +name: osw-one-shot +description: Read when building landing pages, page layouts, or complete sites. Covers execution order, Handlebars components, CDN resources, and efficient page structure. +--- + +# OSW Studio One-Shot Site Building + +## Purpose +This skill helps you build complete multi-page websites efficiently in a single session. Focus on visible progress and systematic execution. + +## Core Principle: Visible Progress First + +Users want to see results quickly. The execution order matters: + +1. **Reusable components first** - nav.hbs, footer.hbs +2. **Homepage second** - index.html shows immediate progress +3. **Other pages third** - about, contact, etc. +4. **Polish last** - animations, mobile menu, refinements + +## Execution Order + +### Step 1: Create Components (5 min) + +\`\`\`bash +mkdir -p /templates/components +\`\`\` + +**Navigation Component** (/templates/components/nav.hbs): +\`\`\`handlebars + +\`\`\` + +**Footer Component** (/templates/components/footer.hbs): +\`\`\`handlebars +
+
+
+
+

Brand

+

Your tagline or description here.

+
+
+

Quick Links

+ +
+
+

Connect

+ +
+
+
+

© 2025 Brand. All rights reserved.

+
+
+
+\`\`\` + +### Step 2: Build Homepage (index.html) + +This is where users see progress. Build it complete before moving on. + +\`\`\`html + + + + + + Site Title + + + + + + + + + + + + + + + + + + + {{> components/nav}} + + +
+
+

+ Your Headline Here +

+

+ A compelling subheadline that explains your value proposition. +

+ +
+
+ + +
+
+

Features

+
+
+
+ +
+

Feature One

+

Description of this amazing feature and its benefits.

+
+
+
+ +
+

Feature Two

+

Description of this amazing feature and its benefits.

+
+
+
+ +
+

Feature Three

+

Description of this amazing feature and its benefits.

+
+
+
+
+ + +
+
+

Ready to Get Started?

+

Join thousands of satisfied customers today.

+ + Contact Us + +
+
+ + {{> components/footer}} + + + + + + +\`\`\` + +### Step 3: Build Remaining Pages + +Use the same structure - just change the main content: + +**Page Template:** +\`\`\`html + + + + + + + {{> components/nav}} + + + + {{> components/footer}} + + + + +\`\`\` + +### Step 4: Add Interactivity (if needed) + +Common patterns: + +**Mobile Menu Toggle:** +\`\`\`javascript +const menuBtn = document.getElementById('mobile-menu-btn'); +const mobileMenu = document.getElementById('mobile-menu'); +menuBtn?.addEventListener('click', () => mobileMenu?.classList.toggle('hidden')); +\`\`\` + +**Smooth Scroll:** +\`\`\`html + +\`\`\` + +**Form Validation:** +\`\`\`javascript +document.querySelector('form')?.addEventListener('submit', (e) => { + const email = document.querySelector('input[type="email"]'); + if (!email?.value.includes('@')) { + e.preventDefault(); + alert('Please enter a valid email'); + } +}); +\`\`\` + +## Mobile-First Approach + +Always design for mobile first, then add tablet/desktop overrides: + +\`\`\`html + +
+ +
+ +
+ Content +
+
+
+\`\`\` + +**Common Breakpoints (Tailwind):** +- \`sm:\` - 640px (large phones) +- \`md:\` - 768px (tablets) +- \`lg:\` - 1024px (laptops) +- \`xl:\` - 1280px (desktops) + +## Quick CDN Reference + +\`\`\`html + + + + + + + + + + + + + + + +\`\`\` + +## Execution Do's and Don'ts + +### Do's +✅ Build components before pages +✅ Complete index.html before other pages +✅ Test in preview after each major section +✅ Use consistent spacing (Tailwind: py-20 for sections) +✅ Add aria-labels to icon-only buttons +✅ Include mobile menu from the start +✅ Use transition-colors for hover effects + +### Don'ts +❌ Don't build pages in random order +❌ Don't skip the mobile menu +❌ Don't forget to initialize AOS if using it +❌ Don't use fixed heights (use min-h instead) +❌ Don't forget responsive classes +❌ Don't leave placeholder text in final version + +## Quality Checklist + +Before considering complete: + +- [ ] All pages use nav/footer components +- [ ] Mobile responsive (test at 375px width) +- [ ] Mobile menu works +- [ ] All links work +- [ ] No console errors +- [ ] Images have alt text +- [ ] Forms have proper labels +- [ ] Animations initialized (if using AOS) +- [ ] Hover states on interactive elements +- [ ] Footer has current year + +## Performance Tips + +- **Lazy load images below fold:** \`loading="lazy"\` +- **Preconnect to font servers:** Already in template +- **Use CDN versions:** Cached globally +- **Minimize custom JS:** Use CSS transitions when possible +- **Compress images:** Use Picsum size parameters + +## Summary + +**One-Shot Execution:** +1. 🧩 Components (nav.hbs, footer.hbs) +2. 🏠 index.html (complete with hero, features, CTA) +3. 📄 Other pages (about, contact) +4. ✨ Polish (animations, mobile menu) +5. ✅ Test in preview + +**Speed Tips:** +- Copy the full page template, modify content +- Reuse section patterns across pages +- Keep styles consistent with Tailwind utilities +- Test early, test often +`},{id:"handlebars-advanced",content:String.raw`--- +name: handlebars-advanced +description: Read when using Handlebars templates, partials, or data.json. Covers helpers, loops, conditionals, and advanced data patterns. +--- + +# Advanced Handlebars Patterns + +## Purpose +Deep dive into Handlebars features available in OSW Studio for building maintainable, data-driven static websites with reusable templates. + +## Key Concept: Build-Time Compilation + +**CRITICAL**: In OSW Studio, Handlebars templates are compiled automatically when the preview loads. You do NOT write JavaScript code to compile or render templates. + +- \`.hbs\` files in \`/templates/\` are auto-registered as partials +- \`data.json\` provides global context for all templates +- NO \`Handlebars.compile()\` or manual registration needed +- Templates compile at BUILD-TIME, not runtime + +## Complex Data Structures + +### Nested Objects in data.json +\`\`\`json +{ + "site": { + "title": "My Website", + "author": { + "name": "John Doe", + "email": "john@example.com", + "social": { + "twitter": "@johndoe", + "github": "johndoe" + } + } + }, + "pages": [ + { + "title": "Home", + "path": "/", + "featured": true + } + ] +} +\`\`\` + +### Accessing Nested Data +\`\`\`handlebars +

{{site.title}}

+

By {{site.author.name}}

+Twitter + +{{#each pages}} + {{#if featured}} + {{title}} + {{/if}} +{{/each}} +\`\`\` + +## Conditional Helpers + +### Comparison Helpers +\`\`\`handlebars +{{! Equality }} +{{#if (eq status "active")}} + Active +{{/if}} + +{{! Greater than }} +{{#if (gt price 100)}} + Premium Product +{{/if}} + +{{! Less than or equal }} +{{#if (lte stock 5)}} + Only {{stock}} left! +{{/if}} +\`\`\` + +### Logical Helpers +\`\`\`handlebars +{{! AND logic }} +{{#if (and featured (gt price 50))}} + Featured Premium Item +{{/if}} + +{{! OR logic }} +{{#if (or onSale newArrival)}} + Special +{{/if}} + +{{! NOT logic }} +{{#if (not soldOut)}} + +{{/if}} +\`\`\` + +## Array Helpers + +### Limit Helper +\`\`\`handlebars +{{! Show only first 5 items }} +{{#each (limit products 5)}} +
{{name}}
+{{/each}} +\`\`\` + +### Accessing Array Indices +\`\`\`handlebars +{{#each items}} +
+ {{! @index is 0-based }} + Item #{{add @index 1}}: {{this.name}} + + {{#if @first}} + First + {{/if}} + + {{#if @last}} + Last + {{/if}} +
+{{/each}} +\`\`\` + +## String Helpers + +### Case Transformation +\`\`\`handlebars +

{{uppercase title}}

+

{{lowercase tagline}}

+\`\`\` + +### String Concatenation +\`\`\`handlebars +

{{concat firstName " " lastName}}

+Contact +\`\`\` + +## Math Helpers + +\`\`\`handlebars +{{! Calculate discounted price }} +

Was: \${{price}}

+

Now: \${{subtract price discount}}

+ +{{! Display total }} +

Subtotal: \${{multiply quantity price}}

+ +{{! Show percentage }} +

{{multiply (divide sold total) 100}}% sold

+\`\`\` + +## Partial Composition + +### Basic Partial Usage +\`\`\`handlebars +{{! In index.html }} +{{> header}} +{{> product-card}} +{{> footer}} +\`\`\` + +### Passing Data to Partials +\`\`\`handlebars +{{! Inline parameters }} +{{> card title="Featured Product" price=99 featured=true}} + +{{! From data context }} +{{#each products}} + {{> product-card}} {{! Inherits product data }} +{{/each}} + +{{! With explicit context }} +{{#with featuredProduct}} + {{> card}} {{! Uses featuredProduct as context }} +{{/with}} +\`\`\` + +### Dynamic Partial Selection +\`\`\`handlebars +{{! In data.json }} +{ + "widgets": [ + {"type": "text-widget", "content": "..."}, + {"type": "image-widget", "src": "..."} + ] +} + +{{! In template }} +{{#each widgets}} + {{> (lookup this 'type')}} +{{/each}} +\`\`\` + +## Advanced Patterns + +### Filtering and Querying +\`\`\`handlebars +{{! Show only active products in electronics category }} +{{#each products}} + {{#if (and (eq category "electronics") (eq status "active"))}} +
+

{{name}}

+

\${{price}}

+
+ {{/if}} +{{/each}} +\`\`\` + +### Complex Conditionals +\`\`\`handlebars +{{#if (or (and featured (gt rating 4)) (eq badge "bestseller"))}} + +{{/if}} +\`\`\` + +### Nested Partials with Context +\`\`\`handlebars +{{! templates/page-layout.hbs }} + + {{pageTitle}} + + {{> header siteTitle=../site.title}} + {{> content}} + {{> footer}} + + + +{{! Use ../ to access parent context from nested scope }} +\`\`\` + +## Data.json Best Practices + +### Organize by Concern +\`\`\`json +{ + "meta": { + "title": "Site Title", + "description": "..." + }, + "navigation": [ + {"label": "Home", "path": "/"} + ], + "products": [...], + "testimonials": [...], + "settings": { + "theme": "light", + "currency": "USD" + } +} +\`\`\` + +### Use Arrays for Repeating Data +\`\`\`json +{ + "features": [ + { + "icon": "🚀", + "title": "Fast", + "description": "Lightning quick performance" + }, + { + "icon": "🔒", + "title": "Secure", + "description": "Bank-level security" + } + ] +} +\`\`\` + +## Debugging Templates + +### JSON Helper for Inspection +\`\`\`handlebars +{{! View entire data structure }} +
{{json this}}
+ +{{! View specific object }} +
{{json product}}
+\`\`\` + +### Checking Variable Values +\`\`\`handlebars +{{! Use comments to debug }} +{{! Variable value: {{myVariable}} }} + +{{#if myVariable}} +

Variable exists: {{myVariable}}

+{{else}} +

Variable is undefined/false/null/empty

+{{/if}} +\`\`\` + +## Common Patterns + +### Navigation Menu +\`\`\`json +{ + "navigation": [ + {"label": "Home", "path": "/", "active": true}, + {"label": "About", "path": "/about.html", "active": false} + ] +} +\`\`\` + +\`\`\`handlebars + +\`\`\` + +### Product Grid with Filtering +\`\`\`handlebars +
+ {{#each products}} + {{#if (and (gte price minPrice) (lte price maxPrice))}} +
+

{{name}}

+

\${{price}}

+ {{#if (lt stock 10)}} + Limited Stock + {{/if}} +
+ {{/if}} + {{/each}} +
+\`\`\` + +## Performance Tips + +- Keep \`data.json\` under 100KB for best performance +- Use partials to avoid duplication, not for tiny snippets +- Limit nested loops (max 2-3 levels deep) +- Pre-process complex data transformations outside templates + +## Common Mistakes to Avoid + +- ❌ Writing JavaScript to compile templates (auto-compiled!) +- ❌ Trying to use template strings or ES6 in Handlebars +- ❌ Forgetting that Handlebars is logic-less (complex logic → data.json) +- ❌ Not escaping HTML when needed (\`{{{triple}}}\` for unescaped) +- ❌ Deeply nested data structures (keep it flat when possible) +`},{id:"accessibility",content:String.raw`--- +name: accessibility +description: Read when user mentions accessibility, a11y, WCAG, or when building forms and navigation. Covers semantic HTML, ARIA, and focus management. +--- + +# Web Accessibility Best Practices + +## Purpose +Ensure static websites meet WCAG 2.1 Level AA accessibility standards. Make your sites usable by everyone, including people using assistive technologies. + +## Semantic HTML + +### Proper Heading Hierarchy +\`\`\`html + +

Page Title

+

Section

+

Subsection

+

Another Subsection

+

Another Section

+ + +

Page Title

+

Section

+\`\`\` + +**Rules:** +- One \`

\` per page +- Don't skip heading levels +- Use headings for structure, not styling + +### Landmark Regions +\`\`\`html +
+ +
+ +
+
+ +
+ + +
+ +
+ +
+\`\`\` + +### Lists for Navigation +\`\`\`html + + + + + +\`\`\` + +### Buttons vs Links +\`\`\`html + +Learn More + + + + + + +Click Me +\`\`\` + +## ARIA Attributes + +### When to Use ARIA +**ARIA First Rule**: Don't use ARIA if you can use native HTML instead. + +\`\`\`html + + + + +
Click Me
+\`\`\` + +### Common ARIA Patterns + +**aria-label and aria-labelledby** +\`\`\`html + + + + +

Contact Information

+
+ +
+\`\`\` + +**aria-describedby** +\`\`\`html + + + + Password must be at least 8 characters + +\`\`\` + +**aria-hidden** +\`\`\`html + + + + + +\`\`\` + +### Live Regions +\`\`\`html + +
+ +
+ +
+ +
+ + + +\`\`\` + +## Keyboard Navigation + +### Focusable Elements +\`\`\`css +/* Visible focus indicators */ +*:focus { + outline: 2px solid #005fcc; + outline-offset: 2px; +} + +/* Never remove focus styles without replacement */ +/* ❌ Bad */ +*:focus { + outline: none; +} + +/* ✅ Better: Custom focus style */ +button:focus { + outline: none; + box-shadow: 0 0 0 3px rgba(0,95,204,0.5); +} +\`\`\` + +### Tab Order +\`\`\`html + + + + + + + + + + + + + + +\`\`\` + +### Keyboard Event Handlers +\`\`\`javascript +// Handle both click and keyboard events +button.addEventListener('click', handleAction); +button.addEventListener('keydown', (e) => { + if (e.key === 'Enter' || e.key === ' ') { + e.preventDefault(); + handleAction(); + } +}); + +// Close dialogs on Escape +document.addEventListener('keydown', (e) => { + if (e.key === 'Escape' && dialogOpen) { + closeDialog(); + } +}); +\`\`\` + +### Skip Links +\`\`\`html + + + + + +
+ +
+\`\`\` + +\`\`\`css +.skip-link { + position: absolute; + top: -40px; + left: 0; + background: #000; + color: #fff; + padding: 8px; + z-index: 100; +} + +.skip-link:focus { + top: 0; +} +\`\`\` + +## Color and Contrast + +### WCAG Contrast Ratios +- **Normal text**: 4.5:1 minimum +- **Large text** (18pt+ or 14pt+ bold): 3:1 minimum +- **UI components**: 3:1 minimum + +\`\`\`css +/* ✅ Good contrast (7:1) */ +.text { + color: #333; + background: #fff; +} + +/* ❌ Poor contrast (2.1:1) */ +.text-bad { + color: #ccc; + background: #fff; +} +\`\`\` + +**Tools**: Use contrast checkers (WebAIM, Chrome DevTools) + +### Don't Rely on Color Alone +\`\`\`html + +

Error: Invalid input

+

Success!

+ + +

+ + Error: Invalid input +

+

+ + Success! +

+\`\`\` + +## Form Accessibility + +### Labels for Inputs +\`\`\`html + + + + + + + + + +\`\`\` + +### Required Fields +\`\`\`html + + +\`\`\` + +### Error Messaging +\`\`\`html + + + + Password must be at least 8 characters + +\`\`\` + +### Fieldset and Legend +\`\`\`html +
+ Shipping Method + + +
+\`\`\` + +## Images and Media + +### Alt Text Best Practices +\`\`\`html + +Golden retriever playing with a ball in the park + + + + + + + Search + + + +Image of a photo + + +IMG_1234 +\`\`\` + +### Video Captions +\`\`\`html + +\`\`\` + +## Modal Dialogs + +### Accessible Modal Pattern +\`\`\`javascript +function openModal(modalId) { + const modal = document.getElementById(modalId); + const trigger = document.activeElement; // Remember trigger + + modal.setAttribute('aria-hidden', 'false'); + modal.classList.add('is-open'); + + // Focus first interactive element + const firstFocusable = modal.querySelector('button, [href], input, select'); + firstFocusable?.focus(); + + // Trap focus + modal.addEventListener('keydown', (e) => { + if (e.key === 'Tab') { + trapFocus(e, modal); + } + }); + + // Return focus on close + modal.addEventListener('close', () => { + trigger.focus(); + }); +} +\`\`\` + +## Testing Checklist + +### Automated Testing +- Run axe DevTools or WAVE +- Check contrast ratios +- Validate HTML + +### Manual Testing +- [ ] Navigate entire site using only keyboard (Tab, Enter, Arrows, Escape) +- [ ] Test with screen reader (NVDA, JAWS, VoiceOver) +- [ ] Zoom to 200% - content still readable and usable +- [ ] Disable CSS - content still makes sense +- [ ] Use site in grayscale mode +- [ ] Test forms with different input methods + +### Screen Reader Testing +**Windows**: NVDA (free) +**Mac**: VoiceOver (built-in, Cmd+F5) +**Mobile**: iOS VoiceOver, Android TalkBack + +## Common Mistakes to Avoid + +- Removing focus indicators +- Using \`
\` and \`\` for everything +- Missing form labels +- Non-descriptive link text ("click here") +- Images without alt text +- Keyboard traps (can't navigate away) +- Auto-playing videos without controls +- Time limits without warnings +- Content only accessible on hover +- Poor color contrast + +## Quick Wins + +1. Add alt text to all images +2. Use semantic HTML (\`