wrong-notebook 2026.10.22-4 → 2026.10.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/BUILD_ID +1 -1
- package/.next/app-path-routes-manifest.json +0 -1
- package/.next/build-manifest.json +8 -8
- package/.next/prerender-manifest.json +4 -4
- package/.next/routes-manifest.json +0 -8
- package/.next/server/app/_global-error/page/build-manifest.json +5 -5
- package/.next/server/app/_global-error/page.js +2 -2
- package/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_global-error.html +1 -1
- package/.next/server/app/_global-error.rsc +8 -8
- package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +7 -7
- package/.next/server/app/_global-error.segments/_full.segment.rsc +8 -8
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found/page/build-manifest.json +5 -5
- package/.next/server/app/_not-found/page.js +2 -2
- package/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/admin/page/build-manifest.json +5 -5
- package/.next/server/app/admin/page.js +2 -2
- package/.next/server/app/admin/page.js.nft.json +1 -1
- package/.next/server/app/admin/page_client-reference-manifest.js +1 -1
- package/.next/server/app/admin/user/[id]/page/build-manifest.json +5 -5
- package/.next/server/app/admin/user/[id]/page.js +2 -2
- package/.next/server/app/admin/user/[id]/page.js.nft.json +1 -1
- package/.next/server/app/admin/user/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/api/admin/dashboard/route.js +10 -4
- package/.next/server/app/api/admin/dashboard/route.js.nft.json +1 -1
- package/.next/server/app/api/admin/migrate-tags/route.js +3 -3
- package/.next/server/app/api/admin/migrate-tags/route.js.nft.json +1 -1
- package/.next/server/app/api/admin/system-reset/route.js +4 -4
- package/.next/server/app/api/admin/system-reset/route.js.nft.json +1 -1
- package/.next/server/app/api/admin/users/[id]/detail/route.js +11 -4
- package/.next/server/app/api/admin/users/[id]/detail/route.js.nft.json +1 -1
- package/.next/server/app/api/admin/users/[id]/route.js +3 -3
- package/.next/server/app/api/admin/users/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/admin/users/route.js +3 -3
- package/.next/server/app/api/admin/users/route.js.nft.json +1 -1
- package/.next/server/app/api/ai/models/route.js +7 -7
- package/.next/server/app/api/ai/models/route.js.nft.json +1 -1
- package/.next/server/app/api/ai/test/route.js +8 -8
- package/.next/server/app/api/ai/test/route.js.nft.json +1 -1
- package/.next/server/app/api/analytics/route.js +5 -5
- package/.next/server/app/api/analytics/route.js.nft.json +1 -1
- package/.next/server/app/api/analyze/route.js +9 -9
- package/.next/server/app/api/analyze/route.js.nft.json +1 -1
- package/.next/server/app/api/auth/[...nextauth]/route.js +3 -3
- package/.next/server/app/api/auth/[...nextauth]/route.js.nft.json +1 -1
- package/.next/server/app/api/error-items/[id]/delete/route.js +4 -4
- package/.next/server/app/api/error-items/[id]/delete/route.js.nft.json +1 -1
- package/.next/server/app/api/error-items/[id]/figure/route.js +8 -8
- package/.next/server/app/api/error-items/[id]/figure/route.js.nft.json +1 -1
- package/.next/server/app/api/error-items/[id]/fix-latex/route.js +9 -9
- package/.next/server/app/api/error-items/[id]/fix-latex/route.js.nft.json +1 -1
- package/.next/server/app/api/error-items/[id]/geogebra/route.js +7 -7
- package/.next/server/app/api/error-items/[id]/geogebra/route.js.nft.json +1 -1
- package/.next/server/app/api/error-items/[id]/image/route.js +4 -4
- package/.next/server/app/api/error-items/[id]/image/route.js.nft.json +1 -1
- package/.next/server/app/api/error-items/[id]/notes/route.js +4 -4
- package/.next/server/app/api/error-items/[id]/notes/route.js.nft.json +1 -1
- package/.next/server/app/api/error-items/[id]/practice-records/route.js +4 -4
- package/.next/server/app/api/error-items/[id]/practice-records/route.js.nft.json +1 -1
- package/.next/server/app/api/error-items/[id]/reanswer/route.js +10 -10
- package/.next/server/app/api/error-items/[id]/reanswer/route.js.nft.json +1 -1
- package/.next/server/app/api/error-items/[id]/retag/route.js +8 -8
- package/.next/server/app/api/error-items/[id]/retag/route.js.nft.json +1 -1
- package/.next/server/app/api/error-items/[id]/route.js +1 -1
- package/.next/server/app/api/error-items/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/error-items/[id]/svg-animation/route.js +10 -10
- package/.next/server/app/api/error-items/[id]/svg-animation/route.js.nft.json +1 -1
- package/.next/server/app/api/error-items/batch-delete/route.js +4 -4
- package/.next/server/app/api/error-items/batch-delete/route.js.nft.json +1 -1
- package/.next/server/app/api/error-items/clear/route.js +4 -4
- package/.next/server/app/api/error-items/clear/route.js.nft.json +1 -1
- package/.next/server/app/api/error-items/list/route.js +6 -6
- package/.next/server/app/api/error-items/list/route.js.nft.json +1 -1
- package/.next/server/app/api/error-items/route.js +10 -10
- package/.next/server/app/api/error-items/route.js.nft.json +1 -1
- package/.next/server/app/api/error-items/short/[shortId]/route.js +3 -3
- package/.next/server/app/api/error-items/short/[shortId]/route.js.nft.json +1 -1
- package/.next/server/app/api/error-items/similarity/route.js +4 -4
- package/.next/server/app/api/error-items/similarity/route.js.nft.json +1 -1
- package/.next/server/app/api/exams/[id]/questions/[questionId]/regenerate/route.js +9 -9
- package/.next/server/app/api/exams/[id]/questions/[questionId]/regenerate/route.js.nft.json +1 -1
- package/.next/server/app/api/exams/[id]/results/route.js +7 -7
- package/.next/server/app/api/exams/[id]/results/route.js.nft.json +1 -1
- package/.next/server/app/api/exams/[id]/retry/route.js +9 -9
- package/.next/server/app/api/exams/[id]/retry/route.js.nft.json +1 -1
- package/.next/server/app/api/exams/[id]/route.js +7 -7
- package/.next/server/app/api/exams/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/exams/route.js +9 -9
- package/.next/server/app/api/exams/route.js.nft.json +1 -1
- package/.next/server/app/api/export/route.js +4 -4
- package/.next/server/app/api/export/route.js.nft.json +1 -1
- package/.next/server/app/api/geogebra-analyze/route.js +7 -7
- package/.next/server/app/api/geogebra-analyze/route.js.nft.json +1 -1
- package/.next/server/app/api/health/route.js +2 -2
- package/.next/server/app/api/health/route.js.nft.json +1 -1
- package/.next/server/app/api/import/route.js +9 -9
- package/.next/server/app/api/import/route.js.nft.json +1 -1
- package/.next/server/app/api/logs/frontend/route.js +4 -4
- package/.next/server/app/api/logs/frontend/route.js.nft.json +1 -1
- package/.next/server/app/api/notebooks/[id]/retag/route.js +5 -5
- package/.next/server/app/api/notebooks/[id]/retag/route.js.nft.json +1 -1
- package/.next/server/app/api/notebooks/[id]/route.js +4 -4
- package/.next/server/app/api/notebooks/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/notebooks/route.js +3 -3
- package/.next/server/app/api/notebooks/route.js.nft.json +1 -1
- package/.next/server/app/api/openclaw/batch-upload/route.js +9 -9
- package/.next/server/app/api/openclaw/batch-upload/route.js.nft.json +1 -1
- package/.next/server/app/api/practice/generate/route.js +7 -7
- package/.next/server/app/api/practice/generate/route.js.nft.json +1 -1
- package/.next/server/app/api/practice/record/[id]/route.js +7 -7
- package/.next/server/app/api/practice/record/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/practice/record/route.js +9 -9
- package/.next/server/app/api/practice/record/route.js.nft.json +1 -1
- package/.next/server/app/api/reanswer/route.js +9 -9
- package/.next/server/app/api/reanswer/route.js.nft.json +1 -1
- package/.next/server/app/api/register/route.js.nft.json +1 -1
- package/.next/server/app/api/register/status/route.js +2 -2
- package/.next/server/app/api/register/status/route.js.nft.json +1 -1
- package/.next/server/app/api/settings/route.js +5 -5
- package/.next/server/app/api/settings/route.js.nft.json +1 -1
- package/.next/server/app/api/stats/practice/clear/route.js +4 -4
- package/.next/server/app/api/stats/practice/clear/route.js.nft.json +1 -1
- package/.next/server/app/api/stats/practice/route.js +3 -3
- package/.next/server/app/api/stats/practice/route.js.nft.json +1 -1
- package/.next/server/app/api/tags/route.js +4 -4
- package/.next/server/app/api/tags/route.js.nft.json +1 -1
- package/.next/server/app/api/tags/stats/route.js +4 -4
- package/.next/server/app/api/tags/stats/route.js.nft.json +1 -1
- package/.next/server/app/api/tags/suggestions/route.js +3 -3
- package/.next/server/app/api/tags/suggestions/route.js.nft.json +1 -1
- package/.next/server/app/api/tasks/route.js +4 -4
- package/.next/server/app/api/tasks/route.js.nft.json +1 -1
- package/.next/server/app/api/user/route.js +4 -4
- package/.next/server/app/api/user/route.js.nft.json +1 -1
- package/.next/server/app/api/version/route.js +2 -2
- package/.next/server/app/api/version/route.js.nft.json +1 -1
- package/.next/server/app/error-items/[id]/page/build-manifest.json +5 -5
- package/.next/server/app/error-items/[id]/page.js +2 -2
- package/.next/server/app/error-items/[id]/page.js.nft.json +1 -1
- package/.next/server/app/error-items/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/exams/[id]/page/build-manifest.json +5 -5
- package/.next/server/app/exams/[id]/page.js +2 -2
- package/.next/server/app/exams/[id]/page.js.nft.json +1 -1
- package/.next/server/app/exams/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/exams/[id]/print/page/build-manifest.json +5 -5
- package/.next/server/app/exams/[id]/print/page.js +2 -2
- package/.next/server/app/exams/[id]/print/page.js.nft.json +1 -1
- package/.next/server/app/exams/[id]/print/page_client-reference-manifest.js +1 -1
- package/.next/server/app/exams/page/build-manifest.json +5 -5
- package/.next/server/app/exams/page.js +2 -2
- package/.next/server/app/exams/page.js.nft.json +1 -1
- package/.next/server/app/exams/page_client-reference-manifest.js +1 -1
- package/.next/server/app/favicon.ico/route.js +2 -2
- package/.next/server/app/favicon.ico/route.js.nft.json +1 -1
- package/.next/server/app/latex-test/page/build-manifest.json +5 -5
- package/.next/server/app/latex-test/page.js +2 -2
- package/.next/server/app/latex-test/page.js.nft.json +1 -1
- package/.next/server/app/latex-test/page_client-reference-manifest.js +1 -1
- package/.next/server/app/login/page/build-manifest.json +5 -5
- package/.next/server/app/login/page.js +2 -2
- package/.next/server/app/login/page.js.nft.json +1 -1
- package/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/.next/server/app/manifest.webmanifest/route.js +2 -2
- package/.next/server/app/manifest.webmanifest/route.js.nft.json +1 -1
- package/.next/server/app/notebooks/[id]/add/page/build-manifest.json +5 -5
- package/.next/server/app/notebooks/[id]/add/page.js +2 -2
- package/.next/server/app/notebooks/[id]/add/page.js.nft.json +1 -1
- package/.next/server/app/notebooks/[id]/add/page_client-reference-manifest.js +1 -1
- package/.next/server/app/notebooks/[id]/page/build-manifest.json +5 -5
- package/.next/server/app/notebooks/[id]/page.js +2 -2
- package/.next/server/app/notebooks/[id]/page.js.nft.json +1 -1
- package/.next/server/app/notebooks/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/notebooks/page/build-manifest.json +5 -5
- package/.next/server/app/notebooks/page.js +2 -2
- package/.next/server/app/notebooks/page.js.nft.json +1 -1
- package/.next/server/app/notebooks/page_client-reference-manifest.js +1 -1
- package/.next/server/app/page/build-manifest.json +5 -5
- package/.next/server/app/page.js +2 -2
- package/.next/server/app/page.js.nft.json +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/practice/page/build-manifest.json +5 -5
- package/.next/server/app/practice/page.js +2 -2
- package/.next/server/app/practice/page.js.nft.json +1 -1
- package/.next/server/app/practice/page_client-reference-manifest.js +1 -1
- package/.next/server/app/print-preview/page/build-manifest.json +5 -5
- package/.next/server/app/print-preview/page.js +2 -2
- package/.next/server/app/print-preview/page.js.nft.json +1 -1
- package/.next/server/app/print-preview/page_client-reference-manifest.js +1 -1
- package/.next/server/app/register/page/build-manifest.json +5 -5
- package/.next/server/app/register/page.js.nft.json +1 -1
- package/.next/server/app/register/page_client-reference-manifest.js +1 -1
- package/.next/server/app/stats/page/build-manifest.json +5 -5
- package/.next/server/app/stats/page.js +2 -2
- package/.next/server/app/stats/page.js.nft.json +1 -1
- package/.next/server/app/stats/page_client-reference-manifest.js +1 -1
- package/.next/server/app/tags/page/build-manifest.json +5 -5
- package/.next/server/app/tags/page.js +2 -2
- package/.next/server/app/tags/page.js.nft.json +1 -1
- package/.next/server/app/tags/page_client-reference-manifest.js +1 -1
- package/.next/server/app-paths-manifest.json +0 -1
- package/.next/server/chunks/1jng_app_api_exams_[id]_questions_[questionId]_regenerate_route_actions_1ggead3.js +1 -1
- package/.next/server/chunks/1oeh_server_app_api_error-items_[id]_practice-records_route_actions_0z2zuf1.js +1 -1
- package/.next/server/chunks/1oeh_server_app_api_error-items_[id]_svg-animation_route_actions_17gckf3.js +1 -1
- package/.next/server/chunks/[externals]__04n7qbr._.js +1 -1
- package/.next/server/chunks/[externals]__0jzwjtl._.js +3 -0
- package/.next/server/chunks/[externals]__0pot68n._.js +1 -1
- package/.next/server/chunks/[externals]_assert_1pwe1ri._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__0-2l_pu._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__00_hq9v._.js +6 -6
- package/.next/server/chunks/[root-of-the-server]__00moo9h._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__012xcq-._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__01bzczj._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__02pqrw_._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__033ri9p._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__04pjde6._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__064krqp._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__07iraov._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__07jl92a._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__07q7nsp._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0_t7bbz._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__0_unb90._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0a1zwxf._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0aefi10._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0akadps._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__0cfjgye._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0d-37yj._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0d2kpnm._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0dqgi36._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0dz5c04._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0e_u82_._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0f3jyg0._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0gwwa9b._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0hars8c._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0iozebm._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0k-5uu2._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0k3mm05._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0l-xu_t._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0lggrcf._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0m0eall._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0m37xyb._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0m8p-6f._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__0pa47kn._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0r42_o7._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0rgjh3q._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0rk_yxy._.js +3 -3
- package/.next/server/chunks/[root-of-the-server]__0scij0p._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0sixhu9._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0sj18kk._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0sp4_zo._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0t2o8v-._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0w58v6b._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0wp40ty._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0wsj4a_._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0wvvsah._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0xg5h56._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0zpazf3._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__10hs-qn._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__119xork._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__11_-ncy._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__11jhplo._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__122xu-0._.js +9 -9
- package/.next/server/chunks/[root-of-the-server]__15tkoe6._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__15y1l96._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__16hnc6-._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__17i9sje._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__19_wn9u._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1_gkx5x._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__1_hp3ol._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1_ogacf._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1a4-26x._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1b6i9mu._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1b_y2wk._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1bl7t8i._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1c0vatt._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1c7a0rs._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1chx4lo._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1cngnud._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1d82zkk._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1ezju_2._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1fc23i5._.js +122 -0
- package/.next/server/chunks/[root-of-the-server]__1flnfu4._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1gya7jq._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1hng_h2._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1i40psm._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1ijkds_._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1j4v2e3._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1jtd2ar._.js +2 -2
- package/.next/server/chunks/[root-of-the-server]__1kpo44g._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__1lbcdia._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1m86czr._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1mnpqkx._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1n4b6nb._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1nmrlew._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1nmtv65._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__1o34kp3._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1q7yl7l._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1qv60vg._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1ry8uat._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1s2rww3._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1svvf40._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1tk0-4v._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1v-71me._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1vw740y._.js +9 -9
- package/.next/server/chunks/[root-of-the-server]__1x_ud_-._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1yt_xxr._.js +3 -0
- package/.next/server/chunks/_0-eguqv._.js +1 -1
- package/.next/server/chunks/_008zx49._.js +1 -1
- package/.next/server/chunks/_011-ll5._.js +1 -1
- package/.next/server/chunks/_0389uce._.js +1 -1
- package/.next/server/chunks/_0431fxn._.js +1 -1
- package/.next/server/chunks/_0ekrwj-._.js +6 -6
- package/.next/server/chunks/_0gwg6ba._.js +1 -1
- package/.next/server/chunks/_0gxi3zr._.js +1 -1
- package/.next/server/chunks/_0lz3t4l._.js +2 -2
- package/.next/server/chunks/_0n36ev0._.js +3 -0
- package/.next/server/chunks/_0oc8oe4._.js +3 -0
- package/.next/server/chunks/_0rjzgi0._.js +3 -0
- package/.next/server/chunks/_0uxp3uh._.js +1 -1
- package/.next/server/chunks/_0x3ltk0._.js +6 -6
- package/.next/server/chunks/_10y361h._.js +3 -0
- package/.next/server/chunks/_12w5k19._.js +1 -1
- package/.next/server/chunks/_13ffmxv._.js +1 -1
- package/.next/server/chunks/_14tz_k9._.js +1 -1
- package/.next/server/chunks/_15neond._.js +11 -0
- package/.next/server/chunks/_16jdov0._.js +1 -1
- package/.next/server/chunks/_18amra5._.js +1 -1
- package/.next/server/chunks/_1_ns7o3._.js +1 -1
- package/.next/server/chunks/_1a1aqmi._.js +1 -1
- package/.next/server/chunks/_1a1udq0._.js +1 -1
- package/.next/server/chunks/_1b0269x._.js +1 -1
- package/.next/server/chunks/_1b7qjlv._.js +1 -1
- package/.next/server/chunks/_1be-y66._.js +1 -1
- package/.next/server/chunks/_1ex6ovo._.js +1 -1
- package/.next/server/chunks/_1fgb9ve._.js +1 -1
- package/.next/server/chunks/_1m-yyz-._.js +1 -1
- package/.next/server/chunks/_1n1xsqj._.js +3 -0
- package/.next/server/chunks/_1oj6gy_._.js +1 -1
- package/.next/server/chunks/_1pvqo-q._.js +1 -1
- package/.next/server/chunks/_1z_ujac._.js +1 -1
- package/.next/server/chunks/_211va-d._.js +1 -1
- package/.next/server/chunks/_2194yr7._.js +11 -0
- package/.next/server/chunks/_next-internal_server_app_api_admin_dashboard_route_actions_1ispso-.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_admin_users_[id]_detail_route_actions_0oe_wkt.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_admin_users_route_actions_0q-rtz1.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_ai_models_route_actions_0w7iwv-.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_ai_test_route_actions_1p0n1q8.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_analytics_route_actions_1e0ou17.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_analyze_route_actions_0lx-23h.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_auth_[___nextauth]_route_actions_08nexdk.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_error-items_[id]_figure_route_actions_0adlts0.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_error-items_[id]_fix-latex_route_actions_0hc7dhx.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_error-items_[id]_geogebra_route_actions_1-ks4uv.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_error-items_[id]_image_route_actions_1k9n5yl.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_error-items_[id]_reanswer_route_actions_1-sw0j2.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_error-items_[id]_retag_route_actions_0ckki4n.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_error-items_[id]_route_actions_1kbs4ux.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_error-items_batch-delete_route_actions_0hiq_1k.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_error-items_clear_route_actions_14t_6i-.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_error-items_list_route_actions_032x4ue.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_error-items_route_actions_1zdvz0p.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_error-items_similarity_route_actions_1i26if9.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_exams_[id]_retry_route_actions_1fdi39f.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_exams_[id]_route_actions_1wuidrq.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_exams_route_actions_1c_zhtj.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_export_route_actions_0lpcnjc.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_geogebra-analyze_route_actions_1xng0_c.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_health_route_actions_1ryftkb.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_import_route_actions_20ko04x.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_logs_frontend_route_actions_0nxepty.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_notebooks_[id]_retag_route_actions_00su_t8.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_notebooks_[id]_route_actions_11j3vxg.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_notebooks_route_actions_02cy45r.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_openclaw_batch-upload_route_actions_1zz3oen.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_practice_generate_route_actions_1krr9n_.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_practice_record_[id]_route_actions_0zreiom.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_practice_record_route_actions_0py9z__.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_reanswer_route_actions_04xweh_.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_register_route_actions_0vlzh_c.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_register_status_route_actions_0b52_sj.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_settings_route_actions_1bpm9ac.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_stats_practice_clear_route_actions_1iz6iz0.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_stats_practice_route_actions_1tfoxx-.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_tags_route_actions_1nb9ma2.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_tags_stats_route_actions_0fmeadc.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_tags_suggestions_route_actions_1xpolyv.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_tasks_route_actions_123tq1_.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_favicon_ico_route_actions_0g2jjls.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_manifest_webmanifest_route_actions_08hcpz0.js +1 -1
- package/.next/server/chunks/node_modules_next_1zdbrne._.js +1 -1
- package/.next/server/chunks/node_modules_zod_v4_classic_external_1-pw2v2.js +3 -3
- package/.next/server/chunks/src_0tzpy5j._.js +1 -1
- package/.next/server/chunks/src_lib_ai_prompts_ts_0z36zms._.js +1 -1
- package/.next/server/chunks/src_lib_date-time_ts_14chb27._.js +1 -1
- package/.next/server/chunks/src_lib_question-deduplication_ts_1p1bik-._.js +1 -1
- package/.next/server/chunks/ssr/[externals]_fs_0pplqgc._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__00gewu3._.js +3 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__03psbtz._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__05f8wbh._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0a0nty7._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0ax9dog._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0bvtza7._.js +2 -2
- package/.next/server/chunks/ssr/[root-of-the-server]__0g_-bym._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0gwwr7e._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0hzktoi._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0koj8h0._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0s87xha._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0skyo1a._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0snpjfe._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0y_e9do._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0ybs_4c._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__14l7peq._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__1507q8a._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__15ppb9j._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__191jn5n._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__1f2jx51._.js +2 -2
- package/.next/server/chunks/ssr/[root-of-the-server]__1gth76-._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__1ko_dw5._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__1l84pks._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__1m7qw-2._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__1ma2oml._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__1o8jotz._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__1o__w27._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__1p7f0va._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__1sg9eoj._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__1u74hyi._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__1xsovpr._.js +1 -1
- package/.next/server/chunks/ssr/_054yhx9._.js +1 -1
- package/.next/server/chunks/ssr/_07ls0n_._.js +1 -1
- package/.next/server/chunks/ssr/_0i9hwpv._.js +1 -1
- package/.next/server/chunks/ssr/_0iqp5hs._.js +1 -1
- package/.next/server/chunks/ssr/_0m1-rq-._.js +1 -1
- package/.next/server/chunks/ssr/_0mgbe2b._.js +1 -1
- package/.next/server/chunks/ssr/_0nv22wt._.js +1 -1
- package/.next/server/chunks/ssr/_0rz2_qb._.js +5 -5
- package/.next/server/chunks/ssr/_0sbbx9z._.js +2 -2
- package/.next/server/chunks/ssr/_0sf1gd9._.js +1 -1
- package/.next/server/chunks/ssr/_0uemk57._.js +1 -1
- package/.next/server/chunks/ssr/_0zj7dlu._.js +1 -1
- package/.next/server/chunks/ssr/_11ut-6_._.js +3 -0
- package/.next/server/chunks/ssr/_17igtpd._.js +1 -1
- package/.next/server/chunks/ssr/_1aot_70._.js +3 -0
- package/.next/server/chunks/ssr/_1filpif._.js +3 -0
- package/.next/server/chunks/ssr/_1jniqsj._.js +1 -1
- package/.next/server/chunks/ssr/_1kgnhmo._.js +2 -2
- package/.next/server/chunks/ssr/_1lt1lhz._.js +2 -2
- package/.next/server/chunks/ssr/_1yeu09q._.js +1 -1
- package/.next/server/chunks/ssr/_next-internal_server_app__global-error_page_actions_0zi5s8-.js +1 -1
- package/.next/server/chunks/ssr/_next-internal_server_app__not-found_page_actions_0pt47yr.js +1 -1
- package/.next/server/chunks/ssr/_next-internal_server_app_admin_page_actions_1mcickz.js +1 -1
- package/.next/server/chunks/ssr/_next-internal_server_app_admin_user_[id]_page_actions_0baj8gs.js +1 -1
- package/.next/server/chunks/ssr/_next-internal_server_app_error-items_[id]_page_actions_0qla9ak.js +1 -1
- package/.next/server/chunks/ssr/_next-internal_server_app_exams_[id]_print_page_actions_0pxdgxq.js +1 -1
- package/.next/server/chunks/ssr/_next-internal_server_app_exams_page_actions_0av69f-.js +1 -1
- package/.next/server/chunks/ssr/_next-internal_server_app_latex-test_page_actions_19v7ka0.js +1 -1
- package/.next/server/chunks/ssr/_next-internal_server_app_login_page_actions_04fnjo0.js +1 -1
- package/.next/server/chunks/ssr/_next-internal_server_app_notebooks_[id]_add_page_actions_0275ft2.js +1 -1
- package/.next/server/chunks/ssr/_next-internal_server_app_notebooks_[id]_page_actions_1qj0i-7.js +1 -1
- package/.next/server/chunks/ssr/_next-internal_server_app_notebooks_page_actions_06x1kdz.js +1 -1
- package/.next/server/chunks/ssr/_next-internal_server_app_page_actions_0hhsz1j.js +1 -1
- package/.next/server/chunks/ssr/_next-internal_server_app_practice_page_actions_0cy-h5n.js +1 -1
- package/.next/server/chunks/ssr/_next-internal_server_app_print-preview_page_actions_1jhaaln.js +1 -1
- package/.next/server/chunks/ssr/_next-internal_server_app_register_page_actions_1op-s-x.js +1 -1
- package/.next/server/chunks/ssr/_next-internal_server_app_stats_page_actions_1olf1_a.js +1 -1
- package/.next/server/chunks/ssr/node_modules_0o2aki7._.js +1 -1
- package/.next/server/chunks/ssr/node_modules_1y5ym6h._.js +1 -1
- package/.next/server/chunks/ssr/node_modules_next_1lnqo1a._.js +3 -3
- package/.next/server/chunks/ssr/node_modules_next_dist_077yo5w._.js +1 -1
- package/.next/server/chunks/ssr/node_modules_next_dist_0nkkbfv._.js +2 -2
- package/.next/server/chunks/ssr/node_modules_next_dist_1_c-t1n._.js +4 -4
- package/.next/server/chunks/ssr/node_modules_next_dist_1v8aef8._.js +1 -1
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_0bew68i._.js +2 -2
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_0wpq8j3._.js +1 -1
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_forbidden_0symwr9.js +1 -1
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_global-error_0q-w892.js +1 -1
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_unauthorized_0l_sp0x.js +1 -1
- package/.next/server/chunks/ssr/src_1biegcg._.js +1 -1
- package/.next/server/chunks/ssr/src_1gayunq._.js +1 -1
- package/.next/server/chunks/ssr/src_1o363ao._.js +1 -1
- package/.next/server/chunks/ssr/src_app_admin_page_tsx_0ublbd0._.js +1 -1
- package/.next/server/chunks/ssr/src_app_error-items_[id]_page_tsx_04xwwdm._.js +1 -1
- package/.next/server/chunks/ssr/src_app_notebooks_[id]_page_tsx_08njm-5._.js +1 -1
- package/.next/server/chunks/ssr/src_app_notebooks_page_tsx_1p9src5._.js +1 -1
- package/.next/server/chunks/ssr/src_app_page_tsx_1chiuah._.js +1 -1
- package/.next/server/chunks/ssr/src_app_practice_page_tsx_10gnx53._.js +1 -1
- package/.next/server/chunks/ssr/src_app_tags_page_tsx_1h2vkk4._.js +1 -1
- package/.next/server/chunks/ssr/src_components_providers_tsx_09kw-mv._.js +2 -2
- package/.next/server/chunks/ssr/src_lib_date-time_ts_0oyqctn._.js +1 -1
- package/.next/server/edge/chunks/[root-of-the-server]__1osrt2u._.js +1 -1
- package/.next/server/edge/chunks/_1s0wgnu._.js +1 -1
- package/.next/server/edge/chunks/node_modules_0g4gi6f._.js +3 -3
- package/.next/server/edge/chunks/turbopack-node_modules_next_dist_esm_build_templates_edge-wrapper_1iafar9.js +1 -1
- package/.next/server/edge/chunks/turbopack-node_modules_next_dist_esm_build_templates_edge-wrapper_1x1n1fx.js +1 -1
- package/.next/server/instrumentation.js +2 -2
- package/.next/server/middleware-build-manifest.js +8 -8
- package/.next/server/middleware-manifest.json +5 -5
- package/.next/server/pages/500.html +1 -1
- package/.next/server/server-reference-manifest.js +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/chunks/03gmdewlo3s6u.js +1 -0
- package/.next/static/chunks/06q8lm6y95ac4.css +1 -0
- package/.next/static/chunks/0_w084ms_lq25.js +22 -0
- package/.next/static/chunks/0dzfsm6h13fyr.js +1 -0
- package/.next/static/chunks/0ehjiuuxbbhq9.js +1 -0
- package/.next/static/chunks/0ij2dqb0qj5ry.js +1 -0
- package/.next/static/chunks/0iq53qkw5hvrs.js +1 -0
- package/.next/static/chunks/0m81l71kojx8j.js +1 -0
- package/.next/static/chunks/0nckb2-62ooyq.js +1 -0
- package/.next/static/chunks/0pwdmc9gw8ben.js +33 -0
- package/.next/static/chunks/0snej-v5yglxr.js +1 -0
- package/.next/static/chunks/1-7k9gbbjkcml.js +1 -0
- package/.next/static/chunks/1c92up8k2x0z4.js +1 -0
- package/.next/static/chunks/1cd32rtomdngh.js +1 -0
- package/.next/static/chunks/1io3-cth_2-cd.js +1 -0
- package/.next/static/chunks/1oiuiyv1cv06v.js +31 -0
- package/.next/static/chunks/1t4-pobw0y5cf.js +1 -0
- package/.next/static/chunks/1xg811762s1p1.js +1 -0
- package/.next/static/chunks/1z_5sj1wqi06v.js +1 -0
- package/.next/static/chunks/24dymggis4suf.css +3 -0
- package/.next/static/chunks/24jbwfpgmio7x.js +1 -0
- package/.next/static/chunks/27fr34_1v7xyh.js +1 -0
- package/.next/static/chunks/2dlme2fdlkms6.js +1 -0
- package/.next/static/chunks/2eu_bls12m1wj.js +1 -0
- package/.next/static/chunks/2pmzqbg-qabof.js +1 -0
- package/.next/static/chunks/2w2uo9jjxt-re.js +1 -0
- package/.next/static/chunks/2x8e_fbze06sd.js +1 -0
- package/.next/static/chunks/2z1_5umv36es6.js +191 -0
- package/.next/static/chunks/32bl-oqw9oso0.js +1 -0
- package/.next/static/chunks/3b-g5_r9nto3s.js +6 -0
- package/.next/static/chunks/3g1rm2suowncy.js +3 -0
- package/.next/static/chunks/3helovsg02qr4.js +1 -0
- package/.next/static/chunks/3jta6jrk-jubq.js +1 -0
- package/.next/static/chunks/3m4c1r8_2ga_1.js +1 -0
- package/.next/static/chunks/3whzkc6d8oefw.js +1 -0
- package/.next/static/chunks/3yhf6xyypekz6.js +1 -0
- package/.next/static/chunks/3z9gc_02gl8n9.js +1 -0
- package/.next/static/chunks/427wg73nuzpiz.js +5 -0
- package/.next/static/chunks/turbopack-1-0r7_puvz3eq.js +1 -0
- package/launcher.js +22 -6
- package/package.json +1 -1
- package/prisma/seed.db +0 -0
- package/.next/server/app/api/error-items/[id]/mastery/route/app-paths-manifest.json +0 -3
- package/.next/server/app/api/error-items/[id]/mastery/route/build-manifest.json +0 -12
- package/.next/server/app/api/error-items/[id]/mastery/route/server-reference-manifest.json +0 -4
- package/.next/server/app/api/error-items/[id]/mastery/route.js +0 -8
- package/.next/server/app/api/error-items/[id]/mastery/route.js.map +0 -5
- package/.next/server/app/api/error-items/[id]/mastery/route.js.nft.json +0 -1
- package/.next/server/app/api/error-items/[id]/mastery/route_client-reference-manifest.js +0 -3
- package/.next/server/chunks/[externals]__1735khz._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__02j1w81._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__03nfvnm._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__04tyyvs._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__05s4wut._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__06_nln5._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__06h5afw._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0be5c5r._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0bqawi0._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0bsw5c9._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0c59gc3._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0cmxmwt._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0d5dpu4._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0d9ijed._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0e22a4y._.js +0 -122
- package/.next/server/chunks/[root-of-the-server]__0fnyu4s._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0gp88gz._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0inxsnu._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0j5231l._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0jaawra._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0k-nf6a._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0k-p1pj._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0lrdm1u._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0lro5a7._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0mfjf2y._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0mqorxb._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0no6umu._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0nqbham._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0o9gtvd._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0obb4y-._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0p3u6_q._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0rmrkd_._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0tdibjz._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0u58zap._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0vhjihq._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0vz88er._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0wf9znr._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0yc8r2x._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0zv7jom._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__11_1z7m._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__11n87go._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__11p4ahb._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__131taws._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__13ebiit._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1413v0e._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__14dnbrn._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__14jqm9_._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__152lbaw._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__16begv4._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__17duis5._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__17q3k-v._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__184u6de._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__18atlj8._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__18c7l6u._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__18zrkky._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__19vj8qy._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1aaux7e._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1cceu4b._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1cn6rlb._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1csfdxc._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1ezwxao._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1g1wi9i._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1gmc_uw._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1h09r50._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1hpwwxw._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1j6mx-v._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1jdi-1f._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1ju8z29._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1kqv61m._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1lct0vi._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1loecue._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1m4-ab6._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1mkpya8._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1nwf3ua._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1oup682._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1p8hw44._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1pplzr1._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1rsn804._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1sdtn83._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1u-1vx4._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1v6nwhq._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__20465pr._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__207mxv8._.js +0 -3
- package/.next/server/chunks/_0_o8yhv._.js +0 -3
- package/.next/server/chunks/_0c5hvv3._.js +0 -11
- package/.next/server/chunks/_0frix22._.js +0 -11
- package/.next/server/chunks/_0rdo0a4._.js +0 -3
- package/.next/server/chunks/_167vv93._.js +0 -3
- package/.next/server/chunks/_1e1h1f1._.js +0 -3
- package/.next/server/chunks/_1flar98._.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_error-items_[id]_mastery_route_actions_1l5uan6.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0b8kewv._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0icjezr._.js +0 -3
- package/.next/server/chunks/ssr/_062gk85._.js +0 -3
- package/.next/server/chunks/ssr/_0idg05p._.js +0 -3
- package/.next/server/chunks/ssr/_1gu1rou._.js +0 -3
- package/.next/static/chunks/02d-8f2qj7j3j.js +0 -1
- package/.next/static/chunks/02t7qqptint2p.js +0 -1
- package/.next/static/chunks/090a6irxe0c6j.js +0 -1
- package/.next/static/chunks/0bhxyq7e2eqjc.js +0 -5
- package/.next/static/chunks/0if-vqkhyn-zc.js +0 -1
- package/.next/static/chunks/0jf31atbtr1mv.js +0 -1
- package/.next/static/chunks/0te6mr86gdyyi.js +0 -191
- package/.next/static/chunks/0vgthy7v615hq.js +0 -1
- package/.next/static/chunks/1e5n4cprhwujv.js +0 -1
- package/.next/static/chunks/1edfvwc5_eck-.js +0 -31
- package/.next/static/chunks/1f0u19gh5_49z.js +0 -1
- package/.next/static/chunks/1fdj59ys-pend.js +0 -1
- package/.next/static/chunks/1kerqdluzq2l0.js +0 -1
- package/.next/static/chunks/1r4lwlvm7m53v.js +0 -1
- package/.next/static/chunks/1rz1bokv9edzr.js +0 -1
- package/.next/static/chunks/1s-d67d-yroyw.js +0 -1
- package/.next/static/chunks/1tw5_upsy-qj_.js +0 -22
- package/.next/static/chunks/1w1xvldfmcs67.js +0 -6
- package/.next/static/chunks/1zdof8ylzqm8w.js +0 -1
- package/.next/static/chunks/2-k1hjh6ff6y4.js +0 -1
- package/.next/static/chunks/21qpve5q3mjly.js +0 -1
- package/.next/static/chunks/21v32ctwcoxqt.js +0 -1
- package/.next/static/chunks/27-t289uq6_ju.js +0 -3
- package/.next/static/chunks/293-te2b34thz.js +0 -1
- package/.next/static/chunks/2dgleoh5fbs83.js +0 -1
- package/.next/static/chunks/2di_nd6djcxwu.js +0 -1
- package/.next/static/chunks/2mk03owifu2m1.js +0 -33
- package/.next/static/chunks/2qza4p5d9fz_2.js +0 -1
- package/.next/static/chunks/2s4c8fcrdnew4.js +0 -1
- package/.next/static/chunks/2zdqnkem9n6a9.js +0 -1
- package/.next/static/chunks/3-wm04s--suy5.js +0 -1
- package/.next/static/chunks/33t46atd3n2zd.js +0 -1
- package/.next/static/chunks/37yx4gh09tzwc.js +0 -1
- package/.next/static/chunks/3c4-ozf1dxam2.css +0 -1
- package/.next/static/chunks/3gwb465dhjxo9.js +0 -1
- package/.next/static/chunks/3hkgw-uib19xl.js +0 -1
- package/.next/static/chunks/3n-yabfsiog4i.css +0 -3
- package/.next/static/chunks/3umldi5zknsyi.js +0 -1
- package/.next/static/chunks/turbopack-1yjxh4vceobdr.js +0 -1
- /package/.next/static/{678uJSzOSzePaLyv5hUv0 → Y0pwgmRdVAifh_zukihNt}/_buildManifest.js +0 -0
- /package/.next/static/{678uJSzOSzePaLyv5hUv0 → Y0pwgmRdVAifh_zukihNt}/_clientMiddlewareManifest.js +0 -0
- /package/.next/static/{678uJSzOSzePaLyv5hUv0 → Y0pwgmRdVAifh_zukihNt}/_ssgManifest.js +0 -0
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[
|
|
1
|
+
module.exports=[66455,e=>e.a(async(t,r)=>{try{var a=e.i(58821),n=e.i(13618),i=e.i(79832),o=e.i(58078),s=e.i(76759),l=e.i(90604),d=e.i(98876),u=e.i(50377),c=e.i(81183),p=t([i]);[i]=p.then?(await p)():p;let w=(0,u.createLogger)("api:ai:models");async function h(e,t){let r=`${t}/v1beta/models?key=${encodeURIComponent(e)}`,a=await fetch(r,{headers:{"Content-Type":"application/json"}});if(!a.ok){let e=await a.text();throw w.error({status:a.status,errorText:e},"Gemini models API error"),Error(`Gemini API error: ${a.status}`)}return((await a.json()).models||[]).map(e=>{let t=e.name.replace(/^models\//,"");return{id:t,name:t,owned_by:"Google"}})}async function m(e,t){let r=`${t}/models`,a=await fetch(r,{headers:{Authorization:`Bearer ${e}`,"Content-Type":"application/json"}});if(!a.ok)throw w.error({statusText:a.statusText},"OpenAI models API error"),Error(`API error: ${a.status}`);return((await a.json()).data||[]).map(e=>({id:e.id,name:e.id,owned_by:e.owned_by}))}async function R(e,t){let r=await fetch(`${t}/v1/models?limit=100`,{headers:{"x-api-key":e,"anthropic-version":"2023-06-01"}});if(!r.ok)throw w.error({status:r.status},"Anthropic models API error"),Error(`API error: ${r.status}`);return((await r.json()).data||[]).map(e=>({id:e.id,name:e.display_name||e.id,owned_by:"Anthropic"}))}async function v(e){let t=await (0,n.getServerSession)(i.authOptions);if(!(0,o.requireAdmin)(t))return(0,s.forbidden)("Admin access required");try{let{provider:t,apiKey:r,baseUrl:n}=await e.json();if(!r)return a.NextResponse.json({error:"API key is required"},{status:400});let i=[],o=e=>(0,c.normalizeHttpBaseUrl)(n||e);return i="anthropic"===t?await R(r,o(l.DEFAULT_ANTHROPIC_BASE_URL)):(0,d.isVendorProvider)(t)?await m(r,o(d.VENDOR_PRESETS[t].baseUrl)):"gemini"===t?await h(r,o("https://generativelanguage.googleapis.com")):await m(r,o("https://api.openai.com/v1")),a.NextResponse.json({models:i})}catch(e){return w.error({error:e},"Error fetching models"),a.NextResponse.json({error:e instanceof Error&&e.message||"Internal server error",models:[]},{status:200})}}e.s(["POST",0,v]),r()}catch(e){r(e)}},!1),50936,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),n=e.i(59756),i=e.i(61916),o=e.i(74677),s=e.i(69741),l=e.i(16795),d=e.i(87718),u=e.i(95169),c=e.i(47587),p=e.i(66012),h=e.i(70101),m=e.i(74838),R=e.i(10372),v=e.i(93695),w=e.i(9580);e.i(52474);var f=e.i(220);let g=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/ai/models/route",pathname:"/api/ai/models",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/ai/models/route.ts",nextConfigOutput:"standalone",userland:()=>e.r(66455),...{}}),{workAsyncStorage:E,workUnitAsyncStorage:A,serverHooks:C}=g;async function y(e,t,a){a.requestMeta&&(0,n.setRequestMeta)(e,a.requestMeta),g.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let E="/api/ai/models/route";E=E.replace(/\/index$/,"")||"/";let A=await g.prepare(e,t,{srcPage:E,multiZoneDraftMode:!1});if(!A)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:C,deploymentId:y,params:x,nextConfig:T,parsedUrl:P,isDraftMode:S,prerenderManifest:b,routerServerContext:_,isOnDemandRevalidate:N,revalidateOnlyGenerated:I,resolvedPathname:O,clientReferenceManifest:q,serverActionsManifest:H}=A,U=(0,s.normalizeAppPath)(E),k=!!b.routes[O]&&(g.isDev||(0,w.isRouteCacheOwner)(O,g.cacheOwner,b.routes[O])),j=!!(b.dynamicRoutes[U]||k),D=async()=>((null==_?void 0:_.render404)?await _.render404(e,t,P,!1):t.end("This page could not be found"),null);if(j&&!S){let e=b.dynamicRoutes[U];if(e&&!1===e.fallback&&!k){if(T.adapterPath)return await D();throw new v.NoFallbackError}}let M=null;!j||g.isDev||S||(M="/index"===(M=O)?"/":M);let $=!0===g.isDev||!j,L=j&&!$;H&&q&&(0,o.setManifestsSingleton)({page:E,clientReferenceManifest:q,serverActionsManifest:H});let B=e.method||"GET",F=(0,i.getTracer)(),G=F.getActiveScopeSpan(),K=!!(null==_?void 0:_.isWrappedByNextServer),V=!!(0,n.getRequestMeta)(e,"minimalMode"),z=(0,n.getRequestMeta)(e,"incrementalCache")||await g.getIncrementalCache(e,T,b,V);null==z||z.resetRequestCache(),globalThis.__incrementalCache=z;let X={params:x,previewProps:b.preview,renderOpts:{experimental:{authInterrupts:!!T.experimental.authInterrupts,useCacheTimeout:T.experimental.useCacheTimeout},cacheComponents:!!T.cacheComponents,validationLevel:T.experimental.instantInsights.validationLevel,isDraftMode:S,supportsDynamicResponse:$,incrementalCache:z,hmrRefreshHash:(0,n.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:T.cacheLife,staticPageGenerationTimeout:T.staticPageGenerationTimeout,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>g.onRequestError(e,t,a,n,_)},sharedContext:{buildId:C,deploymentId:y}},W=new l.NodeNextRequest(e),Z=new l.NodeNextResponse(t),J=d.NextRequestAdapter.fromNodeNextRequest(W,(0,d.signalFromNodeResponse)(t)),Q=async({previousCacheEntry:r})=>{try{if(!V&&N&&I&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await g.handle(J,X);e.fetchMetrics=X.renderOpts.fetchMetrics;let i=X.renderOpts.pendingWaitUntil;i&&a.waitUntil&&(a.waitUntil(i),i=void 0);let o=X.renderOpts.collectedTags;if(!j)return await (0,p.sendResponse)(W,Z,n,i),null;{let e=await n.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(n.headers);o&&(t[R.NEXT_CACHE_TAGS_HEADER]=o),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==X.renderOpts.collectedRevalidate&&!(X.renderOpts.collectedRevalidate>=R.INFINITE_CACHE)&&X.renderOpts.collectedRevalidate,a=void 0===X.renderOpts.collectedExpire||X.renderOpts.collectedExpire>=R.INFINITE_CACHE?!1!==r&&r>0?T.expireTime:void 0:X.renderOpts.collectedExpire;return{value:{kind:f.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await g.onRequestError(e,t,{routerKind:"App Router",routePath:E,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:L,isOnDemandRevalidate:N})},!1,_),t}},Y=async(n,o)=>{try{var s,l;let n=await g.handleResponse({req:e,nextConfig:T,cacheKey:M,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:b,isRoutePPREnabled:!1,isOnDemandRevalidate:N,revalidateOnlyGenerated:I,responseGenerator:Q,waitUntil:a.waitUntil,isMinimalMode:V});if(!j)return;if((null==n||null==(s=n.value)?void 0:s.kind)!==f.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==n||null==(l=n.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});V||t.setHeader("x-nextjs-cache",N?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),S&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let i=(0,h.fromNodeOutgoingHttpHeaders)(n.value.headers);V&&j||i.delete(R.NEXT_CACHE_TAGS_HEADER),!n.cacheControl||t.getHeader("Cache-Control")||i.get("Cache-Control")||i.set("Cache-Control",(0,m.getCacheControlHeader)(n.cacheControl)),await (0,p.sendResponse)(W,Z,new Response(n.value.body,{headers:i,status:n.value.status||200}));return}catch(t){if(t instanceof v.NoFallbackError||await g.onRequestError(e,t,{routerKind:"App Router",routePath:U,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:L,isOnDemandRevalidate:N})},!1,_),j)throw t;await (0,p.sendResponse)(W,Z,new Response(null,{status:500}));return}finally{(()=>{if(!n)return;let e=t.statusCode;n.setAttributes({"http.status_code":e,"next.rsc":!1}),e&&e>=500&&(n.setStatus({code:i.SpanStatusCode.ERROR}),n.setAttribute("error.type",e.toString()));let r=F.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route")||U,s=`${B} ${a}`;n.setAttributes({"next.route":a,"http.route":a,"next.span_name":s}),n.updateName(s),o&&o!==n&&(o.setAttribute("http.route",a),o.updateName(s))})()}};if(K&&G)await Y(G,void 0);else{let t=F.getActiveScopeSpan();await F.withPropagatedContext(e.headers,()=>F.trace(u.BaseServerSpan.handleRequest,{spanName:`${B} ${E}`,kind:i.SpanKind.SERVER,attributes:{"http.method":B,"http.target":e.url}},e=>Y(e,t)),void 0,!K)}}e.s(["handler",0,y,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:E,workUnitAsyncStorage:A})},"routeModule",0,g,"serverHooks",0,C,"workAsyncStorage",0,E,"workUnitAsyncStorage",0,A])}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=_16jdov0._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[
|
|
1
|
+
module.exports=[20561,e=>e.a(async(t,r)=>{try{var a=e.i(58821),n=e.i(98043),o=e.i(79832),i=e.i(13618),s=e.i(76759),u=e.i(50377),l=t([o]);[o]=l.then?(await l)():l;let h=(0,u.createLogger)("api:notebooks:id");async function d(e,{params:t}){let{id:r}=await t,u=await (0,i.getServerSession)(o.authOptions);try{let e;if(u?.user?.email&&(e=await n.prisma.user.findUnique({where:{email:u.user.email}})),!e)return(0,s.unauthorized)("Authentication required");let t=await n.prisma.subject.findUnique({where:{id:r},include:{_count:{select:{errorItems:!0}}}});if(!t)return(0,s.notFound)("Notebook not found");if(t.userId!==e.id)return(0,s.forbidden)("Not authorized to access this notebook");return a.NextResponse.json(t)}catch(e){return h.error({error:e},"Error fetching notebook"),(0,s.internalError)("Failed to fetch notebook")}}async function c(e,{params:t}){let{id:r}=await t,u=await (0,i.getServerSession)(o.authOptions);try{let t;if(u?.user?.email&&(t=await n.prisma.user.findUnique({where:{email:u.user.email}})),!t)return(0,s.unauthorized)("Authentication required");let o=await n.prisma.subject.findUnique({where:{id:r}});if(!o)return(0,s.notFound)("Notebook not found");if(o.userId!==t.id)return(0,s.forbidden)("Not authorized to update this notebook");let{name:i}=await e.json();if(!i||!i.trim())return(0,s.badRequest)("Notebook name is required");let l=await n.prisma.subject.update({where:{id:r},data:{name:i.trim()},include:{_count:{select:{errorItems:!0}}}});return a.NextResponse.json(l)}catch(e){return h.error({error:e},"Error updating notebook"),(0,s.internalError)("Failed to update notebook")}}async function p(e,{params:t}){let{id:r}=await t,u=await (0,i.getServerSession)(o.authOptions);try{let e;if(u?.user?.email&&(e=await n.prisma.user.findUnique({where:{email:u.user.email}})),!e)return(0,s.unauthorized)("Authentication required");let t=await n.prisma.subject.findUnique({where:{id:r},include:{_count:{select:{errorItems:!0}}}});if(!t)return(0,s.notFound)("Notebook not found");if(t.userId!==e.id)return(0,s.forbidden)("Not authorized to delete this notebook");if(t._count.errorItems>0)return(0,s.badRequest)("Cannot delete notebook with error items. Please move or delete all items first.");return await n.prisma.subject.delete({where:{id:r}}),a.NextResponse.json({message:"Notebook deleted successfully"})}catch(e){return h.error({error:e},"Error deleting notebook"),(0,s.internalError)("Failed to delete notebook")}}e.s(["DELETE",0,p,"GET",0,d,"PUT",0,c]),r()}catch(e){r(e)}},!1),89171,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),n=e.i(59756),o=e.i(61916),i=e.i(74677),s=e.i(69741),u=e.i(16795),l=e.i(87718),d=e.i(95169),c=e.i(47587),p=e.i(66012),h=e.i(70101),f=e.i(74838),m=e.i(10372),R=e.i(93695),w=e.i(9580);e.i(52474);var v=e.i(220);let b=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/notebooks/[id]/route",pathname:"/api/notebooks/[id]",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/notebooks/[id]/route.ts",nextConfigOutput:"standalone",userland:()=>e.r(20561),...{}}),{workAsyncStorage:g,workUnitAsyncStorage:E,serverHooks:C}=b;async function x(e,t,a){a.requestMeta&&(0,n.setRequestMeta)(e,a.requestMeta),b.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let g="/api/notebooks/[id]/route";g=g.replace(/\/index$/,"")||"/";let E=await b.prepare(e,t,{srcPage:g,multiZoneDraftMode:!1});if(!E)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:C,deploymentId:x,params:y,nextConfig:A,parsedUrl:N,isDraftMode:k,prerenderManifest:T,routerServerContext:S,isOnDemandRevalidate:q,revalidateOnlyGenerated:P,resolvedPathname:O,clientReferenceManifest:_,serverActionsManifest:I}=E,U=(0,s.normalizeAppPath)(g),H=!!T.routes[O]&&(b.isDev||(0,w.isRouteCacheOwner)(O,b.cacheOwner,T.routes[O])),j=!!(T.dynamicRoutes[U]||H),M=async()=>((null==S?void 0:S.render404)?await S.render404(e,t,N,!1):t.end("This page could not be found"),null);if(j&&!k){let e=T.dynamicRoutes[U];if(e&&!1===e.fallback&&!H){if(A.adapterPath)return await M();throw new R.NoFallbackError}}let D=null;!j||b.isDev||k||(D="/index"===(D=O)?"/":D);let F=!0===b.isDev||!j,L=j&&!F;I&&_&&(0,i.setManifestsSingleton)({page:g,clientReferenceManifest:_,serverActionsManifest:I});let K=e.method||"GET",z=(0,o.getTracer)(),$=z.getActiveScopeSpan(),B=!!(null==S?void 0:S.isWrappedByNextServer),G=!!(0,n.getRequestMeta)(e,"minimalMode"),V=(0,n.getRequestMeta)(e,"incrementalCache")||await b.getIncrementalCache(e,A,T,G);null==V||V.resetRequestCache(),globalThis.__incrementalCache=V;let X={params:y,previewProps:T.preview,renderOpts:{experimental:{authInterrupts:!!A.experimental.authInterrupts,useCacheTimeout:A.experimental.useCacheTimeout},cacheComponents:!!A.cacheComponents,validationLevel:A.experimental.instantInsights.validationLevel,isDraftMode:k,supportsDynamicResponse:F,incrementalCache:V,hmrRefreshHash:(0,n.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:A.cacheLife,staticPageGenerationTimeout:A.staticPageGenerationTimeout,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>b.onRequestError(e,t,a,n,S)},sharedContext:{buildId:C,deploymentId:x}},W=new u.NodeNextRequest(e),Z=new u.NodeNextResponse(t),J=l.NextRequestAdapter.fromNodeNextRequest(W,(0,l.signalFromNodeResponse)(t)),Q=async({previousCacheEntry:r})=>{try{if(!G&&q&&P&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await b.handle(J,X);e.fetchMetrics=X.renderOpts.fetchMetrics;let o=X.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let i=X.renderOpts.collectedTags;if(!j)return await (0,p.sendResponse)(W,Z,n,o),null;{let e=await n.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(n.headers);i&&(t[m.NEXT_CACHE_TAGS_HEADER]=i),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==X.renderOpts.collectedRevalidate&&!(X.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&X.renderOpts.collectedRevalidate,a=void 0===X.renderOpts.collectedExpire||X.renderOpts.collectedExpire>=m.INFINITE_CACHE?!1!==r&&r>0?A.expireTime:void 0:X.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await b.onRequestError(e,t,{routerKind:"App Router",routePath:g,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:L,isOnDemandRevalidate:q})},!1,S),t}},Y=async(n,i)=>{try{var s,u;let n=await b.handleResponse({req:e,nextConfig:A,cacheKey:D,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:T,isRoutePPREnabled:!1,isOnDemandRevalidate:q,revalidateOnlyGenerated:P,responseGenerator:Q,waitUntil:a.waitUntil,isMinimalMode:G});if(!j)return;if((null==n||null==(s=n.value)?void 0:s.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==n||null==(u=n.value)?void 0:u.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});G||t.setHeader("x-nextjs-cache",q?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),k&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let o=(0,h.fromNodeOutgoingHttpHeaders)(n.value.headers);G&&j||o.delete(m.NEXT_CACHE_TAGS_HEADER),!n.cacheControl||t.getHeader("Cache-Control")||o.get("Cache-Control")||o.set("Cache-Control",(0,f.getCacheControlHeader)(n.cacheControl)),await (0,p.sendResponse)(W,Z,new Response(n.value.body,{headers:o,status:n.value.status||200}));return}catch(t){if(t instanceof R.NoFallbackError||await b.onRequestError(e,t,{routerKind:"App Router",routePath:U,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:L,isOnDemandRevalidate:q})},!1,S),j)throw t;await (0,p.sendResponse)(W,Z,new Response(null,{status:500}));return}finally{(()=>{if(!n)return;let e=t.statusCode;n.setAttributes({"http.status_code":e,"next.rsc":!1}),e&&e>=500&&(n.setStatus({code:o.SpanStatusCode.ERROR}),n.setAttribute("error.type",e.toString()));let r=z.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==d.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route")||U,s=`${K} ${a}`;n.setAttributes({"next.route":a,"http.route":a,"next.span_name":s}),n.updateName(s),i&&i!==n&&(i.setAttribute("http.route",a),i.updateName(s))})()}};if(B&&$)await Y($,void 0);else{let t=z.getActiveScopeSpan();await z.withPropagatedContext(e.headers,()=>z.trace(d.BaseServerSpan.handleRequest,{spanName:`${K} ${g}`,kind:o.SpanKind.SERVER,attributes:{"http.method":K,"http.target":e.url}},e=>Y(e,t)),void 0,!B)}}e.s(["handler",0,x,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:g,workUnitAsyncStorage:E})},"routeModule",0,b,"serverHooks",0,C,"workAsyncStorage",0,g,"workUnitAsyncStorage",0,E])}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=_18amra5._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[71643,e=>e.a(async(t,r)=>{try{var a=e.i(89171),i=e.i(698043),s=e.i(79832),n=e.i(757660),o=e.i(181912),d=e.i(50377),l=e.i(926828),u=e.i(92366),c=e.i(141070),p=e.i(404752),m=e.i(160979),h=e.i(999617),g=e.i(668426),f=e.i(819428),w=e.i(655920),v=t([s]);[s]=v.then?(await v)():v;let y=(0,d.createLogger)("api:import");function R(e){if(!e)return;let t=new Date(e);return isNaN(t.getTime())?void 0:t}async function I(e){let t=await (0,n.getServerSession)(s.authOptions);if(!t?.user?.email)return(0,o.unauthorized)("Not authenticated");let r=await i.prisma.user.findUnique({where:{email:t.user.email}});if(!r)return(0,o.unauthorized)("User not found");let{searchParams:d}=new URL(e.url),v="true"===d.get("all");if(v&&"admin"!==t.user.role)return(0,o.forbidden)("Admin role required");let I=null;try{let t=e.headers.get("content-length");if(t&&parseInt(t,10)>0x3200000)return(0,o.badRequest)("Request body too large (max 50MB)");let s=await e.json();if(!s.version||!s.user||!Array.isArray(s.errorItems))return(0,o.badRequest)("Invalid import data format");if(!v&&s.user.email!==r.email)return(0,o.badRequest)("Import data does not belong to current user");let n={subjectsCreated:0,tagsCreated:0,errorItemsCreated:0,reviewSchedulesCreated:0,practiceRecordsCreated:0,tagsLinked:0,duplicateErrorItems:0},d=new Set;return I=(0,l.startBackgroundTask)({userId:r.id,kind:"data_import"}),await i.prisma.$transaction(async e=>{let t=new Map;for(let a of s.subjects||[]){let i=v?a.userId:r.id,s=await e.subject.findFirst({where:{name:a.name,userId:i}});if(s)t.set(a.id,s.id);else{let r=(0,g.resolveNotebookScope)(a),s=await e.subject.create({data:{name:a.name,stage:r.stage,subjectKey:r.subject,userId:i}});t.set(a.id,s.id),n.subjectsCreated++}}let a=new Map;for(let t of s.customTags||[]){let i=v?t.userId:r.id,s=await e.knowledgeTag.findFirst({where:{name:t.name,userId:i,isSystem:!1}});if(s)a.set(t.id,s.id);else{let r;t.parentId&&a.has(t.parentId)&&(r=a.get(t.parentId));let s=await e.knowledgeTag.create({data:{name:t.name,subject:t.subject,isSystem:!1,userId:i,parentId:r,order:t.order||0,code:t.code}});a.set(t.id,s.id),n.tagsCreated++}}let i=new Set;for(let e of s.errorItems)if(e.tags)for(let t of e.tags)i.add(t.name);let o=await e.knowledgeTag.findMany({where:{name:{in:Array.from(i)},OR:[{isSystem:!0},...v?[]:[{userId:r.id}]]}}),l=new Map;for(let e of o)l.has(e.name)&&(v||e.userId!==r.id)||l.set(e.name,e.id);let I=new Map,y=new Map;for(let i of s.errorItems){let s=v?i.userId:r.id;y.set(i.id,s);let o=i.subjectId?t.get(i.subjectId):void 0,p=await (0,m.findDuplicateQuestion)(e,s,i);if(p){let t=await (0,m.recordDuplicateQuestion)(e,s,p,i);I.set(i.id,t.id),d.add(t.id),n.duplicateErrorItems++,n.practiceRecordsCreated++;continue}let g=(0,c.isShortId)(i.shortId)&&!await e.errorItem.findUnique({where:{shortId:i.shortId},select:{id:!0}}),C=(0,h.parseDifficultyStars)(i.difficultyStars),S=await e.errorItem.create({data:{shortId:g?i.shortId:await (0,u.generateUniqueShortId)(e),userId:s,subjectId:o||void 0,originalImageUrl:i.originalImageUrl||"",ocrText:i.ocrText,questionText:i.questionText,answerText:i.answerText,analysis:i.analysis,wrongAnswerText:i.wrongAnswerText,mistakeAnalysis:i.mistakeAnalysis,mistakeStatus:i.mistakeStatus,knowledgePoints:i.knowledgePoints,source:i.source,errorType:i.errorType,userNotes:i.userNotes,masteryLevel:function(e){let t="number"==typeof e?e:parseInt(String(e),10);return isNaN(t)||t<0||t>2?0:t}(i.masteryLevel),gradeSemester:i.gradeSemester,paperLevel:i.paperLevel??(0,w.getDefaultPaperLevel)(C),difficultyStars:C,hasFigure:!0===i.hasFigure||null!==(0,f.sanitizeFigureSvg)(i.figureSvg),figureSvg:(0,f.sanitizeFigureSvg)(i.figureSvg),createdAt:R(i.createdAt)}});if(I.set(i.id,S.id),n.errorItemsCreated++,i.tags&&i.tags.length>0){let t=[];for(let e of i.tags)a.has(e.id)?t.push({id:a.get(e.id)}):l.has(e.name)&&t.push({id:l.get(e.name)});t.length>0&&(await e.errorItem.update({where:{id:S.id},data:{tags:{connect:t}}}),n.tagsLinked+=t.length)}}for(let t of s.reviewSchedules||[]){let r=I.get(t.errorItemId);if(r){let a=R(t.scheduledFor);if(a){if(await e.reviewSchedule.findFirst({where:{errorItemId:r,scheduledFor:a}}))continue;await e.reviewSchedule.create({data:{errorItemId:r,scheduledFor:a,completedAt:R(t.completedAt),isCorrect:t.isCorrect}}),n.reviewSchedulesCreated++}}}for(let t of s.practiceRecords||[]){let a=v?t.userId:r.id,i=t.errorItemId&&y.get(t.errorItemId)===a?I.get(t.errorItemId):void 0,s=(0,p.isPracticeResult)(t.result)?t.result:void 0;await e.practiceRecord.create({data:{userId:a,subject:t.subject,difficulty:t.difficulty,isCorrect:t.isCorrect,...i?{errorItemId:i,result:s,questionText:t.questionText,answerText:t.answerText,analysis:t.analysis,wrongAnswerText:t.wrongAnswerText,mistakeAnalysis:t.mistakeAnalysis,originalImageUrl:t.originalImageUrl,source:["practice","manual","exam","duplicate_import"].includes(t.source||"")?t.source:"practice"}:{},createdAt:R(t.createdAt)}}),n.practiceRecordsCreated++,i&&s&&d.add(i)}},{timeout:6e4}),d.size&&(0,p.scheduleMasteryEvaluation)([...d]),I.succeed(),y.info({userId:r.id,scope:v?"all":"user",...n},"Data import completed"),a.NextResponse.json({success:!0,stats:n})}catch(e){return I?.fail(e),y.error({error:e,userId:r.id},"Import failed"),(0,o.internalError)("Failed to import data")}}e.s(["POST",0,I]),r()}catch(e){r(e)}},!1),583557,e=>{"use strict";var t=e.i(747909),r=e.i(174017),a=e.i(996250),i=e.i(759756),s=e.i(561916),n=e.i(174677),o=e.i(869741),d=e.i(316795),l=e.i(487718),u=e.i(995169),c=e.i(47587),p=e.i(666012),m=e.i(570101),h=e.i(626937),g=e.i(10372),f=e.i(193695),w=e.i(509580);e.i(52474);var v=e.i(600220);let R=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/import/route",pathname:"/api/import",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/import/route.ts",nextConfigOutput:"standalone",userland:()=>e.r(71643),...{}}),{workAsyncStorage:I,workUnitAsyncStorage:y,serverHooks:C}=R;async function S(e,t,a){a.requestMeta&&(0,i.setRequestMeta)(e,a.requestMeta),R.isDev&&(0,i.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let I="/api/import/route";I=I.replace(/\/index$/,"")||"/";let y=await R.prepare(e,t,{srcPage:I,multiZoneDraftMode:!1});if(!y)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:C,deploymentId:S,params:T,nextConfig:x,parsedUrl:A,isDraftMode:b,prerenderManifest:E,routerServerContext:N,isOnDemandRevalidate:q,revalidateOnlyGenerated:P,resolvedPathname:k,clientReferenceManifest:O,serverActionsManifest:M}=y,U=(0,o.normalizeAppPath)(I),_=!!E.routes[k]&&(R.isDev||(0,w.isRouteCacheOwner)(k,R.cacheOwner,E.routes[k])),j=!!(E.dynamicRoutes[U]||_),D=async()=>((null==N?void 0:N.render404)?await N.render404(e,t,A,!1):t.end("This page could not be found"),null);if(j&&!b){let e=E.dynamicRoutes[U];if(e&&!1===e.fallback&&!_){if(x.adapterPath)return await D();throw new f.NoFallbackError}}let H=null;!j||R.isDev||b||(H="/index"===(H=k)?"/":H);let F=!0===R.isDev||!j,L=j&&!F;M&&O&&(0,n.setManifestsSingleton)({page:I,clientReferenceManifest:O,serverActionsManifest:M});let K=e.method||"GET",B=(0,s.getTracer)(),$=B.getActiveScopeSpan(),z=!!(null==N?void 0:N.isWrappedByNextServer),G=!!(0,i.getRequestMeta)(e,"minimalMode"),V=(0,i.getRequestMeta)(e,"incrementalCache")||await R.getIncrementalCache(e,x,E,G);null==V||V.resetRequestCache(),globalThis.__incrementalCache=V;let X={params:T,previewProps:E.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts,useCacheTimeout:x.experimental.useCacheTimeout},cacheComponents:!!x.cacheComponents,validationLevel:x.experimental.instantInsights.validationLevel,isDraftMode:b,supportsDynamicResponse:F,incrementalCache:V,hmrRefreshHash:(0,i.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:x.cacheLife,staticPageGenerationTimeout:x.staticPageGenerationTimeout,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,i)=>R.onRequestError(e,t,a,i,N)},sharedContext:{buildId:C,deploymentId:S}},Q=new d.NodeNextRequest(e),W=new d.NodeNextResponse(t),Z=l.NextRequestAdapter.fromNodeNextRequest(Q,(0,l.signalFromNodeResponse)(t)),J=async({previousCacheEntry:r})=>{try{if(!G&&q&&P&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let i=await R.handle(Z,X);e.fetchMetrics=X.renderOpts.fetchMetrics;let s=X.renderOpts.pendingWaitUntil;s&&a.waitUntil&&(a.waitUntil(s),s=void 0);let n=X.renderOpts.collectedTags;if(!j)return await (0,p.sendResponse)(Q,W,i,s),null;{let e=await i.blob(),t=(0,m.toNodeOutgoingHttpHeaders)(i.headers);n&&(t[g.NEXT_CACHE_TAGS_HEADER]=n),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==X.renderOpts.collectedRevalidate&&!(X.renderOpts.collectedRevalidate>=g.INFINITE_CACHE)&&X.renderOpts.collectedRevalidate,a=void 0===X.renderOpts.collectedExpire||X.renderOpts.collectedExpire>=g.INFINITE_CACHE?!1!==r&&r>0?x.expireTime:void 0:X.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:i.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await R.onRequestError(e,t,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:L,isOnDemandRevalidate:q})},!1,N),t}},Y=async(i,n)=>{try{var o,d;let i=await R.handleResponse({req:e,nextConfig:x,cacheKey:H,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:E,isRoutePPREnabled:!1,isOnDemandRevalidate:q,revalidateOnlyGenerated:P,responseGenerator:J,waitUntil:a.waitUntil,isMinimalMode:G});if(!j)return;if((null==i||null==(o=i.value)?void 0:o.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==i||null==(d=i.value)?void 0:d.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});G||t.setHeader("x-nextjs-cache",q?"REVALIDATED":i.isMiss?"MISS":i.isStale?"STALE":"HIT"),b&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let s=(0,m.fromNodeOutgoingHttpHeaders)(i.value.headers);G&&j||s.delete(g.NEXT_CACHE_TAGS_HEADER),!i.cacheControl||t.getHeader("Cache-Control")||s.get("Cache-Control")||s.set("Cache-Control",(0,h.getCacheControlHeader)(i.cacheControl)),await (0,p.sendResponse)(Q,W,new Response(i.value.body,{headers:s,status:i.value.status||200}));return}catch(t){if(t instanceof f.NoFallbackError||await R.onRequestError(e,t,{routerKind:"App Router",routePath:U,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:L,isOnDemandRevalidate:q})},!1,N),j)throw t;await (0,p.sendResponse)(Q,W,new Response(null,{status:500}));return}finally{(()=>{if(!i)return;let e=t.statusCode;i.setAttributes({"http.status_code":e,"next.rsc":!1}),e&&e>=500&&(i.setStatus({code:s.SpanStatusCode.ERROR}),i.setAttribute("error.type",e.toString()));let r=B.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route")||U,o=`${K} ${a}`;i.setAttributes({"next.route":a,"http.route":a,"next.span_name":o}),i.updateName(o),n&&n!==i&&(n.setAttribute("http.route",a),n.updateName(o))})()}};if(z&&$)await Y($,void 0);else{let t=B.getActiveScopeSpan();await B.withPropagatedContext(e.headers,()=>B.trace(u.BaseServerSpan.handleRequest,{spanName:`${K} ${I}`,kind:s.SpanKind.SERVER,attributes:{"http.method":K,"http.target":e.url}},e=>Y(e,t)),void 0,!z)}}e.s(["handler",0,S,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:I,workUnitAsyncStorage:y})},"routeModule",0,R,"serverHooks",0,C,"workAsyncStorage",0,I,"workUnitAsyncStorage",0,y])}];
|
|
1
|
+
module.exports=[71643,e=>e.a(async(t,r)=>{try{var a=e.i(58821),i=e.i(98043),s=e.i(79832),n=e.i(13618),o=e.i(76759),d=e.i(50377),l=e.i(26828),u=e.i(92366),c=e.i(41070),p=e.i(95886),m=e.i(60979),h=e.i(99617),g=e.i(68426),f=e.i(19428),w=e.i(55920),v=t([s]);[s]=v.then?(await v)():v;let y=(0,d.createLogger)("api:import");function R(e){if(!e)return;let t=new Date(e);return isNaN(t.getTime())?void 0:t}async function I(e){let t=await (0,n.getServerSession)(s.authOptions);if(!t?.user?.email)return(0,o.unauthorized)("Not authenticated");let r=await i.prisma.user.findUnique({where:{email:t.user.email}});if(!r)return(0,o.unauthorized)("User not found");let{searchParams:d}=new URL(e.url),v="true"===d.get("all");if(v&&"admin"!==t.user.role)return(0,o.forbidden)("Admin role required");let I=null;try{let t=e.headers.get("content-length");if(t&&parseInt(t,10)>0x3200000)return(0,o.badRequest)("Request body too large (max 50MB)");let s=await e.json();if(!s.version||!s.user||!Array.isArray(s.errorItems))return(0,o.badRequest)("Invalid import data format");if(!v&&s.user.email!==r.email)return(0,o.badRequest)("Import data does not belong to current user");let n={subjectsCreated:0,tagsCreated:0,errorItemsCreated:0,reviewSchedulesCreated:0,practiceRecordsCreated:0,tagsLinked:0,duplicateErrorItems:0},d=new Set;return I=(0,l.startBackgroundTask)({userId:r.id,kind:"data_import"}),await i.prisma.$transaction(async e=>{let t=new Map;for(let a of s.subjects||[]){let i=v?a.userId:r.id,s=await e.subject.findFirst({where:{name:a.name,userId:i}});if(s)t.set(a.id,s.id);else{let r=(0,g.resolveNotebookScope)(a),s=await e.subject.create({data:{name:a.name,stage:r.stage,subjectKey:r.subject,userId:i}});t.set(a.id,s.id),n.subjectsCreated++}}let a=new Map;for(let t of s.customTags||[]){let i=v?t.userId:r.id,s=await e.knowledgeTag.findFirst({where:{name:t.name,userId:i,isSystem:!1}});if(s)a.set(t.id,s.id);else{let r;t.parentId&&a.has(t.parentId)&&(r=a.get(t.parentId));let s=await e.knowledgeTag.create({data:{name:t.name,subject:t.subject,isSystem:!1,userId:i,parentId:r,order:t.order||0,code:t.code}});a.set(t.id,s.id),n.tagsCreated++}}let i=new Set;for(let e of s.errorItems)if(e.tags)for(let t of e.tags)i.add(t.name);let o=await e.knowledgeTag.findMany({where:{name:{in:Array.from(i)},OR:[{isSystem:!0},...v?[]:[{userId:r.id}]]}}),l=new Map;for(let e of o)l.has(e.name)&&(v||e.userId!==r.id)||l.set(e.name,e.id);let I=new Map,y=new Map;for(let i of s.errorItems){let s=v?i.userId:r.id;y.set(i.id,s);let o=i.subjectId?t.get(i.subjectId):void 0,p=await (0,m.findDuplicateQuestion)(e,s,i);if(p){let t=await (0,m.recordDuplicateQuestion)(e,s,p,i);I.set(i.id,t.id),d.add(t.id),n.duplicateErrorItems++,n.practiceRecordsCreated++;continue}let g=(0,c.isShortId)(i.shortId)&&!await e.errorItem.findUnique({where:{shortId:i.shortId},select:{id:!0}}),C=(0,h.parseDifficultyStars)(i.difficultyStars),S=await e.errorItem.create({data:{shortId:g?i.shortId:await (0,u.generateUniqueShortId)(e),userId:s,subjectId:o||void 0,originalImageUrl:i.originalImageUrl||"",ocrText:i.ocrText,questionText:i.questionText,answerText:i.answerText,analysis:i.analysis,wrongAnswerText:i.wrongAnswerText,mistakeAnalysis:i.mistakeAnalysis,mistakeStatus:i.mistakeStatus,knowledgePoints:i.knowledgePoints,source:i.source,errorType:i.errorType,userNotes:i.userNotes,masteryLevel:function(e){let t="number"==typeof e?e:parseInt(String(e),10);return isNaN(t)||t<0||t>2?0:t}(i.masteryLevel),gradeSemester:i.gradeSemester,paperLevel:i.paperLevel??(0,w.getDefaultPaperLevel)(C),difficultyStars:C,hasFigure:!0===i.hasFigure||null!==(0,f.sanitizeFigureSvg)(i.figureSvg),figureSvg:(0,f.sanitizeFigureSvg)(i.figureSvg),createdAt:R(i.createdAt)}});if(I.set(i.id,S.id),n.errorItemsCreated++,i.tags&&i.tags.length>0){let t=[];for(let e of i.tags)a.has(e.id)?t.push({id:a.get(e.id)}):l.has(e.name)&&t.push({id:l.get(e.name)});t.length>0&&(await e.errorItem.update({where:{id:S.id},data:{tags:{connect:t}}}),n.tagsLinked+=t.length)}}for(let t of s.reviewSchedules||[]){let r=I.get(t.errorItemId);if(r){let a=R(t.scheduledFor);if(a){if(await e.reviewSchedule.findFirst({where:{errorItemId:r,scheduledFor:a}}))continue;await e.reviewSchedule.create({data:{errorItemId:r,scheduledFor:a,completedAt:R(t.completedAt),isCorrect:t.isCorrect}}),n.reviewSchedulesCreated++}}}for(let t of s.practiceRecords||[]){let a=v?t.userId:r.id,i=t.errorItemId&&y.get(t.errorItemId)===a?I.get(t.errorItemId):void 0,s=(0,p.isPracticeResult)(t.result)?t.result:void 0;await e.practiceRecord.create({data:{userId:a,subject:t.subject,difficulty:t.difficulty,isCorrect:t.isCorrect,...i?{errorItemId:i,result:s,questionText:t.questionText,answerText:t.answerText,analysis:t.analysis,wrongAnswerText:t.wrongAnswerText,mistakeAnalysis:t.mistakeAnalysis,originalImageUrl:t.originalImageUrl,source:["practice","manual","exam","duplicate_import"].includes(t.source||"")?t.source:"practice"}:{},createdAt:R(t.createdAt)}}),n.practiceRecordsCreated++,i&&s&&d.add(i)}},{timeout:6e4}),d.size&&(0,p.scheduleMasteryEvaluation)([...d]),I.succeed(),y.info({userId:r.id,scope:v?"all":"user",...n},"Data import completed"),a.NextResponse.json({success:!0,stats:n})}catch(e){return I?.fail(e),y.error({error:e,userId:r.id},"Import failed"),(0,o.internalError)("Failed to import data")}}e.s(["POST",0,I]),r()}catch(e){r(e)}},!1),83557,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),i=e.i(59756),s=e.i(61916),n=e.i(74677),o=e.i(69741),d=e.i(16795),l=e.i(87718),u=e.i(95169),c=e.i(47587),p=e.i(66012),m=e.i(70101),h=e.i(74838),g=e.i(10372),f=e.i(93695),w=e.i(9580);e.i(52474);var v=e.i(220);let R=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/import/route",pathname:"/api/import",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/import/route.ts",nextConfigOutput:"standalone",userland:()=>e.r(71643),...{}}),{workAsyncStorage:I,workUnitAsyncStorage:y,serverHooks:C}=R;async function S(e,t,a){a.requestMeta&&(0,i.setRequestMeta)(e,a.requestMeta),R.isDev&&(0,i.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let I="/api/import/route";I=I.replace(/\/index$/,"")||"/";let y=await R.prepare(e,t,{srcPage:I,multiZoneDraftMode:!1});if(!y)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:C,deploymentId:S,params:T,nextConfig:x,parsedUrl:A,isDraftMode:b,prerenderManifest:E,routerServerContext:N,isOnDemandRevalidate:q,revalidateOnlyGenerated:P,resolvedPathname:k,clientReferenceManifest:O,serverActionsManifest:M}=y,U=(0,o.normalizeAppPath)(I),_=!!E.routes[k]&&(R.isDev||(0,w.isRouteCacheOwner)(k,R.cacheOwner,E.routes[k])),j=!!(E.dynamicRoutes[U]||_),D=async()=>((null==N?void 0:N.render404)?await N.render404(e,t,A,!1):t.end("This page could not be found"),null);if(j&&!b){let e=E.dynamicRoutes[U];if(e&&!1===e.fallback&&!_){if(x.adapterPath)return await D();throw new f.NoFallbackError}}let H=null;!j||R.isDev||b||(H="/index"===(H=k)?"/":H);let F=!0===R.isDev||!j,L=j&&!F;M&&O&&(0,n.setManifestsSingleton)({page:I,clientReferenceManifest:O,serverActionsManifest:M});let K=e.method||"GET",B=(0,s.getTracer)(),$=B.getActiveScopeSpan(),z=!!(null==N?void 0:N.isWrappedByNextServer),G=!!(0,i.getRequestMeta)(e,"minimalMode"),V=(0,i.getRequestMeta)(e,"incrementalCache")||await R.getIncrementalCache(e,x,E,G);null==V||V.resetRequestCache(),globalThis.__incrementalCache=V;let X={params:T,previewProps:E.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts,useCacheTimeout:x.experimental.useCacheTimeout},cacheComponents:!!x.cacheComponents,validationLevel:x.experimental.instantInsights.validationLevel,isDraftMode:b,supportsDynamicResponse:F,incrementalCache:V,hmrRefreshHash:(0,i.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:x.cacheLife,staticPageGenerationTimeout:x.staticPageGenerationTimeout,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,i)=>R.onRequestError(e,t,a,i,N)},sharedContext:{buildId:C,deploymentId:S}},Q=new d.NodeNextRequest(e),W=new d.NodeNextResponse(t),Z=l.NextRequestAdapter.fromNodeNextRequest(Q,(0,l.signalFromNodeResponse)(t)),J=async({previousCacheEntry:r})=>{try{if(!G&&q&&P&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let i=await R.handle(Z,X);e.fetchMetrics=X.renderOpts.fetchMetrics;let s=X.renderOpts.pendingWaitUntil;s&&a.waitUntil&&(a.waitUntil(s),s=void 0);let n=X.renderOpts.collectedTags;if(!j)return await (0,p.sendResponse)(Q,W,i,s),null;{let e=await i.blob(),t=(0,m.toNodeOutgoingHttpHeaders)(i.headers);n&&(t[g.NEXT_CACHE_TAGS_HEADER]=n),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==X.renderOpts.collectedRevalidate&&!(X.renderOpts.collectedRevalidate>=g.INFINITE_CACHE)&&X.renderOpts.collectedRevalidate,a=void 0===X.renderOpts.collectedExpire||X.renderOpts.collectedExpire>=g.INFINITE_CACHE?!1!==r&&r>0?x.expireTime:void 0:X.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:i.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await R.onRequestError(e,t,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:L,isOnDemandRevalidate:q})},!1,N),t}},Y=async(i,n)=>{try{var o,d;let i=await R.handleResponse({req:e,nextConfig:x,cacheKey:H,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:E,isRoutePPREnabled:!1,isOnDemandRevalidate:q,revalidateOnlyGenerated:P,responseGenerator:J,waitUntil:a.waitUntil,isMinimalMode:G});if(!j)return;if((null==i||null==(o=i.value)?void 0:o.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==i||null==(d=i.value)?void 0:d.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});G||t.setHeader("x-nextjs-cache",q?"REVALIDATED":i.isMiss?"MISS":i.isStale?"STALE":"HIT"),b&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let s=(0,m.fromNodeOutgoingHttpHeaders)(i.value.headers);G&&j||s.delete(g.NEXT_CACHE_TAGS_HEADER),!i.cacheControl||t.getHeader("Cache-Control")||s.get("Cache-Control")||s.set("Cache-Control",(0,h.getCacheControlHeader)(i.cacheControl)),await (0,p.sendResponse)(Q,W,new Response(i.value.body,{headers:s,status:i.value.status||200}));return}catch(t){if(t instanceof f.NoFallbackError||await R.onRequestError(e,t,{routerKind:"App Router",routePath:U,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:L,isOnDemandRevalidate:q})},!1,N),j)throw t;await (0,p.sendResponse)(Q,W,new Response(null,{status:500}));return}finally{(()=>{if(!i)return;let e=t.statusCode;i.setAttributes({"http.status_code":e,"next.rsc":!1}),e&&e>=500&&(i.setStatus({code:s.SpanStatusCode.ERROR}),i.setAttribute("error.type",e.toString()));let r=B.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route")||U,o=`${K} ${a}`;i.setAttributes({"next.route":a,"http.route":a,"next.span_name":o}),i.updateName(o),n&&n!==i&&(n.setAttribute("http.route",a),n.updateName(o))})()}};if(z&&$)await Y($,void 0);else{let t=B.getActiveScopeSpan();await B.withPropagatedContext(e.headers,()=>B.trace(u.BaseServerSpan.handleRequest,{spanName:`${K} ${I}`,kind:s.SpanKind.SERVER,attributes:{"http.method":K,"http.target":e.url}},e=>Y(e,t)),void 0,!z)}}e.s(["handler",0,S,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:I,workUnitAsyncStorage:y})},"routeModule",0,R,"serverHooks",0,C,"workAsyncStorage",0,I,"workUnitAsyncStorage",0,y])}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=_1_ns7o3._.js.map
|