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
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[75185,e=>e.a(async(t,r)=>{try{var a=e.i(58821),i=e.i(98043),n=e.i(63856),s=e.i(76759),o=e.i(50377),u=e.i(74866),l=t([n]);[n]=l.then?(await l)():l;let p=(0,o.createLogger)("api:exams:id");async function d(e,{params:t}){let{id:r}=await t;try{let e=await (0,n.getCurrentUser)();if(!e)return(0,s.unauthorized)("Authentication required");let t=await i.prisma.examPaper.findUnique({where:{id:r},include:{questions:{orderBy:{order:"asc"},include:{errorItem:{select:{id:!0,subject:{select:{name:!0}}}},practiceRecords:{orderBy:[{createdAt:"asc"},{id:"asc"}],select:{id:!0,result:!0,createdAt:!0}}}}}});if(!t||t.userId!==e.id)return(0,s.notFound)("Exam paper not found");"generating"!==t.status||(0,u.isPaperGenerating)(t.id)||(0,u.generateExamPaper)(t.id);let{userId:o,questions:l,...d}=t;return a.NextResponse.json({...d,questions:l.map(({errorItem:e,practiceRecords:t,...r})=>({...r,notebookName:e?.subject?.name??null,attempts:t}))})}catch(e){return p.error({error:e},"Error fetching exam paper"),(0,s.internalError)("Failed to fetch exam paper")}}async function c(e,{params:t}){let{id:r}=await t;try{let e=await (0,n.getCurrentUser)();if(!e)return(0,s.unauthorized)("Authentication required");let t=await i.prisma.examPaper.findUnique({where:{id:r},select:{userId:!0}});if(!t||t.userId!==e.id)return(0,s.notFound)("Exam paper not found");return await i.prisma.examPaper.delete({where:{id:r}}),a.NextResponse.json({success:!0})}catch(e){return p.error({error:e},"Error deleting exam paper"),(0,s.internalError)("Failed to delete exam paper")}}e.s(["DELETE",0,c,"GET",0,d]),r()}catch(e){r(e)}},!1),98057,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),i=e.i(59756),n=e.i(61916),s=e.i(74677),o=e.i(69741),u=e.i(16795),l=e.i(87718),d=e.i(95169),c=e.i(47587),p=e.i(66012),m=e.i(70101),h=e.i(74838),f=e.i(10372),g=e.i(93695),w=e.i(9580);e.i(52474);var E=e.i(220);let x=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/exams/[id]/route",pathname:"/api/exams/[id]",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/exams/[id]/route.ts",nextConfigOutput:"standalone",userland:()=>e.r(75185),...{}}),{workAsyncStorage:y,workUnitAsyncStorage:R,serverHooks:S}=x;async function T(e,t,a){a.requestMeta&&(0,i.setRequestMeta)(e,a.requestMeta),x.isDev&&(0,i.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let y="/api/exams/[id]/route";y=y.replace(/\/index$/,"")||"/";let R=await x.prepare(e,t,{srcPage:y,multiZoneDraftMode:!1});if(!R)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:S,deploymentId:T,params:v,nextConfig:I,parsedUrl:A,isDraftMode:C,prerenderManifest:_,routerServerContext:P,isOnDemandRevalidate:q,revalidateOnlyGenerated:N,resolvedPathname:b,clientReferenceManifest:O,serverActionsManifest:U}=R,M=(0,o.normalizeAppPath)(y),k=!!_.routes[b]&&(x.isDev||(0,w.isRouteCacheOwner)(b,x.cacheOwner,_.routes[b])),D=!!(_.dynamicRoutes[M]||k),j=async()=>((null==P?void 0:P.render404)?await P.render404(e,t,A,!1):t.end("This page could not be found"),null);if(D&&!C){let e=_.dynamicRoutes[M];if(e&&!1===e.fallback&&!k){if(I.adapterPath)return await j();throw new g.NoFallbackError}}let L=null;!D||x.isDev||C||(L="/index"===(L=b)?"/":L);let H=!0===x.isDev||!D,Q=D&&!H;U&&O&&(0,s.setManifestsSingleton)({page:y,clientReferenceManifest:O,serverActionsManifest:U});let F=e.method||"GET",X=(0,n.getTracer)(),B=X.getActiveScopeSpan(),G=!!(null==P?void 0:P.isWrappedByNextServer),K=!!(0,i.getRequestMeta)(e,"minimalMode"),$=(0,i.getRequestMeta)(e,"incrementalCache")||await x.getIncrementalCache(e,I,_,K);null==$||$.resetRequestCache(),globalThis.__incrementalCache=$;let z={params:v,previewProps:_.preview,renderOpts:{experimental:{authInterrupts:!!I.experimental.authInterrupts,useCacheTimeout:I.experimental.useCacheTimeout},cacheComponents:!!I.cacheComponents,validationLevel:I.experimental.instantInsights.validationLevel,isDraftMode:C,supportsDynamicResponse:H,incrementalCache:$,hmrRefreshHash:(0,i.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:I.cacheLife,staticPageGenerationTimeout:I.staticPageGenerationTimeout,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,i)=>x.onRequestError(e,t,a,i,P)},sharedContext:{buildId:S,deploymentId:T}},W=new u.NodeNextRequest(e),V=new u.NodeNextResponse(t),Y=l.NextRequestAdapter.fromNodeNextRequest(W,(0,l.signalFromNodeResponse)(t)),J=async({previousCacheEntry:r})=>{try{if(!K&&q&&N&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let i=await x.handle(Y,z);e.fetchMetrics=z.renderOpts.fetchMetrics;let n=z.renderOpts.pendingWaitUntil;n&&a.waitUntil&&(a.waitUntil(n),n=void 0);let s=z.renderOpts.collectedTags;if(!D)return await (0,p.sendResponse)(W,V,i,n),null;{let e=await i.blob(),t=(0,m.toNodeOutgoingHttpHeaders)(i.headers);s&&(t[f.NEXT_CACHE_TAGS_HEADER]=s),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==z.renderOpts.collectedRevalidate&&!(z.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&z.renderOpts.collectedRevalidate,a=void 0===z.renderOpts.collectedExpire||z.renderOpts.collectedExpire>=f.INFINITE_CACHE?!1!==r&&r>0?I.expireTime:void 0:z.renderOpts.collectedExpire;return{value:{kind:E.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 x.onRequestError(e,t,{routerKind:"App Router",routePath:y,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:Q,isOnDemandRevalidate:q})},!1,P),t}},Z=async(i,s)=>{try{var o,u;let i=await x.handleResponse({req:e,nextConfig:I,cacheKey:L,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:_,isRoutePPREnabled:!1,isOnDemandRevalidate:q,revalidateOnlyGenerated:N,responseGenerator:J,waitUntil:a.waitUntil,isMinimalMode:K});if(!D)return;if((null==i||null==(o=i.value)?void 0:o.kind)!==E.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==i||null==(u=i.value)?void 0:u.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});K||t.setHeader("x-nextjs-cache",q?"REVALIDATED":i.isMiss?"MISS":i.isStale?"STALE":"HIT"),C&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let n=(0,m.fromNodeOutgoingHttpHeaders)(i.value.headers);K&&D||n.delete(f.NEXT_CACHE_TAGS_HEADER),!i.cacheControl||t.getHeader("Cache-Control")||n.get("Cache-Control")||n.set("Cache-Control",(0,h.getCacheControlHeader)(i.cacheControl)),await (0,p.sendResponse)(W,V,new Response(i.value.body,{headers:n,status:i.value.status||200}));return}catch(t){if(t instanceof g.NoFallbackError||await x.onRequestError(e,t,{routerKind:"App Router",routePath:M,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:Q,isOnDemandRevalidate:q})},!1,P),D)throw t;await (0,p.sendResponse)(W,V,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:n.SpanStatusCode.ERROR}),i.setAttribute("error.type",e.toString()));let r=X.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")||M,o=`${F} ${a}`;i.setAttributes({"next.route":a,"http.route":a,"next.span_name":o}),i.updateName(o),s&&s!==i&&(s.setAttribute("http.route",a),s.updateName(o))})()}};if(G&&B)await Z(B,void 0);else{let t=X.getActiveScopeSpan();await X.withPropagatedContext(e.headers,()=>X.trace(d.BaseServerSpan.handleRequest,{spanName:`${F} ${y}`,kind:n.SpanKind.SERVER,attributes:{"http.method":F,"http.target":e.url}},e=>Z(e,t)),void 0,!G)}}e.s(["handler",0,T,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:y,workUnitAsyncStorage:R})},"routeModule",0,x,"serverHooks",0,S,"workAsyncStorage",0,y,"workUnitAsyncStorage",0,R])},63856,e=>e.a(async(t,r)=>{try{var a=e.i(13618),i=e.i(79832),n=e.i(98043),s=t([i]);async function o(){let e=await (0,a.getServerSession)(i.authOptions);return e?.user?.email?n.prisma.user.findUnique({where:{email:e.user.email}}):null}[i]=s.then?(await s)():s,e.s(["getCurrentUser",0,o]),r()}catch(e){r(e)}},!1),74866,e=>{"use strict";var t=e.i(98043),r=e.i(43911),a=e.i(50377),i=e.i(95408),n=e.i(26828),s=e.i(68426);let o=(0,a.createLogger)("exam"),u="least_practiced";function l(e,t,r=Math.random){let a=[...e];for(let e=a.length-1;e>0;e--){let t=Math.floor(r()*(e+1));[a[e],a[t]]=[a[t],a[e]]}return a.slice(0,t)}async function d(e,r){let a,n=(await t.prisma.errorItem.findMany({where:(a={userId:e,subjectId:{in:r.subjectIds},shortId:{not:null}},"unmastered"===r.scope?a.NOT=(0,i.masteryStatusWhere)("mastered"):"mastered"===r.scope&&(a.AND=[(0,i.masteryStatusWhere)("mastered")]),r.tagNames&&r.tagNames.length>0&&(a.tags={some:{name:{in:r.tagNames}}}),a),select:{id:!0,shortId:!0,_count:{select:{practiceRecords:!0}}}})).map(({_count:e,...t})=>({...t,practiceCount:e.practiceRecords}));return(r.pickRule??u)==="random"?l(n,r.count):function(e,t,r=Math.random){return l(e,e.length,r).sort((e,t)=>e.practiceCount-t.practiceCount).slice(0,t)}(n,r.count)}function c(e){if(e.some(e=>"pending"===e))return"generating";let t=e.filter(e=>"ready"===e).length;return t===e.length?"ready":0===t?"failed":"partial"}function p(e){if(e.tags.length>0)return e.tags.map(e=>e.name);try{let t=JSON.parse(e.knowledgePoints||"[]");return Array.isArray(t)?t.filter(e=>"string"==typeof e):[]}catch{return[]}}async function m(e,a,i){let n=await t.prisma.examQuestion.findUnique({where:{id:e},select:{errorItem:{select:{questionText:!0,knowledgePoints:!0,gradeSemester:!0,figureSvg:!0,tags:{select:{name:!0}}}}}});if(!n?.errorItem)return void await t.prisma.examQuestion.update({where:{id:e},data:{status:"failed",error:"SOURCE_DELETED"}});try{let s=await (0,r.getAIService)().generateSimilarQuestion(n.errorItem.questionText||"",p(n.errorItem),i,a,n.errorItem.gradeSemester,n.errorItem.figureSvg);await t.prisma.examQuestion.update({where:{id:e},data:{status:"ready",questionText:s.questionText,answerText:s.answerText,analysis:s.analysis,figureSvg:s.figureSvg??null,error:null}})}catch(a){let r=a instanceof Error?a.message:String(a);o.warn({questionId:e,error:r},"Exam question generation failed"),await t.prisma.examQuestion.update({where:{id:e},data:{status:"failed",error:r.slice(0,200)}})}}let h=new Set;async function f(e,r="zh"){if(h.has(e))return;h.add(e);let a=null;try{let i=await t.prisma.examPaper.findUnique({where:{id:e},select:{userId:!0,title:!0,difficulty:!0,questions:{where:{status:{not:"ready"}},select:{id:!0}}}});if(!i)return;let s=i.questions.map(e=>e.id),o=s.length,u=0;o>0&&(a=(0,n.startBackgroundTask)({userId:i.userId,kind:"exam",subject:i.title,link:`/exams/${e}`,total:o})),s.length>0&&(await t.prisma.examQuestion.updateMany({where:{id:{in:s}},data:{status:"pending",error:null}}),await t.prisma.examPaper.update({where:{id:e},data:{status:"generating"}}));let l=async()=>{for(;s.length>0;)await m(s.shift(),i.difficulty,r),a?.setProgress(++u,o)};await Promise.all(Array.from({length:Math.min(3,s.length)},l));let d=await t.prisma.examQuestion.findMany({where:{paperId:e},select:{status:!0}}),p=c(d.map(e=>e.status));await t.prisma.examPaper.update({where:{id:e},data:{status:p}}),a?.setProgress(u,o,d.filter(e=>"failed"===e.status).length),"failed"===p?a?.fail("ALL_FAILED"):a?.succeed()}catch(t){o.error({paperId:e,error:t},"Exam paper generation failed"),a?.fail(t)}finally{h.delete(e)}}let g={status:!0,questionText:!0,answerText:!0,analysis:!0,figureSvg:!0,error:!0};async function w(e,a,i,u,l="zh"){let d=await t.prisma.examQuestion.findUnique({where:{id:a},select:{paperId:!0,status:!0,questionText:!0,paper:{select:{userId:!0,title:!0,difficulty:!0}},errorItem:{select:{questionText:!0,knowledgePoints:!0,gradeSemester:!0,figureSvg:!0,tags:{select:{name:!0}},subject:{select:{name:!0,stage:!0,subjectKey:!0}}}},_count:{select:{practiceRecords:!0}}}});if(!d||d.paperId!==e||d.paper.userId!==i)throw Error("EXAM_QUESTION_NOT_FOUND");if("pending"===d.status)throw Error("QUESTION_GENERATING");let c={userId:i,subject:d.paper.title,link:`/exams/${e}`};if("question"===u){if(d._count.practiceRecords>0)throw Error("HAS_RESULTS");let i=d.errorItem;if(!i)throw Error("SOURCE_DELETED");let s=await (0,n.trackBackgroundTask)({...c,kind:"exam"},()=>(0,r.getAIService)().generateSimilarQuestion(i.questionText||"",p(i),l,d.paper.difficulty,i.gradeSemester,i.figureSvg)),{count:o}=await t.prisma.examQuestion.updateMany({where:{id:a,practiceRecords:{none:{}}},data:{status:"ready",questionText:s.questionText,answerText:s.answerText,analysis:s.analysis,figureSvg:s.figureSvg??null,error:null}});if(0===o)throw Error("HAS_RESULTS");await E(e)}else{let e=d.questionText;if("ready"!==d.status||!e?.trim())throw Error("NO_QUESTION_TEXT");let i=d.errorItem?.subject?(0,s.resolveNotebookScope)(d.errorItem.subject):null,o=i?.subject?s.SUBJECT_DISPLAY_NAMES[i.subject]:null,u=await (0,n.trackBackgroundTask)({...c,kind:"reanswer"},()=>(0,r.getAIService)().reanswerQuestion(e,l,o,void 0,d.errorItem?.gradeSemester));if(!u.answerText.trim()&&!u.analysis.trim())throw Error("EMPTY_ANSWER");let p={answerText:u.answerText,analysis:u.analysis};await t.prisma.$transaction([t.prisma.examQuestion.update({where:{id:a},data:p}),t.prisma.practiceRecord.updateMany({where:{examQuestionId:a},data:p})])}let m=await t.prisma.examQuestion.findUnique({where:{id:a},select:g});return o.info({paperId:e,questionId:a,mode:u},"Exam question regenerated"),m}async function E(e){let r=await t.prisma.examQuestion.findMany({where:{paperId:e},select:{status:!0}});await t.prisma.examPaper.update({where:{id:e},data:{status:c(r.map(e=>e.status))}})}async function x(e,r,a,i){let n=await t.prisma.examPaper.findUnique({where:{id:e},select:{userId:!0,difficulty:!0,questions:{select:{id:!0,errorItemId:!0,questionText:!0,answerText:!0,analysis:!0,figureSvg:!0,errorItem:{select:{subject:{select:{name:!0}}}}}}}});if(!n||n.userId!==r)throw Error("EXAM_NOT_FOUND");let s=new Map(n.questions.map(e=>[e.id,e])),o=new Set;return await t.prisma.$transaction(async t=>{for(let{questionId:e,result:u}of i){let i=s.get(e);i?.errorItemId&&null!==u&&(await t.practiceRecord.create({data:{userId:r,errorItemId:i.errorItemId,examQuestionId:i.id,source:"exam",result:u,isCorrect:"correct"===u,createdAt:a,difficulty:n.difficulty,subject:i.errorItem?.subject?.name??null,questionText:i.questionText,answerText:i.answerText,analysis:i.analysis,figureSvg:i.figureSvg}}),o.add(i.errorItemId))}o.size>0&&await t.examPaper.update({where:{id:e},data:{resultsRecordedAt:new Date}})}),[...o]}e.s(["DEFAULT_EXAM_PICK_RULE",0,u,"EXAM_DIFFICULTIES",0,["easy","medium","hard","harder"],"EXAM_PICK_RULES",0,["least_practiced","random"],"EXAM_REGENERATE_MODES",0,["question","answer"],"EXAM_SCOPES",0,["unmastered","mastered","all"],"MAX_EXAM_QUESTIONS",0,50,"generateExamPaper",0,f,"isPaperGenerating",0,function(e){return h.has(e)},"recordExamResults",0,x,"regenerateExamQuestion",0,w,"selectSourceItems",0,d])},95408,e=>{"use strict";let t=["new","reviewing","mastered"],r={practiceRecords:{some:{result:{not:null}}}};e.s(["MASTERY_THRESHOLD",0,.5,"PRACTICE_RECORD_COUNT",0,{select:{practiceRecords:{where:{result:{not:null}}}}},"isMasteryStatus",0,function(e){return"string"==typeof e&&t.includes(e)},"masteryLevelOf",0,function(e){return t.indexOf(e)},"masteryStatusOf",0,function(e,t){return 0===e?"new":"number"==typeof t&&t>=.5?"mastered":"reviewing"},"masteryStatusWhere",0,function(e){return"new"===e?{practiceRecords:{none:{result:{not:null}}}}:"mastered"===e?{...r,masteryProbability:{gte:.5}}:{...r,OR:[{masteryProbability:null},{masteryProbability:{lt:.5}}]}}])}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=_10y361h._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[
|
|
1
|
+
module.exports=[61831,e=>e.a(async(t,r)=>{try{var a=e.i(58821),n=e.i(98043),i=e.i(79832),o=e.i(13618),s=e.i(76759),l=e.i(50377),u=e.i(98003),d=e.i(76025),c=t([i]);[i]=c.then?(await c)():c;let h=(0,l.createLogger)("api:export");async function p(e){let t=await (0,o.getServerSession)(i.authOptions);if(!t?.user?.email)return(0,s.unauthorized)("Not authenticated");let r=await n.prisma.user.findUnique({where:{email:t.user.email}});if(!r)return(0,s.unauthorized)("User not found");let{searchParams:l}=new URL(e.url),c="true"===l.get("all");if(c&&"admin"!==t.user.role)return(0,s.forbidden)("Admin role required");try{let e=c?{}:{userId:r.id},t=await n.prisma.subject.findMany({where:e}),i=await n.prisma.knowledgeTag.findMany({where:{...e,isSystem:!1}}),o=await n.prisma.errorItem.findMany({where:e,include:{tags:!0}}),s=await n.prisma.reviewSchedule.findMany({where:c?{errorItem:{userId:{not:void 0}}}:{errorItem:{userId:r.id}}}),l=await n.prisma.practiceRecord.findMany({where:e}),p={version:1,exportedAt:new Date().toISOString(),scope:c?"all":"user",user:{id:r.id,email:r.email,name:r.name,educationStage:r.educationStage,enrollmentYear:r.enrollmentYear,role:r.role},subjects:t,customTags:i,errorItems:o,reviewSchedules:s,practiceRecords:l};h.info({userId:r.id,scope:c?"all":"user",subjectsCount:t.length,customTagsCount:i.length,errorItemsCount:o.length,reviewSchedulesCount:s.length,practiceRecordsCount:l.length},"Data export completed");let m=JSON.stringify(p,null,2),R=c?`wrong-notebook-export-all-${(0,d.formatDateTime)(new Date,"yyyy-MM-dd",(0,u.getAppTimeZone)())}.json`:`wrong-notebook-export-${(0,d.formatDateTime)(new Date,"yyyy-MM-dd",(0,u.getAppTimeZone)())}.json`;return new a.NextResponse(m,{headers:{"Content-Type":"application/json; charset=utf-8","Content-Disposition":`attachment; filename="${R}"`}})}catch(e){return h.error({error:e,userId:r.id},"Export failed"),(0,s.internalError)("Failed to export data")}}e.s(["GET",0,p]),r()}catch(e){r(e)}},!1),51908,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),u=e.i(87718),d=e.i(95169),c=e.i(47587),p=e.i(66012),h=e.i(70101),m=e.i(74838),R=e.i(10372),g=e.i(93695),w=e.i(9580);e.i(52474);var f=e.i(220);let v=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/export/route",pathname:"/api/export",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/export/route.ts",nextConfigOutput:"standalone",userland:()=>e.r(61831),...{}}),{workAsyncStorage:C,workUnitAsyncStorage:y,serverHooks:x}=v;async function E(e,t,a){a.requestMeta&&(0,n.setRequestMeta)(e,a.requestMeta),v.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let C="/api/export/route";C=C.replace(/\/index$/,"")||"/";let y=await v.prepare(e,t,{srcPage:C,multiZoneDraftMode:!1});if(!y)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:x,deploymentId:E,params:T,nextConfig:A,parsedUrl:S,isDraftMode:b,prerenderManifest:I,routerServerContext:N,isOnDemandRevalidate:O,revalidateOnlyGenerated:P,resolvedPathname:M,clientReferenceManifest:_,serverActionsManifest:q}=y,D=(0,s.normalizeAppPath)(C),H=!!I.routes[M]&&(v.isDev||(0,w.isRouteCacheOwner)(M,v.cacheOwner,I.routes[M])),U=!!(I.dynamicRoutes[D]||H),k=async()=>((null==N?void 0:N.render404)?await N.render404(e,t,S,!1):t.end("This page could not be found"),null);if(U&&!b){let e=I.dynamicRoutes[D];if(e&&!1===e.fallback&&!H){if(A.adapterPath)return await k();throw new g.NoFallbackError}}let j=null;!U||v.isDev||b||(j="/index"===(j=M)?"/":j);let $=!0===v.isDev||!U,F=U&&!$;q&&_&&(0,o.setManifestsSingleton)({page:C,clientReferenceManifest:_,serverActionsManifest:q});let L=e.method||"GET",K=(0,i.getTracer)(),B=K.getActiveScopeSpan(),G=!!(null==N?void 0:N.isWrappedByNextServer),z=!!(0,n.getRequestMeta)(e,"minimalMode"),V=(0,n.getRequestMeta)(e,"incrementalCache")||await v.getIncrementalCache(e,A,I,z);null==V||V.resetRequestCache(),globalThis.__incrementalCache=V;let X={params:T,previewProps:I.preview,renderOpts:{experimental:{authInterrupts:!!A.experimental.authInterrupts,useCacheTimeout:A.experimental.useCacheTimeout},cacheComponents:!!A.cacheComponents,validationLevel:A.experimental.instantInsights.validationLevel,isDraftMode:b,supportsDynamicResponse:$,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)=>v.onRequestError(e,t,a,n,N)},sharedContext:{buildId:x,deploymentId:E}},Z=new l.NodeNextRequest(e),W=new l.NodeNextResponse(t),Y=u.NextRequestAdapter.fromNodeNextRequest(Z,(0,u.signalFromNodeResponse)(t)),J=async({previousCacheEntry:r})=>{try{if(!z&&O&&P&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await v.handle(Y,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(!U)return await (0,p.sendResponse)(Z,W,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?A.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 v.onRequestError(e,t,{routerKind:"App Router",routePath:C,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:F,isOnDemandRevalidate:O})},!1,N),t}},Q=async(n,o)=>{try{var s,l;let n=await v.handleResponse({req:e,nextConfig:A,cacheKey:j,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:I,isRoutePPREnabled:!1,isOnDemandRevalidate:O,revalidateOnlyGenerated:P,responseGenerator:J,waitUntil:a.waitUntil,isMinimalMode:z});if(!U)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});z||t.setHeader("x-nextjs-cache",O?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),b&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let i=(0,h.fromNodeOutgoingHttpHeaders)(n.value.headers);z&&U||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)(Z,W,new Response(n.value.body,{headers:i,status:n.value.status||200}));return}catch(t){if(t instanceof g.NoFallbackError||await v.onRequestError(e,t,{routerKind:"App Router",routePath:D,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:F,isOnDemandRevalidate:O})},!1,N),U)throw t;await (0,p.sendResponse)(Z,W,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=K.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")||D,s=`${L} ${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(G&&B)await Q(B,void 0);else{let t=K.getActiveScopeSpan();await K.withPropagatedContext(e.headers,()=>K.trace(d.BaseServerSpan.handleRequest,{spanName:`${L} ${C}`,kind:i.SpanKind.SERVER,attributes:{"http.method":L,"http.target":e.url}},e=>Q(e,t)),void 0,!G)}}e.s(["handler",0,E,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:C,workUnitAsyncStorage:y})},"routeModule",0,v,"serverHooks",0,x,"workAsyncStorage",0,C,"workUnitAsyncStorage",0,y])}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=_12w5k19._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[319464,e=>e.a(async(t,i)=>{try{var o=e.i(89171),n=e.i(757660),r=e.i(79832),a=e.i(592938),s=e.i(893963),A=e.i(229236),l=e.i(690604),u=e.i(298876),d=e.i(258078),c=e.i(50377),E=t([r]);[r]=E.then?(await E)():E;let R=(0,c.createLogger)("api:ai:test"),g="/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv/wAARCABkAMgDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD2aiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACobu5js7SW5lDFIkLsEXJIA6AdzU1QXpuxZTfYVha62HyhOxCbu24gE4+lAEOm6kmorPiCa3ltpfKmhm27kbarfwkg5VlPBPWrAuYXgeaOQSohYMY/n5UkMOO4IIx1yMVQ0XT57XS3tr1EWaRmaWSK4Z2lZurltqkEnPAHAAx04ZpegnR9MurW0vJjNPJNIksrvIIy7u6/KzHpu5P8WMnk0ATabrEeozz25tbi1ngRJGinC7tr52n5WOM7W4OCMcjpVy5uEtbWW5k3bIULttUscAZOAOprL0fS7m2vL+7uobS2a9Cb4bUlkLjdukJKj5m3AHjog5NS6NoNtonnfZ33edt3fuIY+mf+eaLnr3z7d6AJ9N1NNSSbEE1vLby+VLDMF3I21WH3SR91lPB71dqpYWYtEmyoDzTySud27dluOcD+EKMdsYycZNugAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigD/2Q==",h="image/jpeg";function p(e){let t=e instanceof Error?e.message:String(e),i=t.toLowerCase();for(let e of["AI_CONNECTION_FAILED","AI_TIMEOUT_ERROR","AI_QUOTA_EXCEEDED","AI_PERMISSION_DENIED","AI_NOT_FOUND","AI_RESPONSE_ERROR","AI_AUTH_ERROR","AI_SERVICE_UNAVAILABLE","AI_UNKNOWN_ERROR"])if(t.includes(e))return e;return i.includes("401")||i.includes("unauthorized")||i.includes("api key")?"AI_AUTH_ERROR":i.includes("403")||i.includes("forbidden")?"AI_PERMISSION_DENIED":i.includes("404")||i.includes("not found")?"AI_NOT_FOUND":i.includes("429")||i.includes("rate limit")||i.includes("too many")||i.includes("quota")||i.includes("额度")?"AI_QUOTA_EXCEEDED":i.includes("fetch failed")||i.includes("network")||i.includes("connect")||i.includes("enotfound")||i.includes("econnrefused")||i.includes("etimedout")||i.includes("econnreset")?"AI_CONNECTION_FAILED":i.includes("timeout")||i.includes("timed out")||i.includes("aborted")||i.includes("408")?"AI_TIMEOUT_ERROR":i.includes("500")||i.includes("502")||i.includes("503")||i.includes("504")||i.includes("overloaded")?"AI_UNKNOWN_ERROR":i.includes("invalid json")||i.includes("parse")||i.includes("missing critical xml")?"AI_RESPONSE_ERROR":"AI_UNKNOWN_ERROR"}async function K(e){try{let t,i,c,E=await (0,n.getServerSession)(r.authOptions);if(!E?.user)return o.NextResponse.json({error:"Unauthorized"},{status:401});if(!(0,d.requireAdmin)(E))return o.NextResponse.json({error:"Admin access required"},{status:403});let{provider:K,apiKey:I,baseUrl:O,model:C,endpoint:m,deploymentName:f,apiVersion:N,language:w="zh"}=await e.json();if(!K||!I)return o.NextResponse.json({error:"Missing provider or apiKey"},{status:400});R.info({provider:K,model:C,baseUrl:O||m},"AI 连接测试开始");let v=!1,_=!1;try{if("openai"===K){let e=new a.OpenAIProvider({apiKey:I,baseUrl:O,model:C}),t=await e.analyzeImage(g,h,w);(t.questionText||t.analysis)&&(v=!0,_=!0,c=C||a.DEFAULT_OPENAI_MODEL)}else if("gemini"===K){let e=new s.GeminiProvider({apiKey:I,baseUrl:O,model:C}),t=await e.analyzeImage(g,h,w);(t.questionText||t.analysis)&&(v=!0,_=!0,c=C||"gemini-2.0-flash")}else if("anthropic"===K){let e=new l.AnthropicProvider({apiKey:I,baseUrl:O,model:C}),t=await e.analyzeImage(g,h,w);(t.questionText||t.analysis)&&(v=!0,_=!0,c=C||l.DEFAULT_ANTHROPIC_MODEL)}else if((0,u.isVendorProvider)(K)){let e=(0,u.resolveVendorConfig)(K,{apiKey:I,baseUrl:O,model:C}),t=await new a.OpenAIProvider(e).analyzeImage(g,h,w);(t.questionText||t.analysis)&&(v=!0,_=!0,c=e.model)}else if("azure"===K){if(!m||!f)return o.NextResponse.json({error:"Azure 需要 endpoint 和 deploymentName"},{status:400});let e=new A.AzureOpenAIProvider({apiKey:I,endpoint:m,deploymentName:f,apiVersion:N,model:C}),t=await e.analyzeImage(g,h,w);(t.questionText||t.analysis)&&(v=!0,_=!0,c=C||f)}}catch(n){let e=p(n),o=n instanceof Error?n.message:String(n);R.info({error:o,errorCode:e,provider:K},"视觉测试失败"),["AI_AUTH_ERROR","AI_CONNECTION_FAILED","AI_TIMEOUT_ERROR","AI_QUOTA_EXCEEDED","AI_PERMISSION_DENIED","AI_SERVICE_UNAVAILABLE"].includes(e)?(t=e,i=e,R.warn({errorCode:e,provider:K},"配置错误,跳过文本测试")):i="VISION_NOT_SUPPORTED"}if(!v&&!t)try{if("openai"===K){let e=new a.OpenAIProvider({apiKey:I,baseUrl:O,model:C});(await e.generateSimilarQuestion("1+1=?",["基础算术"],w,"easy")).questionText&&(v=!0,c=C||a.DEFAULT_OPENAI_MODEL)}else if("gemini"===K){let e=new s.GeminiProvider({apiKey:I,baseUrl:O,model:C});(await e.generateSimilarQuestion("1+1=?",["基础算术"],w,"easy")).questionText&&(v=!0,c=C||"gemini-2.0-flash")}else if("anthropic"===K){let e=new l.AnthropicProvider({apiKey:I,baseUrl:O,model:C});(await e.generateSimilarQuestion("1+1=?",["基础算术"],w,"easy")).questionText&&(v=!0,c=C||l.DEFAULT_ANTHROPIC_MODEL)}else if((0,u.isVendorProvider)(K)){let e=(0,u.resolveVendorConfig)(K,{apiKey:I,baseUrl:O,model:C});(await new a.OpenAIProvider(e).generateSimilarQuestion("1+1=?",["基础算术"],w,"easy")).questionText&&(v=!0,c=e.model)}else if("azure"===K){let e=new A.AzureOpenAIProvider({apiKey:I,endpoint:m,deploymentName:f,apiVersion:N,model:C});(await e.generateSimilarQuestion("1+1=?",["基础算术"],w,"easy")).questionText&&(v=!0,c=C||f)}}catch(e){t=p(e),R.warn({error:e,provider:K},"文本生成测试失败")}let T={success:v,textSupport:v,visionSupport:_,textError:t,visionError:i,modelInfo:c};return R.info({response:T},"AI 连接测试完成"),o.NextResponse.json(T)}catch(e){return R.error({error:e},"AI 测试 API 异常"),o.NextResponse.json({error:e instanceof Error?e.message:"Internal server error"},{status:500})}}e.s(["POST",0,K]),i()}catch(e){i(e)}},!1),223684,e=>{"use strict";var t=e.i(747909),i=e.i(174017),o=e.i(996250),n=e.i(759756),r=e.i(561916),a=e.i(174677),s=e.i(869741),A=e.i(316795),l=e.i(487718),u=e.i(995169),d=e.i(47587),c=e.i(666012),E=e.i(570101),p=e.i(626937),K=e.i(10372),R=e.i(193695),g=e.i(509580);e.i(52474);var h=e.i(600220);let I=new t.AppRouteRouteModule({definition:{kind:i.RouteKind.APP_ROUTE,page:"/api/ai/test/route",pathname:"/api/ai/test",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/ai/test/route.ts",nextConfigOutput:"standalone",userland:()=>e.r(319464),...{}}),{workAsyncStorage:O,workUnitAsyncStorage:C,serverHooks:m}=I;async function f(e,t,o){o.requestMeta&&(0,n.setRequestMeta)(e,o.requestMeta),I.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let O="/api/ai/test/route";O=O.replace(/\/index$/,"")||"/";let C=await I.prepare(e,t,{srcPage:O,multiZoneDraftMode:!1});if(!C)return t.statusCode=400,t.end("Bad Request"),null==o.waitUntil||o.waitUntil.call(o,Promise.resolve()),null;let{buildId:m,deploymentId:f,params:N,nextConfig:w,parsedUrl:v,isDraftMode:_,prerenderManifest:T,routerServerContext:S,isOnDemandRevalidate:P,revalidateOnlyGenerated:x,resolvedPathname:y,clientReferenceManifest:D,serverActionsManifest:U}=C,M=(0,s.normalizeAppPath)(O),b=!!T.routes[y]&&(I.isDev||(0,g.isRouteCacheOwner)(y,I.cacheOwner,T.routes[y])),q=!!(T.dynamicRoutes[M]||b),L=async()=>((null==S?void 0:S.render404)?await S.render404(e,t,v,!1):t.end("This page could not be found"),null);if(q&&!_){let e=T.dynamicRoutes[M];if(e&&!1===e.fallback&&!b){if(w.adapterPath)return await L();throw new R.NoFallbackError}}let k=null;!q||I.isDev||_||(k="/index"===(k=y)?"/":k);let z=!0===I.isDev||!q,Q=q&&!z;U&&D&&(0,a.setManifestsSingleton)({page:O,clientReferenceManifest:D,serverActionsManifest:U});let B=e.method||"GET",H=(0,r.getTracer)(),F=H.getActiveScopeSpan(),j=!!(null==S?void 0:S.isWrappedByNextServer),V=!!(0,n.getRequestMeta)(e,"minimalMode"),W=(0,n.getRequestMeta)(e,"incrementalCache")||await I.getIncrementalCache(e,w,T,V);null==W||W.resetRequestCache(),globalThis.__incrementalCache=W;let J={params:N,previewProps:T.preview,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts,useCacheTimeout:w.experimental.useCacheTimeout},cacheComponents:!!w.cacheComponents,validationLevel:w.experimental.instantInsights.validationLevel,isDraftMode:_,supportsDynamicResponse:z,incrementalCache:W,hmrRefreshHash:(0,n.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:w.cacheLife,staticPageGenerationTimeout:w.staticPageGenerationTimeout,waitUntil:o.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,i,o,n)=>I.onRequestError(e,t,o,n,S)},sharedContext:{buildId:m,deploymentId:f}},Z=new A.NodeNextRequest(e),X=new A.NodeNextResponse(t),Y=l.NextRequestAdapter.fromNodeNextRequest(Z,(0,l.signalFromNodeResponse)(t)),G=async({previousCacheEntry:i})=>{try{if(!V&&P&&x&&!i)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await I.handle(Y,J);e.fetchMetrics=J.renderOpts.fetchMetrics;let r=J.renderOpts.pendingWaitUntil;r&&o.waitUntil&&(o.waitUntil(r),r=void 0);let a=J.renderOpts.collectedTags;if(!q)return await (0,c.sendResponse)(Z,X,n,r),null;{let e=await n.blob(),t=(0,E.toNodeOutgoingHttpHeaders)(n.headers);a&&(t[K.NEXT_CACHE_TAGS_HEADER]=a),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let i=void 0!==J.renderOpts.collectedRevalidate&&!(J.renderOpts.collectedRevalidate>=K.INFINITE_CACHE)&&J.renderOpts.collectedRevalidate,o=void 0===J.renderOpts.collectedExpire||J.renderOpts.collectedExpire>=K.INFINITE_CACHE?!1!==i&&i>0?w.expireTime:void 0:J.renderOpts.collectedExpire;return{value:{kind:h.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:i,expire:o}}}}catch(t){throw(null==i?void 0:i.isStale)&&await I.onRequestError(e,t,{routerKind:"App Router",routePath:O,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:Q,isOnDemandRevalidate:P})},!1,S),t}},$=async(n,a)=>{try{var s,A;let n=await I.handleResponse({req:e,nextConfig:w,cacheKey:k,routeKind:i.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:T,isRoutePPREnabled:!1,isOnDemandRevalidate:P,revalidateOnlyGenerated:x,responseGenerator:G,waitUntil:o.waitUntil,isMinimalMode:V});if(!q)return;if((null==n||null==(s=n.value)?void 0:s.kind)!==h.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==n||null==(A=n.value)?void 0:A.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});V||t.setHeader("x-nextjs-cache",P?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),_&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let r=(0,E.fromNodeOutgoingHttpHeaders)(n.value.headers);V&&q||r.delete(K.NEXT_CACHE_TAGS_HEADER),!n.cacheControl||t.getHeader("Cache-Control")||r.get("Cache-Control")||r.set("Cache-Control",(0,p.getCacheControlHeader)(n.cacheControl)),await (0,c.sendResponse)(Z,X,new Response(n.value.body,{headers:r,status:n.value.status||200}));return}catch(t){if(t instanceof R.NoFallbackError||await I.onRequestError(e,t,{routerKind:"App Router",routePath:M,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:Q,isOnDemandRevalidate:P})},!1,S),q)throw t;await (0,c.sendResponse)(Z,X,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:r.SpanStatusCode.ERROR}),n.setAttribute("error.type",e.toString()));let i=H.getRootSpanAttributes();if(!i)return;if(i.get("next.span_type")!==u.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${i.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let o=i.get("next.route")||M,s=`${B} ${o}`;n.setAttributes({"next.route":o,"http.route":o,"next.span_name":s}),n.updateName(s),a&&a!==n&&(a.setAttribute("http.route",o),a.updateName(s))})()}};if(j&&F)await $(F,void 0);else{let t=H.getActiveScopeSpan();await H.withPropagatedContext(e.headers,()=>H.trace(u.BaseServerSpan.handleRequest,{spanName:`${B} ${O}`,kind:r.SpanKind.SERVER,attributes:{"http.method":B,"http.target":e.url}},e=>$(e,t)),void 0,!j)}}e.s(["handler",0,f,"patchFetch",0,function(){return(0,o.patchFetch)({workAsyncStorage:O,workUnitAsyncStorage:C})},"routeModule",0,I,"serverHooks",0,m,"workAsyncStorage",0,O,"workUnitAsyncStorage",0,C])}];
|
|
1
|
+
module.exports=[19464,e=>e.a(async(t,i)=>{try{var o=e.i(58821),n=e.i(13618),r=e.i(79832),a=e.i(92938),s=e.i(93963),A=e.i(29236),l=e.i(90604),u=e.i(98876),d=e.i(58078),c=e.i(50377),E=t([r]);[r]=E.then?(await E)():E;let R=(0,c.createLogger)("api:ai:test"),g="/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv/wAARCABkAMgDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD2aiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACobu5js7SW5lDFIkLsEXJIA6AdzU1QXpuxZTfYVha62HyhOxCbu24gE4+lAEOm6kmorPiCa3ltpfKmhm27kbarfwkg5VlPBPWrAuYXgeaOQSohYMY/n5UkMOO4IIx1yMVQ0XT57XS3tr1EWaRmaWSK4Z2lZurltqkEnPAHAAx04ZpegnR9MurW0vJjNPJNIksrvIIy7u6/KzHpu5P8WMnk0ATabrEeozz25tbi1ngRJGinC7tr52n5WOM7W4OCMcjpVy5uEtbWW5k3bIULttUscAZOAOprL0fS7m2vL+7uobS2a9Cb4bUlkLjdukJKj5m3AHjog5NS6NoNtonnfZ33edt3fuIY+mf+eaLnr3z7d6AJ9N1NNSSbEE1vLby+VLDMF3I21WH3SR91lPB71dqpYWYtEmyoDzTySud27dluOcD+EKMdsYycZNugAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigD/2Q==",h="image/jpeg";function p(e){let t=e instanceof Error?e.message:String(e),i=t.toLowerCase();for(let e of["AI_CONNECTION_FAILED","AI_TIMEOUT_ERROR","AI_QUOTA_EXCEEDED","AI_PERMISSION_DENIED","AI_NOT_FOUND","AI_RESPONSE_ERROR","AI_AUTH_ERROR","AI_SERVICE_UNAVAILABLE","AI_UNKNOWN_ERROR"])if(t.includes(e))return e;return i.includes("401")||i.includes("unauthorized")||i.includes("api key")?"AI_AUTH_ERROR":i.includes("403")||i.includes("forbidden")?"AI_PERMISSION_DENIED":i.includes("404")||i.includes("not found")?"AI_NOT_FOUND":i.includes("429")||i.includes("rate limit")||i.includes("too many")||i.includes("quota")||i.includes("额度")?"AI_QUOTA_EXCEEDED":i.includes("fetch failed")||i.includes("network")||i.includes("connect")||i.includes("enotfound")||i.includes("econnrefused")||i.includes("etimedout")||i.includes("econnreset")?"AI_CONNECTION_FAILED":i.includes("timeout")||i.includes("timed out")||i.includes("aborted")||i.includes("408")?"AI_TIMEOUT_ERROR":i.includes("500")||i.includes("502")||i.includes("503")||i.includes("504")||i.includes("overloaded")?"AI_UNKNOWN_ERROR":i.includes("invalid json")||i.includes("parse")||i.includes("missing critical xml")?"AI_RESPONSE_ERROR":"AI_UNKNOWN_ERROR"}async function K(e){try{let t,i,c,E=await (0,n.getServerSession)(r.authOptions);if(!E?.user)return o.NextResponse.json({error:"Unauthorized"},{status:401});if(!(0,d.requireAdmin)(E))return o.NextResponse.json({error:"Admin access required"},{status:403});let{provider:K,apiKey:I,baseUrl:O,model:C,endpoint:m,deploymentName:f,apiVersion:N,language:w="zh"}=await e.json();if(!K||!I)return o.NextResponse.json({error:"Missing provider or apiKey"},{status:400});R.info({provider:K,model:C,baseUrl:O||m},"AI 连接测试开始");let v=!1,_=!1;try{if("openai"===K){let e=new a.OpenAIProvider({apiKey:I,baseUrl:O,model:C}),t=await e.analyzeImage(g,h,w);(t.questionText||t.analysis)&&(v=!0,_=!0,c=C||a.DEFAULT_OPENAI_MODEL)}else if("gemini"===K){let e=new s.GeminiProvider({apiKey:I,baseUrl:O,model:C}),t=await e.analyzeImage(g,h,w);(t.questionText||t.analysis)&&(v=!0,_=!0,c=C||"gemini-2.0-flash")}else if("anthropic"===K){let e=new l.AnthropicProvider({apiKey:I,baseUrl:O,model:C}),t=await e.analyzeImage(g,h,w);(t.questionText||t.analysis)&&(v=!0,_=!0,c=C||l.DEFAULT_ANTHROPIC_MODEL)}else if((0,u.isVendorProvider)(K)){let e=(0,u.resolveVendorConfig)(K,{apiKey:I,baseUrl:O,model:C}),t=await new a.OpenAIProvider(e).analyzeImage(g,h,w);(t.questionText||t.analysis)&&(v=!0,_=!0,c=e.model)}else if("azure"===K){if(!m||!f)return o.NextResponse.json({error:"Azure 需要 endpoint 和 deploymentName"},{status:400});let e=new A.AzureOpenAIProvider({apiKey:I,endpoint:m,deploymentName:f,apiVersion:N,model:C}),t=await e.analyzeImage(g,h,w);(t.questionText||t.analysis)&&(v=!0,_=!0,c=C||f)}}catch(n){let e=p(n),o=n instanceof Error?n.message:String(n);R.info({error:o,errorCode:e,provider:K},"视觉测试失败"),["AI_AUTH_ERROR","AI_CONNECTION_FAILED","AI_TIMEOUT_ERROR","AI_QUOTA_EXCEEDED","AI_PERMISSION_DENIED","AI_SERVICE_UNAVAILABLE"].includes(e)?(t=e,i=e,R.warn({errorCode:e,provider:K},"配置错误,跳过文本测试")):i="VISION_NOT_SUPPORTED"}if(!v&&!t)try{if("openai"===K){let e=new a.OpenAIProvider({apiKey:I,baseUrl:O,model:C});(await e.generateSimilarQuestion("1+1=?",["基础算术"],w,"easy")).questionText&&(v=!0,c=C||a.DEFAULT_OPENAI_MODEL)}else if("gemini"===K){let e=new s.GeminiProvider({apiKey:I,baseUrl:O,model:C});(await e.generateSimilarQuestion("1+1=?",["基础算术"],w,"easy")).questionText&&(v=!0,c=C||"gemini-2.0-flash")}else if("anthropic"===K){let e=new l.AnthropicProvider({apiKey:I,baseUrl:O,model:C});(await e.generateSimilarQuestion("1+1=?",["基础算术"],w,"easy")).questionText&&(v=!0,c=C||l.DEFAULT_ANTHROPIC_MODEL)}else if((0,u.isVendorProvider)(K)){let e=(0,u.resolveVendorConfig)(K,{apiKey:I,baseUrl:O,model:C});(await new a.OpenAIProvider(e).generateSimilarQuestion("1+1=?",["基础算术"],w,"easy")).questionText&&(v=!0,c=e.model)}else if("azure"===K){let e=new A.AzureOpenAIProvider({apiKey:I,endpoint:m,deploymentName:f,apiVersion:N,model:C});(await e.generateSimilarQuestion("1+1=?",["基础算术"],w,"easy")).questionText&&(v=!0,c=C||f)}}catch(e){t=p(e),R.warn({error:e,provider:K},"文本生成测试失败")}let T={success:v,textSupport:v,visionSupport:_,textError:t,visionError:i,modelInfo:c};return R.info({response:T},"AI 连接测试完成"),o.NextResponse.json(T)}catch(e){return R.error({error:e},"AI 测试 API 异常"),o.NextResponse.json({error:e instanceof Error?e.message:"Internal server error"},{status:500})}}e.s(["POST",0,K]),i()}catch(e){i(e)}},!1),23684,e=>{"use strict";var t=e.i(47909),i=e.i(74017),o=e.i(96250),n=e.i(59756),r=e.i(61916),a=e.i(74677),s=e.i(69741),A=e.i(16795),l=e.i(87718),u=e.i(95169),d=e.i(47587),c=e.i(66012),E=e.i(70101),p=e.i(74838),K=e.i(10372),R=e.i(93695),g=e.i(9580);e.i(52474);var h=e.i(220);let I=new t.AppRouteRouteModule({definition:{kind:i.RouteKind.APP_ROUTE,page:"/api/ai/test/route",pathname:"/api/ai/test",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/ai/test/route.ts",nextConfigOutput:"standalone",userland:()=>e.r(19464),...{}}),{workAsyncStorage:O,workUnitAsyncStorage:C,serverHooks:m}=I;async function f(e,t,o){o.requestMeta&&(0,n.setRequestMeta)(e,o.requestMeta),I.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let O="/api/ai/test/route";O=O.replace(/\/index$/,"")||"/";let C=await I.prepare(e,t,{srcPage:O,multiZoneDraftMode:!1});if(!C)return t.statusCode=400,t.end("Bad Request"),null==o.waitUntil||o.waitUntil.call(o,Promise.resolve()),null;let{buildId:m,deploymentId:f,params:N,nextConfig:w,parsedUrl:v,isDraftMode:_,prerenderManifest:T,routerServerContext:S,isOnDemandRevalidate:P,revalidateOnlyGenerated:x,resolvedPathname:y,clientReferenceManifest:D,serverActionsManifest:U}=C,M=(0,s.normalizeAppPath)(O),b=!!T.routes[y]&&(I.isDev||(0,g.isRouteCacheOwner)(y,I.cacheOwner,T.routes[y])),q=!!(T.dynamicRoutes[M]||b),L=async()=>((null==S?void 0:S.render404)?await S.render404(e,t,v,!1):t.end("This page could not be found"),null);if(q&&!_){let e=T.dynamicRoutes[M];if(e&&!1===e.fallback&&!b){if(w.adapterPath)return await L();throw new R.NoFallbackError}}let k=null;!q||I.isDev||_||(k="/index"===(k=y)?"/":k);let z=!0===I.isDev||!q,Q=q&&!z;U&&D&&(0,a.setManifestsSingleton)({page:O,clientReferenceManifest:D,serverActionsManifest:U});let B=e.method||"GET",H=(0,r.getTracer)(),F=H.getActiveScopeSpan(),j=!!(null==S?void 0:S.isWrappedByNextServer),V=!!(0,n.getRequestMeta)(e,"minimalMode"),W=(0,n.getRequestMeta)(e,"incrementalCache")||await I.getIncrementalCache(e,w,T,V);null==W||W.resetRequestCache(),globalThis.__incrementalCache=W;let J={params:N,previewProps:T.preview,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts,useCacheTimeout:w.experimental.useCacheTimeout},cacheComponents:!!w.cacheComponents,validationLevel:w.experimental.instantInsights.validationLevel,isDraftMode:_,supportsDynamicResponse:z,incrementalCache:W,hmrRefreshHash:(0,n.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:w.cacheLife,staticPageGenerationTimeout:w.staticPageGenerationTimeout,waitUntil:o.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,i,o,n)=>I.onRequestError(e,t,o,n,S)},sharedContext:{buildId:m,deploymentId:f}},Z=new A.NodeNextRequest(e),X=new A.NodeNextResponse(t),Y=l.NextRequestAdapter.fromNodeNextRequest(Z,(0,l.signalFromNodeResponse)(t)),G=async({previousCacheEntry:i})=>{try{if(!V&&P&&x&&!i)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await I.handle(Y,J);e.fetchMetrics=J.renderOpts.fetchMetrics;let r=J.renderOpts.pendingWaitUntil;r&&o.waitUntil&&(o.waitUntil(r),r=void 0);let a=J.renderOpts.collectedTags;if(!q)return await (0,c.sendResponse)(Z,X,n,r),null;{let e=await n.blob(),t=(0,E.toNodeOutgoingHttpHeaders)(n.headers);a&&(t[K.NEXT_CACHE_TAGS_HEADER]=a),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let i=void 0!==J.renderOpts.collectedRevalidate&&!(J.renderOpts.collectedRevalidate>=K.INFINITE_CACHE)&&J.renderOpts.collectedRevalidate,o=void 0===J.renderOpts.collectedExpire||J.renderOpts.collectedExpire>=K.INFINITE_CACHE?!1!==i&&i>0?w.expireTime:void 0:J.renderOpts.collectedExpire;return{value:{kind:h.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:i,expire:o}}}}catch(t){throw(null==i?void 0:i.isStale)&&await I.onRequestError(e,t,{routerKind:"App Router",routePath:O,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:Q,isOnDemandRevalidate:P})},!1,S),t}},$=async(n,a)=>{try{var s,A;let n=await I.handleResponse({req:e,nextConfig:w,cacheKey:k,routeKind:i.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:T,isRoutePPREnabled:!1,isOnDemandRevalidate:P,revalidateOnlyGenerated:x,responseGenerator:G,waitUntil:o.waitUntil,isMinimalMode:V});if(!q)return;if((null==n||null==(s=n.value)?void 0:s.kind)!==h.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==n||null==(A=n.value)?void 0:A.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});V||t.setHeader("x-nextjs-cache",P?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),_&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let r=(0,E.fromNodeOutgoingHttpHeaders)(n.value.headers);V&&q||r.delete(K.NEXT_CACHE_TAGS_HEADER),!n.cacheControl||t.getHeader("Cache-Control")||r.get("Cache-Control")||r.set("Cache-Control",(0,p.getCacheControlHeader)(n.cacheControl)),await (0,c.sendResponse)(Z,X,new Response(n.value.body,{headers:r,status:n.value.status||200}));return}catch(t){if(t instanceof R.NoFallbackError||await I.onRequestError(e,t,{routerKind:"App Router",routePath:M,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:Q,isOnDemandRevalidate:P})},!1,S),q)throw t;await (0,c.sendResponse)(Z,X,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:r.SpanStatusCode.ERROR}),n.setAttribute("error.type",e.toString()));let i=H.getRootSpanAttributes();if(!i)return;if(i.get("next.span_type")!==u.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${i.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let o=i.get("next.route")||M,s=`${B} ${o}`;n.setAttributes({"next.route":o,"http.route":o,"next.span_name":s}),n.updateName(s),a&&a!==n&&(a.setAttribute("http.route",o),a.updateName(s))})()}};if(j&&F)await $(F,void 0);else{let t=H.getActiveScopeSpan();await H.withPropagatedContext(e.headers,()=>H.trace(u.BaseServerSpan.handleRequest,{spanName:`${B} ${O}`,kind:r.SpanKind.SERVER,attributes:{"http.method":B,"http.target":e.url}},e=>$(e,t)),void 0,!j)}}e.s(["handler",0,f,"patchFetch",0,function(){return(0,o.patchFetch)({workAsyncStorage:O,workUnitAsyncStorage:C})},"routeModule",0,I,"serverHooks",0,m,"workAsyncStorage",0,O,"workUnitAsyncStorage",0,C])}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=_13ffmxv._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[711052,e=>e.a(async(t,a)=>{try{var r=e.i(89171),i=e.i(698043),n=e.i(79832),s=e.i(757660),o=e.i(181912),l=e.i(50377),u=e.i(798003),d=e.i(376025),c=e.i(602633);e.i(92366);var p=e.i(141070),h=t([n]);[n]=h.then?(await h)():h;let R=(0,l.createLogger)("api:error-items:list");async function g(e){let t=await (0,s.getServerSession)(n.authOptions),{searchParams:a}=new URL(e.url),l=a.get("subjectId"),h=a.get("query"),g=a.get("mastery"),f=a.get("timeRange"),w=a.get("tag"),v=Math.max(1,parseInt(a.get("page")||"1",10)),E=Math.min(c.MAX_PAGE_SIZE,Math.max(c.MIN_PAGE_SIZE,parseInt(a.get("pageSize")||String(c.DEFAULT_PAGE_SIZE),10)));try{let e;if(t?.user?.email&&(e=await i.prisma.user.findUnique({where:{email:t.user.email}})),!e)return(0,o.unauthorized)("Authentication required");let n={userId:e.id};l&&(n.subjectId=l);let s=[];if(h&&s.push({OR:[{questionText:{contains:h}},{analysis:{contains:h}},{wrongAnswerText:{contains:h}},{mistakeAnalysis:{contains:h}},{knowledgePoints:{contains:h}},...(0,p.isShortId)(h.trim())?[{shortId:h.trim()}]:[]]}),null!==g&&(n.masteryLevel="1"===g?{gt:0}:0),f&&"all"!==f){let e=new Date,t=(0,u.getAppTimeZone)(),a=e;"week"===f?a=(0,d.shiftCalendarDate)(e,t,-7):"month"===f&&(a=(0,d.shiftCalendarDate)(e,t,0,-1)),n.createdAt={gte:a}}let c=a.get("chapter");if(c){let t=await m(c,e.id);t.length>0?n.tags={some:{id:{in:t}}}:n.id="__IMPOSSIBLE_ID__"}w&&!c?n.knowledgePoints={contains:w}:w&&c&&(n.tags={some:{name:w}});let R=a.get("gradeSemester");if(R){let e=function(e){let t=[e],a="",r="";if(e.includes("七年级")||e.includes("初一"))r="七年级";else if(e.includes("八年级")||e.includes("初二"))r="八年级";else if(e.includes("九年级")||e.includes("初三"))r="九年级";else if(e.includes("高一"))r="高一";else if(e.includes("高二"))r="高二";else if(e.includes("高三"))r="高三";else{let a=e.match(/^(.+?)[上下]/);if(!a)return{gradeSemester:{contains:e}};t=[a[1]]}r&&(t=({七年级:["七年级","初一","7年级","七"],八年级:["八年级","初二","8年级","八"],九年级:["九年级","初三","9年级","九"],高一:["高一","10年级"],高二:["高二","11年级"],高三:["高三","12年级"]})[r]),e.includes("上")?a="上":e.includes("下")&&(a="下");let i=[];return(t.forEach(e=>{if(a){i.push({gradeSemester:{contains:`${e}${a}`}}),i.push({gradeSemester:{contains:`${e},${a}`}}),i.push({gradeSemester:{contains:`${e},${a}`}}),i.push({gradeSemester:{contains:`${e} ${a}`}});let t="上"===a?"上期":"下期";i.push({gradeSemester:{contains:`${e},${t}`}})}else i.push({gradeSemester:{contains:e}})}),0===i.length)?{gradeSemester:{contains:e}}:{OR:i}}(R);Object.assign(n,e)}let A=a.get("paperLevel");A&&"all"!==A&&(n.paperLevel=A),s.length>0&&(n.AND=s);let S=await i.prisma.errorItem.count({where:n}),C=await i.prisma.errorItem.findMany({where:n,orderBy:{createdAt:"desc"},include:{subject:!0,tags:!0},skip:(v-1)*E,take:E}),y=Math.ceil(S/E);return r.NextResponse.json({items:C,total:S,page:v,pageSize:E,totalPages:y})}catch(e){return R.error({error:e},"Error fetching items"),(0,o.internalError)("Failed to fetch error items")}}async function m(e,t){let a=await i.prisma.knowledgeTag.findFirst({where:{name:e,OR:[{isSystem:!0},{userId:t}]},select:{id:!0}});if(!a)return[];let r=[a.id],n=[a.id];for(;n.length>0;){let e=n.shift();for(let t of(await i.prisma.knowledgeTag.findMany({where:{parentId:e},select:{id:!0}})))r.push(t.id),n.push(t.id)}return r}e.s(["GET",0,g]),a()}catch(e){a(e)}},!1),521178,e=>{"use strict";var t=e.i(747909),a=e.i(174017),r=e.i(996250),i=e.i(759756),n=e.i(561916),s=e.i(174677),o=e.i(869741),l=e.i(316795),u=e.i(487718),d=e.i(995169),c=e.i(47587),p=e.i(666012),h=e.i(570101),g=e.i(626937),m=e.i(10372),R=e.i(193695),f=e.i(509580);e.i(52474);var w=e.i(600220);let v=new t.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/error-items/list/route",pathname:"/api/error-items/list",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/error-items/list/route.ts",nextConfigOutput:"standalone",userland:()=>e.r(711052),...{}}),{workAsyncStorage:E,workUnitAsyncStorage:A,serverHooks:S}=v;async function C(e,t,r){r.requestMeta&&(0,i.setRequestMeta)(e,r.requestMeta),v.isDev&&(0,i.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let E="/api/error-items/list/route";E=E.replace(/\/index$/,"")||"/";let A=await v.prepare(e,t,{srcPage:E,multiZoneDraftMode:!1});if(!A)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:S,deploymentId:C,params:y,nextConfig:x,parsedUrl:I,isDraftMode:_,prerenderManifest:T,routerServerContext:P,isOnDemandRevalidate:O,revalidateOnlyGenerated:b,resolvedPathname:N,clientReferenceManifest:M,serverActionsManifest:q}=A,k=(0,o.normalizeAppPath)(E),D=!!T.routes[N]&&(v.isDev||(0,f.isRouteCacheOwner)(N,v.cacheOwner,T.routes[N])),H=!!(T.dynamicRoutes[k]||D),U=async()=>((null==P?void 0:P.render404)?await P.render404(e,t,I,!1):t.end("This page could not be found"),null);if(H&&!_){let e=T.dynamicRoutes[k];if(e&&!1===e.fallback&&!D){if(x.adapterPath)return await U();throw new R.NoFallbackError}}let $=null;!H||v.isDev||_||($="/index"===($=N)?"/":$);let L=!0===v.isDev||!H,j=H&&!L;q&&M&&(0,s.setManifestsSingleton)({page:E,clientReferenceManifest:M,serverActionsManifest:q});let F=e.method||"GET",G=(0,n.getTracer)(),B=G.getActiveScopeSpan(),K=!!(null==P?void 0:P.isWrappedByNextServer),Z=!!(0,i.getRequestMeta)(e,"minimalMode"),X=(0,i.getRequestMeta)(e,"incrementalCache")||await v.getIncrementalCache(e,x,T,Z);null==X||X.resetRequestCache(),globalThis.__incrementalCache=X;let z={params:y,previewProps:T.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts,useCacheTimeout:x.experimental.useCacheTimeout},cacheComponents:!!x.cacheComponents,validationLevel:x.experimental.instantInsights.validationLevel,isDraftMode:_,supportsDynamicResponse:L,incrementalCache:X,hmrRefreshHash:(0,i.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:x.cacheLife,staticPageGenerationTimeout:x.staticPageGenerationTimeout,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,r,i)=>v.onRequestError(e,t,r,i,P)},sharedContext:{buildId:S,deploymentId:C}},V=new l.NodeNextRequest(e),W=new l.NodeNextResponse(t),J=u.NextRequestAdapter.fromNodeNextRequest(V,(0,u.signalFromNodeResponse)(t)),Q=async({previousCacheEntry:a})=>{try{if(!Z&&O&&b&&!a)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let i=await v.handle(J,z);e.fetchMetrics=z.renderOpts.fetchMetrics;let n=z.renderOpts.pendingWaitUntil;n&&r.waitUntil&&(r.waitUntil(n),n=void 0);let s=z.renderOpts.collectedTags;if(!H)return await (0,p.sendResponse)(V,W,i,n),null;{let e=await i.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(i.headers);s&&(t[m.NEXT_CACHE_TAGS_HEADER]=s),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==z.renderOpts.collectedRevalidate&&!(z.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&z.renderOpts.collectedRevalidate,r=void 0===z.renderOpts.collectedExpire||z.renderOpts.collectedExpire>=m.INFINITE_CACHE?!1!==a&&a>0?x.expireTime:void 0:z.renderOpts.collectedExpire;return{value:{kind:w.CachedRouteKind.APP_ROUTE,status:i.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:r}}}}catch(t){throw(null==a?void 0:a.isStale)&&await v.onRequestError(e,t,{routerKind:"App Router",routePath:E,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:j,isOnDemandRevalidate:O})},!1,P),t}},Y=async(i,s)=>{try{var o,l;let i=await v.handleResponse({req:e,nextConfig:x,cacheKey:$,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:T,isRoutePPREnabled:!1,isOnDemandRevalidate:O,revalidateOnlyGenerated:b,responseGenerator:Q,waitUntil:r.waitUntil,isMinimalMode:Z});if(!H)return;if((null==i||null==(o=i.value)?void 0:o.kind)!==w.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==i||null==(l=i.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});Z||t.setHeader("x-nextjs-cache",O?"REVALIDATED":i.isMiss?"MISS":i.isStale?"STALE":"HIT"),_&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let n=(0,h.fromNodeOutgoingHttpHeaders)(i.value.headers);Z&&H||n.delete(m.NEXT_CACHE_TAGS_HEADER),!i.cacheControl||t.getHeader("Cache-Control")||n.get("Cache-Control")||n.set("Cache-Control",(0,g.getCacheControlHeader)(i.cacheControl)),await (0,p.sendResponse)(V,W,new Response(i.value.body,{headers:n,status:i.value.status||200}));return}catch(t){if(t instanceof R.NoFallbackError||await v.onRequestError(e,t,{routerKind:"App Router",routePath:k,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:j,isOnDemandRevalidate:O})},!1,P),H)throw t;await (0,p.sendResponse)(V,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:n.SpanStatusCode.ERROR}),i.setAttribute("error.type",e.toString()));let a=G.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==d.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let r=a.get("next.route")||k,o=`${F} ${r}`;i.setAttributes({"next.route":r,"http.route":r,"next.span_name":o}),i.updateName(o),s&&s!==i&&(s.setAttribute("http.route",r),s.updateName(o))})()}};if(K&&B)await Y(B,void 0);else{let t=G.getActiveScopeSpan();await G.withPropagatedContext(e.headers,()=>G.trace(d.BaseServerSpan.handleRequest,{spanName:`${F} ${E}`,kind:n.SpanKind.SERVER,attributes:{"http.method":F,"http.target":e.url}},e=>Y(e,t)),void 0,!K)}}e.s(["handler",0,C,"patchFetch",0,function(){return(0,r.patchFetch)({workAsyncStorage:E,workUnitAsyncStorage:A})},"routeModule",0,v,"serverHooks",0,S,"workAsyncStorage",0,E,"workUnitAsyncStorage",0,A])},602633,e=>{"use strict";e.s(["DEFAULT_PAGE_SIZE",0,18,"MAX_PAGE_SIZE",0,1e3,"MIN_PAGE_SIZE",0,1])}];
|
|
1
|
+
module.exports=[11052,e=>e.a(async(t,a)=>{try{var r=e.i(58821),i=e.i(98043),n=e.i(79832),s=e.i(13618),o=e.i(76759),l=e.i(50377),u=e.i(98003),d=e.i(76025),c=e.i(2633);e.i(92366);var p=e.i(41070),h=e.i(95408),m=t([n]);[n]=m.then?(await m)():m;let f=(0,l.createLogger)("api:error-items:list");async function g(e){let t=await (0,s.getServerSession)(n.authOptions),{searchParams:a}=new URL(e.url),l=a.get("subjectId"),m=a.get("query"),g=a.get("mastery"),w=a.get("timeRange"),E=a.get("tag"),v=Math.max(1,parseInt(a.get("page")||"1",10)),S=Math.min(c.MAX_PAGE_SIZE,Math.max(c.MIN_PAGE_SIZE,parseInt(a.get("pageSize")||String(c.DEFAULT_PAGE_SIZE),10)));try{let e;if(t?.user?.email&&(e=await i.prisma.user.findUnique({where:{email:t.user.email}})),!e)return(0,o.unauthorized)("Authentication required");let n={userId:e.id};l&&(n.subjectId=l);let s=[];if(m&&s.push({OR:[{questionText:{contains:m}},{analysis:{contains:m}},{wrongAnswerText:{contains:m}},{mistakeAnalysis:{contains:m}},{knowledgePoints:{contains:m}},...(0,p.isShortId)(m.trim())?[{shortId:m.trim()}]:[]]}),(0,h.isMasteryStatus)(g)&&s.push((0,h.masteryStatusWhere)(g)),w&&"all"!==w){let e=new Date,t=(0,u.getAppTimeZone)(),a=e;"week"===w?a=(0,d.shiftCalendarDate)(e,t,-7):"month"===w&&(a=(0,d.shiftCalendarDate)(e,t,0,-1)),n.createdAt={gte:a}}let c=a.get("chapter");if(c){let t=await R(c,e.id);t.length>0?n.tags={some:{id:{in:t}}}:n.id="__IMPOSSIBLE_ID__"}E&&!c?n.knowledgePoints={contains:E}:E&&c&&(n.tags={some:{name:E}});let f=a.get("gradeSemester");if(f){let e=function(e){let t=[e],a="",r="";if(e.includes("七年级")||e.includes("初一"))r="七年级";else if(e.includes("八年级")||e.includes("初二"))r="八年级";else if(e.includes("九年级")||e.includes("初三"))r="九年级";else if(e.includes("高一"))r="高一";else if(e.includes("高二"))r="高二";else if(e.includes("高三"))r="高三";else{let a=e.match(/^(.+?)[上下]/);if(!a)return{gradeSemester:{contains:e}};t=[a[1]]}r&&(t=({七年级:["七年级","初一","7年级","七"],八年级:["八年级","初二","8年级","八"],九年级:["九年级","初三","9年级","九"],高一:["高一","10年级"],高二:["高二","11年级"],高三:["高三","12年级"]})[r]),e.includes("上")?a="上":e.includes("下")&&(a="下");let i=[];return(t.forEach(e=>{if(a){i.push({gradeSemester:{contains:`${e}${a}`}}),i.push({gradeSemester:{contains:`${e},${a}`}}),i.push({gradeSemester:{contains:`${e},${a}`}}),i.push({gradeSemester:{contains:`${e} ${a}`}});let t="上"===a?"上期":"下期";i.push({gradeSemester:{contains:`${e},${t}`}})}else i.push({gradeSemester:{contains:e}})}),0===i.length)?{gradeSemester:{contains:e}}:{OR:i}}(f);Object.assign(n,e)}let A=a.get("paperLevel");A&&"all"!==A&&(n.paperLevel=A),s.length>0&&(n.AND=s);let C=await i.prisma.errorItem.count({where:n}),y=await i.prisma.errorItem.findMany({where:n,orderBy:{createdAt:"desc"},include:{subject:!0,tags:!0,_count:h.PRACTICE_RECORD_COUNT},skip:(v-1)*S,take:S}),_=Math.ceil(C/S);return r.NextResponse.json({items:y.map(({_count:e,...t})=>({...t,masteryStatus:(0,h.masteryStatusOf)(e.practiceRecords,t.masteryProbability)})),total:C,page:v,pageSize:S,totalPages:_})}catch(e){return f.error({error:e},"Error fetching items"),(0,o.internalError)("Failed to fetch error items")}}async function R(e,t){let a=await i.prisma.knowledgeTag.findFirst({where:{name:e,OR:[{isSystem:!0},{userId:t}]},select:{id:!0}});if(!a)return[];let r=[a.id],n=[a.id];for(;n.length>0;){let e=n.shift();for(let t of(await i.prisma.knowledgeTag.findMany({where:{parentId:e},select:{id:!0}})))r.push(t.id),n.push(t.id)}return r}e.s(["GET",0,g]),a()}catch(e){a(e)}},!1),21178,e=>{"use strict";var t=e.i(47909),a=e.i(74017),r=e.i(96250),i=e.i(59756),n=e.i(61916),s=e.i(74677),o=e.i(69741),l=e.i(16795),u=e.i(87718),d=e.i(95169),c=e.i(47587),p=e.i(66012),h=e.i(70101),m=e.i(74838),g=e.i(10372),R=e.i(93695),f=e.i(9580);e.i(52474);var w=e.i(220);let E=new t.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/error-items/list/route",pathname:"/api/error-items/list",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/error-items/list/route.ts",nextConfigOutput:"standalone",userland:()=>e.r(11052),...{}}),{workAsyncStorage:v,workUnitAsyncStorage:S,serverHooks:A}=E;async function C(e,t,r){r.requestMeta&&(0,i.setRequestMeta)(e,r.requestMeta),E.isDev&&(0,i.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/error-items/list/route";v=v.replace(/\/index$/,"")||"/";let S=await E.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!S)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:A,deploymentId:C,params:y,nextConfig:_,parsedUrl:I,isDraftMode:T,prerenderManifest:x,routerServerContext:P,isOnDemandRevalidate:O,revalidateOnlyGenerated:b,resolvedPathname:N,clientReferenceManifest:M,serverActionsManifest:q}=S,D=(0,o.normalizeAppPath)(v),k=!!x.routes[N]&&(E.isDev||(0,f.isRouteCacheOwner)(N,E.cacheOwner,x.routes[N])),U=!!(x.dynamicRoutes[D]||k),H=async()=>((null==P?void 0:P.render404)?await P.render404(e,t,I,!1):t.end("This page could not be found"),null);if(U&&!T){let e=x.dynamicRoutes[D];if(e&&!1===e.fallback&&!k){if(_.adapterPath)return await H();throw new R.NoFallbackError}}let $=null;!U||E.isDev||T||($="/index"===($=N)?"/":$);let L=!0===E.isDev||!U,j=U&&!L;q&&M&&(0,s.setManifestsSingleton)({page:v,clientReferenceManifest:M,serverActionsManifest:q});let F=e.method||"GET",G=(0,n.getTracer)(),B=G.getActiveScopeSpan(),K=!!(null==P?void 0:P.isWrappedByNextServer),Z=!!(0,i.getRequestMeta)(e,"minimalMode"),X=(0,i.getRequestMeta)(e,"incrementalCache")||await E.getIncrementalCache(e,_,x,Z);null==X||X.resetRequestCache(),globalThis.__incrementalCache=X;let z={params:y,previewProps:x.preview,renderOpts:{experimental:{authInterrupts:!!_.experimental.authInterrupts,useCacheTimeout:_.experimental.useCacheTimeout},cacheComponents:!!_.cacheComponents,validationLevel:_.experimental.instantInsights.validationLevel,isDraftMode:T,supportsDynamicResponse:L,incrementalCache:X,hmrRefreshHash:(0,i.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:_.cacheLife,staticPageGenerationTimeout:_.staticPageGenerationTimeout,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,r,i)=>E.onRequestError(e,t,r,i,P)},sharedContext:{buildId:A,deploymentId:C}},V=new l.NodeNextRequest(e),W=new l.NodeNextResponse(t),J=u.NextRequestAdapter.fromNodeNextRequest(V,(0,u.signalFromNodeResponse)(t)),Q=async({previousCacheEntry:a})=>{try{if(!Z&&O&&b&&!a)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let i=await E.handle(J,z);e.fetchMetrics=z.renderOpts.fetchMetrics;let n=z.renderOpts.pendingWaitUntil;n&&r.waitUntil&&(r.waitUntil(n),n=void 0);let s=z.renderOpts.collectedTags;if(!U)return await (0,p.sendResponse)(V,W,i,n),null;{let e=await i.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(i.headers);s&&(t[g.NEXT_CACHE_TAGS_HEADER]=s),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==z.renderOpts.collectedRevalidate&&!(z.renderOpts.collectedRevalidate>=g.INFINITE_CACHE)&&z.renderOpts.collectedRevalidate,r=void 0===z.renderOpts.collectedExpire||z.renderOpts.collectedExpire>=g.INFINITE_CACHE?!1!==a&&a>0?_.expireTime:void 0:z.renderOpts.collectedExpire;return{value:{kind:w.CachedRouteKind.APP_ROUTE,status:i.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:r}}}}catch(t){throw(null==a?void 0:a.isStale)&&await E.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:j,isOnDemandRevalidate:O})},!1,P),t}},Y=async(i,s)=>{try{var o,l;let i=await E.handleResponse({req:e,nextConfig:_,cacheKey:$,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:x,isRoutePPREnabled:!1,isOnDemandRevalidate:O,revalidateOnlyGenerated:b,responseGenerator:Q,waitUntil:r.waitUntil,isMinimalMode:Z});if(!U)return;if((null==i||null==(o=i.value)?void 0:o.kind)!==w.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==i||null==(l=i.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});Z||t.setHeader("x-nextjs-cache",O?"REVALIDATED":i.isMiss?"MISS":i.isStale?"STALE":"HIT"),T&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let n=(0,h.fromNodeOutgoingHttpHeaders)(i.value.headers);Z&&U||n.delete(g.NEXT_CACHE_TAGS_HEADER),!i.cacheControl||t.getHeader("Cache-Control")||n.get("Cache-Control")||n.set("Cache-Control",(0,m.getCacheControlHeader)(i.cacheControl)),await (0,p.sendResponse)(V,W,new Response(i.value.body,{headers:n,status:i.value.status||200}));return}catch(t){if(t instanceof R.NoFallbackError||await E.onRequestError(e,t,{routerKind:"App Router",routePath:D,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:j,isOnDemandRevalidate:O})},!1,P),U)throw t;await (0,p.sendResponse)(V,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:n.SpanStatusCode.ERROR}),i.setAttribute("error.type",e.toString()));let a=G.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==d.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let r=a.get("next.route")||D,o=`${F} ${r}`;i.setAttributes({"next.route":r,"http.route":r,"next.span_name":o}),i.updateName(o),s&&s!==i&&(s.setAttribute("http.route",r),s.updateName(o))})()}};if(K&&B)await Y(B,void 0);else{let t=G.getActiveScopeSpan();await G.withPropagatedContext(e.headers,()=>G.trace(d.BaseServerSpan.handleRequest,{spanName:`${F} ${v}`,kind:n.SpanKind.SERVER,attributes:{"http.method":F,"http.target":e.url}},e=>Y(e,t)),void 0,!K)}}e.s(["handler",0,C,"patchFetch",0,function(){return(0,r.patchFetch)({workAsyncStorage:v,workUnitAsyncStorage:S})},"routeModule",0,E,"serverHooks",0,A,"workAsyncStorage",0,v,"workUnitAsyncStorage",0,S])},2633,e=>{"use strict";e.s(["DEFAULT_PAGE_SIZE",0,18,"MAX_PAGE_SIZE",0,1e3,"MIN_PAGE_SIZE",0,1])}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=_14tz_k9._.js.map
|