wrong-notebook 2026.10.22 → 2026.10.25-1
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 -2
- package/.next/build-manifest.json +208 -9
- package/.next/prerender-manifest.json +4 -4
- package/.next/required-server-files.json +16 -1
- package/.next/routes-manifest.json +0 -14
- package/.next/server/app/_global-error/page/build-manifest.json +8 -6
- package/.next/server/app/_global-error/page.js +9 -8
- 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 +18 -14
- package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +20 -16
- package/.next/server/app/_global-error.segments/_full.segment.rsc +18 -14
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +2 -1
- package/.next/server/app/_not-found/page/build-manifest.json +8 -6
- package/.next/server/app/_not-found/page.js +12 -12
- 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 +8 -6
- package/.next/server/app/admin/page.js +13 -13
- 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 +8 -6
- package/.next/server/app/admin/user/[id]/page.js +13 -13
- 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 +20 -9
- package/.next/server/app/api/admin/dashboard/route.js.nft.json +1 -1
- package/.next/server/app/api/admin/migrate-tags/route.js +10 -8
- package/.next/server/app/api/admin/migrate-tags/route.js.nft.json +1 -1
- package/.next/server/app/api/admin/system-reset/route.js +9 -7
- 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 +20 -8
- 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 +10 -7
- package/.next/server/app/api/admin/users/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/admin/users/route.js +10 -7
- package/.next/server/app/api/admin/users/route.js.nft.json +1 -1
- package/.next/server/app/api/ai/models/route.js +17 -13
- package/.next/server/app/api/ai/models/route.js.nft.json +1 -1
- package/.next/server/app/api/ai/test/route.js +18 -14
- package/.next/server/app/api/ai/test/route.js.nft.json +1 -1
- package/.next/server/app/api/analytics/route.js +12 -8
- package/.next/server/app/api/analytics/route.js.nft.json +1 -1
- package/.next/server/app/api/analyze/route.js +19 -15
- package/.next/server/app/api/analyze/route.js.nft.json +1 -1
- package/.next/server/app/api/auth/[...nextauth]/route.js +8 -6
- package/.next/server/app/api/auth/[...nextauth]/route.js.nft.json +1 -1
- package/.next/server/app/api/error-items/[id]/delete/route.js +9 -7
- 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 +19 -14
- 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 +19 -15
- 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 +17 -13
- 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 +11 -8
- 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 +9 -7
- 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 +10 -7
- 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 +19 -15
- 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 +20 -15
- 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 +8 -6
- 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 +19 -15
- 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 +9 -7
- 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 +9 -7
- package/.next/server/app/api/error-items/clear/route.js.nft.json +1 -1
- package/.next/server/app/api/error-items/list/route.js +12 -9
- package/.next/server/app/api/error-items/list/route.js.nft.json +1 -1
- package/.next/server/app/api/error-items/route.js +23 -16
- package/.next/server/app/api/error-items/route.js.nft.json +1 -1
- package/.next/server/app/api/error-items/short/[shortId]/route.js +10 -7
- 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 +11 -8
- 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 +20 -15
- 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 +21 -15
- package/.next/server/app/api/exams/[id]/results/route.js.nft.json +1 -1
- package/.next/server/app/api/exams/[id]/retry/route.js +20 -15
- package/.next/server/app/api/exams/[id]/retry/route.js.nft.json +1 -1
- package/.next/server/app/api/exams/[id]/route.js +18 -13
- package/.next/server/app/api/exams/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/exams/route.js +20 -15
- package/.next/server/app/api/exams/route.js.nft.json +1 -1
- package/.next/server/app/api/export/route.js +12 -9
- package/.next/server/app/api/export/route.js.nft.json +1 -1
- package/.next/server/app/api/geogebra-analyze/route.js +19 -14
- package/.next/server/app/api/geogebra-analyze/route.js.nft.json +1 -1
- package/.next/server/app/api/health/route.js +7 -6
- package/.next/server/app/api/health/route.js.nft.json +1 -1
- package/.next/server/app/api/import/route.js +23 -16
- package/.next/server/app/api/import/route.js.nft.json +1 -1
- package/.next/server/app/api/logs/frontend/route.js +9 -7
- package/.next/server/app/api/logs/frontend/route.js.nft.json +1 -1
- package/.next/server/app/api/notebooks/[id]/retag/route.js +20 -15
- package/.next/server/app/api/notebooks/[id]/retag/route.js.nft.json +1 -1
- package/.next/server/app/api/notebooks/[id]/route.js +9 -8
- package/.next/server/app/api/notebooks/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/notebooks/route.js +11 -9
- package/.next/server/app/api/notebooks/route.js.nft.json +1 -1
- package/.next/server/app/api/openclaw/batch-upload/route.js +22 -14
- package/.next/server/app/api/openclaw/batch-upload/route.js.nft.json +1 -1
- package/.next/server/app/api/practice/generate/route.js +19 -14
- package/.next/server/app/api/practice/generate/route.js.nft.json +1 -1
- package/.next/server/app/api/practice/record/[id]/route.js +20 -14
- package/.next/server/app/api/practice/record/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/practice/record/route.js +20 -15
- package/.next/server/app/api/practice/record/route.js.nft.json +1 -1
- package/.next/server/app/api/reanswer/route.js +19 -14
- package/.next/server/app/api/reanswer/route.js.nft.json +1 -1
- package/.next/server/app/api/register/route.js +9 -6
- package/.next/server/app/api/register/route.js.nft.json +1 -1
- package/.next/server/app/api/register/status/route.js +10 -7
- package/.next/server/app/api/register/status/route.js.nft.json +1 -1
- package/.next/server/app/api/settings/route.js +12 -9
- package/.next/server/app/api/settings/route.js.nft.json +1 -1
- package/.next/server/app/api/stats/practice/clear/route.js +9 -7
- package/.next/server/app/api/stats/practice/clear/route.js.nft.json +1 -1
- package/.next/server/app/api/stats/practice/route.js +12 -8
- package/.next/server/app/api/stats/practice/route.js.nft.json +1 -1
- package/.next/server/app/api/tags/route.js +9 -8
- package/.next/server/app/api/tags/route.js.nft.json +1 -1
- package/.next/server/app/api/tags/stats/route.js +10 -7
- package/.next/server/app/api/tags/stats/route.js.nft.json +1 -1
- package/.next/server/app/api/tags/suggestions/route.js +9 -7
- package/.next/server/app/api/tags/suggestions/route.js.nft.json +1 -1
- package/.next/server/app/api/tasks/route.js +10 -7
- package/.next/server/app/api/tasks/route.js.nft.json +1 -1
- package/.next/server/app/api/user/route.js +11 -9
- package/.next/server/app/api/user/route.js.nft.json +1 -1
- package/.next/server/app/api/version/route.js +7 -6
- package/.next/server/app/api/version/route.js.nft.json +1 -1
- package/.next/server/app/error-items/[id]/page/build-manifest.json +8 -6
- package/.next/server/app/error-items/[id]/page.js +13 -13
- 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 +8 -6
- package/.next/server/app/exams/[id]/page.js +13 -13
- 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 +8 -6
- package/.next/server/app/exams/[id]/print/page.js +13 -13
- 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 +8 -6
- package/.next/server/app/exams/page.js +13 -13
- 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 +7 -7
- package/.next/server/app/favicon.ico/route.js.nft.json +1 -1
- package/.next/server/app/login/page/build-manifest.json +8 -6
- package/.next/server/app/login/page.js +13 -13
- 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 +7 -7
- package/.next/server/app/manifest.webmanifest/route.js.nft.json +1 -1
- package/.next/server/app/manifest.webmanifest.body +1 -1
- package/.next/server/app/notebooks/[id]/add/page/build-manifest.json +8 -6
- package/.next/server/app/notebooks/[id]/add/page.js +13 -13
- 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 +8 -6
- package/.next/server/app/notebooks/[id]/page.js +13 -13
- 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 +8 -6
- package/.next/server/app/notebooks/page.js +13 -13
- 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 +8 -6
- package/.next/server/app/page.js +13 -13
- 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 +8 -6
- package/.next/server/app/practice/page.js +13 -13
- 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 +8 -6
- package/.next/server/app/print-preview/page.js +13 -13
- 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 +8 -6
- package/.next/server/app/register/page.js +11 -11
- 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 +8 -6
- package/.next/server/app/stats/page.js +13 -13
- 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 +8 -6
- package/.next/server/app/tags/page.js +13 -13
- 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 -2
- package/.next/server/chunks/0ivl_api_exams_[id]_questions_[questionId]_regenerate_route_actions_1ggead3ywjhli.js +3 -0
- package/.next/server/chunks/1oeh_server_app_api_admin_users_[id]_detail_route_actions_0oe_wktcsiz6j.js +3 -0
- package/.next/server/chunks/1oeh_server_app_api_error-items_[id]_delete_route_actions_1w26boq5bpk6f.js +3 -0
- package/.next/server/chunks/1oeh_server_app_api_error-items_[id]_figure_route_actions_0adlts0sguhrk.js +3 -0
- package/.next/server/chunks/1oeh_server_app_api_error-items_[id]_fix-latex_route_actions_0hc7dhxtl9kc9.js +3 -0
- package/.next/server/chunks/1oeh_server_app_api_error-items_[id]_geogebra_route_actions_1-ks4uvettiij.js +3 -0
- package/.next/server/chunks/1oeh_server_app_api_error-items_[id]_practice-records_route_actions_0z2zuf1oxdmh0.js +3 -0
- package/.next/server/chunks/1oeh_server_app_api_error-items_[id]_reanswer_route_actions_1-sw0j2l65i8t.js +3 -0
- package/.next/server/chunks/1oeh_server_app_api_error-items_[id]_svg-animation_route_actions_17gckf3idsy15.js +3 -0
- package/.next/server/chunks/1oeh_server_app_api_error-items_batch-delete_route_actions_0hiq_1kd60tc2.js +3 -0
- package/.next/server/chunks/1oeh_server_app_api_error-items_short_[shortId]_route_actions_02976v-fif6-5.js +3 -0
- package/.next/server/chunks/[externals]__04n7qbralh87n._.js +3 -0
- package/.next/server/chunks/[externals]__0jzwjtlwxxyw6._.js +3 -0
- package/.next/server/chunks/[externals]__0pot68n2q47fn._.js +3 -0
- package/.next/server/chunks/[externals]__1oyo6y4k5ao25._.js +3 -0
- package/.next/server/chunks/[externals]__1yyxisf-dquqj._.js +3 -0
- package/.next/server/chunks/[externals]_assert_1pwe1ri__g5hw._.js +3 -0
- package/.next/server/chunks/[externals]_fs_0pplqgcyv2l7l._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0-g6zoywy7s9r._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0-i5scl3dk6sv._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0-odhmcsbillm._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__003ii50e63ws5._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__02izfhede1ge6._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__04k4sy605shy8._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__082k83j3p6okz._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__08p0s4r9g87cn._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0_a858mm6ofp3._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0_t7bbz2btvts._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0a-kmd7e0p8db._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0an9s6-nn3kpq._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0b6q7yr-sfcet._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0g-kb21pws7qu._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0hbqxdkp_1j_7._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0hjv7gm7tjgzr._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0kva0deskq80y._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0l7y2xk1m7h84._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0l9qwcb4i27ui._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0ld-3rbaj1m8-._.js +56 -0
- package/.next/server/chunks/[root-of-the-server]__0majzhfobp3nf._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0mc5h4iz6ua87._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0nrxl8lqbzwov._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0nzkvmeik_rk5._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0pqggfowif112._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0qvrt0t4xthie._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0rbqws43qszln._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0rg4hkgdxbjou._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0rk_yxyba4meu._.js +9 -0
- package/.next/server/chunks/[root-of-the-server]__0ssrmihfi_u6m._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0w2rkt8xlhqw8._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0ycg3q_q562tz._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0ystefe8_e0es._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0zjg773epx4r_._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__122xu-0xjk0q5._.js +32 -0
- package/.next/server/chunks/[root-of-the-server]__139pkgh2w4wv7._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__13fue_8ln57sk._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__14-kwm6jhtwo2._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__15nya_6vffdj1._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__15s-n6e06wf6g._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__15tkoe60wvpdf._.js +10 -0
- package/.next/server/chunks/[root-of-the-server]__17rozs-xk_dqd._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__17xqc8-y_hmhm._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__18j9-n7s671bt._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1_gkx5xy1-3em._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1_kq0iosz0cgh._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1a8nqxs0k1ue0._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1biigyx-bi52y._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1bmd4mech7kzj._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1bswuhivogp5u._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1e_3xwt459gzy._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1epfgldsr-ls5._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1fc23i58z_ao2._.js +122 -0
- package/.next/server/chunks/[root-of-the-server]__1hejjxeb6bmtm._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1iydd43toz2hx._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1j6jbtj3gauq_._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1jfwn22nquvq-._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1jtd2ara5taim._.js +6 -0
- package/.next/server/chunks/[root-of-the-server]__1k73w0dqrm6gg._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1k_8n_p3i4my_._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1msj6a3i2of1g._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1nmtv65uajre3._.js +10 -0
- package/.next/server/chunks/[root-of-the-server]__1q6zz6-dwz42t._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1qv23loqhxkcf._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1rcitv6tfajfz._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1tczl61nfeymj._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1ve3j8ooyhjgv._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1vgkjjilvagrv._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1vj-su-vkz4ng._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1vw740yzcybw7._.js +32 -0
- package/.next/server/chunks/[root-of-the-server]__1y_u-tq43pxmc._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1yva3qsip39_n._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1zyka21s1ahtj._.js +3 -0
- package/.next/server/chunks/[turbopack]_runtime.js +146 -16
- package/.next/server/chunks/_0-ne-bwuvd_6w._.js +3 -0
- package/.next/server/chunks/_011-ll5i30j2e._.js +3 -0
- package/.next/server/chunks/_029zt0rilrwvt._.js +3 -0
- package/.next/server/chunks/_03ovgh1-4xf3f._.js +3 -0
- package/.next/server/chunks/_0431fxnqiloso._.js +3 -0
- package/.next/server/chunks/_07amw8ha9rney._.js +3 -0
- package/.next/server/chunks/_0_3_65z6ak-5i._.js +3 -0
- package/.next/server/chunks/_0_e736ff6uhew._.js +3 -0
- package/.next/server/chunks/_0anbzuivml30d._.js +3 -0
- package/.next/server/chunks/_0at03z7sgwdv3._.js +3 -0
- package/.next/server/chunks/_0axy8rynlghzq._.js +3 -0
- package/.next/server/chunks/_0d66myj_8567o._.js +3 -0
- package/.next/server/chunks/_0ekrwj-qx_6uh._.js +36 -0
- package/.next/server/chunks/_0geyrqrvyak26._.js +11 -0
- package/.next/server/chunks/_0gxi3zrkhyvx_._.js +3 -0
- package/.next/server/chunks/_0h1rbua_hqkox._.js +3 -0
- package/.next/server/chunks/_0kkvpy2s_y3-n._.js +11 -0
- package/.next/server/chunks/_0kreo-8xn80hb._.js +3 -0
- package/.next/server/chunks/_0l2j3br2g32zp._.js +3 -0
- package/.next/server/chunks/_0lz3t4lsygbtv._.js +19 -0
- package/.next/server/chunks/_0ne4rbj35w-io._.js +11 -0
- package/.next/server/chunks/_0qaoat396e0_3._.js +3 -0
- package/.next/server/chunks/_0qsjdkq-39qbo._.js +11 -0
- package/.next/server/chunks/_0tl0cy5j96d7h._.js +3 -0
- package/.next/server/chunks/_0uxp3uhmyw1h3._.js +3 -0
- package/.next/server/chunks/_0wegi_sv1s4wx._.js +3 -0
- package/.next/server/chunks/_0x3ltk09eli_f._.js +36 -0
- package/.next/server/chunks/_0z0zrluul2idw._.js +3 -0
- package/.next/server/chunks/_0zs7jfzzshbfq._.js +3 -0
- package/.next/server/chunks/_11w6ynlxuzl55._.js +3 -0
- package/.next/server/chunks/_12i51zlq-xxrl._.js +3 -0
- package/.next/server/chunks/_12w5k19rc45j_._.js +3 -0
- package/.next/server/chunks/_13ffmxv8qrwi0._.js +3 -0
- package/.next/server/chunks/_14tz_k9desx4n._.js +3 -0
- package/.next/server/chunks/_14w9nrdlajz24._.js +3 -0
- package/.next/server/chunks/_15fpgekhvv214._.js +3 -0
- package/.next/server/chunks/_16jdov0rxh99d._.js +3 -0
- package/.next/server/chunks/_17zw8m241gfs3._.js +3 -0
- package/.next/server/chunks/_18amra5328v90._.js +3 -0
- package/.next/server/chunks/_18hm5aaxkr500._.js +3 -0
- package/.next/server/chunks/_1_273cgnpyl9j._.js +3 -0
- package/.next/server/chunks/_1_ns7o3cqznv6._.js +3 -0
- package/.next/server/chunks/_1a1aqmie1d3u_._.js +3 -0
- package/.next/server/chunks/_1a1udq0c4_6ad._.js +3 -0
- package/.next/server/chunks/_1b0269xt-c8f7._.js +3 -0
- package/.next/server/chunks/_1b7qjlv0nxovi._.js +3 -0
- package/.next/server/chunks/_1be-y660a8z-q._.js +3 -0
- package/.next/server/chunks/_1cydcmia78z15._.js +3 -0
- package/.next/server/chunks/_1e8w9uuebtrcb._.js +3 -0
- package/.next/server/chunks/_1ex6ovo_j2jzv._.js +3 -0
- package/.next/server/chunks/_1fgb9ve_nfat4._.js +3 -0
- package/.next/server/chunks/_1hj7iit2u6xez._.js +3 -0
- package/.next/server/chunks/_1lrt8e26anbnm._.js +11 -0
- package/.next/server/chunks/_1m-yyz-pl9-03._.js +3 -0
- package/.next/server/chunks/_1pvqo-qnv-nqm._.js +3 -0
- package/.next/server/chunks/_1q65ai1_dwgjp._.js +3 -0
- package/.next/server/chunks/_1s5-ldt8xhtpp._.js +3 -0
- package/.next/server/chunks/_1sp0xk1c5jx5r._.js +3 -0
- package/.next/server/chunks/_1taeg5t2ai7_x._.js +3 -0
- package/.next/server/chunks/_1tjis3pqfxk7_._.js +3 -0
- package/.next/server/chunks/_1vtmdpk7p4al9._.js +3 -0
- package/.next/server/chunks/_1wulydy4wg9ow._.js +3 -0
- package/.next/server/chunks/_1xpj9uk-9zhl8._.js +3 -0
- package/.next/server/chunks/_1y5_49ip8l9oe._.js +3 -0
- package/.next/server/chunks/_1z_ujac_e_65s._.js +3 -0
- package/.next/server/chunks/_211va-dk9519v._.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_admin_dashboard_route_actions_1ispso-r2eove.js +3 -0
- package/.next/server/chunks/{_next-internal_server_app_api_admin_migrate-tags_route_actions_1ztwxhx.js → _next-internal_server_app_api_admin_migrate-tags_route_actions_1ztwxhxi2qsxd.js} +1 -1
- package/.next/server/chunks/{_next-internal_server_app_api_admin_system-reset_route_actions_15aselt.js → _next-internal_server_app_api_admin_system-reset_route_actions_15aseltajrio-.js} +1 -1
- package/.next/server/chunks/{_next-internal_server_app_api_admin_users_[id]_route_actions_1hhpuc4.js → _next-internal_server_app_api_admin_users_[id]_route_actions_1hhpuc4kr8kus.js} +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_admin_users_route_actions_0q-rtz1e15wl4.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_ai_models_route_actions_0w7iwv-_fbzuj.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_ai_test_route_actions_1p0n1q8zn22_3.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_analytics_route_actions_1e0ou17qxwn3t.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_analyze_route_actions_0lx-23h7r4czj.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_auth_[___nextauth]_route_actions_08nexdks3z54l.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_error-items_[id]_image_route_actions_1k9n5ylrz4c3i.js +3 -0
- package/.next/server/chunks/{_next-internal_server_app_api_error-items_[id]_notes_route_actions_1cjux7z.js → _next-internal_server_app_api_error-items_[id]_notes_route_actions_1cjux7zwbv-yr.js} +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_error-items_[id]_retag_route_actions_0ckki4nf1m1rv.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_error-items_[id]_route_actions_1kbs4uxgcnwcc.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_error-items_clear_route_actions_14t_6i-b4usht.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_error-items_list_route_actions_032x4ue0aseaq.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_error-items_route_actions_1zdvz0pe68kn6.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_error-items_similarity_route_actions_1i26if9-yrnuz.js +3 -0
- package/.next/server/chunks/{_next-internal_server_app_api_exams_[id]_results_route_actions_1v3vhi4.js → _next-internal_server_app_api_exams_[id]_results_route_actions_1v3vhi4cjl6y6.js} +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_exams_[id]_retry_route_actions_1fdi39f5xqz2a.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_exams_[id]_route_actions_1wuidrq8qisud.js +3 -0
- package/.next/server/chunks/{_next-internal_server_app_api_exams_route_actions_1c_zhtj.js → _next-internal_server_app_api_exams_route_actions_1c_zhtjquazbz.js} +2 -2
- package/.next/server/chunks/{_next-internal_server_app_api_export_route_actions_0lpcnjc.js → _next-internal_server_app_api_export_route_actions_0lpcnjc9jg57-.js} +2 -2
- package/.next/server/chunks/_next-internal_server_app_api_geogebra-analyze_route_actions_1xng0_cc6l98n.js +3 -0
- package/.next/server/chunks/{_next-internal_server_app_api_health_route_actions_1ryftkb.js → _next-internal_server_app_api_health_route_actions_1ryftkbeskq31.js} +2 -2
- package/.next/server/chunks/{_next-internal_server_app_api_import_route_actions_20ko04x.js → _next-internal_server_app_api_import_route_actions_20ko04xh42fpe.js} +2 -2
- package/.next/server/chunks/_next-internal_server_app_api_logs_frontend_route_actions_0nxeptyjby8s8.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_notebooks_[id]_retag_route_actions_00su_t80igzxy.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_notebooks_[id]_route_actions_11j3vxgeuqf90.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_notebooks_route_actions_02cy45r04tykl.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_openclaw_batch-upload_route_actions_1zz3oenvuk9lp.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_practice_generate_route_actions_1krr9n_f0vpz7.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_practice_record_[id]_route_actions_0zreiomdy_l4b.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_practice_record_route_actions_0py9z__efurdf.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_reanswer_route_actions_04xweh_hfqgvy.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_register_route_actions_0vlzh_c4r8obw.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_register_status_route_actions_0b52_sjq7yjzh.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_settings_route_actions_1bpm9acuq1z18.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_stats_practice_clear_route_actions_1iz6iz0hyvj4g.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_stats_practice_route_actions_1tfoxx-2uzhl0.js +3 -0
- package/.next/server/chunks/{_next-internal_server_app_api_tags_route_actions_1nb9ma2.js → _next-internal_server_app_api_tags_route_actions_1nb9ma2pi6m41.js} +2 -2
- package/.next/server/chunks/_next-internal_server_app_api_tags_stats_route_actions_0fmeadc45lqi1.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_tags_suggestions_route_actions_1xpolyvywz3qh.js +3 -0
- package/.next/server/chunks/{_next-internal_server_app_api_tasks_route_actions_123tq1_.js → _next-internal_server_app_api_tasks_route_actions_123tq1_b3dlgw.js} +2 -2
- package/.next/server/chunks/{_next-internal_server_app_api_user_route_actions_1k-4clg.js → _next-internal_server_app_api_user_route_actions_1k-4clgaupijh.js} +1 -1
- package/.next/server/chunks/{_next-internal_server_app_api_version_route_actions_0kbx30h.js → _next-internal_server_app_api_version_route_actions_0kbx30hro8e93.js} +1 -1
- package/.next/server/chunks/_next-internal_server_app_favicon_ico_route_actions_0g2jjlssn1kss.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_manifest_webmanifest_route_actions_08hcpz02cjxld.js +3 -0
- package/.next/server/chunks/node_modules_@anthropic-ai_sdk_1nnmjtbtp2rc6._.js +3 -0
- package/.next/server/chunks/node_modules_next_1zdbrneapig6o._.js +10 -0
- package/.next/server/chunks/node_modules_node-fetch_src_utils_multipart-parser_0a9aeam58e52_.js +3 -0
- package/.next/server/chunks/node_modules_zod_v4_classic_external_19886v847zvfd.js +3 -0
- package/.next/server/chunks/node_modules_zod_v4_classic_external_1h9u5hd8e7zk0.js +57 -0
- package/.next/server/chunks/src_0tzpy5j8n_1bx._.js +3 -0
- package/.next/server/chunks/src_lib_01n35ubnvj7qr._.js +3 -0
- package/.next/server/chunks/src_lib_05svhzm9a162-._.js +3 -0
- package/.next/server/chunks/src_lib_0if7dmbrjhhw_._.js +3 -0
- package/.next/server/chunks/src_lib_0zxy_zn_mlaya._.js +3 -0
- package/.next/server/chunks/src_lib_1-tw3_3nqx6ug._.js +3 -0
- package/.next/server/chunks/src_lib_15kwif87cuv22._.js +3 -0
- package/.next/server/chunks/src_lib_1geq39r7va9gy._.js +3 -0
- package/.next/server/chunks/src_lib_1k0xki4wmn54_._.js +3 -0
- package/.next/server/chunks/src_lib_1wgxqrl1loni_._.js +3 -0
- package/.next/server/chunks/src_lib_1wh1pqmstnzzt._.js +3 -0
- package/.next/server/chunks/src_lib_1wm8ay-jqxakc._.js +3 -0
- package/.next/server/chunks/{src_lib_ai_prompts_ts_0z36zms._.js → src_lib_ai_prompts_ts_0z36zms4djibp._.js} +52 -51
- package/.next/server/chunks/src_lib_auth-utils_ts_20i7biv4dj8pm._.js +3 -0
- package/.next/server/chunks/src_lib_current-user_ts_20jgxch2zjmt3._.js +3 -0
- package/.next/server/chunks/src_lib_date-time_ts_14chb270f3epb._.js +3 -0
- package/.next/server/chunks/src_lib_exam_ts_0d3a4q4r41hcf._.js +3 -0
- package/.next/server/chunks/src_lib_logger_ts_067l8txrna0gg._.js +3 -0
- package/.next/server/chunks/src_lib_mastery_ts_0ybi94uxn8ut6._.js +3 -0
- package/.next/server/chunks/src_lib_question-deduplication_ts_1p1bik-vwl9ue._.js +3 -0
- package/.next/server/chunks/src_lib_retag_ts_0eu8ld_86kt3a._.js +3 -0
- package/.next/server/chunks/src_lib_tag-recognition_ts_1wkzrdiapau86._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__03jq7w4crcz_u._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__070lhtl_a6l81._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0egzlmtf23a_j._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0fl_sbe1q-l5j._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0i73t4kmj3-mp._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0py1t7q9ntzgc._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0s0807tegp2v8._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0snw-y9tp0_06._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0ujgpq398o2w1._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0uulvxrtw9ld4._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0x_ihemma9171._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0zqp_pztbsqqc._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__102i99h9qhhnc._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__18ej8rcn5j4hs._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__18sucwsgl0hdl._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1a50a5t_t8z_e._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1b9f3v7g4ocyf._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1gulcy2-2jrfj._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1hcwd0rtvz96c._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1i2zrji0j2c3l._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1qpe9xti5ipq0._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1qpi6ed0efnfg._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1qwt10yvul4gg._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1upv9f0hlagx7._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1uw-g6-ij61rl._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1vwegr-t8j6qe._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1xfc5gf4weasu._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1xufj5ntr9bm3._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1yy2y09x1rvba._.js +3 -0
- package/.next/server/chunks/ssr/[turbopack]_runtime.js +146 -16
- package/.next/server/chunks/ssr/_00np6xqvkg6u-._.js +32 -0
- package/.next/server/chunks/ssr/_04qlm-w8tebyc._.js +3 -0
- package/.next/server/chunks/ssr/_065hikzgj3xg_._.js +3 -0
- package/.next/server/chunks/ssr/_08fq-uch-l1g6._.js +8 -0
- package/.next/server/chunks/ssr/_0bsjhzelppbjh._.js +3 -0
- package/.next/server/chunks/ssr/_0h6qsip9mphaq._.js +3 -0
- package/.next/server/chunks/ssr/_0lloy6tp9ov8e._.js +3 -0
- package/.next/server/chunks/ssr/_0pxsg9p6gub85._.js +3 -0
- package/.next/server/chunks/ssr/_0t2jed64ec8vu._.js +3 -0
- package/.next/server/chunks/ssr/_0xey1vceqp1wd._.js +3 -0
- package/.next/server/chunks/ssr/_1-bq77e5afl30._.js +3 -0
- package/.next/server/chunks/ssr/_1-sbpqghw1pn7._.js +3 -0
- package/.next/server/chunks/ssr/_110r17vqu8gol._.js +3 -0
- package/.next/server/chunks/ssr/_14d3enlxi54zl._.js +3 -0
- package/.next/server/chunks/ssr/_17edi6l2a0p76._.js +8 -0
- package/.next/server/chunks/ssr/_17igtpd3u0nhq._.js +3 -0
- package/.next/server/chunks/ssr/_19zbvpk25l83u._.js +3 -0
- package/.next/server/chunks/ssr/_1b9b1aq5b_1sj._.js +3 -0
- package/.next/server/chunks/ssr/_1cl6e0rtwi75o._.js +3 -0
- package/.next/server/chunks/ssr/_1em_7aul52rb4._.js +3 -0
- package/.next/server/chunks/ssr/_1f1l6ubybak3a._.js +3 -0
- package/.next/server/chunks/ssr/_1g12ubvpxwe-j._.js +3 -0
- package/.next/server/chunks/ssr/_1g8mzz6qxv2mr._.js +3 -0
- package/.next/server/chunks/ssr/_1wfh-5dxhj11n._.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app__global-error_page_actions_0zi5s8-psc_d2.js +3 -0
- package/.next/server/chunks/ssr/{_next-internal_server_app__not-found_page_actions_0pt47yr.js → _next-internal_server_app__not-found_page_actions_0pt47yrisjoev.js} +2 -2
- package/.next/server/chunks/ssr/{_next-internal_server_app_admin_page_actions_1mcickz.js → _next-internal_server_app_admin_page_actions_1mcickzfofbmo.js} +2 -2
- package/.next/server/chunks/ssr/_next-internal_server_app_admin_user_[id]_page_actions_0baj8gsw9br4u.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_error-items_[id]_page_actions_0qla9akl69m75.js +3 -0
- package/.next/server/chunks/ssr/{_next-internal_server_app_exams_[id]_page_actions_1kushg5.js → _next-internal_server_app_exams_[id]_page_actions_1kushg5crt5ed.js} +1 -1
- package/.next/server/chunks/ssr/_next-internal_server_app_exams_[id]_print_page_actions_0pxdgxqldskme.js +3 -0
- package/.next/server/chunks/ssr/{_next-internal_server_app_exams_page_actions_0av69f-.js → _next-internal_server_app_exams_page_actions_0av69f-jb4_80.js} +2 -2
- package/.next/server/chunks/ssr/{_next-internal_server_app_login_page_actions_04fnjo0.js → _next-internal_server_app_login_page_actions_04fnjo0ny9dmg.js} +2 -2
- package/.next/server/chunks/ssr/_next-internal_server_app_notebooks_[id]_add_page_actions_0275ft2lc_po5.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_notebooks_[id]_page_actions_1qj0i-7tmcbrj.js +3 -0
- package/.next/server/chunks/ssr/{_next-internal_server_app_notebooks_page_actions_06x1kdz.js → _next-internal_server_app_notebooks_page_actions_06x1kdz034ff8.js} +2 -2
- package/.next/server/chunks/ssr/{_next-internal_server_app_page_actions_0hhsz1j.js → _next-internal_server_app_page_actions_0hhsz1jew5ls7.js} +2 -2
- package/.next/server/chunks/ssr/{_next-internal_server_app_practice_page_actions_0cy-h5n.js → _next-internal_server_app_practice_page_actions_0cy-h5n6gnmoq.js} +2 -2
- package/.next/server/chunks/ssr/_next-internal_server_app_print-preview_page_actions_1jhaalnnytwbd.js +3 -0
- package/.next/server/chunks/ssr/{_next-internal_server_app_register_page_actions_1op-s-x.js → _next-internal_server_app_register_page_actions_1op-s-xpplkgy.js} +2 -2
- package/.next/server/chunks/ssr/{_next-internal_server_app_stats_page_actions_1olf1_a.js → _next-internal_server_app_stats_page_actions_1olf1_ad6s7ee.js} +2 -2
- package/.next/server/chunks/ssr/{_next-internal_server_app_tags_page_actions_20v_n--.js → _next-internal_server_app_tags_page_actions_20v_n--6ltjkg.js} +1 -1
- package/.next/server/chunks/ssr/node_modules_0gxlxpuufujz9._.js +33 -0
- package/.next/server/chunks/ssr/node_modules_1y5ym6hiirb6m._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_@radix-ui_0im69oqv_i2ki._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_@radix-ui_0zibxpne20gfo._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_@radix-ui_react-roving-focus_dist_index_mjs_0jdjq3jxbmizo._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_15-zi1i74qu9j._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_1_p6srzucwl-s._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_1g_su6v6_1gmz._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_printer_0pprvafgadlwd.js +3 -0
- package/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_wand-sparkles_1e4rylzm0nkbv.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_0janj0i6dqko7._.js +6 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_0ufsi7bhcumza._.js +23 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_1g0hsq_f-fygr._.js +14 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_1gey_lsf9b_wo._.js +5 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_1khq67j4vo9y4._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_0bew68i643j53._.js +33 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_0wpq8j32_ibz4._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_forbidden_0symwr9mbf-fh.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_global-error_0q-w892nagajq.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_unauthorized_0l_sp0xky89qu.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0-620erc29b8l.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_02t4jbzz34_x5.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_06zp_1r4dyujd.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_07zpyh6_aix9e.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_08b8vpe4ydv2l.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0927yli_zsjiv.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0ab39qicq17ku.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0dq5iwc4xesq1.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0mfa8uq-ofoud.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_14rvnul2svrv8.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_15yshykizhy_t.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_17vx074zs1h7f.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_18uzvmzy5tpu_.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_196bmtjcgr159.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1aq9r3iw9g7qi.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1e1odqisoi2pv.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1l6unubiwsg9f.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1ya73f4o4_7mr.js +3 -0
- package/.next/server/chunks/ssr/src_13u20tdu4gmgj._.js +3 -0
- package/.next/server/chunks/ssr/src_1gayunqs8u2e2._.js +3 -0
- package/.next/server/chunks/ssr/src_app_admin_page_tsx_0ublbd0w90cx_._.js +3 -0
- package/.next/server/chunks/ssr/src_app_admin_user_[id]_page_tsx_0zidp-8hr5upa._.js +3 -0
- package/.next/server/chunks/ssr/src_app_error-items_[id]_page_tsx_04xwwdmyh7_9q._.js +3 -0
- package/.next/server/chunks/ssr/src_app_exams_[id]_page_tsx_0xcjflkgkwzgd._.js +3 -0
- package/.next/server/chunks/ssr/src_app_exams_[id]_print_page_tsx_1i-xvhk8ul1l1._.js +35 -0
- package/.next/server/chunks/ssr/src_app_exams_page_tsx_17_d4_gy2i1ds._.js +3 -0
- package/.next/server/chunks/ssr/src_app_login_page_tsx_0yrgg2z_juzv9._.js +3 -0
- package/.next/server/chunks/ssr/src_app_notebooks_[id]_add_page_tsx_179tow1ql6vc_._.js +3 -0
- package/.next/server/chunks/ssr/src_app_notebooks_[id]_page_tsx_08njm-5-txm8_._.js +3 -0
- package/.next/server/chunks/ssr/src_app_notebooks_page_tsx_1p9src5gnz_40._.js +3 -0
- package/.next/server/chunks/ssr/src_app_page_tsx_1chiuahujsxm1._.js +3 -0
- package/.next/server/chunks/ssr/src_app_practice_page_tsx_10gnx53v3kpzb._.js +3 -0
- package/.next/server/chunks/ssr/src_app_print-preview_page_tsx_001yt-fzrj7tf._.js +3 -0
- package/.next/server/chunks/ssr/src_app_register_page_tsx_0l87b3754fa2j._.js +3 -0
- package/.next/server/chunks/ssr/src_app_tags_page_tsx_1h2vkk4hv_zlp._.js +3 -0
- package/.next/server/chunks/ssr/src_components_difficulty-stars_tsx_1af9qqfurq7_t._.js +3 -0
- package/.next/server/chunks/ssr/src_components_mastery-panel_tsx_1--j5c7mhomdp._.js +3 -0
- package/.next/server/chunks/ssr/src_components_practice-result-picker_tsx_06jytymet6adu._.js +3 -0
- package/.next/server/chunks/ssr/src_components_providers_tsx_09kw-mv3nb6xs._.js +193 -0
- package/.next/server/chunks/ssr/src_components_settings_duplicate-threshold-setting_tsx_06bbmwo1pkaim._.js +3 -0
- package/.next/server/chunks/ssr/src_components_tag-input_tsx_0b9sxffna5c9i._.js +3 -0
- package/.next/server/chunks/ssr/src_components_ui_checkbox_tsx_0xdylzmai9n53._.js +3 -0
- package/.next/server/chunks/ssr/src_components_ui_dialog_tsx_1tn-i_6d3rhzt._.js +7 -0
- package/.next/server/chunks/ssr/src_components_ui_tabs_tsx_0skssvsquc-9c._.js +3 -0
- package/.next/server/chunks/ssr/src_lib_constants_pagination_ts_02h78dpuabai5._.js +3 -0
- package/.next/server/chunks/ssr/src_lib_date-time_ts_0oyqctny6_q66._.js +3 -0
- package/.next/server/edge/chunks/[root-of-the-server]__1osrt2u3yic3e._.js +3 -0
- package/.next/server/edge/chunks/_1s0wgnupch4sb._.js +3 -0
- package/.next/server/edge/chunks/node_modules_0um8zwzayafzq._.js +13 -0
- package/.next/server/edge/chunks/turbopack-node_modules_next_dist_esm_build_templates_edge-wrapper_0dxg4rr5z738i.js +3 -0
- package/.next/server/edge/chunks/turbopack-node_modules_next_dist_esm_build_templates_edge-wrapper_0dzf5yhexv02u.js +3 -0
- package/.next/server/instrumentation.js +3 -3
- package/.next/server/middleware-build-manifest.js +208 -9
- package/.next/server/middleware-manifest.json +13 -13
- package/.next/server/next-font-manifest.js +1 -1
- package/.next/server/next-font-manifest.json +0 -4
- package/.next/server/pages/500.html +1 -1
- package/.next/server/preview-props.json +5 -0
- package/.next/server/server-reference-manifest.js +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/{w6W6dMBYlP4wbCdeRcVhA → 0rqQXLDvfc_jhsn1XF-zT}/_clientMiddlewareManifest.js +2 -2
- package/.next/static/chunks/02arashg5z9hy.js +1 -0
- package/.next/static/chunks/030eh13-7xvy7.js +1 -0
- package/.next/static/chunks/06q8lm6y95ac4.css +1 -0
- package/.next/static/chunks/07zxudgwttnwv.js +6 -0
- package/.next/static/chunks/089-9u4pe2h49.js +1 -0
- package/.next/static/chunks/093w4w_19h9qh.js +31 -0
- package/.next/static/chunks/0a-rekt06v0sv.js +1 -0
- package/.next/static/chunks/0dlztx_6_yfcq.js +1 -0
- package/.next/static/chunks/0e7mao0hn_nw4.js +1 -0
- package/.next/static/chunks/0fiebviba_0be.js +33 -0
- package/.next/static/chunks/0ipduzu-11mee.js +1 -0
- package/.next/static/chunks/0myk7euf03qwr.js +1 -0
- package/.next/static/chunks/0s6zcnahk3us4.js +5 -0
- package/.next/static/chunks/0ub8l5nongf_r.js +1 -0
- package/.next/static/chunks/0ykhi6pk49so-.js +1 -0
- package/.next/static/chunks/14a1tth-1ddn-.js +1 -0
- package/.next/static/chunks/15e5p9740moee.js +1 -0
- package/.next/static/chunks/19js5h26_4w0w.js +1 -0
- package/.next/static/chunks/1_h2h09t_394a.js +1 -0
- package/.next/static/chunks/1fhxsoq06x1_e.js +1 -0
- package/.next/static/chunks/1fl98iro7y1bv.js +1 -0
- package/.next/static/chunks/1kq7w30gvsyaq.js +1 -0
- package/.next/static/chunks/1wqqkfg03tuu1.js +1 -0
- package/.next/static/chunks/23v229-qd9o6o.js +1 -0
- package/.next/static/chunks/242x7dx0zu3hf.js +1 -0
- package/.next/static/chunks/26gl990fowmkx.js +1 -0
- package/.next/static/chunks/2c2gi_zxaaa-j.js +3 -0
- package/.next/static/chunks/2l-1t8-pfq4ph.js +1 -0
- package/.next/static/chunks/2tu_d3t2boag2.js +1 -0
- package/.next/static/chunks/2v3rvsf6-bnfs.js +1 -0
- package/.next/static/chunks/2xlmm9z_sr1_m.js +1 -0
- package/.next/static/chunks/2y8ek6g772mi5.js +191 -0
- package/.next/static/chunks/2ysjbje-zsbdp.js +1 -0
- package/.next/static/chunks/384cc0iojva04.css +3 -0
- package/.next/static/chunks/3mb_v650fie_i.js +22 -0
- package/.next/static/chunks/3r4z_6i5z0hd5.js +1 -0
- package/.next/static/chunks/3sqcsxnhsnxzo.js +1 -0
- package/.next/static/chunks/turbopack-2c3mg3r-05n1w.js +1 -0
- package/LICENSE +22 -0
- package/launcher.js +22 -6
- package/package.json +4 -3
- package/prisma/migrations/20261022000141_add_svg_animation_en/migration.sql +2 -0
- package/prisma/migrations/20261024000000_add_last_practice/migration.sql +2 -0
- package/prisma/schema.prisma +3 -1
- package/prisma/seed.db +0 -0
- package/public/icons/apple-touch-icon.png +0 -0
- package/public/icons/icon-192.png +0 -0
- package/public/icons/icon-512.png +0 -0
- package/public/icons/icon-maskable-512.png +0 -0
- package/public/offline.html +61 -0
- package/public/sw.js +84 -0
- package/server.js +1 -1
- 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/app/latex-test/page/app-paths-manifest.json +0 -3
- package/.next/server/app/latex-test/page/build-manifest.json +0 -20
- package/.next/server/app/latex-test/page/next-font-manifest.json +0 -11
- package/.next/server/app/latex-test/page/react-loadable-manifest.json +0 -1
- package/.next/server/app/latex-test/page/server-reference-manifest.json +0 -4
- package/.next/server/app/latex-test/page.js +0 -14
- package/.next/server/app/latex-test/page.js.map +0 -5
- package/.next/server/app/latex-test/page.js.nft.json +0 -1
- package/.next/server/app/latex-test/page_client-reference-manifest.js +0 -3
- package/.next/server/chunks/1jng_app_api_exams_[id]_questions_[questionId]_regenerate_route_actions_1ggead3.js +0 -3
- package/.next/server/chunks/1oeh_server_app_api_error-items_[id]_practice-records_route_actions_0z2zuf1.js +0 -3
- package/.next/server/chunks/1oeh_server_app_api_error-items_[id]_svg-animation_route_actions_17gckf3.js +0 -3
- package/.next/server/chunks/[externals]__04n7qbr._.js +0 -3
- package/.next/server/chunks/[externals]__0pot68n._.js +0 -3
- package/.next/server/chunks/[externals]__1735khz._.js +0 -3
- package/.next/server/chunks/[externals]_assert_1pwe1ri._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__00_hq9v._.js +0 -153
- package/.next/server/chunks/[root-of-the-server]__01bzczj._.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]__07jl92a._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0_t7bbz._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0akadps._.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]__0m8p-6f._.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]__0rk_yxy._.js +0 -9
- 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_-ncy._.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]__122xu-0._.js +0 -32
- 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]__15tkoe6._.js +0 -10
- 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]__1_gkx5x._.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]__1jtd2ar._.js +0 -6
- package/.next/server/chunks/[root-of-the-server]__1ju8z29._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1kpo44g._.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]__1nmtv65._.js +0 -10
- 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]__1vw740y._.js +0 -32
- 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-eguqv._.js +0 -3
- package/.next/server/chunks/_008zx49._.js +0 -3
- package/.next/server/chunks/_011-ll5._.js +0 -3
- package/.next/server/chunks/_0389uce._.js +0 -3
- package/.next/server/chunks/_0431fxn._.js +0 -3
- package/.next/server/chunks/_0_o8yhv._.js +0 -3
- package/.next/server/chunks/_0c5hvv3._.js +0 -11
- package/.next/server/chunks/_0ekrwj-._.js +0 -36
- package/.next/server/chunks/_0frix22._.js +0 -11
- package/.next/server/chunks/_0gwg6ba._.js +0 -3
- package/.next/server/chunks/_0gxi3zr._.js +0 -3
- package/.next/server/chunks/_0lz3t4l._.js +0 -19
- package/.next/server/chunks/_0rdo0a4._.js +0 -3
- package/.next/server/chunks/_0uxp3uh._.js +0 -3
- package/.next/server/chunks/_0x3ltk0._.js +0 -36
- package/.next/server/chunks/_12w5k19._.js +0 -3
- package/.next/server/chunks/_13ffmxv._.js +0 -3
- package/.next/server/chunks/_14tz_k9._.js +0 -3
- package/.next/server/chunks/_167vv93._.js +0 -3
- package/.next/server/chunks/_16jdov0._.js +0 -3
- package/.next/server/chunks/_18amra5._.js +0 -3
- package/.next/server/chunks/_1_ns7o3._.js +0 -3
- package/.next/server/chunks/_1a1aqmi._.js +0 -3
- package/.next/server/chunks/_1a1udq0._.js +0 -3
- package/.next/server/chunks/_1b0269x._.js +0 -3
- package/.next/server/chunks/_1b7qjlv._.js +0 -3
- package/.next/server/chunks/_1be-y66._.js +0 -3
- package/.next/server/chunks/_1e1h1f1._.js +0 -3
- package/.next/server/chunks/_1ex6ovo._.js +0 -3
- package/.next/server/chunks/_1fgb9ve._.js +0 -3
- package/.next/server/chunks/_1flar98._.js +0 -3
- package/.next/server/chunks/_1m-yyz-._.js +0 -3
- package/.next/server/chunks/_1oj6gy_._.js +0 -3
- package/.next/server/chunks/_1pvqo-q._.js +0 -3
- package/.next/server/chunks/_1z_ujac._.js +0 -3
- package/.next/server/chunks/_211va-d._.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_admin_dashboard_route_actions_1ispso-.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_admin_users_[id]_detail_route_actions_0oe_wkt.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_admin_users_route_actions_0q-rtz1.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_ai_models_route_actions_0w7iwv-.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_ai_test_route_actions_1p0n1q8.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_analytics_route_actions_1e0ou17.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_analyze_route_actions_0lx-23h.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_auth_[___nextauth]_route_actions_08nexdk.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_error-items_[id]_delete_route_actions_1w26boq.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_error-items_[id]_figure_route_actions_0adlts0.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_error-items_[id]_fix-latex_route_actions_0hc7dhx.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_error-items_[id]_geogebra_route_actions_1-ks4uv.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_error-items_[id]_image_route_actions_1k9n5yl.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/_next-internal_server_app_api_error-items_[id]_reanswer_route_actions_1-sw0j2.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_error-items_[id]_retag_route_actions_0ckki4n.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_error-items_[id]_route_actions_1kbs4ux.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_error-items_batch-delete_route_actions_0hiq_1k.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_error-items_clear_route_actions_14t_6i-.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_error-items_list_route_actions_032x4ue.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_error-items_route_actions_1zdvz0p.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_error-items_short_[shortId]_route_actions_02976v-.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_error-items_similarity_route_actions_1i26if9.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_exams_[id]_retry_route_actions_1fdi39f.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_exams_[id]_route_actions_1wuidrq.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_geogebra-analyze_route_actions_1xng0_c.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_logs_frontend_route_actions_0nxepty.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_notebooks_[id]_retag_route_actions_00su_t8.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_notebooks_[id]_route_actions_11j3vxg.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_notebooks_route_actions_02cy45r.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_openclaw_batch-upload_route_actions_1zz3oen.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_practice_generate_route_actions_1krr9n_.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_practice_record_[id]_route_actions_0zreiom.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_practice_record_route_actions_0py9z__.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_reanswer_route_actions_04xweh_.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_register_route_actions_0vlzh_c.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_register_status_route_actions_0b52_sj.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_settings_route_actions_1bpm9ac.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_stats_practice_clear_route_actions_1iz6iz0.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_stats_practice_route_actions_1tfoxx-.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_tags_stats_route_actions_0fmeadc.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_tags_suggestions_route_actions_1xpolyv.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_favicon_ico_route_actions_0g2jjls.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_manifest_webmanifest_route_actions_08hcpz0.js +0 -3
- package/.next/server/chunks/node_modules_next_1zdbrne._.js +0 -10
- package/.next/server/chunks/node_modules_zod_v4_classic_external_1-pw2v2.js +0 -22
- package/.next/server/chunks/src_0tzpy5j._.js +0 -3
- package/.next/server/chunks/src_lib_date-time_ts_14chb27._.js +0 -3
- package/.next/server/chunks/src_lib_question-deduplication_ts_1p1bik-._.js +0 -3
- package/.next/server/chunks/ssr/[externals]_fs_0pplqgc._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__00gewu3._.js +0 -35
- package/.next/server/chunks/ssr/[root-of-the-server]__05f8wbh._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0a0nty7._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0ax9dog._.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]__0bvtza7._.js +0 -33
- package/.next/server/chunks/ssr/[root-of-the-server]__0g_-bym._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0gwwr7e._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0hzktoi._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0icjezr._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0koj8h0._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0s87xha._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0snpjfe._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0y_e9do._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0ybs_4c._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__14l7peq._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__1507q8a._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__15ppb9j._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__191jn5n._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__1f2jx51._.js +0 -33
- package/.next/server/chunks/ssr/[root-of-the-server]__1gth76-._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__1ko_dw5._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__1l84pks._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__1m7qw-2._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__1ma2oml._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__1o8jotz._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__1o__w27._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__1p7f0va._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__1sg9eoj._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__1u74hyi._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__1xsovpr._.js +0 -3
- package/.next/server/chunks/ssr/_054yhx9._.js +0 -3
- package/.next/server/chunks/ssr/_07ls0n_._.js +0 -3
- package/.next/server/chunks/ssr/_0i9hwpv._.js +0 -3
- package/.next/server/chunks/ssr/_0iqp5hs._.js +0 -3
- package/.next/server/chunks/ssr/_0m1-rq-._.js +0 -3
- package/.next/server/chunks/ssr/_0mgbe2b._.js +0 -3
- package/.next/server/chunks/ssr/_0nv22wt._.js +0 -3
- package/.next/server/chunks/ssr/_0rz2_qb._.js +0 -151
- package/.next/server/chunks/ssr/_0sbbx9z._.js +0 -7
- package/.next/server/chunks/ssr/_0sf1gd9._.js +0 -3
- package/.next/server/chunks/ssr/_0uemk57._.js +0 -3
- package/.next/server/chunks/ssr/_0zj7dlu._.js +0 -3
- package/.next/server/chunks/ssr/_12c20v5._.js +0 -3
- package/.next/server/chunks/ssr/_17igtpd._.js +0 -3
- package/.next/server/chunks/ssr/_1filpif._.js +0 -3
- package/.next/server/chunks/ssr/_1gu1rou._.js +0 -3
- package/.next/server/chunks/ssr/_1jniqsj._.js +0 -3
- package/.next/server/chunks/ssr/_1kgnhmo._.js +0 -8
- package/.next/server/chunks/ssr/_1lt1lhz._.js +0 -8
- package/.next/server/chunks/ssr/_1yeu09q._.js +0 -3
- package/.next/server/chunks/ssr/_next-internal_server_app__global-error_page_actions_0zi5s8-.js +0 -3
- package/.next/server/chunks/ssr/_next-internal_server_app_admin_user_[id]_page_actions_0baj8gs.js +0 -3
- package/.next/server/chunks/ssr/_next-internal_server_app_error-items_[id]_page_actions_0qla9ak.js +0 -3
- package/.next/server/chunks/ssr/_next-internal_server_app_exams_[id]_print_page_actions_0pxdgxq.js +0 -3
- package/.next/server/chunks/ssr/_next-internal_server_app_latex-test_page_actions_19v7ka0.js +0 -3
- package/.next/server/chunks/ssr/_next-internal_server_app_notebooks_[id]_add_page_actions_0275ft2.js +0 -3
- package/.next/server/chunks/ssr/_next-internal_server_app_notebooks_[id]_page_actions_1qj0i-7.js +0 -3
- package/.next/server/chunks/ssr/_next-internal_server_app_print-preview_page_actions_1jhaaln.js +0 -3
- package/.next/server/chunks/ssr/node_modules_0o2aki7._.js +0 -3
- package/.next/server/chunks/ssr/node_modules_1y5ym6h._.js +0 -3
- package/.next/server/chunks/ssr/node_modules_next_1lnqo1a._.js +0 -5
- package/.next/server/chunks/ssr/node_modules_next_dist_077yo5w._.js +0 -3
- package/.next/server/chunks/ssr/node_modules_next_dist_0nkkbfv._.js +0 -6
- package/.next/server/chunks/ssr/node_modules_next_dist_1_c-t1n._.js +0 -14
- package/.next/server/chunks/ssr/node_modules_next_dist_1v8aef8._.js +0 -3
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_0bew68i._.js +0 -33
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_0wpq8j3._.js +0 -3
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_forbidden_0symwr9.js +0 -3
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_global-error_0q-w892.js +0 -3
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_unauthorized_0l_sp0x.js +0 -3
- package/.next/server/chunks/ssr/src_1biegcg._.js +0 -3
- package/.next/server/chunks/ssr/src_1gayunq._.js +0 -3
- package/.next/server/chunks/ssr/src_1o363ao._.js +0 -3
- package/.next/server/chunks/ssr/src_app_admin_page_tsx_0ublbd0._.js +0 -3
- package/.next/server/chunks/ssr/src_app_error-items_[id]_page_tsx_04xwwdm._.js +0 -3
- package/.next/server/chunks/ssr/src_app_notebooks_[id]_page_tsx_08njm-5._.js +0 -3
- package/.next/server/chunks/ssr/src_app_notebooks_page_tsx_1p9src5._.js +0 -3
- package/.next/server/chunks/ssr/src_app_page_tsx_1chiuah._.js +0 -3
- package/.next/server/chunks/ssr/src_app_practice_page_tsx_10gnx53._.js +0 -3
- package/.next/server/chunks/ssr/src_app_tags_page_tsx_1h2vkk4._.js +0 -3
- package/.next/server/chunks/ssr/src_components_providers_tsx_09kw-mv._.js +0 -193
- package/.next/server/chunks/ssr/src_lib_date-time_ts_0oyqctn._.js +0 -3
- package/.next/server/edge/chunks/[root-of-the-server]__1osrt2u._.js +0 -3
- package/.next/server/edge/chunks/_1s0wgnu._.js +0 -3
- package/.next/server/edge/chunks/node_modules_0g4gi6f._.js +0 -13
- package/.next/server/edge/chunks/turbopack-node_modules_next_dist_esm_build_templates_edge-wrapper_1iafar9.js +0 -3
- package/.next/server/edge/chunks/turbopack-node_modules_next_dist_esm_build_templates_edge-wrapper_1x1n1fx.js +0 -3
- package/.next/static/chunks/00pn0o7lymln6.js +0 -1
- package/.next/static/chunks/02521degnqmf0.js +0 -1
- package/.next/static/chunks/0_w084ms_lq25.js +0 -22
- package/.next/static/chunks/0dzfsm6h13fyr.js +0 -1
- package/.next/static/chunks/0ehjiuuxbbhq9.js +0 -1
- package/.next/static/chunks/0iq53qkw5hvrs.js +0 -1
- package/.next/static/chunks/0m81l71kojx8j.js +0 -1
- package/.next/static/chunks/0nckb2-62ooyq.js +0 -1
- package/.next/static/chunks/0snej-v5yglxr.js +0 -1
- package/.next/static/chunks/1-7k9gbbjkcml.js +0 -1
- package/.next/static/chunks/130ch9mnvb6mp.css +0 -3
- package/.next/static/chunks/17wdtw8hml2n6.js +0 -191
- package/.next/static/chunks/1cd32rtomdngh.js +0 -1
- package/.next/static/chunks/1io3-cth_2-cd.js +0 -1
- package/.next/static/chunks/1oiuiyv1cv06v.js +0 -31
- package/.next/static/chunks/1t4-pobw0y5cf.js +0 -1
- package/.next/static/chunks/1xg811762s1p1.js +0 -1
- package/.next/static/chunks/1z_5sj1wqi06v.js +0 -1
- package/.next/static/chunks/2a0kgntckcbvf.js +0 -1
- package/.next/static/chunks/2dlme2fdlkms6.js +0 -1
- package/.next/static/chunks/2h-exsnhkfnb8.js +0 -1
- package/.next/static/chunks/2pmzqbg-qabof.js +0 -1
- package/.next/static/chunks/2rmhba08h4qqo.js +0 -33
- package/.next/static/chunks/2s07soqug65hc.js +0 -1
- package/.next/static/chunks/2w2uo9jjxt-re.js +0 -1
- package/.next/static/chunks/2wnnnmbh85mq_.js +0 -1
- package/.next/static/chunks/2yl8a-gxngbuq.js +0 -1
- package/.next/static/chunks/32bl-oqw9oso0.js +0 -1
- package/.next/static/chunks/35cov9g4cgt-v.js +0 -1
- package/.next/static/chunks/3b-g5_r9nto3s.js +0 -6
- package/.next/static/chunks/3c4-ozf1dxam2.css +0 -1
- package/.next/static/chunks/3g1rm2suowncy.js +0 -3
- package/.next/static/chunks/3helovsg02qr4.js +0 -1
- package/.next/static/chunks/3hz1l3qoxv84t.js +0 -1
- package/.next/static/chunks/3jta6jrk-jubq.js +0 -1
- package/.next/static/chunks/3yhf6xyypekz6.js +0 -1
- package/.next/static/chunks/3z9gc_02gl8n9.js +0 -1
- package/.next/static/chunks/427wg73nuzpiz.js +0 -5
- package/.next/static/chunks/turbopack-1-0r7_puvz3eq.js +0 -1
- /package/.next/static/{w6W6dMBYlP4wbCdeRcVhA → 0rqQXLDvfc_jhsn1XF-zT}/_buildManifest.js +0 -0
- /package/.next/static/{w6W6dMBYlP4wbCdeRcVhA → 0rqQXLDvfc_jhsn1XF-zT}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
(()=>{"use strict";module.exports=[184085,e=>{var t=e.i(747909),r=e.i(174017),a=e.i(996250),n=e.i(759756),i=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),f=e.i(626937),w=e.i(10372),m=e.i(193695),v=e.i(509580);e.i(52474);var R=e.i(600220);let x=new t.AppRouteRouteModule({definition:{kind:r.f.APP_ROUTE,page:"/api/admin/users/[id]/route",pathname:"/api/admin/users/[id]",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/admin/users/[id]/route.ts",nextConfigOutput:"standalone",userland:()=>e.r(786264),...{}}),{workAsyncStorage:y,workUnitAsyncStorage:g,serverHooks:E}=x;async function C(e,t,r){r.requestMeta&&(0,n.R)(e,r.requestMeta),x.isDev&&(0,n.i)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let a="/api/admin/users/[id]/route";a=a.replace(/\/index$/,"")||"/";let{instrumentation:s}=await x.ensureInstrumentation(e,{deferSpans:!0});return x.traceRequest(e,{tracer:(0,i.v)(),spanName:`${e.method||"GET"} ${a}`,httpTarget:e.url,instrumentation:s},(n,i)=>b(e,t,r,a,!1,n,i))}async function b(e,t,a,y,g,E,C){let b=await x.prepare(e,t,{srcPage:y,multiZoneDraftMode:g});if(!b)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:T,deploymentId:A,params:P,nextConfig:O,parsedUrl:S,isDraftMode:U,prerenderManifest:q,routerServerContext:k,isOnDemandRevalidate:I,revalidateOnlyGenerated:M,resolvedPathname:N,clientReferenceManifest:D,serverActionsManifest:_,previewProps:j}=b,H=(0,o.f)(y),L=!!q.routes[N]&&(x.isDev||(0,v.f)(N,x.cacheOwner,q.routes[N])),G=!!(q.dynamicRoutes[H]||L),$=async()=>((null==k?void 0:k.render404)?await k.render404(e,t,S,!1):t.end("This page could not be found"),null);if(G&&!U){let e=q.dynamicRoutes[H];if(e&&!1===e.fallback&&!L){if(O.adapterPath)return await $();throw new m.NoFallbackError}}let F=null;!G||x.isDev||U||(F="/index"===(F=N)?"/":F),_&&D&&(0,s.f)({page:y,clientReferenceManifest:D,serverActionsManifest:_});let B=e.method||"GET",Q=(0,i.v)(),K=!!(null==k?void 0:k.isWrappedByNextServer),J=!!(0,n.w)(e,"minimalMode"),V=(0,n.w)(e,"incrementalCache")||await x.getIncrementalCache(e,O,j,q,J);null==V||V.resetRequestCache(),globalThis.__incrementalCache=V;let W={params:P,previewProps:j,renderOpts:{experimental:{authInterrupts:!!O.experimental.authInterrupts,useCacheTimeout:O.experimental.useCacheTimeout,durableUseCacheEntries:!!O.experimental.durableUseCacheEntries},cacheComponents:!!O.cacheComponents,validationLevel:O.experimental.instantInsights.validationLevel,isDraftMode:U,incrementalCache:V,hmrRefreshHash:(0,n.w)(e,"hmrRefreshHash"),cacheLifeProfiles:O.cacheLife,staticPageGenerationTimeout:O.staticPageGenerationTimeout,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0},sharedContext:{buildId:T,deploymentId:A}},z=new l.x(e),X=new l.e(t),Y=u.k.fromNodeNextRequest(z,(0,u.t)(t)),Z=async({previousCacheEntry:r})=>{try{if(!J&&I&&M&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=null===F?await x.handle(Y,W):await x.prerender(Y,W);e.fetchMetrics=W.renderOpts.fetchMetrics;let i=W.renderOpts.pendingWaitUntil;i&&a.waitUntil&&(a.waitUntil(i),i=void 0);let s=W.renderOpts.collectedTags;if(!G)return await (0,p.f)(z,X,n,i),null;{let e=await n.blob(),t=(0,h.S)(n.headers);s&&(t[w.M]=s),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=w.Q)&&W.renderOpts.collectedRevalidate,a=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=w.Q?!1!==r&&r>0?O.expireTime:void 0:W.renderOpts.collectedExpire;return{value:{kind:R.x.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 x.onRequestError(e,t,{routerKind:"App Router",routePath:y,routeType:"route",revalidateReason:(0,c.f)({isStaticGeneration:null!==F,isOnDemandRevalidate:I})},!1,k),t}},ee=async n=>{try{var s,o;let n=await x.handleResponse({req:e,nextConfig:O,cacheKey:F,routeKind:r.f.APP_ROUTE,isFallback:!1,previewProps:j,prerenderManifest:q,isRoutePPREnabled:!1,isOnDemandRevalidate:I,revalidateOnlyGenerated:M,responseGenerator:Z,waitUntil:a.waitUntil,isMinimalMode:J});if(null!==n&&"error"in n)throw n.error;if(!G)return;if((null==n||null==(s=n.value)?void 0:s.kind)!==R.x.APP_ROUTE)throw Error(`Invariant: app-route received invalid cache entry ${null==n||null==(o=n.value)?void 0:o.kind}`);J||t.setHeader("x-nextjs-cache",I?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),U&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let i=(0,h.G)(n.value.headers);J&&G||i.delete(w.M),!n.cacheControl||t.getHeader("Cache-Control")||i.get("Cache-Control")||i.set("Cache-Control",(0,f.f)(n.cacheControl)),await (0,p.f)(z,X,new Response(n.value.body,{headers:i,status:n.value.status||200}));return}catch(r){if(r instanceof m.NoFallbackError||await x.onRequestError(e,r,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,c.f)({isStaticGeneration:null!==F,isOnDemandRevalidate:I})},!1,k),G)throw r;if(t.headersSent){if(n){let e=r instanceof Error?r:Error("Unknown app route error");n.recordException(e),n.setStatus({code:i.J.ERROR,message:e.message}),n.setAttribute("error.type",e.name)}t.writableEnded||t.destroyed||t.end()}else await (0,p.f)(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:i.J.ERROR}),n.setAttribute("error.type",e.toString()));let r=Q.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==d.q.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")||H,s=`${B} ${a}`;n.setAttributes({"next.route":a,"http.route":a,"next.span_name":s}),n.updateName(s),C&&C!==n&&(C.setAttribute("http.route",a),C.updateName(s))})()}};K||void 0===e.url||null==E||E.setAttribute("http.target",e.url),await ee(E)}e.s(["handler",0,C,"patchFetch",0,function(){return(0,a.f)({workAsyncStorage:y,workUnitAsyncStorage:g})},"routeModule",0,x,"serverHooks",0,E,"workAsyncStorage",0,y,"workUnitAsyncStorage",0,g])},786264,e=>e.a(async(t,r)=>{try{var a=e.i(89171),n=e.i(757660),i=e.i(79832),s=e.i(698043),o=e.i(258078),l=e.i(181912),u=e.i(50377),d=t([i]);[i]=d.then?(await d)():d;let h=(0,u.f)("api:admin:users:id");async function c(e,{params:t}){let{id:r}=await t,u=await (0,n.getServerSession)(i.f);if(!(0,o.f)(u))return(0,l.Q)("Admin access required");try{let{isActive:t}=await e.json();if(r===u?.user.id)return(0,l.O)("Cannot disable your own account");let n=await s.f.user.findUnique({where:{id:r}});if(n?.email==="admin@localhost")return(0,l.O)("Cannot disable super admin");let i=await s.f.user.update({where:{id:r},data:{isActive:t}});return a.NextResponse.json(i)}catch(e){return h.error({error:e},"Error updating user"),(0,l.g)("Failed to update user")}}async function p(e,{params:t}){let{id:r}=await t,u=await (0,n.getServerSession)(i.f);if(!(0,o.f)(u))return(0,l.Q)("Admin access required");try{if(r===u?.user.id)return(0,l.O)("Cannot delete your own account");let e=await s.f.user.findUnique({where:{id:r}});if(e?.role==="admin"&&"admin@localhost"===e.email)return(0,l.O)("Cannot delete super admin");let t=await s.f.user.delete({where:{id:r}});return a.NextResponse.json(t)}catch(e){return h.error({error:e},"Error deleting user"),(0,l.g)("Failed to delete user")}}e.s(["DELETE",0,p,"PATCH",0,c]),r()}catch(e){r(e)}},!1)]})();
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=_0z0zrluul2idw._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
(()=>{"use strict";module.exports=[923370,e=>{var t=e.i(747909),r=e.i(174017),a=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),f=e.i(626937),g=e.i(10372),m=e.i(193695),v=e.i(509580);e.i(52474);var w=e.i(600220);let R=new t.AppRouteRouteModule({definition:{kind:r.f.APP_ROUTE,page:"/api/error-items/[id]/figure/route",pathname:"/api/error-items/[id]/figure",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/error-items/[id]/figure/route.ts",nextConfigOutput:"standalone",userland:()=>e.r(752736),...{}}),{workAsyncStorage:x,workUnitAsyncStorage:y,serverHooks:E}=R;async function b(e,t,r){r.requestMeta&&(0,i.R)(e,r.requestMeta),R.isDev&&(0,i.i)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let a="/api/error-items/[id]/figure/route";a=a.replace(/\/index$/,"")||"/";let{instrumentation:s}=await R.ensureInstrumentation(e,{deferSpans:!0});return R.traceRequest(e,{tracer:(0,n.v)(),spanName:`${e.method||"GET"} ${a}`,httpTarget:e.url,instrumentation:s},(i,n)=>C(e,t,r,a,!1,i,n))}async function C(e,t,a,x,y,E,b){let C=await R.prepare(e,t,{srcPage:x,multiZoneDraftMode:y});if(!C)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:T,deploymentId:A,params:I,nextConfig:S,parsedUrl:P,isDraftMode:O,prerenderManifest:U,routerServerContext:k,isOnDemandRevalidate:q,revalidateOnlyGenerated:_,resolvedPathname:F,clientReferenceManifest:M,serverActionsManifest:N,previewProps:D}=C,G=(0,o.f)(x),L=!!U.routes[F]&&(R.isDev||(0,v.f)(F,R.cacheOwner,U.routes[F])),$=!!(U.dynamicRoutes[G]||L),j=async()=>((null==k?void 0:k.render404)?await k.render404(e,t,P,!1):t.end("This page could not be found"),null);if($&&!O){let e=U.dynamicRoutes[G];if(e&&!1===e.fallback&&!L){if(S.adapterPath)return await j();throw new m.NoFallbackError}}let H=null;!$||R.isDev||O||(H="/index"===(H=F)?"/":H),N&&M&&(0,s.f)({page:x,clientReferenceManifest:M,serverActionsManifest:N});let B=e.method||"GET",K=(0,n.v)(),W=!!(null==k?void 0:k.isWrappedByNextServer),J=!!(0,i.w)(e,"minimalMode"),Q=(0,i.w)(e,"incrementalCache")||await R.getIncrementalCache(e,S,D,U,J);null==Q||Q.resetRequestCache(),globalThis.__incrementalCache=Q;let V={params:I,previewProps:D,renderOpts:{experimental:{authInterrupts:!!S.experimental.authInterrupts,useCacheTimeout:S.experimental.useCacheTimeout,durableUseCacheEntries:!!S.experimental.durableUseCacheEntries},cacheComponents:!!S.cacheComponents,validationLevel:S.experimental.instantInsights.validationLevel,isDraftMode:O,incrementalCache:Q,hmrRefreshHash:(0,i.w)(e,"hmrRefreshHash"),cacheLifeProfiles:S.cacheLife,staticPageGenerationTimeout:S.staticPageGenerationTimeout,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0},sharedContext:{buildId:T,deploymentId:A}},X=new l.x(e),z=new l.e(t),Y=u.k.fromNodeNextRequest(X,(0,u.t)(t)),Z=async({previousCacheEntry:r})=>{try{if(!J&&q&&_&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let i=null===H?await R.handle(Y,V):await R.prerender(Y,V);e.fetchMetrics=V.renderOpts.fetchMetrics;let n=V.renderOpts.pendingWaitUntil;n&&a.waitUntil&&(a.waitUntil(n),n=void 0);let s=V.renderOpts.collectedTags;if(!$)return await (0,p.f)(X,z,i,n),null;{let e=await i.blob(),t=(0,h.S)(i.headers);s&&(t[g.M]=s),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==V.renderOpts.collectedRevalidate&&!(V.renderOpts.collectedRevalidate>=g.Q)&&V.renderOpts.collectedRevalidate,a=void 0===V.renderOpts.collectedExpire||V.renderOpts.collectedExpire>=g.Q?!1!==r&&r>0?S.expireTime:void 0:V.renderOpts.collectedExpire;return{value:{kind:w.x.APP_ROUTE,status:i.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await R.onRequestError(e,t,{routerKind:"App Router",routePath:x,routeType:"route",revalidateReason:(0,c.f)({isStaticGeneration:null!==H,isOnDemandRevalidate:q})},!1,k),t}},ee=async i=>{try{var s,o;let i=await R.handleResponse({req:e,nextConfig:S,cacheKey:H,routeKind:r.f.APP_ROUTE,isFallback:!1,previewProps:D,prerenderManifest:U,isRoutePPREnabled:!1,isOnDemandRevalidate:q,revalidateOnlyGenerated:_,responseGenerator:Z,waitUntil:a.waitUntil,isMinimalMode:J});if(null!==i&&"error"in i)throw i.error;if(!$)return;if((null==i||null==(s=i.value)?void 0:s.kind)!==w.x.APP_ROUTE)throw Error(`Invariant: app-route received invalid cache entry ${null==i||null==(o=i.value)?void 0:o.kind}`);J||t.setHeader("x-nextjs-cache",q?"REVALIDATED":i.isMiss?"MISS":i.isStale?"STALE":"HIT"),O&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let n=(0,h.G)(i.value.headers);J&&$||n.delete(g.M),!i.cacheControl||t.getHeader("Cache-Control")||n.get("Cache-Control")||n.set("Cache-Control",(0,f.f)(i.cacheControl)),await (0,p.f)(X,z,new Response(i.value.body,{headers:n,status:i.value.status||200}));return}catch(r){if(r instanceof m.NoFallbackError||await R.onRequestError(e,r,{routerKind:"App Router",routePath:G,routeType:"route",revalidateReason:(0,c.f)({isStaticGeneration:null!==H,isOnDemandRevalidate:q})},!1,k),$)throw r;if(t.headersSent){if(i){let e=r instanceof Error?r:Error("Unknown app route error");i.recordException(e),i.setStatus({code:n.J.ERROR,message:e.message}),i.setAttribute("error.type",e.name)}t.writableEnded||t.destroyed||t.end()}else await (0,p.f)(X,z,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.J.ERROR}),i.setAttribute("error.type",e.toString()));let r=K.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==d.q.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")||G,s=`${B} ${a}`;i.setAttributes({"next.route":a,"http.route":a,"next.span_name":s}),i.updateName(s),b&&b!==i&&(b.setAttribute("http.route",a),b.updateName(s))})()}};W||void 0===e.url||null==E||E.setAttribute("http.target",e.url),await ee(E)}e.s(["handler",0,b,"patchFetch",0,function(){return(0,a.f)({workAsyncStorage:x,workUnitAsyncStorage:y})},"routeModule",0,R,"serverHooks",0,E,"workAsyncStorage",0,x,"workUnitAsyncStorage",0,y])},752736,e=>e.a(async(t,r)=>{try{var a=e.i(89171),i=e.i(698043),n=e.i(843911),s=e.i(63856),o=e.i(181912),l=e.i(50377),u=e.i(926828),d=t([s]);[s]=d.then?(await d)():d;let p=(0,l.f)("api:error-items:figure");async function c(e,{params:t}){let{id:r}=await t;try{let e=await (0,s.f)();if(!e)return(0,o.k)("Authentication required");let t=await i.f.errorItem.findUnique({where:{id:r},select:{userId:!0,shortId:!0,originalImageUrl:!0,questionText:!0}});if(!t||t.userId!==e.id)return(0,o.X)("Item not found");let l=t.originalImageUrl?.match(/^data:([^;]+);base64,([\s\S]+)$/);if(!l)return(0,o.O)("NO_ORIGINAL_IMAGE");let d=await (0,u.c)({userId:e.id,kind:"figure",subject:(0,u.E)(t),link:`/error-items/${r}`},async()=>{let e=await (0,n.f)().generateFigureSvg(l[2],l[1],t.questionText);return i.f.errorItem.update({where:{id:r},data:{hasFigure:e.hasFigure,figureSvg:e.figureSvg},select:{hasFigure:!0,figureSvg:!0}})});return p.info({errorItemId:r,hasFigure:d.hasFigure,svgLength:d.figureSvg?.length??0},"Figure regenerated"),a.NextResponse.json(d)}catch(t){let e=t instanceof Error?t.message:String(t);return p.error({error:e},"Error regenerating figure"),(0,o.g)(e.startsWith("AI_")?e.split(":")[0]:"Failed to regenerate figure")}}e.s(["POST",0,c]),r()}catch(e){r(e)}},!1)]})();
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=_0zs7jfzzshbfq._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
(()=>{"use strict";module.exports=[284225,e=>{var t=e.i(747909),r=e.i(174017),a=e.i(996250),i=e.i(759756),n=e.i(561916),o=e.i(174677),s=e.i(869741),l=e.i(316795),c=e.i(487718),u=e.i(995169),d=e.i(47587),p=e.i(666012),h=e.i(570101),f=e.i(626937),w=e.i(10372),v=e.i(193695),y=e.i(509580);e.i(52474);var m=e.i(600220);let R=new t.AppRouteRouteModule({definition:{kind:r.f.APP_ROUTE,page:"/api/stats/practice/route",pathname:"/api/stats/practice",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/stats/practice/route.ts",nextConfigOutput:"standalone",userland:()=>e.r(794770),...{}}),{workAsyncStorage:x,workUnitAsyncStorage:g,serverHooks:C}=R;async function E(e,t,r){r.requestMeta&&(0,i.R)(e,r.requestMeta),R.isDev&&(0,i.i)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let a="/api/stats/practice/route";a=a.replace(/\/index$/,"")||"/";let{instrumentation:o}=await R.ensureInstrumentation(e,{deferSpans:!0});return R.traceRequest(e,{tracer:(0,n.v)(),spanName:`${e.method||"GET"} ${a}`,httpTarget:e.url,instrumentation:o},(i,n)=>b(e,t,r,a,!1,i,n))}async function b(e,t,a,x,g,C,E){let b=await R.prepare(e,t,{srcPage:x,multiZoneDraftMode:g});if(!b)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:A,deploymentId:T,params:S,nextConfig:P,parsedUrl:U,isDraftMode:O,prerenderManifest:k,routerServerContext:M,isOnDemandRevalidate:_,revalidateOnlyGenerated:j,resolvedPathname:q,clientReferenceManifest:I,serverActionsManifest:D,previewProps:N}=b,G=(0,s.f)(x),H=!!k.routes[q]&&(R.isDev||(0,y.f)(q,R.cacheOwner,k.routes[q])),L=!!(k.dynamicRoutes[G]||H),$=async()=>((null==M?void 0:M.render404)?await M.render404(e,t,U,!1):t.end("This page could not be found"),null);if(L&&!O){let e=k.dynamicRoutes[G];if(e&&!1===e.fallback&&!H){if(P.adapterPath)return await $();throw new v.NoFallbackError}}let B=null;!L||R.isDev||O||(B="/index"===(B=q)?"/":B),D&&I&&(0,o.f)({page:x,clientReferenceManifest:I,serverActionsManifest:D});let F=e.method||"GET",K=(0,n.v)(),J=!!(null==M?void 0:M.isWrappedByNextServer),Q=!!(0,i.w)(e,"minimalMode"),V=(0,i.w)(e,"incrementalCache")||await R.getIncrementalCache(e,P,N,k,Q);null==V||V.resetRequestCache(),globalThis.__incrementalCache=V;let W={params:S,previewProps:N,renderOpts:{experimental:{authInterrupts:!!P.experimental.authInterrupts,useCacheTimeout:P.experimental.useCacheTimeout,durableUseCacheEntries:!!P.experimental.durableUseCacheEntries},cacheComponents:!!P.cacheComponents,validationLevel:P.experimental.instantInsights.validationLevel,isDraftMode:O,incrementalCache:V,hmrRefreshHash:(0,i.w)(e,"hmrRefreshHash"),cacheLifeProfiles:P.cacheLife,staticPageGenerationTimeout:P.staticPageGenerationTimeout,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0},sharedContext:{buildId:A,deploymentId:T}},z=new l.x(e),X=new l.e(t),Y=c.k.fromNodeNextRequest(z,(0,c.t)(t)),Z=async({previousCacheEntry:r})=>{try{if(!Q&&_&&j&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let i=null===B?await R.handle(Y,W):await R.prerender(Y,W);e.fetchMetrics=W.renderOpts.fetchMetrics;let n=W.renderOpts.pendingWaitUntil;n&&a.waitUntil&&(a.waitUntil(n),n=void 0);let o=W.renderOpts.collectedTags;if(!L)return await (0,p.f)(z,X,i,n),null;{let e=await i.blob(),t=(0,h.S)(i.headers);o&&(t[w.M]=o),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=w.Q)&&W.renderOpts.collectedRevalidate,a=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=w.Q?!1!==r&&r>0?P.expireTime:void 0:W.renderOpts.collectedExpire;return{value:{kind:m.x.APP_ROUTE,status:i.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await R.onRequestError(e,t,{routerKind:"App Router",routePath:x,routeType:"route",revalidateReason:(0,d.f)({isStaticGeneration:null!==B,isOnDemandRevalidate:_})},!1,M),t}},ee=async i=>{try{var o,s;let i=await R.handleResponse({req:e,nextConfig:P,cacheKey:B,routeKind:r.f.APP_ROUTE,isFallback:!1,previewProps:N,prerenderManifest:k,isRoutePPREnabled:!1,isOnDemandRevalidate:_,revalidateOnlyGenerated:j,responseGenerator:Z,waitUntil:a.waitUntil,isMinimalMode:Q});if(null!==i&&"error"in i)throw i.error;if(!L)return;if((null==i||null==(o=i.value)?void 0:o.kind)!==m.x.APP_ROUTE)throw Error(`Invariant: app-route received invalid cache entry ${null==i||null==(s=i.value)?void 0:s.kind}`);Q||t.setHeader("x-nextjs-cache",_?"REVALIDATED":i.isMiss?"MISS":i.isStale?"STALE":"HIT"),O&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let n=(0,h.G)(i.value.headers);Q&&L||n.delete(w.M),!i.cacheControl||t.getHeader("Cache-Control")||n.get("Cache-Control")||n.set("Cache-Control",(0,f.f)(i.cacheControl)),await (0,p.f)(z,X,new Response(i.value.body,{headers:n,status:i.value.status||200}));return}catch(r){if(r instanceof v.NoFallbackError||await R.onRequestError(e,r,{routerKind:"App Router",routePath:G,routeType:"route",revalidateReason:(0,d.f)({isStaticGeneration:null!==B,isOnDemandRevalidate:_})},!1,M),L)throw r;if(t.headersSent){if(i){let e=r instanceof Error?r:Error("Unknown app route error");i.recordException(e),i.setStatus({code:n.J.ERROR,message:e.message}),i.setAttribute("error.type",e.name)}t.writableEnded||t.destroyed||t.end()}else await (0,p.f)(z,X,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.J.ERROR}),i.setAttribute("error.type",e.toString()));let r=K.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.q.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")||G,o=`${F} ${a}`;i.setAttributes({"next.route":a,"http.route":a,"next.span_name":o}),i.updateName(o),E&&E!==i&&(E.setAttribute("http.route",a),E.updateName(o))})()}};J||void 0===e.url||null==C||C.setAttribute("http.target",e.url),await ee(C)}e.s(["handler",0,E,"patchFetch",0,function(){return(0,a.f)({workAsyncStorage:x,workUnitAsyncStorage:g})},"routeModule",0,R,"serverHooks",0,C,"workAsyncStorage",0,x,"workUnitAsyncStorage",0,g])},794770,e=>e.a(async(t,r)=>{try{var a=e.i(89171),i=e.i(698043),n=e.i(79832),o=e.i(757660),s=e.i(798003),l=e.i(376025),c=e.i(181912),u=e.i(50377),d=t([n]);[n]=d.then?(await d)():d;let h=(0,u.f)("api:stats:practice");async function p(){let e=await (0,o.getServerSession)(n.f);if(!e||!e.user)return(0,c.k)();let t=e.user.id;try{let e=await i.f.practiceRecord.groupBy({by:["subject"],where:{userId:t},_count:{id:!0}}),r=new Date,n=(0,s.c)(),o=await i.f.practiceRecord.findMany({where:{userId:t,createdAt:{gte:(0,l.C)(r,n,-5)}},select:{createdAt:!0,isCorrect:!0,difficulty:!0}}),c={};for(let e=5;e>=0;e--)c[(0,l.r)((0,l.C)(r,n,-e),"yyyy-MM",n)]={total:0,correct:0};o.forEach(e=>{let t=(0,l.r)(e.createdAt,"yyyy-MM",n);if(c[t]){c[t].total++,e.isCorrect&&c[t].correct++;let r=e.difficulty||"Unknown";c[t][r]=(c[t][r]||0)+1}});let u=Object.entries(c).map(([e,t])=>({date:e,...t})).sort((e,t)=>e.date.localeCompare(t.date)),d=await i.f.practiceRecord.groupBy({by:["difficulty"],where:{userId:t},_count:{id:!0}}),p=await i.f.practiceRecord.count({where:{userId:t}}),h=await i.f.practiceRecord.count({where:{userId:t,isCorrect:!0}});return a.NextResponse.json({subjectStats:e.map(e=>({name:e.subject||"Unknown",value:e._count.id})),activityStats:u,difficultyStats:d.map(e=>({name:e.difficulty||"Unknown",value:e._count.id})),overallStats:{total:p,correct:h,rate:p>0?(h/p*100).toFixed(1):0}})}catch(e){return h.error({error:e},"Error fetching practice stats"),(0,c.g)("Failed to fetch stats")}}e.s(["GET",0,p]),r()}catch(e){r(e)}},!1)]})();
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=_11w6ynlxuzl55._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
(()=>{"use strict";module.exports=[745313,e=>{var t=e.i(747909),r=e.i(174017),a=e.i(996250),n=e.i(759756),i=e.i(561916),s=e.i(174677),o=e.i(869741),l=e.i(316795),u=e.i(487718),c=e.i(995169),d=e.i(47587),p=e.i(666012),h=e.i(570101),f=e.i(626937),w=e.i(10372),R=e.i(193695),m=e.i(509580);e.i(52474);var v=e.i(600220);let E=new t.AppRouteRouteModule({definition:{kind:r.f.APP_ROUTE,page:"/api/reanswer/route",pathname:"/api/reanswer",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/reanswer/route.ts",nextConfigOutput:"standalone",userland:()=>e.r(160724),...{}}),{workAsyncStorage:g,workUnitAsyncStorage:x,serverHooks:y}=E;async function A(e,t,r){r.requestMeta&&(0,n.R)(e,r.requestMeta),E.isDev&&(0,n.i)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let a="/api/reanswer/route";a=a.replace(/\/index$/,"")||"/";let{instrumentation:s}=await E.ensureInstrumentation(e,{deferSpans:!0});return E.traceRequest(e,{tracer:(0,i.v)(),spanName:`${e.method||"GET"} ${a}`,httpTarget:e.url,instrumentation:s},(n,i)=>C(e,t,r,a,!1,n,i))}async function C(e,t,a,g,x,y,A){let C=await E.prepare(e,t,{srcPage:g,multiZoneDraftMode:x});if(!C)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:O,deploymentId:b,params:T,nextConfig:P,parsedUrl:I,isDraftMode:S,prerenderManifest:_,routerServerContext:U,isOnDemandRevalidate:N,revalidateOnlyGenerated:k,resolvedPathname:q,clientReferenceManifest:M,serverActionsManifest:j,previewProps:D}=C,H=(0,o.f)(g),L=!!_.routes[q]&&(E.isDev||(0,m.f)(q,E.cacheOwner,_.routes[q])),F=!!(_.dynamicRoutes[H]||L),G=async()=>((null==U?void 0:U.render404)?await U.render404(e,t,I,!1):t.end("This page could not be found"),null);if(F&&!S){let e=_.dynamicRoutes[H];if(e&&!1===e.fallback&&!L){if(P.adapterPath)return await G();throw new R.NoFallbackError}}let $=null;!F||E.isDev||S||($="/index"===($=q)?"/":$),j&&M&&(0,s.f)({page:g,clientReferenceManifest:M,serverActionsManifest:j});let B=e.method||"GET",K=(0,i.v)(),z=!!(null==U?void 0:U.isWrappedByNextServer),Q=!!(0,n.w)(e,"minimalMode"),J=(0,n.w)(e,"incrementalCache")||await E.getIncrementalCache(e,P,D,_,Q);null==J||J.resetRequestCache(),globalThis.__incrementalCache=J;let V={params:T,previewProps:D,renderOpts:{experimental:{authInterrupts:!!P.experimental.authInterrupts,useCacheTimeout:P.experimental.useCacheTimeout,durableUseCacheEntries:!!P.experimental.durableUseCacheEntries},cacheComponents:!!P.cacheComponents,validationLevel:P.experimental.instantInsights.validationLevel,isDraftMode:S,incrementalCache:J,hmrRefreshHash:(0,n.w)(e,"hmrRefreshHash"),cacheLifeProfiles:P.cacheLife,staticPageGenerationTimeout:P.staticPageGenerationTimeout,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0},sharedContext:{buildId:O,deploymentId:b}},W=new l.x(e),X=new l.e(t),Y=u.k.fromNodeNextRequest(W,(0,u.t)(t)),Z=async({previousCacheEntry:r})=>{try{if(!Q&&N&&k&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=null===$?await E.handle(Y,V):await E.prerender(Y,V);e.fetchMetrics=V.renderOpts.fetchMetrics;let i=V.renderOpts.pendingWaitUntil;i&&a.waitUntil&&(a.waitUntil(i),i=void 0);let s=V.renderOpts.collectedTags;if(!F)return await (0,p.f)(W,X,n,i),null;{let e=await n.blob(),t=(0,h.S)(n.headers);s&&(t[w.M]=s),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==V.renderOpts.collectedRevalidate&&!(V.renderOpts.collectedRevalidate>=w.Q)&&V.renderOpts.collectedRevalidate,a=void 0===V.renderOpts.collectedExpire||V.renderOpts.collectedExpire>=w.Q?!1!==r&&r>0?P.expireTime:void 0:V.renderOpts.collectedExpire;return{value:{kind:v.x.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 E.onRequestError(e,t,{routerKind:"App Router",routePath:g,routeType:"route",revalidateReason:(0,d.f)({isStaticGeneration:null!==$,isOnDemandRevalidate:N})},!1,U),t}},ee=async n=>{try{var s,o;let n=await E.handleResponse({req:e,nextConfig:P,cacheKey:$,routeKind:r.f.APP_ROUTE,isFallback:!1,previewProps:D,prerenderManifest:_,isRoutePPREnabled:!1,isOnDemandRevalidate:N,revalidateOnlyGenerated:k,responseGenerator:Z,waitUntil:a.waitUntil,isMinimalMode:Q});if(null!==n&&"error"in n)throw n.error;if(!F)return;if((null==n||null==(s=n.value)?void 0:s.kind)!==v.x.APP_ROUTE)throw Error(`Invariant: app-route received invalid cache entry ${null==n||null==(o=n.value)?void 0:o.kind}`);Q||t.setHeader("x-nextjs-cache",N?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),S&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let i=(0,h.G)(n.value.headers);Q&&F||i.delete(w.M),!n.cacheControl||t.getHeader("Cache-Control")||i.get("Cache-Control")||i.set("Cache-Control",(0,f.f)(n.cacheControl)),await (0,p.f)(W,X,new Response(n.value.body,{headers:i,status:n.value.status||200}));return}catch(r){if(r instanceof R.NoFallbackError||await E.onRequestError(e,r,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,d.f)({isStaticGeneration:null!==$,isOnDemandRevalidate:N})},!1,U),F)throw r;if(t.headersSent){if(n){let e=r instanceof Error?r:Error("Unknown app route error");n.recordException(e),n.setStatus({code:i.J.ERROR,message:e.message}),n.setAttribute("error.type",e.name)}t.writableEnded||t.destroyed||t.end()}else await (0,p.f)(W,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:i.J.ERROR}),n.setAttribute("error.type",e.toString()));let r=K.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==c.q.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")||H,s=`${B} ${a}`;n.setAttributes({"next.route":a,"http.route":a,"next.span_name":s}),n.updateName(s),A&&A!==n&&(A.setAttribute("http.route",a),A.updateName(s))})()}};z||void 0===e.url||null==y||y.setAttribute("http.target",e.url),await ee(y)}e.s(["handler",0,A,"patchFetch",0,function(){return(0,a.f)({workAsyncStorage:g,workUnitAsyncStorage:x})},"routeModule",0,E,"serverHooks",0,y,"workAsyncStorage",0,g,"workUnitAsyncStorage",0,x])},160724,e=>e.a(async(t,r)=>{try{var a=e.i(89171),n=e.i(843911),i=e.i(79832),s=e.i(757660),o=e.i(181912),l=e.i(50377),u=e.i(926828),c=e.i(698043),d=e.i(459398),p=e.i(668426),h=t([i]);[i]=h.then?(await h)():h;let w=(0,l.f)("api:reanswer");async function f(e){w.info("Reanswer API called");let t=await (0,s.getServerSession)(i.f);if(!t)return w.warn("Unauthorized access attempt"),a.NextResponse.json({message:"Unauthorized"},{status:401});try{let r,{questionText:i,language:s="zh",subject:l,imageBase64:h,gradeSemester:f,subjectId:R}=await e.json();if(w.debug({questionLength:i?.length,language:s,subject:l,hasImage:!!h,gradeSemester:f},"Reanswer request received"),!i||0===i.trim().length)return w.warn("Missing question text"),(0,o.O)("Missing question text");if("string"==typeof R&&R&&t.user?.email){let e=await c.f.subject.findFirst({where:{id:R,user:{email:t.user.email}},select:{name:!0,stage:!0,subjectKey:!0}});e&&(r=await (0,d.K)((0,p.v)(e)))}let m=(0,n.f)(),v=await (0,u.c)({userId:t.user.id,kind:"reanswer",subject:(0,u.E)({questionText:i})},()=>m.reanswerQuestion(i,s,l,h,f,r));return w.info("Reanswer successful"),a.NextResponse.json(v)}catch(a){let e=a instanceof Error?a.message:String(a),t=a instanceof Error?a.stack:void 0;w.error({error:e,stack:t},"Reanswer error occurred");let r=e||"Failed to reanswer question";return e.includes("AI_AUTH_ERROR")?r="AI_AUTH_ERROR":"AI_CONNECTION_FAILED"===e?r="AI_CONNECTION_FAILED":"AI_RESPONSE_ERROR"===e&&(r="AI_RESPONSE_ERROR"),(0,o.B)(r,500,o.p.AI_ERROR)}}e.s(["POST",0,f]),r()}catch(e){r(e)}},!1)]})();
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=_12i51zlq-xxrl._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
(()=>{"use strict";module.exports=[851908,e=>{var t=e.i(747909),r=e.i(174017),a=e.i(996250),n=e.i(759756),i=e.i(561916),o=e.i(174677),l=e.i(869741),s=e.i(316795),u=e.i(487718),d=e.i(995169),c=e.i(47587),p=e.i(666012),h=e.i(570101),f=e.i(626937),m=e.i(10372),w=e.i(193695),v=e.i(509580);e.i(52474);var g=e.i(600220);let y=new t.AppRouteRouteModule({definition:{kind:r.f.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(5390),...{}}),{workAsyncStorage:x,workUnitAsyncStorage:R,serverHooks:b}=y;async function C(e,t,r){r.requestMeta&&(0,n.R)(e,r.requestMeta),y.isDev&&(0,n.i)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let a="/api/export/route";a=a.replace(/\/index$/,"")||"/";let{instrumentation:o}=await y.ensureInstrumentation(e,{deferSpans:!0});return y.traceRequest(e,{tracer:(0,i.v)(),spanName:`${e.method||"GET"} ${a}`,httpTarget:e.url,instrumentation:o},(n,i)=>E(e,t,r,a,!1,n,i))}async function E(e,t,a,x,R,b,C){let E=await y.prepare(e,t,{srcPage:x,multiZoneDraftMode:R});if(!E)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:T,deploymentId:S,params:A,nextConfig:P,parsedUrl:I,isDraftMode:M,prerenderManifest:U,routerServerContext:O,isOnDemandRevalidate:k,revalidateOnlyGenerated:q,resolvedPathname:D,clientReferenceManifest:N,serverActionsManifest:j,previewProps:G}=E,$=(0,l.f)(x),_=!!U.routes[D]&&(y.isDev||(0,v.f)(D,y.cacheOwner,U.routes[D])),H=!!(U.dynamicRoutes[$]||_),L=async()=>((null==O?void 0:O.render404)?await O.render404(e,t,I,!1):t.end("This page could not be found"),null);if(H&&!M){let e=U.dynamicRoutes[$];if(e&&!1===e.fallback&&!_){if(P.adapterPath)return await L();throw new w.NoFallbackError}}let B=null;!H||y.isDev||M||(B="/index"===(B=D)?"/":B),j&&N&&(0,o.f)({page:x,clientReferenceManifest:N,serverActionsManifest:j});let F=e.method||"GET",J=(0,i.v)(),K=!!(null==O?void 0:O.isWrappedByNextServer),Q=!!(0,n.w)(e,"minimalMode"),V=(0,n.w)(e,"incrementalCache")||await y.getIncrementalCache(e,P,G,U,Q);null==V||V.resetRequestCache(),globalThis.__incrementalCache=V;let W={params:A,previewProps:G,renderOpts:{experimental:{authInterrupts:!!P.experimental.authInterrupts,useCacheTimeout:P.experimental.useCacheTimeout,durableUseCacheEntries:!!P.experimental.durableUseCacheEntries},cacheComponents:!!P.cacheComponents,validationLevel:P.experimental.instantInsights.validationLevel,isDraftMode:M,incrementalCache:V,hmrRefreshHash:(0,n.w)(e,"hmrRefreshHash"),cacheLifeProfiles:P.cacheLife,staticPageGenerationTimeout:P.staticPageGenerationTimeout,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0},sharedContext:{buildId:T,deploymentId:S}},Y=new s.x(e),z=new s.e(t),X=u.k.fromNodeNextRequest(Y,(0,u.t)(t)),Z=async({previousCacheEntry:r})=>{try{if(!Q&&k&&q&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=null===B?await y.handle(X,W):await y.prerender(X,W);e.fetchMetrics=W.renderOpts.fetchMetrics;let i=W.renderOpts.pendingWaitUntil;i&&a.waitUntil&&(a.waitUntil(i),i=void 0);let o=W.renderOpts.collectedTags;if(!H)return await (0,p.f)(Y,z,n,i),null;{let e=await n.blob(),t=(0,h.S)(n.headers);o&&(t[m.M]=o),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=m.Q)&&W.renderOpts.collectedRevalidate,a=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=m.Q?!1!==r&&r>0?P.expireTime:void 0:W.renderOpts.collectedExpire;return{value:{kind:g.x.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 y.onRequestError(e,t,{routerKind:"App Router",routePath:x,routeType:"route",revalidateReason:(0,c.f)({isStaticGeneration:null!==B,isOnDemandRevalidate:k})},!1,O),t}},ee=async n=>{try{var o,l;let n=await y.handleResponse({req:e,nextConfig:P,cacheKey:B,routeKind:r.f.APP_ROUTE,isFallback:!1,previewProps:G,prerenderManifest:U,isRoutePPREnabled:!1,isOnDemandRevalidate:k,revalidateOnlyGenerated:q,responseGenerator:Z,waitUntil:a.waitUntil,isMinimalMode:Q});if(null!==n&&"error"in n)throw n.error;if(!H)return;if((null==n||null==(o=n.value)?void 0:o.kind)!==g.x.APP_ROUTE)throw Error(`Invariant: app-route received invalid cache entry ${null==n||null==(l=n.value)?void 0:l.kind}`);Q||t.setHeader("x-nextjs-cache",k?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),M&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let i=(0,h.G)(n.value.headers);Q&&H||i.delete(m.M),!n.cacheControl||t.getHeader("Cache-Control")||i.get("Cache-Control")||i.set("Cache-Control",(0,f.f)(n.cacheControl)),await (0,p.f)(Y,z,new Response(n.value.body,{headers:i,status:n.value.status||200}));return}catch(r){if(r instanceof w.NoFallbackError||await y.onRequestError(e,r,{routerKind:"App Router",routePath:$,routeType:"route",revalidateReason:(0,c.f)({isStaticGeneration:null!==B,isOnDemandRevalidate:k})},!1,O),H)throw r;if(t.headersSent){if(n){let e=r instanceof Error?r:Error("Unknown app route error");n.recordException(e),n.setStatus({code:i.J.ERROR,message:e.message}),n.setAttribute("error.type",e.name)}t.writableEnded||t.destroyed||t.end()}else await (0,p.f)(Y,z,new Response(null,{status:500}));return}finally{(()=>{if(!n)return;let e=t.statusCode;n.setAttributes({"http.status_code":e,"next.rsc":!1}),e&&e>=500&&(n.setStatus({code:i.J.ERROR}),n.setAttribute("error.type",e.toString()));let r=J.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==d.q.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")||$,o=`${F} ${a}`;n.setAttributes({"next.route":a,"http.route":a,"next.span_name":o}),n.updateName(o),C&&C!==n&&(C.setAttribute("http.route",a),C.updateName(o))})()}};K||void 0===e.url||null==b||b.setAttribute("http.target",e.url),await ee(b)}e.s(["handler",0,C,"patchFetch",0,function(){return(0,a.f)({workAsyncStorage:x,workUnitAsyncStorage:R})},"routeModule",0,y,"serverHooks",0,b,"workAsyncStorage",0,x,"workUnitAsyncStorage",0,R])},5390,e=>e.a(async(t,r)=>{try{var a=e.i(89171),n=e.i(698043),i=e.i(79832),o=e.i(757660),l=e.i(181912),s=e.i(50377),u=e.i(798003),d=e.i(376025),c=t([i]);[i]=c.then?(await c)():c;let h=(0,s.f)("api:export");async function p(e){let t=await (0,o.getServerSession)(i.f);if(!t?.user?.email)return(0,l.k)("Not authenticated");let r=await n.f.user.findUnique({where:{email:t.user.email}});if(!r)return(0,l.k)("User not found");let{searchParams:s}=new URL(e.url),c="true"===s.get("all");if(c&&"admin"!==t.user.role)return(0,l.Q)("Admin role required");try{let e=c?{}:{userId:r.id},t=await n.f.subject.findMany({where:e}),i=await n.f.knowledgeTag.findMany({where:{...e,isSystem:!1}}),o=await n.f.errorItem.findMany({where:e,include:{tags:!0}}),l=await n.f.reviewSchedule.findMany({where:c?{errorItem:{userId:{not:void 0}}}:{errorItem:{userId:r.id}}}),s=await n.f.practiceRecord.findMany({where:e}),p=await n.f.examPaper.findMany({where:e,include:{questions:{orderBy:{order:"asc"}}}}),f={version:2,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,confirmBeforeImport:r.confirmBeforeImport,questionDuplicateThreshold:r.questionDuplicateThreshold,enableGeogebra:r.enableGeogebra,enableSvgAnimation:r.enableSvgAnimation},subjects:t,customTags:i,errorItems:o,reviewSchedules:l,practiceRecords:s,examPapers:p};h.info({userId:r.id,scope:c?"all":"user",subjectsCount:t.length,customTagsCount:i.length,errorItemsCount:o.length,reviewSchedulesCount:l.length,practiceRecordsCount:s.length,examPapersCount:p.length},"Data export completed");let m=JSON.stringify(f,null,2),w=c?`wrong-notebook-export-all-${(0,d.r)(new Date,"yyyy-MM-dd",(0,u.c)())}.json`:`wrong-notebook-export-${(0,d.r)(new Date,"yyyy-MM-dd",(0,u.c)())}.json`;return new a.NextResponse(m,{headers:{"Content-Type":"application/json; charset=utf-8","Content-Disposition":`attachment; filename="${w}"`}})}catch(e){return h.error({error:e,userId:r.id},"Export failed"),(0,l.g)("Failed to export data")}}e.s(["GET",0,p]),r()}catch(e){r(e)}},!1)]})();
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=_12w5k19rc45j_._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
(()=>{"use strict";module.exports=[223684,e=>{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),l=e.i(316795),A=e.i(487718),u=e.i(995169),c=e.i(47587),d=e.i(666012),K=e.i(570101),E=e.i(626937),p=e.i(10372),R=e.i(193695),f=e.i(509580);e.i(52474);var g=e.i(600220);let h=new t.AppRouteRouteModule({definition:{kind:i.f.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:I,workUnitAsyncStorage:m,serverHooks:O}=h;async function w(e,t,i){i.requestMeta&&(0,n.R)(e,i.requestMeta),h.isDev&&(0,n.i)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let o="/api/ai/test/route";o=o.replace(/\/index$/,"")||"/";let{instrumentation:a}=await h.ensureInstrumentation(e,{deferSpans:!0});return h.traceRequest(e,{tracer:(0,r.v)(),spanName:`${e.method||"GET"} ${o}`,httpTarget:e.url,instrumentation:a},(n,r)=>C(e,t,i,o,!1,n,r))}async function C(e,t,o,I,m,O,w){let C=await h.prepare(e,t,{srcPage:I,multiZoneDraftMode:m});if(!C)return t.statusCode=400,t.end("Bad Request"),null==o.waitUntil||o.waitUntil.call(o,Promise.resolve()),null;let{buildId:N,deploymentId:x,params:y,nextConfig:S,parsedUrl:T,isDraftMode:v,prerenderManifest:_,routerServerContext:U,isOnDemandRevalidate:D,revalidateOnlyGenerated:P,resolvedPathname:b,clientReferenceManifest:k,serverActionsManifest:Q,previewProps:z}=C,M=(0,s.f)(I),B=!!_.routes[b]&&(h.isDev||(0,f.f)(b,h.cacheOwner,_.routes[b])),q=!!(_.dynamicRoutes[M]||B),L=async()=>((null==U?void 0:U.render404)?await U.render404(e,t,T,!1):t.end("This page could not be found"),null);if(q&&!v){let e=_.dynamicRoutes[M];if(e&&!1===e.fallback&&!B){if(S.adapterPath)return await L();throw new R.NoFallbackError}}let j=null;!q||h.isDev||v||(j="/index"===(j=b)?"/":j),Q&&k&&(0,a.f)({page:I,clientReferenceManifest:k,serverActionsManifest:Q});let F=e.method||"GET",W=(0,r.v)(),H=!!(null==U?void 0:U.isWrappedByNextServer),J=!!(0,n.w)(e,"minimalMode"),V=(0,n.w)(e,"incrementalCache")||await h.getIncrementalCache(e,S,z,_,J);null==V||V.resetRequestCache(),globalThis.__incrementalCache=V;let Z={params:y,previewProps:z,renderOpts:{experimental:{authInterrupts:!!S.experimental.authInterrupts,useCacheTimeout:S.experimental.useCacheTimeout,durableUseCacheEntries:!!S.experimental.durableUseCacheEntries},cacheComponents:!!S.cacheComponents,validationLevel:S.experimental.instantInsights.validationLevel,isDraftMode:v,incrementalCache:V,hmrRefreshHash:(0,n.w)(e,"hmrRefreshHash"),cacheLifeProfiles:S.cacheLife,staticPageGenerationTimeout:S.staticPageGenerationTimeout,waitUntil:o.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0},sharedContext:{buildId:N,deploymentId:x}},Y=new l.x(e),G=new l.e(t),X=A.k.fromNodeNextRequest(Y,(0,A.t)(t)),$=async({previousCacheEntry:i})=>{try{if(!J&&D&&P&&!i)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=null===j?await h.handle(X,Z):await h.prerender(X,Z);e.fetchMetrics=Z.renderOpts.fetchMetrics;let r=Z.renderOpts.pendingWaitUntil;r&&o.waitUntil&&(o.waitUntil(r),r=void 0);let a=Z.renderOpts.collectedTags;if(!q)return await (0,d.f)(Y,G,n,r),null;{let e=await n.blob(),t=(0,K.S)(n.headers);a&&(t[p.M]=a),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let i=void 0!==Z.renderOpts.collectedRevalidate&&!(Z.renderOpts.collectedRevalidate>=p.Q)&&Z.renderOpts.collectedRevalidate,o=void 0===Z.renderOpts.collectedExpire||Z.renderOpts.collectedExpire>=p.Q?!1!==i&&i>0?S.expireTime:void 0:Z.renderOpts.collectedExpire;return{value:{kind:g.x.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 h.onRequestError(e,t,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,c.f)({isStaticGeneration:null!==j,isOnDemandRevalidate:D})},!1,U),t}},ee=async n=>{try{var a,s;let n=await h.handleResponse({req:e,nextConfig:S,cacheKey:j,routeKind:i.f.APP_ROUTE,isFallback:!1,previewProps:z,prerenderManifest:_,isRoutePPREnabled:!1,isOnDemandRevalidate:D,revalidateOnlyGenerated:P,responseGenerator:$,waitUntil:o.waitUntil,isMinimalMode:J});if(null!==n&&"error"in n)throw n.error;if(!q)return;if((null==n||null==(a=n.value)?void 0:a.kind)!==g.x.APP_ROUTE)throw Error(`Invariant: app-route received invalid cache entry ${null==n||null==(s=n.value)?void 0:s.kind}`);J||t.setHeader("x-nextjs-cache",D?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),v&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let r=(0,K.G)(n.value.headers);J&&q||r.delete(p.M),!n.cacheControl||t.getHeader("Cache-Control")||r.get("Cache-Control")||r.set("Cache-Control",(0,E.f)(n.cacheControl)),await (0,d.f)(Y,G,new Response(n.value.body,{headers:r,status:n.value.status||200}));return}catch(i){if(i instanceof R.NoFallbackError||await h.onRequestError(e,i,{routerKind:"App Router",routePath:M,routeType:"route",revalidateReason:(0,c.f)({isStaticGeneration:null!==j,isOnDemandRevalidate:D})},!1,U),q)throw i;if(t.headersSent){if(n){let e=i instanceof Error?i:Error("Unknown app route error");n.recordException(e),n.setStatus({code:r.J.ERROR,message:e.message}),n.setAttribute("error.type",e.name)}t.writableEnded||t.destroyed||t.end()}else await (0,d.f)(Y,G,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.J.ERROR}),n.setAttribute("error.type",e.toString()));let i=W.getRootSpanAttributes();if(!i)return;if(i.get("next.span_type")!==u.q.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,a=`${F} ${o}`;n.setAttributes({"next.route":o,"http.route":o,"next.span_name":a}),n.updateName(a),w&&w!==n&&(w.setAttribute("http.route",o),w.updateName(a))})()}};H||void 0===e.url||null==O||O.setAttribute("http.target",e.url),await ee(O)}e.s(["handler",0,w,"patchFetch",0,function(){return(0,o.f)({workAsyncStorage:I,workUnitAsyncStorage:m})},"routeModule",0,h,"serverHooks",0,O,"workAsyncStorage",0,I,"workUnitAsyncStorage",0,m])},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),l=e.i(229236),A=e.i(690604),u=e.i(298876),c=e.i(258078),d=e.i(50377),K=t([r]);[r]=K.then?(await K)():K;let R=(0,d.f)("api:ai:test"),f="/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv/wAARCABkAMgDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD2aiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACobu5js7SW5lDFIkLsEXJIA6AdzU1QXpuxZTfYVha62HyhOxCbu24gE4+lAEOm6kmorPiCa3ltpfKmhm27kbarfwkg5VlPBPWrAuYXgeaOQSohYMY/n5UkMOO4IIx1yMVQ0XT57XS3tr1EWaRmaWSK4Z2lZurltqkEnPAHAAx04ZpegnR9MurW0vJjNPJNIksrvIIy7u6/KzHpu5P8WMnk0ATabrEeozz25tbi1ngRJGinC7tr52n5WOM7W4OCMcjpVy5uEtbWW5k3bIULttUscAZOAOprL0fS7m2vL+7uobS2a9Cb4bUlkLjdukJKj5m3AHjog5NS6NoNtonnfZ33edt3fuIY+mf+eaLnr3z7d6AJ9N1NNSSbEE1vLby+VLDMF3I21WH3SR91lPB71dqpYWYtEmyoDzTySud27dluOcD+EKMdsYycZNugAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigD/2Q==",g="image/jpeg";function E(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 p(e){try{let t,i,d,K=await (0,n.getServerSession)(r.f);if(!K?.user)return o.NextResponse.json({error:"Unauthorized"},{status:401});if(!(0,c.f)(K))return o.NextResponse.json({error:"Admin access required"},{status:403});let{provider:p,apiKey:h,baseUrl:I,model:m,endpoint:O,deploymentName:w,apiVersion:C,language:N="zh"}=await e.json();if(!p||!h)return o.NextResponse.json({error:"Missing provider or apiKey"},{status:400});R.info({provider:p,model:m,baseUrl:I||O},"AI 连接测试开始");let x=!1,y=!1;try{if("openai"===p){let e=new a.F({apiKey:h,baseUrl:I,model:m}),t=await e.analyzeImage(f,g,N);(t.questionText||t.analysis)&&(x=!0,y=!0,d=m||a.a)}else if("gemini"===p){let e=new s.f({apiKey:h,baseUrl:I,model:m}),t=await e.analyzeImage(f,g,N);(t.questionText||t.analysis)&&(x=!0,y=!0,d=m||"gemini-2.0-flash")}else if("anthropic"===p){let e=new A.R({apiKey:h,baseUrl:I,model:m}),t=await e.analyzeImage(f,g,N);(t.questionText||t.analysis)&&(x=!0,y=!0,d=m||A.A)}else if((0,u.j)(p)){let e=(0,u.k)(p,{apiKey:h,baseUrl:I,model:m}),t=await new a.F(e).analyzeImage(f,g,N);(t.questionText||t.analysis)&&(x=!0,y=!0,d=e.model)}else if("azure"===p){if(!O||!w)return o.NextResponse.json({error:"Azure 需要 endpoint 和 deploymentName"},{status:400});let e=new l.f({apiKey:h,endpoint:O,deploymentName:w,apiVersion:C,model:m}),t=await e.analyzeImage(f,g,N);(t.questionText||t.analysis)&&(x=!0,y=!0,d=m||w)}}catch(n){let e=E(n),o=n instanceof Error?n.message:String(n);R.info({error:o,errorCode:e,provider:p},"视觉测试失败"),["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:p},"配置错误,跳过文本测试")):i="VISION_NOT_SUPPORTED"}if(!x&&!t)try{if("openai"===p){let e=new a.F({apiKey:h,baseUrl:I,model:m});(await e.generateSimilarQuestion("1+1=?",["基础算术"],N,"easy")).questionText&&(x=!0,d=m||a.a)}else if("gemini"===p){let e=new s.f({apiKey:h,baseUrl:I,model:m});(await e.generateSimilarQuestion("1+1=?",["基础算术"],N,"easy")).questionText&&(x=!0,d=m||"gemini-2.0-flash")}else if("anthropic"===p){let e=new A.R({apiKey:h,baseUrl:I,model:m});(await e.generateSimilarQuestion("1+1=?",["基础算术"],N,"easy")).questionText&&(x=!0,d=m||A.A)}else if((0,u.j)(p)){let e=(0,u.k)(p,{apiKey:h,baseUrl:I,model:m});(await new a.F(e).generateSimilarQuestion("1+1=?",["基础算术"],N,"easy")).questionText&&(x=!0,d=e.model)}else if("azure"===p){let e=new l.f({apiKey:h,endpoint:O,deploymentName:w,apiVersion:C,model:m});(await e.generateSimilarQuestion("1+1=?",["基础算术"],N,"easy")).questionText&&(x=!0,d=m||w)}}catch(e){t=E(e),R.warn({error:e,provider:p},"文本生成测试失败")}let S={success:x,textSupport:x,visionSupport:y,textError:t,visionError:i,modelInfo:d};return R.info({response:S},"AI 连接测试完成"),o.NextResponse.json(S)}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,p]),i()}catch(e){i(e)}},!1)]})();
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=_13ffmxv8qrwi0._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
(()=>{"use strict";module.exports=[521178,e=>{var t=e.i(747909),r=e.i(174017),a=e.i(996250),i=e.i(759756),n=e.i(561916),s=e.i(174677),l=e.i(869741),o=e.i(316795),u=e.i(487718),c=e.i(995169),d=e.i(47587),p=e.i(666012),h=e.i(570101),f=e.i(626937),m=e.i(10372),g=e.i(193695),w=e.i(509580);e.i(52474);var v=e.i(600220);let R=new t.AppRouteRouteModule({definition:{kind:r.f.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:y,workUnitAsyncStorage:x,serverHooks:E}=R;async function S(e,t,r){r.requestMeta&&(0,i.R)(e,r.requestMeta),R.isDev&&(0,i.i)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let a="/api/error-items/list/route";a=a.replace(/\/index$/,"")||"/";let{instrumentation:s}=await R.ensureInstrumentation(e,{deferSpans:!0});return R.traceRequest(e,{tracer:(0,n.v)(),spanName:`${e.method||"GET"} ${a}`,httpTarget:e.url,instrumentation:s},(i,n)=>b(e,t,r,a,!1,i,n))}async function b(e,t,a,y,x,E,S){let b=await R.prepare(e,t,{srcPage:y,multiZoneDraftMode:x});if(!b)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:A,deploymentId:T,params:C,nextConfig:P,parsedUrl:k,isDraftMode:I,prerenderManifest:O,routerServerContext:U,isOnDemandRevalidate:$,revalidateOnlyGenerated:M,resolvedPathname:_,clientReferenceManifest:q,serverActionsManifest:N,previewProps:D}=b,j=(0,l.f)(y),L=!!O.routes[_]&&(R.isDev||(0,w.f)(_,R.cacheOwner,O.routes[_])),G=!!(O.dynamicRoutes[j]||L),H=async()=>((null==U?void 0:U.render404)?await U.render404(e,t,k,!1):t.end("This page could not be found"),null);if(G&&!I){let e=O.dynamicRoutes[j];if(e&&!1===e.fallback&&!L){if(P.adapterPath)return await H();throw new g.NoFallbackError}}let B=null;!G||R.isDev||I||(B="/index"===(B=_)?"/":B),N&&q&&(0,s.f)({page:y,clientReferenceManifest:q,serverActionsManifest:N});let F=e.method||"GET",K=(0,n.v)(),J=!!(null==U?void 0:U.isWrappedByNextServer),Q=!!(0,i.w)(e,"minimalMode"),V=(0,i.w)(e,"incrementalCache")||await R.getIncrementalCache(e,P,D,O,Q);null==V||V.resetRequestCache(),globalThis.__incrementalCache=V;let W={params:C,previewProps:D,renderOpts:{experimental:{authInterrupts:!!P.experimental.authInterrupts,useCacheTimeout:P.experimental.useCacheTimeout,durableUseCacheEntries:!!P.experimental.durableUseCacheEntries},cacheComponents:!!P.cacheComponents,validationLevel:P.experimental.instantInsights.validationLevel,isDraftMode:I,incrementalCache:V,hmrRefreshHash:(0,i.w)(e,"hmrRefreshHash"),cacheLifeProfiles:P.cacheLife,staticPageGenerationTimeout:P.staticPageGenerationTimeout,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0},sharedContext:{buildId:A,deploymentId:T}},z=new o.x(e),X=new o.e(t),Y=u.k.fromNodeNextRequest(z,(0,u.t)(t)),Z=async({previousCacheEntry:r})=>{try{if(!Q&&$&&M&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let i=null===B?await R.handle(Y,W):await R.prerender(Y,W);e.fetchMetrics=W.renderOpts.fetchMetrics;let n=W.renderOpts.pendingWaitUntil;n&&a.waitUntil&&(a.waitUntil(n),n=void 0);let s=W.renderOpts.collectedTags;if(!G)return await (0,p.f)(z,X,i,n),null;{let e=await i.blob(),t=(0,h.S)(i.headers);s&&(t[m.M]=s),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=m.Q)&&W.renderOpts.collectedRevalidate,a=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=m.Q?!1!==r&&r>0?P.expireTime:void 0:W.renderOpts.collectedExpire;return{value:{kind:v.x.APP_ROUTE,status:i.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await R.onRequestError(e,t,{routerKind:"App Router",routePath:y,routeType:"route",revalidateReason:(0,d.f)({isStaticGeneration:null!==B,isOnDemandRevalidate:$})},!1,U),t}},ee=async i=>{try{var s,l;let i=await R.handleResponse({req:e,nextConfig:P,cacheKey:B,routeKind:r.f.APP_ROUTE,isFallback:!1,previewProps:D,prerenderManifest:O,isRoutePPREnabled:!1,isOnDemandRevalidate:$,revalidateOnlyGenerated:M,responseGenerator:Z,waitUntil:a.waitUntil,isMinimalMode:Q});if(null!==i&&"error"in i)throw i.error;if(!G)return;if((null==i||null==(s=i.value)?void 0:s.kind)!==v.x.APP_ROUTE)throw Error(`Invariant: app-route received invalid cache entry ${null==i||null==(l=i.value)?void 0:l.kind}`);Q||t.setHeader("x-nextjs-cache",$?"REVALIDATED":i.isMiss?"MISS":i.isStale?"STALE":"HIT"),I&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let n=(0,h.G)(i.value.headers);Q&&G||n.delete(m.M),!i.cacheControl||t.getHeader("Cache-Control")||n.get("Cache-Control")||n.set("Cache-Control",(0,f.f)(i.cacheControl)),await (0,p.f)(z,X,new Response(i.value.body,{headers:n,status:i.value.status||200}));return}catch(r){if(r instanceof g.NoFallbackError||await R.onRequestError(e,r,{routerKind:"App Router",routePath:j,routeType:"route",revalidateReason:(0,d.f)({isStaticGeneration:null!==B,isOnDemandRevalidate:$})},!1,U),G)throw r;if(t.headersSent){if(i){let e=r instanceof Error?r:Error("Unknown app route error");i.recordException(e),i.setStatus({code:n.J.ERROR,message:e.message}),i.setAttribute("error.type",e.name)}t.writableEnded||t.destroyed||t.end()}else await (0,p.f)(z,X,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.J.ERROR}),i.setAttribute("error.type",e.toString()));let r=K.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==c.q.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")||j,s=`${F} ${a}`;i.setAttributes({"next.route":a,"http.route":a,"next.span_name":s}),i.updateName(s),S&&S!==i&&(S.setAttribute("http.route",a),S.updateName(s))})()}};J||void 0===e.url||null==E||E.setAttribute("http.target",e.url),await ee(E)}e.s(["handler",0,S,"patchFetch",0,function(){return(0,a.f)({workAsyncStorage:y,workUnitAsyncStorage:x})},"routeModule",0,R,"serverHooks",0,E,"workAsyncStorage",0,y,"workUnitAsyncStorage",0,x])},711052,e=>e.a(async(t,r)=>{try{var a=e.i(89171),i=e.i(698043),n=e.i(79832),s=e.i(757660),l=e.i(181912),o=e.i(50377),u=e.i(798003),c=e.i(376025),d=e.i(602633);e.i(92366);var p=e.i(141070),h=e.i(995408),f=t([n]);[n]=f.then?(await f)():f;let w=(0,o.f)("api:error-items:list");async function m(e){let t=await (0,s.getServerSession)(n.f),{searchParams:r}=new URL(e.url),o=r.get("subjectId"),f=r.get("query"),m=r.get("mastery"),v=r.get("timeRange"),R=r.get("tag"),y=Math.max(1,parseInt(r.get("page")||"1",10)),x=Math.min(d.b,Math.max(d.p,parseInt(r.get("pageSize")||String(d.$),10)));try{let e;if(t?.user?.email&&(e=await i.f.user.findUnique({where:{email:t.user.email}})),!e)return(0,l.k)("Authentication required");let n={userId:e.id};o&&(n.subjectId=o);let s=[];if(f&&s.push({OR:[{questionText:{contains:f}},{analysis:{contains:f}},{wrongAnswerText:{contains:f}},{mistakeAnalysis:{contains:f}},{knowledgePoints:{contains:f}},...(0,p.P)(f.trim())?[{shortId:f.trim()}]:[]]}),(0,h.A)(m)&&s.push((0,h.u)(m)),v&&"all"!==v){let e=new Date,t=(0,u.c)(),r=e;"week"===v?r=(0,c.N)(e,t,-7):"month"===v&&(r=(0,c.N)(e,t,0,-1)),n.createdAt={gte:r}}let d=r.get("chapter");if(d){let t=await g(d,e.id);t.length>0?n.tags={some:{id:{in:t}}}:n.id="__IMPOSSIBLE_ID__"}R&&!d?n.knowledgePoints={contains:R}:R&&d&&(n.tags={some:{name:R}});let w=r.get("gradeSemester");if(w){let e=function(e){let t=[e],r="",a="";if(e.includes("七年级")||e.includes("初一"))a="七年级";else if(e.includes("八年级")||e.includes("初二"))a="八年级";else if(e.includes("九年级")||e.includes("初三"))a="九年级";else if(e.includes("高一"))a="高一";else if(e.includes("高二"))a="高二";else if(e.includes("高三"))a="高三";else{let r=e.match(/^(.+?)[上下]/);if(!r)return{gradeSemester:{contains:e}};t=[r[1]]}a&&(t=({七年级:["七年级","初一","7年级","七"],八年级:["八年级","初二","8年级","八"],九年级:["九年级","初三","9年级","九"],高一:["高一","10年级"],高二:["高二","11年级"],高三:["高三","12年级"]})[a]),e.includes("上")?r="上":e.includes("下")&&(r="下");let i=[];return(t.forEach(e=>{if(r){i.push({gradeSemester:{contains:`${e}${r}`}}),i.push({gradeSemester:{contains:`${e},${r}`}}),i.push({gradeSemester:{contains:`${e},${r}`}}),i.push({gradeSemester:{contains:`${e} ${r}`}});let t="上"===r?"上期":"下期";i.push({gradeSemester:{contains:`${e},${t}`}})}else i.push({gradeSemester:{contains:e}})}),0===i.length)?{gradeSemester:{contains:e}}:{OR:i}}(w);Object.assign(n,e)}let E=r.get("paperLevel");E&&"all"!==E&&(n.paperLevel=E),s.length>0&&(n.AND=s);let S=await i.f.errorItem.count({where:n}),b=await i.f.errorItem.findMany({where:n,orderBy:{createdAt:"desc"},include:{subject:!0,tags:!0,_count:h.E},skip:(y-1)*x,take:x}),A=Math.ceil(S/x);return a.NextResponse.json({items:b.map(({_count:e,...t})=>({...t,masteryStatus:(0,h.k)(e.practiceRecords,t.masteryProbability)})),total:S,page:y,pageSize:x,totalPages:A})}catch(e){return w.error({error:e},"Error fetching items"),(0,l.g)("Failed to fetch error items")}}async function g(e,t){let r=await i.f.knowledgeTag.findFirst({where:{name:e,OR:[{isSystem:!0},{userId:t}]},select:{id:!0}});if(!r)return[];let a=[r.id],n=[r.id];for(;n.length>0;){let e=n.shift();for(let t of(await i.f.knowledgeTag.findMany({where:{parentId:e},select:{id:!0}})))a.push(t.id),n.push(t.id)}return a}e.s(["GET",0,m]),r()}catch(e){r(e)}},!1),602633,e=>{e.s(["$",0,18,"b",0,1e3,"p",0,1])}]})();
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=_14tz_k9desx4n._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
(()=>{"use strict";module.exports=[16421,e=>{var t=e.i(747909),r=e.i(174017),a=e.i(996250),n=e.i(759756),i=e.i(561916),s=e.i(174677),o=e.i(869741),l=e.i(316795),u=e.i(487718),c=e.i(995169),d=e.i(47587),p=e.i(666012),h=e.i(570101),f=e.i(626937),w=e.i(10372),m=e.i(193695),g=e.i(509580);e.i(52474);var v=e.i(600220);let R=new t.AppRouteRouteModule({definition:{kind:r.f.APP_ROUTE,page:"/api/register/route",pathname:"/api/register",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/register/route.ts",nextConfigOutput:"standalone",userland:()=>e.r(544661),...{}}),{workAsyncStorage:x,workUnitAsyncStorage:y,serverHooks:E}=R;async function b(e,t,r){r.requestMeta&&(0,n.R)(e,r.requestMeta),R.isDev&&(0,n.i)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let a="/api/register/route";a=a.replace(/\/index$/,"")||"/";let{instrumentation:s}=await R.ensureInstrumentation(e,{deferSpans:!0});return R.traceRequest(e,{tracer:(0,i.v)(),spanName:`${e.method||"GET"} ${a}`,httpTarget:e.url,instrumentation:s},(n,i)=>C(e,t,r,a,!1,n,i))}async function C(e,t,a,x,y,E,b){let C=await R.prepare(e,t,{srcPage:x,multiZoneDraftMode:y});if(!C)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:T,deploymentId:P,params:A,nextConfig:U,parsedUrl:S,isDraftMode:O,prerenderManifest:k,routerServerContext:N,isOnDemandRevalidate:j,revalidateOnlyGenerated:q,resolvedPathname:I,clientReferenceManifest:M,serverActionsManifest:_,previewProps:D}=C,H=(0,o.f)(x),$=!!k.routes[I]&&(R.isDev||(0,g.f)(I,R.cacheOwner,k.routes[I])),G=!!(k.dynamicRoutes[H]||$),L=async()=>((null==N?void 0:N.render404)?await N.render404(e,t,S,!1):t.end("This page could not be found"),null);if(G&&!O){let e=k.dynamicRoutes[H];if(e&&!1===e.fallback&&!$){if(U.adapterPath)return await L();throw new m.NoFallbackError}}let z=null;!G||R.isDev||O||(z="/index"===(z=I)?"/":z),_&&M&&(0,s.f)({page:x,clientReferenceManifest:M,serverActionsManifest:_});let B=e.method||"GET",F=(0,i.v)(),K=!!(null==N?void 0:N.isWrappedByNextServer),J=!!(0,n.w)(e,"minimalMode"),Q=(0,n.w)(e,"incrementalCache")||await R.getIncrementalCache(e,U,D,k,J);null==Q||Q.resetRequestCache(),globalThis.__incrementalCache=Q;let V={params:A,previewProps:D,renderOpts:{experimental:{authInterrupts:!!U.experimental.authInterrupts,useCacheTimeout:U.experimental.useCacheTimeout,durableUseCacheEntries:!!U.experimental.durableUseCacheEntries},cacheComponents:!!U.cacheComponents,validationLevel:U.experimental.instantInsights.validationLevel,isDraftMode:O,incrementalCache:Q,hmrRefreshHash:(0,n.w)(e,"hmrRefreshHash"),cacheLifeProfiles:U.cacheLife,staticPageGenerationTimeout:U.staticPageGenerationTimeout,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0},sharedContext:{buildId:T,deploymentId:P}},W=new l.x(e),Y=new l.e(t),X=u.k.fromNodeNextRequest(W,(0,u.t)(t)),Z=async({previousCacheEntry:r})=>{try{if(!J&&j&&q&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=null===z?await R.handle(X,V):await R.prerender(X,V);e.fetchMetrics=V.renderOpts.fetchMetrics;let i=V.renderOpts.pendingWaitUntil;i&&a.waitUntil&&(a.waitUntil(i),i=void 0);let s=V.renderOpts.collectedTags;if(!G)return await (0,p.f)(W,Y,n,i),null;{let e=await n.blob(),t=(0,h.S)(n.headers);s&&(t[w.M]=s),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==V.renderOpts.collectedRevalidate&&!(V.renderOpts.collectedRevalidate>=w.Q)&&V.renderOpts.collectedRevalidate,a=void 0===V.renderOpts.collectedExpire||V.renderOpts.collectedExpire>=w.Q?!1!==r&&r>0?U.expireTime:void 0:V.renderOpts.collectedExpire;return{value:{kind:v.x.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 R.onRequestError(e,t,{routerKind:"App Router",routePath:x,routeType:"route",revalidateReason:(0,d.f)({isStaticGeneration:null!==z,isOnDemandRevalidate:j})},!1,N),t}},ee=async n=>{try{var s,o;let n=await R.handleResponse({req:e,nextConfig:U,cacheKey:z,routeKind:r.f.APP_ROUTE,isFallback:!1,previewProps:D,prerenderManifest:k,isRoutePPREnabled:!1,isOnDemandRevalidate:j,revalidateOnlyGenerated:q,responseGenerator:Z,waitUntil:a.waitUntil,isMinimalMode:J});if(null!==n&&"error"in n)throw n.error;if(!G)return;if((null==n||null==(s=n.value)?void 0:s.kind)!==v.x.APP_ROUTE)throw Error(`Invariant: app-route received invalid cache entry ${null==n||null==(o=n.value)?void 0:o.kind}`);J||t.setHeader("x-nextjs-cache",j?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),O&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let i=(0,h.G)(n.value.headers);J&&G||i.delete(w.M),!n.cacheControl||t.getHeader("Cache-Control")||i.get("Cache-Control")||i.set("Cache-Control",(0,f.f)(n.cacheControl)),await (0,p.f)(W,Y,new Response(n.value.body,{headers:i,status:n.value.status||200}));return}catch(r){if(r instanceof m.NoFallbackError||await R.onRequestError(e,r,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,d.f)({isStaticGeneration:null!==z,isOnDemandRevalidate:j})},!1,N),G)throw r;if(t.headersSent){if(n){let e=r instanceof Error?r:Error("Unknown app route error");n.recordException(e),n.setStatus({code:i.J.ERROR,message:e.message}),n.setAttribute("error.type",e.name)}t.writableEnded||t.destroyed||t.end()}else await (0,p.f)(W,Y,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.J.ERROR}),n.setAttribute("error.type",e.toString()));let r=F.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==c.q.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")||H,s=`${B} ${a}`;n.setAttributes({"next.route":a,"http.route":a,"next.span_name":s}),n.updateName(s),b&&b!==n&&(b.setAttribute("http.route",a),b.updateName(s))})()}};K||void 0===e.url||null==E||E.setAttribute("http.target",e.url),await ee(E)}e.s(["handler",0,b,"patchFetch",0,function(){return(0,a.f)({workAsyncStorage:x,workUnitAsyncStorage:y})},"routeModule",0,R,"serverHooks",0,E,"workAsyncStorage",0,x,"workUnitAsyncStorage",0,y])},544661,e=>e.a(async(t,r)=>{try{var a=e.i(89171),n=e.i(644950),i=e.i(698043),s=e.i(971724),o=e.i(105954),l=e.i(206033),u=e.i(798003),c=t([n]);[n]=c.then?(await c)():c;let p=s.z.object({email:o.z.string().regex(/^[^\s@]+@[^\s@]+$/,"Invalid email format"),password:o.z.string().min(6),name:o.z.string().min(1),educationStage:o.z.string().optional(),enrollmentYear:l.z.number().optional()});async function d(e){try{let t=(0,u.b)();if(!1===t.allowRegistration)return a.NextResponse.json({user:null,message:"Registration is currently disabled"},{status:403});let r=await e.json(),{email:s,password:o,name:l,educationStage:c,enrollmentYear:d}=p.parse(r);if(await i.f.user.findUnique({where:{email:s}}))return a.NextResponse.json({user:null,message:"User with this email already exists"},{status:409});let h=await (0,n.hash)(o,10),{password:f,...w}=await i.f.user.create({data:{email:s,name:l,password:h,educationStage:c,enrollmentYear:d}});return a.NextResponse.json({user:w,message:"User created successfully"},{status:201})}catch{return a.NextResponse.json({user:null,message:"Something went wrong"},{status:500})}}e.s(["POST",0,d]),r()}catch(e){r(e)}},!1)]})();
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=_14w9nrdlajz24._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
(()=>{"use strict";module.exports=[648065,e=>{var t=e.i(747909),r=e.i(174017),a=e.i(996250),n=e.i(759756),i=e.i(561916),s=e.i(174677),o=e.i(869741),l=e.i(316795),u=e.i(487718),c=e.i(995169),d=e.i(47587),p=e.i(666012),h=e.i(570101),f=e.i(626937),v=e.i(10372),w=e.i(193695),m=e.i(509580);e.i(52474);var R=e.i(600220);let x=new t.AppRouteRouteModule({definition:{kind:r.f.APP_ROUTE,page:"/api/tasks/route",pathname:"/api/tasks",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/tasks/route.ts",nextConfigOutput:"standalone",userland:()=>e.r(408697),...{}}),{workAsyncStorage:E,workUnitAsyncStorage:y,serverHooks:g}=x;async function C(e,t,r){r.requestMeta&&(0,n.R)(e,r.requestMeta),x.isDev&&(0,n.i)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let a="/api/tasks/route";a=a.replace(/\/index$/,"")||"/";let{instrumentation:s}=await x.ensureInstrumentation(e,{deferSpans:!0});return x.traceRequest(e,{tracer:(0,i.v)(),spanName:`${e.method||"GET"} ${a}`,httpTarget:e.url,instrumentation:s},(n,i)=>T(e,t,r,a,!1,n,i))}async function T(e,t,a,E,y,g,C){let T=await x.prepare(e,t,{srcPage:E,multiZoneDraftMode:y});if(!T)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:b,deploymentId:A,params:k,nextConfig:P,parsedUrl:O,isDraftMode:U,prerenderManifest:S,routerServerContext:q,isOnDemandRevalidate:I,revalidateOnlyGenerated:M,resolvedPathname:N,clientReferenceManifest:j,serverActionsManifest:D,previewProps:_}=T,G=(0,o.f)(E),H=!!S.routes[N]&&(x.isDev||(0,m.f)(N,x.cacheOwner,S.routes[N])),L=!!(S.dynamicRoutes[G]||H),$=async()=>((null==q?void 0:q.render404)?await q.render404(e,t,O,!1):t.end("This page could not be found"),null);if(L&&!U){let e=S.dynamicRoutes[G];if(e&&!1===e.fallback&&!H){if(P.adapterPath)return await $();throw new w.NoFallbackError}}let B=null;!L||x.isDev||U||(B="/index"===(B=N)?"/":B),D&&j&&(0,s.f)({page:E,clientReferenceManifest:j,serverActionsManifest:D});let F=e.method||"GET",K=(0,i.v)(),J=!!(null==q?void 0:q.isWrappedByNextServer),Q=!!(0,n.w)(e,"minimalMode"),V=(0,n.w)(e,"incrementalCache")||await x.getIncrementalCache(e,P,_,S,Q);null==V||V.resetRequestCache(),globalThis.__incrementalCache=V;let W={params:k,previewProps:_,renderOpts:{experimental:{authInterrupts:!!P.experimental.authInterrupts,useCacheTimeout:P.experimental.useCacheTimeout,durableUseCacheEntries:!!P.experimental.durableUseCacheEntries},cacheComponents:!!P.cacheComponents,validationLevel:P.experimental.instantInsights.validationLevel,isDraftMode:U,incrementalCache:V,hmrRefreshHash:(0,n.w)(e,"hmrRefreshHash"),cacheLifeProfiles:P.cacheLife,staticPageGenerationTimeout:P.staticPageGenerationTimeout,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0},sharedContext:{buildId:b,deploymentId:A}},z=new l.x(e),X=new l.e(t),Y=u.k.fromNodeNextRequest(z,(0,u.t)(t)),Z=async({previousCacheEntry:r})=>{try{if(!Q&&I&&M&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=null===B?await x.handle(Y,W):await x.prerender(Y,W);e.fetchMetrics=W.renderOpts.fetchMetrics;let i=W.renderOpts.pendingWaitUntil;i&&a.waitUntil&&(a.waitUntil(i),i=void 0);let s=W.renderOpts.collectedTags;if(!L)return await (0,p.f)(z,X,n,i),null;{let e=await n.blob(),t=(0,h.S)(n.headers);s&&(t[v.M]=s),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=v.Q)&&W.renderOpts.collectedRevalidate,a=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=v.Q?!1!==r&&r>0?P.expireTime:void 0:W.renderOpts.collectedExpire;return{value:{kind:R.x.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 x.onRequestError(e,t,{routerKind:"App Router",routePath:E,routeType:"route",revalidateReason:(0,d.f)({isStaticGeneration:null!==B,isOnDemandRevalidate:I})},!1,q),t}},ee=async n=>{try{var s,o;let n=await x.handleResponse({req:e,nextConfig:P,cacheKey:B,routeKind:r.f.APP_ROUTE,isFallback:!1,previewProps:_,prerenderManifest:S,isRoutePPREnabled:!1,isOnDemandRevalidate:I,revalidateOnlyGenerated:M,responseGenerator:Z,waitUntil:a.waitUntil,isMinimalMode:Q});if(null!==n&&"error"in n)throw n.error;if(!L)return;if((null==n||null==(s=n.value)?void 0:s.kind)!==R.x.APP_ROUTE)throw Error(`Invariant: app-route received invalid cache entry ${null==n||null==(o=n.value)?void 0:o.kind}`);Q||t.setHeader("x-nextjs-cache",I?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),U&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let i=(0,h.G)(n.value.headers);Q&&L||i.delete(v.M),!n.cacheControl||t.getHeader("Cache-Control")||i.get("Cache-Control")||i.set("Cache-Control",(0,f.f)(n.cacheControl)),await (0,p.f)(z,X,new Response(n.value.body,{headers:i,status:n.value.status||200}));return}catch(r){if(r instanceof w.NoFallbackError||await x.onRequestError(e,r,{routerKind:"App Router",routePath:G,routeType:"route",revalidateReason:(0,d.f)({isStaticGeneration:null!==B,isOnDemandRevalidate:I})},!1,q),L)throw r;if(t.headersSent){if(n){let e=r instanceof Error?r:Error("Unknown app route error");n.recordException(e),n.setStatus({code:i.J.ERROR,message:e.message}),n.setAttribute("error.type",e.name)}t.writableEnded||t.destroyed||t.end()}else await (0,p.f)(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:i.J.ERROR}),n.setAttribute("error.type",e.toString()));let r=K.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==c.q.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")||G,s=`${F} ${a}`;n.setAttributes({"next.route":a,"http.route":a,"next.span_name":s}),n.updateName(s),C&&C!==n&&(C.setAttribute("http.route",a),C.updateName(s))})()}};J||void 0===e.url||null==g||g.setAttribute("http.target",e.url),await ee(g)}e.s(["handler",0,C,"patchFetch",0,function(){return(0,a.f)({workAsyncStorage:E,workUnitAsyncStorage:y})},"routeModule",0,x,"serverHooks",0,g,"workAsyncStorage",0,E,"workUnitAsyncStorage",0,y])},408697,e=>e.a(async(t,r)=>{try{var a=e.i(89171),n=e.i(63856),i=e.i(181912),s=e.i(926828),o=t([n]);async function l(){let e=await (0,n.f)();return e?a.NextResponse.json({tasks:(0,s.j)(e.id)}):(0,i.k)("Authentication required")}async function u(){let e=await (0,n.f)();return e?((0,s.i)(e.id),a.NextResponse.json({tasks:(0,s.j)(e.id)})):(0,i.k)("Authentication required")}[n]=o.then?(await o)():o,e.s(["DELETE",0,u,"GET",0,l]),r()}catch(e){r(e)}},!1)]})();
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=_15fpgekhvv214._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
(()=>{"use strict";module.exports=[350936,e=>{var t=e.i(747909),r=e.i(174017),a=e.i(996250),n=e.i(759756),i=e.i(561916),o=e.i(174677),s=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),m=e.i(626937),f=e.i(10372),w=e.i(193695),v=e.i(509580);e.i(52474);var y=e.i(600220);let R=new t.AppRouteRouteModule({definition:{kind:r.f.APP_ROUTE,page:"/api/ai/models/route",pathname:"/api/ai/models",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/ai/models/route.ts",nextConfigOutput:"standalone",userland:()=>e.r(766455),...{}}),{workAsyncStorage:x,workUnitAsyncStorage:g,serverHooks:E}=R;async function A(e,t,r){r.requestMeta&&(0,n.R)(e,r.requestMeta),R.isDev&&(0,n.i)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let a="/api/ai/models/route";a=a.replace(/\/index$/,"")||"/";let{instrumentation:o}=await R.ensureInstrumentation(e,{deferSpans:!0});return R.traceRequest(e,{tracer:(0,i.v)(),spanName:`${e.method||"GET"} ${a}`,httpTarget:e.url,instrumentation:o},(n,i)=>b(e,t,r,a,!1,n,i))}async function b(e,t,a,x,g,E,A){let b=await R.prepare(e,t,{srcPage:x,multiZoneDraftMode:g});if(!b)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:C,deploymentId:P,params:T,nextConfig:I,parsedUrl:k,isDraftMode:O,prerenderManifest:S,routerServerContext:U,isOnDemandRevalidate:$,revalidateOnlyGenerated:j,resolvedPathname:_,clientReferenceManifest:q,serverActionsManifest:N,previewProps:M}=b,G=(0,s.f)(x),D=!!S.routes[_]&&(R.isDev||(0,v.f)(_,R.cacheOwner,S.routes[_])),H=!!(S.dynamicRoutes[G]||D),L=async()=>((null==U?void 0:U.render404)?await U.render404(e,t,k,!1):t.end("This page could not be found"),null);if(H&&!O){let e=S.dynamicRoutes[G];if(e&&!1===e.fallback&&!D){if(I.adapterPath)return await L();throw new w.NoFallbackError}}let B=null;!H||R.isDev||O||(B="/index"===(B=_)?"/":B),N&&q&&(0,o.f)({page:x,clientReferenceManifest:q,serverActionsManifest:N});let F=e.method||"GET",K=(0,i.v)(),Q=!!(null==U?void 0:U.isWrappedByNextServer),J=!!(0,n.w)(e,"minimalMode"),V=(0,n.w)(e,"incrementalCache")||await R.getIncrementalCache(e,I,M,S,J);null==V||V.resetRequestCache(),globalThis.__incrementalCache=V;let W={params:T,previewProps:M,renderOpts:{experimental:{authInterrupts:!!I.experimental.authInterrupts,useCacheTimeout:I.experimental.useCacheTimeout,durableUseCacheEntries:!!I.experimental.durableUseCacheEntries},cacheComponents:!!I.cacheComponents,validationLevel:I.experimental.instantInsights.validationLevel,isDraftMode:O,incrementalCache:V,hmrRefreshHash:(0,n.w)(e,"hmrRefreshHash"),cacheLifeProfiles:I.cacheLife,staticPageGenerationTimeout:I.staticPageGenerationTimeout,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0},sharedContext:{buildId:C,deploymentId:P}},z=new l.x(e),X=new l.e(t),Y=u.k.fromNodeNextRequest(z,(0,u.t)(t)),Z=async({previousCacheEntry:r})=>{try{if(!J&&$&&j&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=null===B?await R.handle(Y,W):await R.prerender(Y,W);e.fetchMetrics=W.renderOpts.fetchMetrics;let i=W.renderOpts.pendingWaitUntil;i&&a.waitUntil&&(a.waitUntil(i),i=void 0);let o=W.renderOpts.collectedTags;if(!H)return await (0,p.f)(z,X,n,i),null;{let e=await n.blob(),t=(0,h.S)(n.headers);o&&(t[f.M]=o),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=f.Q)&&W.renderOpts.collectedRevalidate,a=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=f.Q?!1!==r&&r>0?I.expireTime:void 0:W.renderOpts.collectedExpire;return{value:{kind:y.x.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 R.onRequestError(e,t,{routerKind:"App Router",routePath:x,routeType:"route",revalidateReason:(0,c.f)({isStaticGeneration:null!==B,isOnDemandRevalidate:$})},!1,U),t}},ee=async n=>{try{var o,s;let n=await R.handleResponse({req:e,nextConfig:I,cacheKey:B,routeKind:r.f.APP_ROUTE,isFallback:!1,previewProps:M,prerenderManifest:S,isRoutePPREnabled:!1,isOnDemandRevalidate:$,revalidateOnlyGenerated:j,responseGenerator:Z,waitUntil:a.waitUntil,isMinimalMode:J});if(null!==n&&"error"in n)throw n.error;if(!H)return;if((null==n||null==(o=n.value)?void 0:o.kind)!==y.x.APP_ROUTE)throw Error(`Invariant: app-route received invalid cache entry ${null==n||null==(s=n.value)?void 0:s.kind}`);J||t.setHeader("x-nextjs-cache",$?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),O&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let i=(0,h.G)(n.value.headers);J&&H||i.delete(f.M),!n.cacheControl||t.getHeader("Cache-Control")||i.get("Cache-Control")||i.set("Cache-Control",(0,m.f)(n.cacheControl)),await (0,p.f)(z,X,new Response(n.value.body,{headers:i,status:n.value.status||200}));return}catch(r){if(r instanceof w.NoFallbackError||await R.onRequestError(e,r,{routerKind:"App Router",routePath:G,routeType:"route",revalidateReason:(0,c.f)({isStaticGeneration:null!==B,isOnDemandRevalidate:$})},!1,U),H)throw r;if(t.headersSent){if(n){let e=r instanceof Error?r:Error("Unknown app route error");n.recordException(e),n.setStatus({code:i.J.ERROR,message:e.message}),n.setAttribute("error.type",e.name)}t.writableEnded||t.destroyed||t.end()}else await (0,p.f)(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:i.J.ERROR}),n.setAttribute("error.type",e.toString()));let r=K.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==d.q.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")||G,o=`${F} ${a}`;n.setAttributes({"next.route":a,"http.route":a,"next.span_name":o}),n.updateName(o),A&&A!==n&&(A.setAttribute("http.route",a),A.updateName(o))})()}};Q||void 0===e.url||null==E||E.setAttribute("http.target",e.url),await ee(E)}e.s(["handler",0,A,"patchFetch",0,function(){return(0,a.f)({workAsyncStorage:x,workUnitAsyncStorage:g})},"routeModule",0,R,"serverHooks",0,E,"workAsyncStorage",0,x,"workUnitAsyncStorage",0,g])},766455,e=>e.a(async(t,r)=>{try{var a=e.i(89171),n=e.i(757660),i=e.i(79832),o=e.i(258078),s=e.i(181912),l=e.i(690604),u=e.i(298876),d=e.i(50377),c=e.i(481183),p=t([i]);[i]=p.then?(await p)():p;let v=(0,d.f)("api:ai:models");async function h(e,t){let r=`${t}/v1beta/models?key=${encodeURIComponent(e)}`,a=await fetch(r,{headers:{"Content-Type":"application/json"}});if(!a.ok){let e=await a.text();throw v.error({status:a.status,errorText:e},"Gemini models API error"),Error(`Gemini API error: ${a.status}`)}return((await a.json()).models||[]).map(e=>{let t=e.name.replace(/^models\//,"");return{id:t,name:t,owned_by:"Google"}})}async function m(e,t){let r=`${t}/models`,a=await fetch(r,{headers:{Authorization:`Bearer ${e}`,"Content-Type":"application/json"}});if(!a.ok)throw v.error({statusText:a.statusText},"OpenAI models API error"),Error(`API error: ${a.status}`);return((await a.json()).data||[]).map(e=>({id:e.id,name:e.id,owned_by:e.owned_by}))}async function f(e,t){let r=await fetch(`${t}/v1/models?limit=100`,{headers:{"x-api-key":e,"anthropic-version":"2023-06-01"}});if(!r.ok)throw v.error({status:r.status},"Anthropic models API error"),Error(`API error: ${r.status}`);return((await r.json()).data||[]).map(e=>({id:e.id,name:e.display_name||e.id,owned_by:"Anthropic"}))}async function w(e){let t=await (0,n.getServerSession)(i.f);if(!(0,o.f)(t))return(0,s.Q)("Admin access required");try{let{provider:t,apiKey:r,baseUrl:n}=await e.json();if(!r)return a.NextResponse.json({error:"API key is required"},{status:400});let i=[],o=e=>(0,c.$)(n||e);return i="anthropic"===t?await f(r,o(l.l)):(0,u.j)(t)?await m(r,o(u.$[t].baseUrl)):"gemini"===t?await h(r,o("https://generativelanguage.googleapis.com")):await m(r,o("https://api.openai.com/v1")),a.NextResponse.json({models:i})}catch(e){return v.error({error:e},"Error fetching models"),a.NextResponse.json({error:e instanceof Error&&e.message||"Internal server error",models:[]},{status:200})}}e.s(["POST",0,w]),r()}catch(e){r(e)}},!1)]})();
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=_16jdov0rxh99d._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
(()=>{"use strict";module.exports=[797340,e=>{var t=e.i(747909),r=e.i(174017),a=e.i(996250),n=e.i(759756),i=e.i(561916),o=e.i(174677),s=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),f=e.i(626937),m=e.i(10372),w=e.i(193695),v=e.i(509580);e.i(52474);var R=e.i(600220);let x=new t.AppRouteRouteModule({definition:{kind:r.f.APP_ROUTE,page:"/api/error-items/short/[shortId]/route",pathname:"/api/error-items/short/[shortId]",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/error-items/short/[shortId]/route.ts",nextConfigOutput:"standalone",userland:()=>e.r(489094),...{}}),{workAsyncStorage:y,workUnitAsyncStorage:g,serverHooks:E}=x;async function b(e,t,r){r.requestMeta&&(0,n.R)(e,r.requestMeta),x.isDev&&(0,n.i)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let a="/api/error-items/short/[shortId]/route";a=a.replace(/\/index$/,"")||"/";let{instrumentation:o}=await x.ensureInstrumentation(e,{deferSpans:!0});return x.traceRequest(e,{tracer:(0,i.v)(),spanName:`${e.method||"GET"} ${a}`,httpTarget:e.url,instrumentation:o},(n,i)=>C(e,t,r,a,!1,n,i))}async function C(e,t,a,y,g,E,b){let C=await x.prepare(e,t,{srcPage:y,multiZoneDraftMode:g});if(!C)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:I,deploymentId:T,params:A,nextConfig:P,parsedUrl:U,isDraftMode:O,prerenderManifest:S,routerServerContext:k,isOnDemandRevalidate:q,revalidateOnlyGenerated:M,resolvedPathname:j,clientReferenceManifest:D,serverActionsManifest:N,previewProps:_}=C,G=(0,s.f)(y),H=!!S.routes[j]&&(x.isDev||(0,v.f)(j,x.cacheOwner,S.routes[j])),L=!!(S.dynamicRoutes[G]||H),$=async()=>((null==k?void 0:k.render404)?await k.render404(e,t,U,!1):t.end("This page could not be found"),null);if(L&&!O){let e=S.dynamicRoutes[G];if(e&&!1===e.fallback&&!H){if(P.adapterPath)return await $();throw new w.NoFallbackError}}let F=null;!L||x.isDev||O||(F="/index"===(F=j)?"/":F),N&&D&&(0,o.f)({page:y,clientReferenceManifest:D,serverActionsManifest:N});let B=e.method||"GET",K=(0,i.v)(),J=!!(null==k?void 0:k.isWrappedByNextServer),Q=!!(0,n.w)(e,"minimalMode"),V=(0,n.w)(e,"incrementalCache")||await x.getIncrementalCache(e,P,_,S,Q);null==V||V.resetRequestCache(),globalThis.__incrementalCache=V;let W={params:A,previewProps:_,renderOpts:{experimental:{authInterrupts:!!P.experimental.authInterrupts,useCacheTimeout:P.experimental.useCacheTimeout,durableUseCacheEntries:!!P.experimental.durableUseCacheEntries},cacheComponents:!!P.cacheComponents,validationLevel:P.experimental.instantInsights.validationLevel,isDraftMode:O,incrementalCache:V,hmrRefreshHash:(0,n.w)(e,"hmrRefreshHash"),cacheLifeProfiles:P.cacheLife,staticPageGenerationTimeout:P.staticPageGenerationTimeout,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0},sharedContext:{buildId:I,deploymentId:T}},X=new l.x(e),z=new l.e(t),Y=u.k.fromNodeNextRequest(X,(0,u.t)(t)),Z=async({previousCacheEntry:r})=>{try{if(!Q&&q&&M&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=null===F?await x.handle(Y,W):await x.prerender(Y,W);e.fetchMetrics=W.renderOpts.fetchMetrics;let i=W.renderOpts.pendingWaitUntil;i&&a.waitUntil&&(a.waitUntil(i),i=void 0);let o=W.renderOpts.collectedTags;if(!L)return await (0,p.f)(X,z,n,i),null;{let e=await n.blob(),t=(0,h.S)(n.headers);o&&(t[m.M]=o),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=m.Q)&&W.renderOpts.collectedRevalidate,a=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=m.Q?!1!==r&&r>0?P.expireTime:void 0:W.renderOpts.collectedExpire;return{value:{kind:R.x.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 x.onRequestError(e,t,{routerKind:"App Router",routePath:y,routeType:"route",revalidateReason:(0,c.f)({isStaticGeneration:null!==F,isOnDemandRevalidate:q})},!1,k),t}},ee=async n=>{try{var o,s;let n=await x.handleResponse({req:e,nextConfig:P,cacheKey:F,routeKind:r.f.APP_ROUTE,isFallback:!1,previewProps:_,prerenderManifest:S,isRoutePPREnabled:!1,isOnDemandRevalidate:q,revalidateOnlyGenerated:M,responseGenerator:Z,waitUntil:a.waitUntil,isMinimalMode:Q});if(null!==n&&"error"in n)throw n.error;if(!L)return;if((null==n||null==(o=n.value)?void 0:o.kind)!==R.x.APP_ROUTE)throw Error(`Invariant: app-route received invalid cache entry ${null==n||null==(s=n.value)?void 0:s.kind}`);Q||t.setHeader("x-nextjs-cache",q?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),O&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let i=(0,h.G)(n.value.headers);Q&&L||i.delete(m.M),!n.cacheControl||t.getHeader("Cache-Control")||i.get("Cache-Control")||i.set("Cache-Control",(0,f.f)(n.cacheControl)),await (0,p.f)(X,z,new Response(n.value.body,{headers:i,status:n.value.status||200}));return}catch(r){if(r instanceof w.NoFallbackError||await x.onRequestError(e,r,{routerKind:"App Router",routePath:G,routeType:"route",revalidateReason:(0,c.f)({isStaticGeneration:null!==F,isOnDemandRevalidate:q})},!1,k),L)throw r;if(t.headersSent){if(n){let e=r instanceof Error?r:Error("Unknown app route error");n.recordException(e),n.setStatus({code:i.J.ERROR,message:e.message}),n.setAttribute("error.type",e.name)}t.writableEnded||t.destroyed||t.end()}else await (0,p.f)(X,z,new Response(null,{status:500}));return}finally{(()=>{if(!n)return;let e=t.statusCode;n.setAttributes({"http.status_code":e,"next.rsc":!1}),e&&e>=500&&(n.setStatus({code:i.J.ERROR}),n.setAttribute("error.type",e.toString()));let r=K.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==d.q.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")||G,o=`${B} ${a}`;n.setAttributes({"next.route":a,"http.route":a,"next.span_name":o}),n.updateName(o),b&&b!==n&&(b.setAttribute("http.route",a),b.updateName(o))})()}};J||void 0===e.url||null==E||E.setAttribute("http.target",e.url),await ee(E)}e.s(["handler",0,b,"patchFetch",0,function(){return(0,a.f)({workAsyncStorage:y,workUnitAsyncStorage:g})},"routeModule",0,x,"serverHooks",0,E,"workAsyncStorage",0,y,"workUnitAsyncStorage",0,g])},489094,e=>e.a(async(t,r)=>{try{var a=e.i(89171),n=e.i(698043),i=e.i(63856),o=e.i(181912),s=e.i(50377);e.i(92366);var l=e.i(141070),u=t([i]);[i]=u.then?(await u)():u;let c=(0,s.f)("api:error-items:short");async function d(e,{params:t}){let{shortId:r}=await t;try{let e=await (0,i.f)();if(!e)return(0,o.k)("Authentication required");if(!(0,l.P)(r))return(0,o.X)("Item not found");let t=await n.f.errorItem.findUnique({where:{shortId:r},select:{id:!0,userId:!0,subjectId:!0,shortId:!0}});if(!t||t.userId!==e.id)return(0,o.X)("Item not found");return a.NextResponse.json({id:t.id,subjectId:t.subjectId,shortId:t.shortId})}catch(e){return c.error({error:e},"Error locating item by short ID"),(0,o.g)("Failed to locate error item")}}e.s(["GET",0,d]),r()}catch(e){r(e)}},!1)]})();
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=_17zw8m241gfs3._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
(()=>{"use strict";module.exports=[989171,e=>{var t=e.i(747909),r=e.i(174017),a=e.i(996250),n=e.i(759756),i=e.i(561916),o=e.i(174677),s=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),f=e.i(626937),w=e.i(10372),m=e.i(193695),v=e.i(509580);e.i(52474);var b=e.i(600220);let R=new t.AppRouteRouteModule({definition:{kind:r.f.APP_ROUTE,page:"/api/notebooks/[id]/route",pathname:"/api/notebooks/[id]",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/notebooks/[id]/route.ts",nextConfigOutput:"standalone",userland:()=>e.r(820561),...{}}),{workAsyncStorage:g,workUnitAsyncStorage:x,serverHooks:y}=R;async function k(e,t,r){r.requestMeta&&(0,n.R)(e,r.requestMeta),R.isDev&&(0,n.i)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let a="/api/notebooks/[id]/route";a=a.replace(/\/index$/,"")||"/";let{instrumentation:o}=await R.ensureInstrumentation(e,{deferSpans:!0});return R.traceRequest(e,{tracer:(0,i.v)(),spanName:`${e.method||"GET"} ${a}`,httpTarget:e.url,instrumentation:o},(n,i)=>E(e,t,r,a,!1,n,i))}async function E(e,t,a,g,x,y,k){let E=await R.prepare(e,t,{srcPage:g,multiZoneDraftMode:x});if(!E)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:C,deploymentId:T,params:A,nextConfig:U,parsedUrl:P,isDraftMode:S,prerenderManifest:q,routerServerContext:N,isOnDemandRevalidate:O,revalidateOnlyGenerated:I,resolvedPathname:j,clientReferenceManifest:_,serverActionsManifest:M,previewProps:D}=E,G=(0,s.f)(g),H=!!q.routes[j]&&(R.isDev||(0,v.f)(j,R.cacheOwner,q.routes[j])),L=!!(q.dynamicRoutes[G]||H),F=async()=>((null==N?void 0:N.render404)?await N.render404(e,t,P,!1):t.end("This page could not be found"),null);if(L&&!S){let e=q.dynamicRoutes[G];if(e&&!1===e.fallback&&!H){if(U.adapterPath)return await F();throw new m.NoFallbackError}}let $=null;!L||R.isDev||S||($="/index"===($=j)?"/":$),M&&_&&(0,o.f)({page:g,clientReferenceManifest:_,serverActionsManifest:M});let Q=e.method||"GET",B=(0,i.v)(),z=!!(null==N?void 0:N.isWrappedByNextServer),K=!!(0,n.w)(e,"minimalMode"),X=(0,n.w)(e,"incrementalCache")||await R.getIncrementalCache(e,U,D,q,K);null==X||X.resetRequestCache(),globalThis.__incrementalCache=X;let J={params:A,previewProps:D,renderOpts:{experimental:{authInterrupts:!!U.experimental.authInterrupts,useCacheTimeout:U.experimental.useCacheTimeout,durableUseCacheEntries:!!U.experimental.durableUseCacheEntries},cacheComponents:!!U.cacheComponents,validationLevel:U.experimental.instantInsights.validationLevel,isDraftMode:S,incrementalCache:X,hmrRefreshHash:(0,n.w)(e,"hmrRefreshHash"),cacheLifeProfiles:U.cacheLife,staticPageGenerationTimeout:U.staticPageGenerationTimeout,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0},sharedContext:{buildId:C,deploymentId:T}},V=new l.x(e),W=new l.e(t),Y=u.k.fromNodeNextRequest(V,(0,u.t)(t)),Z=async({previousCacheEntry:r})=>{try{if(!K&&O&&I&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=null===$?await R.handle(Y,J):await R.prerender(Y,J);e.fetchMetrics=J.renderOpts.fetchMetrics;let i=J.renderOpts.pendingWaitUntil;i&&a.waitUntil&&(a.waitUntil(i),i=void 0);let o=J.renderOpts.collectedTags;if(!L)return await (0,p.f)(V,W,n,i),null;{let e=await n.blob(),t=(0,h.S)(n.headers);o&&(t[w.M]=o),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==J.renderOpts.collectedRevalidate&&!(J.renderOpts.collectedRevalidate>=w.Q)&&J.renderOpts.collectedRevalidate,a=void 0===J.renderOpts.collectedExpire||J.renderOpts.collectedExpire>=w.Q?!1!==r&&r>0?U.expireTime:void 0:J.renderOpts.collectedExpire;return{value:{kind:b.x.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 R.onRequestError(e,t,{routerKind:"App Router",routePath:g,routeType:"route",revalidateReason:(0,c.f)({isStaticGeneration:null!==$,isOnDemandRevalidate:O})},!1,N),t}},ee=async n=>{try{var o,s;let n=await R.handleResponse({req:e,nextConfig:U,cacheKey:$,routeKind:r.f.APP_ROUTE,isFallback:!1,previewProps:D,prerenderManifest:q,isRoutePPREnabled:!1,isOnDemandRevalidate:O,revalidateOnlyGenerated:I,responseGenerator:Z,waitUntil:a.waitUntil,isMinimalMode:K});if(null!==n&&"error"in n)throw n.error;if(!L)return;if((null==n||null==(o=n.value)?void 0:o.kind)!==b.x.APP_ROUTE)throw Error(`Invariant: app-route received invalid cache entry ${null==n||null==(s=n.value)?void 0:s.kind}`);K||t.setHeader("x-nextjs-cache",O?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),S&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let i=(0,h.G)(n.value.headers);K&&L||i.delete(w.M),!n.cacheControl||t.getHeader("Cache-Control")||i.get("Cache-Control")||i.set("Cache-Control",(0,f.f)(n.cacheControl)),await (0,p.f)(V,W,new Response(n.value.body,{headers:i,status:n.value.status||200}));return}catch(r){if(r instanceof m.NoFallbackError||await R.onRequestError(e,r,{routerKind:"App Router",routePath:G,routeType:"route",revalidateReason:(0,c.f)({isStaticGeneration:null!==$,isOnDemandRevalidate:O})},!1,N),L)throw r;if(t.headersSent){if(n){let e=r instanceof Error?r:Error("Unknown app route error");n.recordException(e),n.setStatus({code:i.J.ERROR,message:e.message}),n.setAttribute("error.type",e.name)}t.writableEnded||t.destroyed||t.end()}else await (0,p.f)(V,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.J.ERROR}),n.setAttribute("error.type",e.toString()));let r=B.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==d.q.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")||G,o=`${Q} ${a}`;n.setAttributes({"next.route":a,"http.route":a,"next.span_name":o}),n.updateName(o),k&&k!==n&&(k.setAttribute("http.route",a),k.updateName(o))})()}};z||void 0===e.url||null==y||y.setAttribute("http.target",e.url),await ee(y)}e.s(["handler",0,k,"patchFetch",0,function(){return(0,a.f)({workAsyncStorage:g,workUnitAsyncStorage:x})},"routeModule",0,R,"serverHooks",0,y,"workAsyncStorage",0,g,"workUnitAsyncStorage",0,x])},820561,e=>e.a(async(t,r)=>{try{var a=e.i(89171),n=e.i(698043),i=e.i(79832),o=e.i(757660),s=e.i(181912),l=e.i(50377),u=t([i]);[i]=u.then?(await u)():u;let h=(0,l.f)("api:notebooks:id");async function d(e,{params:t}){let{id:r}=await t,l=await (0,o.getServerSession)(i.f);try{let e;if(l?.user?.email&&(e=await n.f.user.findUnique({where:{email:l.user.email}})),!e)return(0,s.k)("Authentication required");let t=await n.f.subject.findUnique({where:{id:r},include:{_count:{select:{errorItems:!0}}}});if(!t)return(0,s.X)("Notebook not found");if(t.userId!==e.id)return(0,s.Q)("Not authorized to access this notebook");return a.NextResponse.json(t)}catch(e){return h.error({error:e},"Error fetching notebook"),(0,s.g)("Failed to fetch notebook")}}async function c(e,{params:t}){let{id:r}=await t,l=await (0,o.getServerSession)(i.f);try{let t;if(l?.user?.email&&(t=await n.f.user.findUnique({where:{email:l.user.email}})),!t)return(0,s.k)("Authentication required");let i=await n.f.subject.findUnique({where:{id:r}});if(!i)return(0,s.X)("Notebook not found");if(i.userId!==t.id)return(0,s.Q)("Not authorized to update this notebook");let{name:o}=await e.json();if(!o||!o.trim())return(0,s.O)("Notebook name is required");let u=await n.f.subject.update({where:{id:r},data:{name:o.trim()},include:{_count:{select:{errorItems:!0}}}});return a.NextResponse.json(u)}catch(e){return h.error({error:e},"Error updating notebook"),(0,s.g)("Failed to update notebook")}}async function p(e,{params:t}){let{id:r}=await t,l=await (0,o.getServerSession)(i.f);try{let e;if(l?.user?.email&&(e=await n.f.user.findUnique({where:{email:l.user.email}})),!e)return(0,s.k)("Authentication required");let t=await n.f.subject.findUnique({where:{id:r},include:{_count:{select:{errorItems:!0}}}});if(!t)return(0,s.X)("Notebook not found");if(t.userId!==e.id)return(0,s.Q)("Not authorized to delete this notebook");if(t._count.errorItems>0)return(0,s.O)("Cannot delete notebook with error items. Please move or delete all items first.");return await n.f.subject.delete({where:{id:r}}),a.NextResponse.json({message:"Notebook deleted successfully"})}catch(e){return h.error({error:e},"Error deleting notebook"),(0,s.g)("Failed to delete notebook")}}e.s(["DELETE",0,p,"GET",0,d,"PUT",0,c]),r()}catch(e){r(e)}},!1)]})();
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=_18amra5328v90._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
(()=>{"use strict";module.exports=[989034,e=>{var t=e.i(747909),r=e.i(174017),a=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),c=e.i(995169),d=e.i(47587),p=e.i(666012),h=e.i(570101),f=e.i(626937),m=e.i(10372),w=e.i(193695),g=e.i(509580);e.i(52474);var v=e.i(600220);let y=new t.AppRouteRouteModule({definition:{kind:r.f.APP_ROUTE,page:"/api/practice/generate/route",pathname:"/api/practice/generate",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/practice/generate/route.ts",nextConfigOutput:"standalone",userland:()=>e.r(297072),...{}}),{workAsyncStorage:R,workUnitAsyncStorage:x,serverHooks:E}=y;async function b(e,t,r){r.requestMeta&&(0,i.R)(e,r.requestMeta),y.isDev&&(0,i.i)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let a="/api/practice/generate/route";a=a.replace(/\/index$/,"")||"/";let{instrumentation:s}=await y.ensureInstrumentation(e,{deferSpans:!0});return y.traceRequest(e,{tracer:(0,n.v)(),spanName:`${e.method||"GET"} ${a}`,httpTarget:e.url,instrumentation:s},(i,n)=>S(e,t,r,a,!1,i,n))}async function S(e,t,a,R,x,E,b){let S=await y.prepare(e,t,{srcPage:R,multiZoneDraftMode:x});if(!S)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:T,deploymentId:P,params:A,nextConfig:C,parsedUrl:I,isDraftMode:q,prerenderManifest:O,routerServerContext:U,isOnDemandRevalidate:k,revalidateOnlyGenerated:j,resolvedPathname:N,clientReferenceManifest:M,serverActionsManifest:D,previewProps:_}=S,G=(0,o.f)(R),H=!!O.routes[N]&&(y.isDev||(0,g.f)(N,y.cacheOwner,O.routes[N])),L=!!(O.dynamicRoutes[G]||H),$=async()=>((null==U?void 0:U.render404)?await U.render404(e,t,I,!1):t.end("This page could not be found"),null);if(L&&!q){let e=O.dynamicRoutes[G];if(e&&!1===e.fallback&&!H){if(C.adapterPath)return await $();throw new w.NoFallbackError}}let F=null;!L||y.isDev||q||(F="/index"===(F=N)?"/":F),D&&M&&(0,s.f)({page:R,clientReferenceManifest:M,serverActionsManifest:D});let B=e.method||"GET",J=(0,n.v)(),K=!!(null==U?void 0:U.isWrappedByNextServer),Q=!!(0,i.w)(e,"minimalMode"),X=(0,i.w)(e,"incrementalCache")||await y.getIncrementalCache(e,C,_,O,Q);null==X||X.resetRequestCache(),globalThis.__incrementalCache=X;let V={params:A,previewProps:_,renderOpts:{experimental:{authInterrupts:!!C.experimental.authInterrupts,useCacheTimeout:C.experimental.useCacheTimeout,durableUseCacheEntries:!!C.experimental.durableUseCacheEntries},cacheComponents:!!C.cacheComponents,validationLevel:C.experimental.instantInsights.validationLevel,isDraftMode:q,incrementalCache:X,hmrRefreshHash:(0,i.w)(e,"hmrRefreshHash"),cacheLifeProfiles:C.cacheLife,staticPageGenerationTimeout:C.staticPageGenerationTimeout,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0},sharedContext:{buildId:T,deploymentId:P}},W=new l.x(e),z=new l.e(t),Y=u.k.fromNodeNextRequest(W,(0,u.t)(t)),Z=async({previousCacheEntry:r})=>{try{if(!Q&&k&&j&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let i=null===F?await y.handle(Y,V):await y.prerender(Y,V);e.fetchMetrics=V.renderOpts.fetchMetrics;let n=V.renderOpts.pendingWaitUntil;n&&a.waitUntil&&(a.waitUntil(n),n=void 0);let s=V.renderOpts.collectedTags;if(!L)return await (0,p.f)(W,z,i,n),null;{let e=await i.blob(),t=(0,h.S)(i.headers);s&&(t[m.M]=s),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==V.renderOpts.collectedRevalidate&&!(V.renderOpts.collectedRevalidate>=m.Q)&&V.renderOpts.collectedRevalidate,a=void 0===V.renderOpts.collectedExpire||V.renderOpts.collectedExpire>=m.Q?!1!==r&&r>0?C.expireTime:void 0:V.renderOpts.collectedExpire;return{value:{kind:v.x.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 y.onRequestError(e,t,{routerKind:"App Router",routePath:R,routeType:"route",revalidateReason:(0,d.f)({isStaticGeneration:null!==F,isOnDemandRevalidate:k})},!1,U),t}},ee=async i=>{try{var s,o;let i=await y.handleResponse({req:e,nextConfig:C,cacheKey:F,routeKind:r.f.APP_ROUTE,isFallback:!1,previewProps:_,prerenderManifest:O,isRoutePPREnabled:!1,isOnDemandRevalidate:k,revalidateOnlyGenerated:j,responseGenerator:Z,waitUntil:a.waitUntil,isMinimalMode:Q});if(null!==i&&"error"in i)throw i.error;if(!L)return;if((null==i||null==(s=i.value)?void 0:s.kind)!==v.x.APP_ROUTE)throw Error(`Invariant: app-route received invalid cache entry ${null==i||null==(o=i.value)?void 0:o.kind}`);Q||t.setHeader("x-nextjs-cache",k?"REVALIDATED":i.isMiss?"MISS":i.isStale?"STALE":"HIT"),q&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let n=(0,h.G)(i.value.headers);Q&&L||n.delete(m.M),!i.cacheControl||t.getHeader("Cache-Control")||n.get("Cache-Control")||n.set("Cache-Control",(0,f.f)(i.cacheControl)),await (0,p.f)(W,z,new Response(i.value.body,{headers:n,status:i.value.status||200}));return}catch(r){if(r instanceof w.NoFallbackError||await y.onRequestError(e,r,{routerKind:"App Router",routePath:G,routeType:"route",revalidateReason:(0,d.f)({isStaticGeneration:null!==F,isOnDemandRevalidate:k})},!1,U),L)throw r;if(t.headersSent){if(i){let e=r instanceof Error?r:Error("Unknown app route error");i.recordException(e),i.setStatus({code:n.J.ERROR,message:e.message}),i.setAttribute("error.type",e.name)}t.writableEnded||t.destroyed||t.end()}else await (0,p.f)(W,z,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.J.ERROR}),i.setAttribute("error.type",e.toString()));let r=J.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==c.q.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")||G,s=`${B} ${a}`;i.setAttributes({"next.route":a,"http.route":a,"next.span_name":s}),i.updateName(s),b&&b!==i&&(b.setAttribute("http.route",a),b.updateName(s))})()}};K||void 0===e.url||null==E||E.setAttribute("http.target",e.url),await ee(E)}e.s(["handler",0,b,"patchFetch",0,function(){return(0,a.f)({workAsyncStorage:R,workUnitAsyncStorage:x})},"routeModule",0,y,"serverHooks",0,E,"workAsyncStorage",0,R,"workUnitAsyncStorage",0,x])},297072,e=>e.a(async(t,r)=>{try{var a=e.i(89171),i=e.i(698043),n=e.i(79832),s=e.i(757660),o=e.i(843911),l=e.i(181912),u=e.i(50377),c=e.i(926828),d=e.i(414102),p=t([n]);[n]=p.then?(await p)():p;let m=(0,u.f)("api:practice:generate"),w=["easy","medium","hard","harder"];async function h(e){let t=await (0,s.getServerSession)(n.f);if(!t?.user)return(0,l.k)("Authentication required");try{let r=new URL(e.url).searchParams.get("errorItemId");if(!r)return(0,l.X)("Item not found");let n=await i.f.errorItem.findUnique({where:{id:r},select:{userId:!0,lastPractice:!0}});if(!n||n.userId!==t.user.id)return(0,l.X)("Item not found");return a.NextResponse.json({practice:(0,d.a)(n.lastPractice)})}catch(e){return m.error({error:e},"Error loading last practice"),(0,l.g)("Failed to load last practice question")}}async function f(e){let t=await (0,s.getServerSession)(n.f);if(!t?.user)return(0,l.k)("Authentication required");try{let{errorItemId:r,language:n,difficulty:s}=await e.json(),u=await i.f.errorItem.findUnique({where:{id:r},include:{subject:!0}});if(!u||u.userId!==t.user.id)return(0,l.X)("Item not found");let p=[];try{p=JSON.parse(u.knowledgePoints||"[]")}catch{p=[]}let h=(0,o.f)(),f=await (0,c.c)({userId:t.user.id,kind:"practice",subject:(0,c.E)(u),link:`/error-items/${r}`},()=>h.generateSimilarQuestion(u.questionText||"",p,n,s||"medium",u.gradeSemester,u.figureSvg)),g=u.subject?.name||"其他";f.subject=["数学","物理","化学","生物","英语","语文","历史","地理","政治","其他"].includes(g)?g:"其他";let v={questionText:f.questionText,answerText:f.answerText,analysis:f.analysis,subject:f.subject,figureSvg:f.figureSvg??null,difficulty:w.find(e=>e===s)??"medium",generatedAt:new Date().toISOString()};try{await i.f.errorItem.update({where:{id:r},data:{lastPractice:(0,d.S)(v)}})}catch(e){m.warn({error:e},"Failed to cache last practice question")}return a.NextResponse.json({...f,difficulty:v.difficulty,generatedAt:v.generatedAt})}catch(t){m.error({error:t},"Error generating practice");let e=t instanceof Error?t.message:"Failed to generate practice question";return(0,l.g)(e)}}e.s(["GET",0,h,"POST",0,f]),r()}catch(e){r(e)}},!1)]})();
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=_18hm5aaxkr500._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
(()=>{"use strict";module.exports=[242249,e=>{var t=e.i(747909),r=e.i(174017),a=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),c=e.i(995169),d=e.i(47587),p=e.i(666012),h=e.i(570101),f=e.i(626937),m=e.i(10372),w=e.i(193695),v=e.i(509580);e.i(52474);var y=e.i(600220);let R=new t.AppRouteRouteModule({definition:{kind:r.f.APP_ROUTE,page:"/api/error-items/[id]/practice-records/route",pathname:"/api/error-items/[id]/practice-records",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/error-items/[id]/practice-records/route.ts",nextConfigOutput:"standalone",userland:()=>e.r(90900),...{}}),{workAsyncStorage:x,workUnitAsyncStorage:g,serverHooks:E}=R;async function b(e,t,r){r.requestMeta&&(0,i.R)(e,r.requestMeta),R.isDev&&(0,i.i)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let a="/api/error-items/[id]/practice-records/route";a=a.replace(/\/index$/,"")||"/";let{instrumentation:s}=await R.ensureInstrumentation(e,{deferSpans:!0});return R.traceRequest(e,{tracer:(0,n.v)(),spanName:`${e.method||"GET"} ${a}`,httpTarget:e.url,instrumentation:s},(i,n)=>A(e,t,r,a,!1,i,n))}async function A(e,t,a,x,g,E,b){let A=await R.prepare(e,t,{srcPage:x,multiZoneDraftMode:g});if(!A)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:T,deploymentId:C,params:P,nextConfig:I,parsedUrl:S,isDraftMode:U,prerenderManifest:O,routerServerContext:k,isOnDemandRevalidate:q,revalidateOnlyGenerated:M,resolvedPathname:N,clientReferenceManifest:_,serverActionsManifest:D,previewProps:G}=A,H=(0,o.f)(x),L=!!O.routes[N]&&(R.isDev||(0,v.f)(N,R.cacheOwner,O.routes[N])),j=!!(O.dynamicRoutes[H]||L),$=async()=>((null==k?void 0:k.render404)?await k.render404(e,t,S,!1):t.end("This page could not be found"),null);if(j&&!U){let e=O.dynamicRoutes[H];if(e&&!1===e.fallback&&!L){if(I.adapterPath)return await $();throw new w.NoFallbackError}}let B=null;!j||R.isDev||U||(B="/index"===(B=N)?"/":B),D&&_&&(0,s.f)({page:x,clientReferenceManifest:_,serverActionsManifest:D});let F=e.method||"GET",Q=(0,n.v)(),K=!!(null==k?void 0:k.isWrappedByNextServer),J=!!(0,i.w)(e,"minimalMode"),V=(0,i.w)(e,"incrementalCache")||await R.getIncrementalCache(e,I,G,O,J);null==V||V.resetRequestCache(),globalThis.__incrementalCache=V;let W={params:P,previewProps:G,renderOpts:{experimental:{authInterrupts:!!I.experimental.authInterrupts,useCacheTimeout:I.experimental.useCacheTimeout,durableUseCacheEntries:!!I.experimental.durableUseCacheEntries},cacheComponents:!!I.cacheComponents,validationLevel:I.experimental.instantInsights.validationLevel,isDraftMode:U,incrementalCache:V,hmrRefreshHash:(0,i.w)(e,"hmrRefreshHash"),cacheLifeProfiles:I.cacheLife,staticPageGenerationTimeout:I.staticPageGenerationTimeout,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0},sharedContext:{buildId:T,deploymentId:C}},z=new l.x(e),X=new l.e(t),Y=u.k.fromNodeNextRequest(z,(0,u.t)(t)),Z=async({previousCacheEntry:r})=>{try{if(!J&&q&&M&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let i=null===B?await R.handle(Y,W):await R.prerender(Y,W);e.fetchMetrics=W.renderOpts.fetchMetrics;let n=W.renderOpts.pendingWaitUntil;n&&a.waitUntil&&(a.waitUntil(n),n=void 0);let s=W.renderOpts.collectedTags;if(!j)return await (0,p.f)(z,X,i,n),null;{let e=await i.blob(),t=(0,h.S)(i.headers);s&&(t[m.M]=s),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=m.Q)&&W.renderOpts.collectedRevalidate,a=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=m.Q?!1!==r&&r>0?I.expireTime:void 0:W.renderOpts.collectedExpire;return{value:{kind:y.x.APP_ROUTE,status:i.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await R.onRequestError(e,t,{routerKind:"App Router",routePath:x,routeType:"route",revalidateReason:(0,d.f)({isStaticGeneration:null!==B,isOnDemandRevalidate:q})},!1,k),t}},ee=async i=>{try{var s,o;let i=await R.handleResponse({req:e,nextConfig:I,cacheKey:B,routeKind:r.f.APP_ROUTE,isFallback:!1,previewProps:G,prerenderManifest:O,isRoutePPREnabled:!1,isOnDemandRevalidate:q,revalidateOnlyGenerated:M,responseGenerator:Z,waitUntil:a.waitUntil,isMinimalMode:J});if(null!==i&&"error"in i)throw i.error;if(!j)return;if((null==i||null==(s=i.value)?void 0:s.kind)!==y.x.APP_ROUTE)throw Error(`Invariant: app-route received invalid cache entry ${null==i||null==(o=i.value)?void 0:o.kind}`);J||t.setHeader("x-nextjs-cache",q?"REVALIDATED":i.isMiss?"MISS":i.isStale?"STALE":"HIT"),U&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let n=(0,h.G)(i.value.headers);J&&j||n.delete(m.M),!i.cacheControl||t.getHeader("Cache-Control")||n.get("Cache-Control")||n.set("Cache-Control",(0,f.f)(i.cacheControl)),await (0,p.f)(z,X,new Response(i.value.body,{headers:n,status:i.value.status||200}));return}catch(r){if(r instanceof w.NoFallbackError||await R.onRequestError(e,r,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,d.f)({isStaticGeneration:null!==B,isOnDemandRevalidate:q})},!1,k),j)throw r;if(t.headersSent){if(i){let e=r instanceof Error?r:Error("Unknown app route error");i.recordException(e),i.setStatus({code:n.J.ERROR,message:e.message}),i.setAttribute("error.type",e.name)}t.writableEnded||t.destroyed||t.end()}else await (0,p.f)(z,X,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.J.ERROR}),i.setAttribute("error.type",e.toString()));let r=Q.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==c.q.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")||H,s=`${F} ${a}`;i.setAttributes({"next.route":a,"http.route":a,"next.span_name":s}),i.updateName(s),b&&b!==i&&(b.setAttribute("http.route",a),b.updateName(s))})()}};K||void 0===e.url||null==E||E.setAttribute("http.target",e.url),await ee(E)}e.s(["handler",0,b,"patchFetch",0,function(){return(0,a.f)({workAsyncStorage:x,workUnitAsyncStorage:g})},"routeModule",0,R,"serverHooks",0,E,"workAsyncStorage",0,x,"workUnitAsyncStorage",0,g])},90900,e=>e.a(async(t,r)=>{try{var a=e.i(89171),i=e.i(698043),n=e.i(63856),s=e.i(181912),o=e.i(50377),l=e.i(995408),u=t([n]);[n]=u.then?(await u)():u;let d=(0,o.f)("api:error-items:practice-records");async function c(e,{params:t}){let{id:r}=await t;try{let e=await (0,n.f)();if(!e)return(0,s.k)("Authentication required");let t=await i.f.errorItem.findUnique({where:{id:r},select:{userId:!0,masteryLevel:!0,masteryProbability:!0,masteryReason:!0,masterySource:!0,masteryEvaluatedAt:!0,practiceRecords:{where:{result:{not:null}},orderBy:[{createdAt:"desc"},{id:"desc"}],select:{id:!0,result:!0,difficulty:!0,source:!0,questionText:!0,answerText:!0,analysis:!0,wrongAnswerText:!0,mistakeAnalysis:!0,originalImageUrl:!0,figureSvg:!0,createdAt:!0,examQuestion:{select:{paperId:!0,order:!0,paper:{select:{title:!0}}}}}}}});if(!t)return(0,s.X)("Item not found");if(t.userId!==e.id)return(0,s.Q)("Not authorized to access this item");let{userId:o,practiceRecords:u,...c}=t;return a.NextResponse.json({...c,masteryStatus:(0,l.k)(u.length,c.masteryProbability),records:u.map(({examQuestion:e,...t})=>({...t,exam:e?{paperId:e.paperId,order:e.order,title:e.paper.title}:null}))})}catch(e){return d.error({error:e},"Error fetching practice records"),(0,s.g)("Failed to fetch practice records")}}e.s(["GET",0,c]),r()}catch(e){r(e)}},!1)]})();
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=_1_273cgnpyl9j._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
(()=>{"use strict";module.exports=[583557,e=>{var t=e.i(747909),r=e.i(174017),a=e.i(996250),i=e.i(759756),s=e.i(561916),n=e.i(174677),o=e.i(869741),d=e.i(316795),l=e.i(487718),u=e.i(995169),c=e.i(47587),m=e.i(666012),p=e.i(570101),f=e.i(626937),g=e.i(10372),h=e.i(193695),w=e.i(509580);e.i(52474);var y=e.i(600220);let I=new t.AppRouteRouteModule({definition:{kind:r.f.APP_ROUTE,page:"/api/import/route",pathname:"/api/import",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/import/route.ts",nextConfigOutput:"standalone",userland:()=>e.r(71643),...{}}),{workAsyncStorage:v,workUnitAsyncStorage:x,serverHooks:b}=I;async function A(e,t,r){r.requestMeta&&(0,i.R)(e,r.requestMeta),I.isDev&&(0,i.i)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let a="/api/import/route";a=a.replace(/\/index$/,"")||"/";let{instrumentation:n}=await I.ensureInstrumentation(e,{deferSpans:!0});return I.traceRequest(e,{tracer:(0,s.v)(),spanName:`${e.method||"GET"} ${a}`,httpTarget:e.url,instrumentation:n},(i,s)=>S(e,t,r,a,!1,i,s))}async function S(e,t,a,v,x,b,A){let S=await I.prepare(e,t,{srcPage:v,multiZoneDraftMode:x});if(!S)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:R,deploymentId:C,params:T,nextConfig:E,parsedUrl:P,isDraftMode:k,prerenderManifest:q,routerServerContext:O,isOnDemandRevalidate:j,revalidateOnlyGenerated:N,resolvedPathname:U,clientReferenceManifest:M,serverActionsManifest:L,previewProps:F}=S,D=(0,o.f)(v),_=!!q.routes[U]&&(I.isDev||(0,w.f)(U,I.cacheOwner,q.routes[U])),$=!!(q.dynamicRoutes[D]||_),B=async()=>((null==O?void 0:O.render404)?await O.render404(e,t,P,!1):t.end("This page could not be found"),null);if($&&!k){let e=q.dynamicRoutes[D];if(e&&!1===e.fallback&&!_){if(E.adapterPath)return await B();throw new h.NoFallbackError}}let G=null;!$||I.isDev||k||(G="/index"===(G=U)?"/":G),L&&M&&(0,n.f)({page:v,clientReferenceManifest:M,serverActionsManifest:L});let H=e.method||"GET",Q=(0,s.v)(),W=!!(null==O?void 0:O.isWrappedByNextServer),z=!!(0,i.w)(e,"minimalMode"),J=(0,i.w)(e,"incrementalCache")||await I.getIncrementalCache(e,E,F,q,z);null==J||J.resetRequestCache(),globalThis.__incrementalCache=J;let K={params:T,previewProps:F,renderOpts:{experimental:{authInterrupts:!!E.experimental.authInterrupts,useCacheTimeout:E.experimental.useCacheTimeout,durableUseCacheEntries:!!E.experimental.durableUseCacheEntries},cacheComponents:!!E.cacheComponents,validationLevel:E.experimental.instantInsights.validationLevel,isDraftMode:k,incrementalCache:J,hmrRefreshHash:(0,i.w)(e,"hmrRefreshHash"),cacheLifeProfiles:E.cacheLife,staticPageGenerationTimeout:E.staticPageGenerationTimeout,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0},sharedContext:{buildId:R,deploymentId:C}},V=new d.x(e),X=new d.e(t),Y=l.k.fromNodeNextRequest(V,(0,l.t)(t)),Z=async({previousCacheEntry:r})=>{try{if(!z&&j&&N&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let i=null===G?await I.handle(Y,K):await I.prerender(Y,K);e.fetchMetrics=K.renderOpts.fetchMetrics;let s=K.renderOpts.pendingWaitUntil;s&&a.waitUntil&&(a.waitUntil(s),s=void 0);let n=K.renderOpts.collectedTags;if(!$)return await (0,m.f)(V,X,i,s),null;{let e=await i.blob(),t=(0,p.S)(i.headers);n&&(t[g.M]=n),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==K.renderOpts.collectedRevalidate&&!(K.renderOpts.collectedRevalidate>=g.Q)&&K.renderOpts.collectedRevalidate,a=void 0===K.renderOpts.collectedExpire||K.renderOpts.collectedExpire>=g.Q?!1!==r&&r>0?E.expireTime:void 0:K.renderOpts.collectedExpire;return{value:{kind:y.x.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 I.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,c.f)({isStaticGeneration:null!==G,isOnDemandRevalidate:j})},!1,O),t}},ee=async i=>{try{var n,o;let i=await I.handleResponse({req:e,nextConfig:E,cacheKey:G,routeKind:r.f.APP_ROUTE,isFallback:!1,previewProps:F,prerenderManifest:q,isRoutePPREnabled:!1,isOnDemandRevalidate:j,revalidateOnlyGenerated:N,responseGenerator:Z,waitUntil:a.waitUntil,isMinimalMode:z});if(null!==i&&"error"in i)throw i.error;if(!$)return;if((null==i||null==(n=i.value)?void 0:n.kind)!==y.x.APP_ROUTE)throw Error(`Invariant: app-route received invalid cache entry ${null==i||null==(o=i.value)?void 0:o.kind}`);z||t.setHeader("x-nextjs-cache",j?"REVALIDATED":i.isMiss?"MISS":i.isStale?"STALE":"HIT"),k&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let s=(0,p.G)(i.value.headers);z&&$||s.delete(g.M),!i.cacheControl||t.getHeader("Cache-Control")||s.get("Cache-Control")||s.set("Cache-Control",(0,f.f)(i.cacheControl)),await (0,m.f)(V,X,new Response(i.value.body,{headers:s,status:i.value.status||200}));return}catch(r){if(r instanceof h.NoFallbackError||await I.onRequestError(e,r,{routerKind:"App Router",routePath:D,routeType:"route",revalidateReason:(0,c.f)({isStaticGeneration:null!==G,isOnDemandRevalidate:j})},!1,O),$)throw r;if(t.headersSent){if(i){let e=r instanceof Error?r:Error("Unknown app route error");i.recordException(e),i.setStatus({code:s.J.ERROR,message:e.message}),i.setAttribute("error.type",e.name)}t.writableEnded||t.destroyed||t.end()}else await (0,m.f)(V,X,new Response(null,{status:500}));return}finally{(()=>{if(!i)return;let e=t.statusCode;i.setAttributes({"http.status_code":e,"next.rsc":!1}),e&&e>=500&&(i.setStatus({code:s.J.ERROR}),i.setAttribute("error.type",e.toString()));let r=Q.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.q.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,n=`${H} ${a}`;i.setAttributes({"next.route":a,"http.route":a,"next.span_name":n}),i.updateName(n),A&&A!==i&&(A.setAttribute("http.route",a),A.updateName(n))})()}};W||void 0===e.url||null==b||b.setAttribute("http.target",e.url),await ee(b)}e.s(["handler",0,A,"patchFetch",0,function(){return(0,a.f)({workAsyncStorage:v,workUnitAsyncStorage:x})},"routeModule",0,I,"serverHooks",0,b,"workAsyncStorage",0,v,"workUnitAsyncStorage",0,x])},71643,e=>e.a(async(t,r)=>{try{var a=e.i(89171),i=e.i(180473),s=e.i(206033),n=e.i(698043),o=e.i(79832),d=e.i(757660),l=e.i(181912),u=e.i(50377),c=e.i(926828),m=e.i(92366),p=e.i(141070),f=e.i(595886),g=e.i(160979),h=e.i(999617),w=e.i(668426),y=e.i(819428),I=e.i(261829),v=e.i(414102),x=e.i(655920),b=e.i(874866),A=t([o]);[o]=A.then?(await A)():A;let C=(0,u.f)("api:import"),T={confirmBeforeImport:i.z.boolean(),questionDuplicateThreshold:s.z.number().min(1).max(100),enableGeogebra:i.z.boolean(),enableSvgAnimation:i.z.boolean()};function S(e){if(!e)return;let t=new Date(e);return isNaN(t.getTime())?void 0:t}async function R(e){let t=await (0,d.getServerSession)(o.f);if(!t?.user?.email)return(0,l.k)("Not authenticated");let r=await n.f.user.findUnique({where:{email:t.user.email}});if(!r)return(0,l.k)("User not found");let{searchParams:i}=new URL(e.url),s="true"===i.get("all");if(s&&"admin"!==t.user.role)return(0,l.Q)("Admin role required");let u=null;try{let t=e.headers.get("content-length");if(t&&parseInt(t,10)>0x3200000)return(0,l.O)("Request body too large (max 50MB)");let i=await e.json();if(!i.version||!i.user||!Array.isArray(i.errorItems))return(0,l.O)("Invalid import data format");if(!s&&i.user.email!==r.email)return(0,l.O)("Import data does not belong to current user");let o={subjectsCreated:0,tagsCreated:0,errorItemsCreated:0,reviewSchedulesCreated:0,examPapersCreated:0,preferencesRestored:!1,practiceRecordsCreated:0,tagsLinked:0,duplicateErrorItems:0},d=new Set,A=new Set;return u=(0,c.y)({userId:r.id,kind:"data_import"}),await n.f.$transaction(async e=>{let t=i.user.email===r.email?function(e){let t={};for(let[r,a]of Object.entries(T)){let i=a.safeParse(e[r]);i.success&&Object.assign(t,{[r]:i.data})}return t}(i.user):{};Object.keys(t).length>0&&(await e.user.update({where:{id:r.id},data:t}),o.preferencesRestored=!0);let a=new Map;for(let t of i.subjects||[]){let i=s?t.userId:r.id,n=await e.subject.findFirst({where:{name:t.name,userId:i}});if(n)a.set(t.id,n.id);else{let r=(0,w.v)(t),s=await e.subject.create({data:{name:t.name,stage:r.stage,subjectKey:r.subject,userId:i}});a.set(t.id,s.id),o.subjectsCreated++}}let n=new Map;for(let t of i.customTags||[]){let a=s?t.userId:r.id,i=await e.knowledgeTag.findFirst({where:{name:t.name,userId:a,isSystem:!1}});if(i)n.set(t.id,i.id);else{let r;t.parentId&&n.has(t.parentId)&&(r=n.get(t.parentId));let i=await e.knowledgeTag.create({data:{name:t.name,subject:t.subject,isSystem:!1,userId:a,parentId:r,order:t.order||0,code:t.code}});n.set(t.id,i.id),o.tagsCreated++}}let l=new Set;for(let e of i.errorItems)if(e.tags)for(let t of e.tags)l.add(t.name);let u=await e.knowledgeTag.findMany({where:{name:{in:Array.from(l)},OR:[{isSystem:!0},...s?[]:[{userId:r.id}]]}}),c=new Map;for(let e of u)c.has(e.name)&&(s||e.userId!==r.id)||c.set(e.name,e.id);let R=new Map,C=new Map;for(let t of i.errorItems){var E;let i=s?t.userId:r.id;C.set(t.id,i);let l=t.subjectId?a.get(t.subjectId):void 0,u=await (0,g.B)(e,i,t);if(u){let r=await (0,g.c)(e,i,u,t);R.set(t.id,r.id),d.add(r.id),o.duplicateErrorItems++,o.practiceRecordsCreated++;continue}let f=(0,p.P)(t.shortId)&&!await e.errorItem.findUnique({where:{shortId:t.shortId},select:{id:!0}}),w=(0,h.B)(t.difficultyStars),b="number"==typeof(E=t.masteryProbability)&&Number.isFinite(E)&&E>=0&&E<=1?E:null,T=null===b?void 0:S(t.masteryEvaluatedAt),P=await e.errorItem.create({data:{shortId:f?t.shortId:await (0,m.f)(e),userId:i,subjectId:l||void 0,originalImageUrl:t.originalImageUrl||"",ocrText:t.ocrText,questionText:t.questionText,answerText:t.answerText,analysis:t.analysis,wrongAnswerText:t.wrongAnswerText,mistakeAnalysis:t.mistakeAnalysis,mistakeStatus:t.mistakeStatus,knowledgePoints:t.knowledgePoints,source:t.source,errorType:t.errorType,userNotes:t.userNotes,masteryLevel:function(e){let t="number"==typeof e?e:parseInt(String(e),10);return isNaN(t)||t<0||t>2?0:t}(t.masteryLevel),gradeSemester:t.gradeSemester,paperLevel:t.paperLevel??(0,x.f)(w),difficultyStars:w,hasFigure:!0===t.hasFigure||null!==(0,y.W)(t.figureSvg),figureSvg:(0,y.W)(t.figureSvg),geogebraCommands:"string"==typeof t.geogebraCommands&&t.geogebraCommands?t.geogebraCommands:null,svgAnimation:(0,I.f)(t.svgAnimation),svgAnimationEn:(0,I.f)(t.svgAnimationEn),lastPractice:function(e){let t=(0,v.a)(e);return t?JSON.stringify(t):null}(t.lastPractice),...null!==b&&T?{masteryProbability:b,masteryReason:t.masteryReason??null,masterySource:"ai"===t.masterySource||"rule"===t.masterySource?t.masterySource:null,masteryEvaluatedAt:T}:{},createdAt:S(t.createdAt),updatedAt:S(t.updatedAt)}});if(R.set(t.id,P.id),P.masteryEvaluatedAt&&A.add(P.id),o.errorItemsCreated++,t.tags&&t.tags.length>0){let r=[];for(let e of t.tags)n.has(e.id)?r.push({id:n.get(e.id)}):c.has(e.name)&&r.push({id:c.get(e.name)});r.length>0&&(await e.errorItem.update({where:{id:P.id},data:{tags:{connect:r}}}),o.tagsLinked+=r.length)}}for(let t of i.reviewSchedules||[]){let r=R.get(t.errorItemId);if(r){let a=S(t.scheduledFor);if(a){if(await e.reviewSchedule.findFirst({where:{errorItemId:r,scheduledFor:a}}))continue;await e.reviewSchedule.create({data:{errorItemId:r,scheduledFor:a,completedAt:S(t.completedAt),isCorrect:t.isCorrect}}),o.reviewSchedulesCreated++}}}let P=new Map,k=new Map;for(let t of i.examPapers||[]){let i=s?t.userId:r.id,n=Array.isArray(t.questions)?t.questions:[],d=S(t.createdAt),l=d&&await e.examPaper.findFirst({where:{userId:i,title:t.title,createdAt:d},select:{questions:{select:{id:!0,order:!0}}}});if(l){for(let e of n){let t=l.questions.find(t=>t.order===e.order);t&&(P.set(e.id,t.id),k.set(e.id,i))}continue}let u=n.map(e=>"ready"===e.status?"ready":"failed"),c=await e.examPaper.create({data:{userId:i,title:String(t.title||""),status:u.length>0?(0,b.$)(u):"failed",scope:b.A.includes(t.scope)?t.scope:"all",difficulty:b.Q.includes(t.difficulty)?t.difficulty:"medium",requestedCount:Number.isInteger(t.requestedCount)&&t.requestedCount>0?t.requestedCount:n.length,subjectIds:function(e,t){try{let r=JSON.parse(e||"[]");if(!Array.isArray(r))return"[]";return JSON.stringify(r.flatMap(e=>"string"==typeof e&&t.has(e)?[t.get(e)]:[]))}catch{return"[]"}}(t.subjectIds,a),tagNames:"string"==typeof t.tagNames?t.tagNames:null,resultsRecordedAt:S(t.resultsRecordedAt),createdAt:d,updatedAt:S(t.updatedAt)}});for(let[t,r]of n.entries()){let a=r.errorItemId&&C.get(r.errorItemId)===i?R.get(r.errorItemId):void 0,s=await e.examQuestion.create({data:{paperId:c.id,order:Number.isInteger(r.order)?r.order:t,errorItemId:a,sourceShortId:String(r.sourceShortId||""),status:u[t],questionText:r.questionText,answerText:r.answerText,analysis:r.analysis,figureSvg:(0,y.W)(r.figureSvg),error:r.error}});P.set(r.id,s.id),k.set(r.id,i)}o.examPapersCreated++}for(let t of i.practiceRecords||[]){let a=s?t.userId:r.id,i=t.errorItemId&&C.get(t.errorItemId)===a?R.get(t.errorItemId):void 0,n=(0,f.N)(t.result)?t.result:void 0,l=t.examQuestionId&&k.get(t.examQuestionId)===a?P.get(t.examQuestionId):void 0;await e.practiceRecord.create({data:{userId:a,subject:t.subject,difficulty:t.difficulty,isCorrect:t.isCorrect,...i?{errorItemId:i,result:n,questionText:t.questionText,answerText:t.answerText,analysis:t.analysis,wrongAnswerText:t.wrongAnswerText,mistakeAnalysis:t.mistakeAnalysis,originalImageUrl:t.originalImageUrl,figureSvg:(0,y.W)(t.figureSvg),source:["practice","manual","exam","duplicate_import"].includes(t.source||"")?t.source:"practice",examQuestionId:l}:{},createdAt:S(t.createdAt)}}),o.practiceRecordsCreated++,i&&n&&!A.has(i)&&d.add(i)}},{timeout:6e4}),d.size&&(0,f.d)([...d]),u.succeed(),C.info({userId:r.id,scope:s?"all":"user",...o},"Data import completed"),a.NextResponse.json({success:!0,stats:o})}catch(e){return u?.fail(e),C.error({error:e,userId:r.id},"Import failed"),(0,l.g)("Failed to import data")}}e.s(["POST",0,R]),r()}catch(e){r(e)}},!1)]})();
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=_1_ns7o3cqznv6._.js.map
|