wrong-notebook 2026.10.23 → 2026.10.25-2
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 +3 -1
- package/.next/build-manifest.json +219 -9
- package/.next/prerender-manifest.json +4 -4
- package/.next/required-server-files.json +16 -1
- package/.next/routes-manifest.json +18 -6
- 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 -15
- 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 -15
- 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 +12 -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 +20 -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 +21 -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 +21 -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/grade/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/practice/grade/route/build-manifest.json +12 -0
- package/.next/server/app/api/practice/grade/route.js +20 -0
- package/.next/server/app/api/practice/grade/route.js.nft.json +1 -0
- package/.next/server/app/api/practice/grade/route_client-reference-manifest.js +3 -0
- 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/review/due/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/review/due/route/build-manifest.json +12 -0
- package/.next/server/app/api/review/due/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/review/due/route.js +13 -0
- package/.next/server/app/api/review/due/route.js.map +5 -0
- package/.next/server/app/api/review/due/route.js.nft.json +1 -0
- package/.next/server/app/api/review/due/route_client-reference-manifest.js +3 -0
- 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/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/review/page/app-paths-manifest.json +3 -0
- package/.next/server/app/review/page/build-manifest.json +22 -0
- package/.next/server/app/review/page/next-font-manifest.json +11 -0
- package/.next/server/app/review/page/server-reference-manifest.json +4 -0
- package/.next/server/app/review/page.js +14 -0
- package/.next/server/app/review/page.js.map +5 -0
- package/.next/server/app/review/page.js.nft.json +1 -0
- package/.next/server/app/review/page_client-reference-manifest.js +3 -0
- 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 +3 -1
- 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-d9f8_x-uokl._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__003ii50e63ws5._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__00atddp_h2wsm._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__00l2rz_disfkg._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__00vnodiir_2d4._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__03_k40ubn0a9g._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__04894g43fsy-j._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__061dm-7_xqjef._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__076sanerpxzzq._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__08ftj1z8v5lqc._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__09-twlny39tdc._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__09mpwfp41rtdc._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0_qgrtzrjahhc._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0_t7bbz2btvts._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0an5a3hedd42o._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0an9s6-nn3kpq._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0brc9a9ftklux._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0dql4kl3n1jq6._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0fyho53bjgbss._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0g-kb21pws7qu._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0hgoyp7m26_hk._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0hjv7gm7tjgzr._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0j-pkzf61aot8._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0k0-mj3lzqicn._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0l7y2xk1m7h84._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0ld-3rbaj1m8-._.js +56 -0
- package/.next/server/chunks/[root-of-the-server]__0p4dqz2jo4o3r._.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]__0ry-pq8_6mc_0._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0swyn0_rzg_pb._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0tua5u4r1xt_r._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0vtzo5ex73ywq._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0yd-eoiuoru2o._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0zjg773epx4r_._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1-2dj_mbdiqvl._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1-g3tlhljmfsp._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1-hc0q3ck7id_._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1-ti76u3720cd._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__10-um36nto0ht._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__10jwy1-wzrjon._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__123tftn1fdgwu._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__12czp5_up_ywb._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__15eu8gun_s7xv._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__15g3fbcq719hq._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__15tkoe60wvpdf._.js +10 -0
- package/.next/server/chunks/[root-of-the-server]__15vjk2wddz8hx._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__18j9-n7s671bt._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__18si67df5ho67._.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]__1bqziovn_k5u5._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1bvjyahgm4s-0._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1cbj5r83fs2up._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1d25c4t27ht5c._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1dll9dp1pfrtj._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1dxa-5wqgxi3y._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1e_3xwt459gzy._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1fc23i58z_ao2._.js +122 -0
- package/.next/server/chunks/[root-of-the-server]__1i0nyuimhqkda._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1i75c6j1-yn3y._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1jtd2ara5taim._.js +6 -0
- package/.next/server/chunks/[root-of-the-server]__1jvkc3eu49g96._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1k0zrfx1r08xk._.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]__1klj9kp10-bta._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1n8ih5ow23_12._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1nmtv65uajre3._.js +10 -0
- package/.next/server/chunks/[root-of-the-server]__1q9wd_k6hcd5m._.js +38 -0
- package/.next/server/chunks/[root-of-the-server]__1unmu-s-yg7fk._.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]__1wfua4wupbgjj._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1wpzmu_3tg_74._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1ztojnklvdebx._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1zyka21s1ahtj._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1zzfvs1z1_tig._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__20khcxfcwy16p._.js +38 -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/_0c25unp5_llaq._.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/_0mt2ctbvzfero._.js +3 -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/_0tz5wpjdgntj3._.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/_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_1ztwxhxi2qsxd.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_admin_system-reset_route_actions_15aseltajrio-.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_admin_users_[id]_route_actions_1hhpuc4kr8kus.js +3 -0
- 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_1cjux7zwbv-yr.js +3 -0
- 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_1v3vhi4cjl6y6.js +3 -0
- 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_zhtjquazbz.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_export_route_actions_0lpcnjc9jg57-.js +3 -0
- 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_1ryftkbeskq31.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_import_route_actions_20ko04xh42fpe.js +3 -0
- 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_grade_route_actions_09b_8m8ydpzgk.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_review_due_route_actions_1_d8euuffodv6.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_1nb9ma2pi6m41.js +3 -0
- 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_b3dlgw.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_user_route_actions_1k-4clgaupijh.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_version_route_actions_0kbx30hro8e93.js +3 -0
- 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_0csk5er_yd1v8._.js +3 -0
- package/.next/server/chunks/src_lib_0d4p429mhjazy._.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_0z36zms4djibp._.js +589 -0
- 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]__0u-q2sah-le20._.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]__18i084ru7sq9w._.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]__1urwx866fvhi4._.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/_08fq-uch-l1g6._.js +8 -0
- package/.next/server/chunks/ssr/_09y2uhjubswp4._.js +3 -0
- package/.next/server/chunks/ssr/_0bsjhzelppbjh._.js +3 -0
- package/.next/server/chunks/ssr/_0di9wj37_9zhf._.js +3 -0
- package/.next/server/chunks/ssr/_0h6qsip9mphaq._.js +3 -0
- package/.next/server/chunks/ssr/_0ng735s0jio00._.js +3 -0
- package/.next/server/chunks/ssr/_0rd-teluypcd2._.js +3 -0
- package/.next/server/chunks/ssr/_0t2jed64ec8vu._.js +3 -0
- package/.next/server/chunks/ssr/_0uvml2k65e53w._.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/_19ktk2l66yngc._.js +3 -0
- package/.next/server/chunks/ssr/_1b9b1aq5b_1sj._.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/_1i0mdte5du0e1._.js +3 -0
- package/.next/server/chunks/ssr/_1pnt2b76-xt6_._.js +3 -0
- package/.next/server/chunks/ssr/_1prnv9r-jt4dy._.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_0pt47yrisjoev.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_admin_page_actions_1mcickzfofbmo.js +3 -0
- 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_1kushg5crt5ed.js +3 -0
- 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-jb4_80.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_login_page_actions_04fnjo0ny9dmg.js +3 -0
- 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_06x1kdz034ff8.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_page_actions_0hhsz1jew5ls7.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_practice_page_actions_0cy-h5n6gnmoq.js +3 -0
- 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-xpplkgy.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_review_page_actions_1gf_x78pgriy6.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_stats_page_actions_1olf1_ad6s7ee.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_tags_page_actions_20v_n--6ltjkg.js +3 -0
- package/.next/server/chunks/ssr/node_modules_0fm0peui_p0ra._.js +3 -0
- 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_1yow452htx6uk._.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_0jungqz8-8rpt._.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_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_0tz1eth8tnoyx.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_review_page_tsx_1rq4ygvo_szv0._.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_error-list_error-item-card_tsx_1zsiqsrj-jjd7._.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 +3 -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 +219 -9
- package/.next/server/middleware-manifest.json +11 -11
- package/.next/server/next-font-manifest.js +1 -1
- package/.next/server/next-font-manifest.json +4 -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/chunks/00kfvk-buhhsb.js +191 -0
- package/.next/static/chunks/08wadcj8wbdsy.js +1 -0
- package/.next/static/chunks/093w4w_19h9qh.js +31 -0
- package/.next/static/chunks/0_9gv911-tqmk.css +3 -0
- package/.next/static/chunks/0a-rekt06v0sv.js +1 -0
- package/.next/static/chunks/0aqlzwgn78ncm.js +1 -0
- package/.next/static/chunks/0e7mao0hn_nw4.js +1 -0
- package/.next/static/chunks/0pdeh9usti0bj.js +3 -0
- package/.next/static/chunks/0pvlg-25ddo6e.js +33 -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/181--wh89vylg.js +1 -0
- package/.next/static/chunks/1_h2h09t_394a.js +1 -0
- package/.next/static/chunks/1enxsrqonvvxr.js +1 -0
- package/.next/static/chunks/1fl98iro7y1bv.js +1 -0
- package/.next/static/chunks/1m3ompn8ev8gr.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/29m8r4g8_em2g.js +1 -0
- package/.next/static/chunks/2a86gw0-qil9m.css +1 -0
- package/.next/static/chunks/2ir3p1tlsazez.js +1 -0
- package/.next/static/chunks/2l-1t8-pfq4ph.js +1 -0
- package/.next/static/chunks/2tayqxc443yyh.js +1 -0
- package/.next/static/chunks/2v3rvsf6-bnfs.js +1 -0
- package/.next/static/chunks/2wk_a0jmwmybn.js +1 -0
- package/.next/static/chunks/2ysjbje-zsbdp.js +1 -0
- package/.next/static/chunks/3-u1evjqom016.js +1 -0
- package/.next/static/chunks/30eew6y-03vg8.js +1 -0
- package/.next/static/chunks/32oh815gi42ey.js +1 -0
- package/.next/static/chunks/37jrjuqt8f_ee.js +1 -0
- package/.next/static/chunks/37v5zj-q3hku_.js +1 -0
- package/.next/static/chunks/3aiz227rfearv.js +1 -0
- package/.next/static/chunks/3gvzs1nxarb0s.js +1 -0
- package/.next/static/chunks/3mb_v650fie_i.js +22 -0
- package/.next/static/chunks/3neepxbq9_bd3.css +1 -0
- package/.next/static/chunks/3q82qxm1otmz4.js +6 -0
- package/.next/static/chunks/3r4z_6i5z0hd5.js +1 -0
- package/.next/static/chunks/3s_9841ksp5zw.js +1 -0
- package/.next/static/chunks/3wm2jhitfeeue.js +1 -0
- package/.next/static/chunks/turbopack-2c3mg3r-05n1w.js +1 -0
- package/package.json +4 -5
- package/prisma/migrations/20261024000000_add_last_practice/migration.sql +2 -0
- package/prisma/migrations/20261024203954_add_ai_usage/migration.sql +11 -0
- package/prisma/schema.prisma +13 -0
- package/prisma/seed.db +0 -0
- package/server.js +1 -1
- 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.js +0 -14
- 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]__0jzwjtl._.js +0 -3
- package/.next/server/chunks/[externals]__0pot68n._.js +0 -3
- package/.next/server/chunks/[externals]_assert_1pwe1ri._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0-2l_pu._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__00_hq9v._.js +0 -153
- package/.next/server/chunks/[root-of-the-server]__00moo9h._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__012xcq-._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__01bzczj._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__02pqrw_._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__033ri9p._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__04pjde6._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__064krqp._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__07iraov._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__07jl92a._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__07q7nsp._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0_t7bbz._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0_unb90._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0a1zwxf._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0aefi10._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0akadps._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0cfjgye._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0d-37yj._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0d2kpnm._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0dqgi36._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0dz5c04._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0e_u82_._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0f3jyg0._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0gwwa9b._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0hars8c._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0iozebm._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0k-5uu2._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0k3mm05._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0l-xu_t._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0lggrcf._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0m0eall._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0m37xyb._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0m8p-6f._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0pa47kn._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0r42_o7._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0rgjh3q._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0rk_yxy._.js +0 -9
- package/.next/server/chunks/[root-of-the-server]__0scij0p._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0sixhu9._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0sj18kk._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0sp4_zo._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0t2o8v-._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0w58v6b._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0wp40ty._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0wsj4a_._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0wvvsah._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0xg5h56._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0zpazf3._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__10hs-qn._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__119xork._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__11_-ncy._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__11jhplo._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__122xu-0._.js +0 -32
- package/.next/server/chunks/[root-of-the-server]__15tkoe6._.js +0 -10
- package/.next/server/chunks/[root-of-the-server]__15y1l96._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__16hnc6-._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__17i9sje._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__19_wn9u._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1_gkx5x._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1_hp3ol._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1_ogacf._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1a4-26x._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1b6i9mu._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1b_y2wk._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1bl7t8i._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1c0vatt._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1c7a0rs._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1chx4lo._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1cngnud._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1d82zkk._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1ezju_2._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1fc23i5._.js +0 -122
- package/.next/server/chunks/[root-of-the-server]__1flnfu4._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1gya7jq._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1hng_h2._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1i40psm._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1ijkds_._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1j4v2e3._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1jtd2ar._.js +0 -6
- package/.next/server/chunks/[root-of-the-server]__1kpo44g._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1lbcdia._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1m86czr._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1mnpqkx._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1n4b6nb._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1nmrlew._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1nmtv65._.js +0 -10
- package/.next/server/chunks/[root-of-the-server]__1o34kp3._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1q7yl7l._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1qv60vg._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1ry8uat._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1s2rww3._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1svvf40._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1tk0-4v._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1v-71me._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1vw740y._.js +0 -32
- package/.next/server/chunks/[root-of-the-server]__1x_ud_-._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1yt_xxr._.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/_0ekrwj-._.js +0 -36
- 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/_0n36ev0._.js +0 -3
- package/.next/server/chunks/_0oc8oe4._.js +0 -3
- package/.next/server/chunks/_0rjzgi0._.js +0 -3
- package/.next/server/chunks/_0uxp3uh._.js +0 -3
- package/.next/server/chunks/_0x3ltk0._.js +0 -36
- package/.next/server/chunks/_10y361h._.js +0 -3
- 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/_15neond._.js +0 -11
- 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/_1ex6ovo._.js +0 -3
- package/.next/server/chunks/_1fgb9ve._.js +0 -3
- package/.next/server/chunks/_1m-yyz-._.js +0 -3
- package/.next/server/chunks/_1n1xsqj._.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/_2194yr7._.js +0 -11
- 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_migrate-tags_route_actions_1ztwxhx.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_admin_system-reset_route_actions_15aselt.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_[id]_route_actions_1hhpuc4.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]_notes_route_actions_1cjux7z.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]_results_route_actions_1v3vhi4.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_exams_route_actions_1c_zhtj.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_export_route_actions_0lpcnjc.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_health_route_actions_1ryftkb.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_import_route_actions_20ko04x.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_route_actions_1nb9ma2.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_api_tasks_route_actions_123tq1_.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_user_route_actions_1k-4clg.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_version_route_actions_0kbx30h.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_ai_prompts_ts_0z36zms._.js +0 -562
- 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]__03psbtz._.js +0 -3
- 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]__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]__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]__0skyo1a._.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/_11ut-6_._.js +0 -3
- package/.next/server/chunks/ssr/_17igtpd._.js +0 -3
- package/.next/server/chunks/ssr/_1aot_70._.js +0 -3
- package/.next/server/chunks/ssr/_1filpif._.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__not-found_page_actions_0pt47yr.js +0 -3
- package/.next/server/chunks/ssr/_next-internal_server_app_admin_page_actions_1mcickz.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]_page_actions_1kushg5.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_exams_page_actions_0av69f-.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_login_page_actions_04fnjo0.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_notebooks_page_actions_06x1kdz.js +0 -3
- package/.next/server/chunks/ssr/_next-internal_server_app_page_actions_0hhsz1j.js +0 -3
- package/.next/server/chunks/ssr/_next-internal_server_app_practice_page_actions_0cy-h5n.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/_next-internal_server_app_register_page_actions_1op-s-x.js +0 -3
- package/.next/server/chunks/ssr/_next-internal_server_app_stats_page_actions_1olf1_a.js +0 -3
- package/.next/server/chunks/ssr/_next-internal_server_app_tags_page_actions_20v_n--.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/03gmdewlo3s6u.js +0 -1
- package/.next/static/chunks/06q8lm6y95ac4.css +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/0ij2dqb0qj5ry.js +0 -1
- package/.next/static/chunks/0iq53qkw5hvrs.js +0 -1
- package/.next/static/chunks/0lxsaj3bivcgo.css +0 -1
- package/.next/static/chunks/0m81l71kojx8j.js +0 -1
- package/.next/static/chunks/0nckb2-62ooyq.js +0 -1
- package/.next/static/chunks/0pwdmc9gw8ben.js +0 -33
- package/.next/static/chunks/0snej-v5yglxr.js +0 -1
- package/.next/static/chunks/1-7k9gbbjkcml.js +0 -1
- package/.next/static/chunks/1c92up8k2x0z4.js +0 -1
- 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/24dymggis4suf.css +0 -3
- package/.next/static/chunks/24jbwfpgmio7x.js +0 -1
- package/.next/static/chunks/27fr34_1v7xyh.js +0 -1
- package/.next/static/chunks/2dlme2fdlkms6.js +0 -1
- package/.next/static/chunks/2eu_bls12m1wj.js +0 -1
- package/.next/static/chunks/2pmzqbg-qabof.js +0 -1
- package/.next/static/chunks/2w2uo9jjxt-re.js +0 -1
- package/.next/static/chunks/2x8e_fbze06sd.js +0 -1
- package/.next/static/chunks/2z1_5umv36es6.js +0 -191
- package/.next/static/chunks/32bl-oqw9oso0.js +0 -1
- package/.next/static/chunks/3b-g5_r9nto3s.js +0 -6
- package/.next/static/chunks/3g1rm2suowncy.js +0 -3
- package/.next/static/chunks/3helovsg02qr4.js +0 -1
- package/.next/static/chunks/3jta6jrk-jubq.js +0 -1
- package/.next/static/chunks/3m4c1r8_2ga_1.js +0 -1
- package/.next/static/chunks/3whzkc6d8oefw.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/server/app/{latex-test/page → api/practice/grade/route}/server-reference-manifest.json +0 -0
- /package/.next/server/app/{latex-test/page.js.map → api/practice/grade/route.js.map} +0 -0
- /package/.next/server/app/{latex-test → review}/page/react-loadable-manifest.json +0 -0
- /package/.next/static/{Y0pwgmRdVAifh_zukihNt → ZH3ew12HOzoE3JRl8c_8L}/_buildManifest.js +0 -0
- /package/.next/static/{Y0pwgmRdVAifh_zukihNt → ZH3ew12HOzoE3JRl8c_8L}/_clientMiddlewareManifest.js +0 -0
- /package/.next/static/{Y0pwgmRdVAifh_zukihNt → ZH3ew12HOzoE3JRl8c_8L}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
(()=>{"use strict";module.exports=[826794,e=>{var t=e.i(747909),a=e.i(174017),r=e.i(996250),n=e.i(759756),i=e.i(561916),s=e.i(174677),l=e.i(869741),o=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),R=e.i(10372),g=e.i(193695),w=e.i(509580);e.i(52474);var m=e.i(600220);let E=new t.AppRouteRouteModule({definition:{kind:a.f.APP_ROUTE,page:"/api/analyze/route",pathname:"/api/analyze",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/analyze/route.ts",nextConfigOutput:"standalone",userland:()=>e.r(61312),...{}}),{workAsyncStorage:v,workUnitAsyncStorage:y,serverHooks:A}=E;async function I(e,t,a){a.requestMeta&&(0,n.R)(e,a.requestMeta),E.isDev&&(0,n.i)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let r="/api/analyze/route";r=r.replace(/\/index$/,"")||"/";let{instrumentation:s}=await E.ensureInstrumentation(e,{deferSpans:!0});return E.traceRequest(e,{tracer:(0,i.v)(),spanName:`${e.method||"GET"} ${r}`,httpTarget:e.url,instrumentation:s},(n,i)=>b(e,t,a,r,!1,n,i))}async function b(e,t,r,v,y,A,I){let b=await E.prepare(e,t,{srcPage:v,multiZoneDraftMode:y});if(!b)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:T,deploymentId:O,params:x,nextConfig:_,parsedUrl:C,isDraftMode:P,prerenderManifest:U,routerServerContext:S,isOnDemandRevalidate:k,revalidateOnlyGenerated:N,resolvedPathname:D,clientReferenceManifest:j,serverActionsManifest:M,previewProps:q}=b,L=(0,l.f)(v),z=!!U.routes[D]&&(E.isDev||(0,w.f)(D,E.cacheOwner,U.routes[D])),H=!!(U.dynamicRoutes[L]||z),$=async()=>((null==S?void 0:S.render404)?await S.render404(e,t,C,!1):t.end("This page could not be found"),null);if(H&&!P){let e=U.dynamicRoutes[L];if(e&&!1===e.fallback&&!z){if(_.adapterPath)return await $();throw new g.NoFallbackError}}let F=null;!H||E.isDev||P||(F="/index"===(F=D)?"/":F),M&&j&&(0,s.f)({page:v,clientReferenceManifest:j,serverActionsManifest:M});let G=e.method||"GET",K=(0,i.v)(),B=!!(null==S?void 0:S.isWrappedByNextServer),V=!!(0,n.w)(e,"minimalMode"),W=(0,n.w)(e,"incrementalCache")||await E.getIncrementalCache(e,_,q,U,V);null==W||W.resetRequestCache(),globalThis.__incrementalCache=W;let Y={params:x,previewProps:q,renderOpts:{experimental:{authInterrupts:!!_.experimental.authInterrupts,useCacheTimeout:_.experimental.useCacheTimeout,durableUseCacheEntries:!!_.experimental.durableUseCacheEntries},cacheComponents:!!_.cacheComponents,validationLevel:_.experimental.instantInsights.validationLevel,isDraftMode:P,incrementalCache:W,hmrRefreshHash:(0,n.w)(e,"hmrRefreshHash"),cacheLifeProfiles:_.cacheLife,staticPageGenerationTimeout:_.staticPageGenerationTimeout,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0},sharedContext:{buildId:T,deploymentId:O}},Q=new o.x(e),J=new o.e(t),X=u.k.fromNodeNextRequest(Q,(0,u.t)(t)),Z=async({previousCacheEntry:a})=>{try{if(!V&&k&&N&&!a)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=null===F?await E.handle(X,Y):await E.prerender(X,Y);e.fetchMetrics=Y.renderOpts.fetchMetrics;let i=Y.renderOpts.pendingWaitUntil;i&&r.waitUntil&&(r.waitUntil(i),i=void 0);let s=Y.renderOpts.collectedTags;if(!H)return await (0,p.f)(Q,J,n,i),null;{let e=await n.blob(),t=(0,h.S)(n.headers);s&&(t[R.M]=s),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==Y.renderOpts.collectedRevalidate&&!(Y.renderOpts.collectedRevalidate>=R.Q)&&Y.renderOpts.collectedRevalidate,r=void 0===Y.renderOpts.collectedExpire||Y.renderOpts.collectedExpire>=R.Q?!1!==a&&a>0?_.expireTime:void 0:Y.renderOpts.collectedExpire;return{value:{kind:m.x.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:r}}}}catch(t){throw(null==a?void 0:a.isStale)&&await E.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,c.f)({isStaticGeneration:null!==F,isOnDemandRevalidate:k})},!1,S),t}},ee=async n=>{try{var s,l;let n=await E.handleResponse({req:e,nextConfig:_,cacheKey:F,routeKind:a.f.APP_ROUTE,isFallback:!1,previewProps:q,prerenderManifest:U,isRoutePPREnabled:!1,isOnDemandRevalidate:k,revalidateOnlyGenerated:N,responseGenerator:Z,waitUntil:r.waitUntil,isMinimalMode:V});if(null!==n&&"error"in n)throw n.error;if(!H)return;if((null==n||null==(s=n.value)?void 0:s.kind)!==m.x.APP_ROUTE)throw Error(`Invariant: app-route received invalid cache entry ${null==n||null==(l=n.value)?void 0:l.kind}`);V||t.setHeader("x-nextjs-cache",k?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),P&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let i=(0,h.G)(n.value.headers);V&&H||i.delete(R.M),!n.cacheControl||t.getHeader("Cache-Control")||i.get("Cache-Control")||i.set("Cache-Control",(0,f.f)(n.cacheControl)),await (0,p.f)(Q,J,new Response(n.value.body,{headers:i,status:n.value.status||200}));return}catch(a){if(a instanceof g.NoFallbackError||await E.onRequestError(e,a,{routerKind:"App Router",routePath:L,routeType:"route",revalidateReason:(0,c.f)({isStaticGeneration:null!==F,isOnDemandRevalidate:k})},!1,S),H)throw a;if(t.headersSent){if(n){let e=a instanceof Error?a: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)(Q,J,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 a=K.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==d.q.handleRequest)return console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let r=a.get("next.route")||L,s=`${G} ${r}`;n.setAttributes({"next.route":r,"http.route":r,"next.span_name":s}),n.updateName(s),I&&I!==n&&(I.setAttribute("http.route",r),I.updateName(s))})()}};B||void 0===e.url||null==A||A.setAttribute("http.target",e.url),await ee(A)}e.s(["handler",0,I,"patchFetch",0,function(){return(0,r.f)({workAsyncStorage:v,workUnitAsyncStorage:y})},"routeModule",0,E,"serverHooks",0,A,"workAsyncStorage",0,v,"workUnitAsyncStorage",0,y])},61312,e=>e.a(async(t,a)=>{try{var r=e.i(89171),n=e.i(843911),i=e.i(79832),s=e.i(757660),l=e.i(183508),o=e.i(539811),u=e.i(698043),d=e.i(181912),c=e.i(459398),p=e.i(668426),h=e.i(50377),f=e.i(926828),R=e.i(798003),g=e.i(629833),w=e.i(856379),m=t([i]);[i]=m.then?(await m)():m;let v=(0,h.f)("api:analyze");async function E(e){v.info("Analyze API called");let t=await (0,s.getServerSession)(i.f);if(!t)return v.warn("Unauthorized access attempt"),r.NextResponse.json({message:"Unauthorized"},{status:401});try{let a,i=await e.json(),{language:s,subjectId:h}=i,{imageBase64:g,mimeType:m}=i;if(v.debug({imageLength:g?.length,mimeType:m,language:s,subjectId:h},"Request received"),!g)return v.warn("Missing image data"),(0,d.O)("Missing image data");if(g.startsWith("data:")){let e=g.match(/^data:([^;]+);base64,(.+)$/);e&&(m=e[1],g=e[2],v.debug({mimeType:m,base64Length:g.length},"Parsed Data URL"))}let E=null,y=null,A=null,I=null;if(t?.user?.email)try{let e=await u.f.user.findUnique({where:{email:t.user.email},select:{id:!0,educationStage:!0,enrollmentYear:!0}});if(e&&(E=(0,l.T)(e.educationStage,e.enrollmentYear,(0,R.c)()),e.educationStage&&e.enrollmentYear&&(y=(0,o.f)(e.educationStage,e.enrollmentYear,new Date,"zh",(0,R.c)())),v.debug({userGrade:E,userGradeSemester:y},"Calculated user grade")),h&&e){let t=await u.f.subject.findUnique({where:{id:h},select:{name:!0,userId:!0,stage:!0,subjectKey:!0}});if(t&&t.userId===e.id){I=t.name;let e=(0,p.v)(t);A=e.subject?p.L[e.subject]:null,a=await (0,c.K)(e),v.debug({scope:e,candidateTagCount:a?.tags.length},"Notebook scope resolved")}}}catch(e){v.error({error:e},"Error fetching user/subject info")}v.info({userGrade:E,userGradeSemester:y,subject:A},"Calling AI service for image analysis");let b=await (0,w.f)(t.user,"analyze");if(b)return b;let T=(0,n.f)(),O=await (0,f.c)({userId:t.user.id,kind:"analyze",subject:I},()=>T.analyzeImage(g,m,s,E,A,y,a));return v.debug({knowledgePointsCount:O.knowledgePoints?.length,knowledgePointsType:typeof O.knowledgePoints,isArray:Array.isArray(O.knowledgePoints)},"AI returned knowledge points"),O.knowledgePoints&&0!==O.knowledgePoints.length||v.warn("Knowledge points is empty or null"),v.info("AI analysis successful"),r.NextResponse.json(O)}catch(a){let e=(0,g.f)(a);v.error({error:e,stack:a instanceof Error?a.stack:void 0},"Analysis error occurred");let t=e||"Failed to analyze image";return e&&("AI_CONNECTION_FAILED"===e||"AI_RESPONSE_ERROR"===e||e.includes("AI_AUTH_ERROR")||"AI_TIMEOUT_ERROR"===e||"AI_QUOTA_EXCEEDED"===e||"AI_PERMISSION_DENIED"===e||"AI_NOT_FOUND"===e||"AI_SERVICE_UNAVAILABLE"===e||"AI_UNKNOWN_ERROR"===e||"AI_OUTPUT_TRUNCATED"===e)?t=e.includes("AI_AUTH_ERROR")?"AI_AUTH_ERROR":e:(e.includes("Zod")||e.includes("validate"))&&(t="AI_RESPONSE_ERROR"),(0,d.B)(t,500,d.p.AI_ERROR,e)}}e.s(["POST",0,E]),a()}catch(e){a(e)}},!1)]})();
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=_1a1udq0c4_6ad._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
(()=>{"use strict";module.exports=[66639,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),m=e.i(626937),f=e.i(10372),w=e.i(193695),g=e.i(509580);e.i(52474);var b=e.i(600220);let v=new t.AppRouteRouteModule({definition:{kind:r.f.APP_ROUTE,page:"/api/error-items/[id]/geogebra/route",pathname:"/api/error-items/[id]/geogebra",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/error-items/[id]/geogebra/route.ts",nextConfigOutput:"standalone",userland:()=>e.r(581510),...{}}),{workAsyncStorage:x,workUnitAsyncStorage:R,serverHooks:y}=v;async function E(e,t,r){r.requestMeta&&(0,n.R)(e,r.requestMeta),v.isDev&&(0,n.i)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let a="/api/error-items/[id]/geogebra/route";a=a.replace(/\/index$/,"")||"/";let{instrumentation:s}=await v.ensureInstrumentation(e,{deferSpans:!0});return v.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,R,y,E){let C=await v.prepare(e,t,{srcPage:x,multiZoneDraftMode:R});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:S,nextConfig:P,parsedUrl:G,isDraftMode:I,prerenderManifest:U,routerServerContext:q,isOnDemandRevalidate:O,revalidateOnlyGenerated:k,resolvedPathname:N,clientReferenceManifest:j,serverActionsManifest:M,previewProps:_}=C,D=(0,o.f)(x),L=!!U.routes[N]&&(v.isDev||(0,g.f)(N,v.cacheOwner,U.routes[N])),H=!!(U.dynamicRoutes[D]||L),$=async()=>((null==q?void 0:q.render404)?await q.render404(e,t,G,!1):t.end("This page could not be found"),null);if(H&&!I){let e=U.dynamicRoutes[D];if(e&&!1===e.fallback&&!L){if(P.adapterPath)return await $();throw new w.NoFallbackError}}let F=null;!H||v.isDev||I||(F="/index"===(F=N)?"/":F),M&&j&&(0,s.f)({page:x,clientReferenceManifest:j,serverActionsManifest:M});let z=e.method||"GET",B=(0,i.v)(),Q=!!(null==q?void 0:q.isWrappedByNextServer),J=!!(0,n.w)(e,"minimalMode"),K=(0,n.w)(e,"incrementalCache")||await v.getIncrementalCache(e,P,_,U,J);null==K||K.resetRequestCache(),globalThis.__incrementalCache=K;let W={params:S,previewProps:_,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:K,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:A}},V=new l.x(e),X=new l.e(t),Y=u.k.fromNodeNextRequest(V,(0,u.t)(t)),Z=async({previousCacheEntry:r})=>{try{if(!J&&O&&k&&!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 v.handle(Y,W):await v.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(!H)return await (0,p.f)(V,X,n,i),null;{let e=await n.blob(),t=(0,h.S)(n.headers);s&&(t[f.M]=s),!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?P.expireTime:void 0:W.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 v.onRequestError(e,t,{routerKind:"App Router",routePath:x,routeType:"route",revalidateReason:(0,c.f)({isStaticGeneration:null!==F,isOnDemandRevalidate:O})},!1,q),t}},ee=async n=>{try{var s,o;let n=await v.handleResponse({req:e,nextConfig:P,cacheKey:F,routeKind:r.f.APP_ROUTE,isFallback:!1,previewProps:_,prerenderManifest:U,isRoutePPREnabled:!1,isOnDemandRevalidate:O,revalidateOnlyGenerated:k,responseGenerator:Z,waitUntil:a.waitUntil,isMinimalMode:J});if(null!==n&&"error"in n)throw n.error;if(!H)return;if((null==n||null==(s=n.value)?void 0:s.kind)!==b.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",O?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),I&&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)(V,X,new Response(n.value.body,{headers:i,status:n.value.status||200}));return}catch(r){if(r instanceof w.NoFallbackError||await v.onRequestError(e,r,{routerKind:"App Router",routePath:D,routeType:"route",revalidateReason:(0,c.f)({isStaticGeneration:null!==F,isOnDemandRevalidate:O})},!1,q),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)(V,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=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")||D,s=`${z} ${a}`;n.setAttributes({"next.route":a,"http.route":a,"next.span_name":s}),n.updateName(s),E&&E!==n&&(E.setAttribute("http.route",a),E.updateName(s))})()}};Q||void 0===e.url||null==y||y.setAttribute("http.target",e.url),await ee(y)}e.s(["handler",0,E,"patchFetch",0,function(){return(0,a.f)({workAsyncStorage:x,workUnitAsyncStorage:R})},"routeModule",0,v,"serverHooks",0,y,"workAsyncStorage",0,x,"workUnitAsyncStorage",0,R])},581510,e=>e.a(async(t,r)=>{try{var a=e.i(89171),n=e.i(698043),i=e.i(79832),s=e.i(757660),o=e.i(181912),l=e.i(50377),u=e.i(926828),d=e.i(843911),c=e.i(856379),p=t([i]);[i]=p.then?(await p)():p;let f=(0,l.f)("api:error-items:geogebra");async function h(e,{params:t}){let{id:r}=await t,l=await (0,s.getServerSession)(i.f);try{let t;if(l?.user?.email&&(t=await n.f.user.findUnique({where:{email:l.user.email}})),!t)return(0,o.k)("Authentication required");let i=await n.f.errorItem.findUnique({where:{id:r},include:{subject:!0}});if(!i)return(0,o.X)("Item not found");if(i.userId!==t.id)return(0,o.Q)("Not authorized to access this item");let s=i.subject?.name||"";if(!(s.includes("数学")||s.toLowerCase().includes("math")||s.includes("物理")||s.toLowerCase().includes("physics")))return a.NextResponse.json({suitable:!1,commands:[],description:"仅数学和物理题目支持 GeoGebra 动态演示"});if(!i.questionText)return a.NextResponse.json({suitable:!1,commands:[],description:"题目文本为空,无法分析"});let p=await (0,c.f)(t,"geogebra");if(p)return p;let h=(0,d.f)(),m=await e.json().catch(()=>({})),w=m.questionText||i.questionText,g=m.answerText||i.answerText||"",b=m.previousErrors||"",v=await (0,u.c)({userId:t.id,kind:"geogebra",subject:(0,u.E)(i),link:`/error-items/${r}`},()=>h.analyzeForGeogebra(w,g,i.analysis||"",b));return v.suitable&&v.commands.length>0&&await n.f.errorItem.update({where:{id:r},data:{geogebraCommands:JSON.stringify(v.commands)}}),f.info({id:r,suitable:v.suitable,commandCount:v.commands.length},"GeoGebra analysis complete"),a.NextResponse.json(v)}catch(t){f.error({error:t},"Error during GeoGebra analysis");let e=t instanceof Error?t.message:String(t);if(e.startsWith("AI_"))return a.NextResponse.json({message:e},{status:502});return(0,o.g)("Failed to analyze for GeoGebra")}}async function m(e,{params:t}){let{id:r}=await t,l=await (0,s.getServerSession)(i.f);try{let e=l?.user?.email?await n.f.user.findUnique({where:{email:l.user.email}}):null;if(!e)return(0,o.k)("Authentication required");let t=await n.f.errorItem.findUnique({where:{id:r},select:{userId:!0}});if(!t)return(0,o.X)("Item not found");if(t.userId!==e.id)return(0,o.Q)("Not authorized to access this item");return await n.f.errorItem.update({where:{id:r},data:{geogebraCommands:null}}),f.info({id:r},"GeoGebra commands deleted"),a.NextResponse.json({success:!0})}catch(e){return f.error({error:e},"Error deleting GeoGebra commands"),(0,o.g)("Failed to delete GeoGebra commands")}}e.s(["DELETE",0,m,"POST",0,h]),r()}catch(e){r(e)}},!1)]})();
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=_1b0269xt-c8f7._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
(()=>{"use strict";module.exports=[980393,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),c=e.i(487718),u=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/admin/dashboard/route",pathname:"/api/admin/dashboard",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/admin/dashboard/route.ts",nextConfigOutput:"standalone",userland:()=>e.r(14112),...{}}),{workAsyncStorage:b,workUnitAsyncStorage:g,serverHooks:x}=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/admin/dashboard/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,b,g,x,A){let E=await R.prepare(e,t,{srcPage:b,multiZoneDraftMode:g});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:S,nextConfig:P,parsedUrl:_,isDraftMode:I,prerenderManifest:O,routerServerContext:U,isOnDemandRevalidate:M,revalidateOnlyGenerated:k,resolvedPathname:j,clientReferenceManifest:q,serverActionsManifest:D,previewProps:N}=E,G=(0,s.f)(b),H=!!O.routes[j]&&(R.isDev||(0,v.f)(j,R.cacheOwner,O.routes[j])),B=!!(O.dynamicRoutes[G]||H),L=async()=>((null==U?void 0:U.render404)?await U.render404(e,t,_,!1):t.end("This page could not be found"),null);if(B&&!I){let e=O.dynamicRoutes[G];if(e&&!1===e.fallback&&!H){if(P.adapterPath)return await L();throw new w.NoFallbackError}}let $=null;!B||R.isDev||I||($="/index"===($=j)?"/":$),D&&q&&(0,o.f)({page:b,clientReferenceManifest:q,serverActionsManifest:D});let F=e.method||"GET",K=(0,i.v)(),Q=!!(null==U?void 0:U.isWrappedByNextServer),Y=!!(0,n.w)(e,"minimalMode"),J=(0,n.w)(e,"incrementalCache")||await R.getIncrementalCache(e,P,N,O,Y);null==J||J.resetRequestCache(),globalThis.__incrementalCache=J;let V={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:I,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:C,deploymentId:T}},W=new l.x(e),z=new l.e(t),X=c.k.fromNodeNextRequest(W,(0,c.t)(t)),Z=async({previousCacheEntry:r})=>{try{if(!Y&&M&&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 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 o=V.renderOpts.collectedTags;if(!B)return await (0,p.f)(W,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!==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?P.expireTime:void 0:V.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:b,routeType:"route",revalidateReason:(0,d.f)({isStaticGeneration:null!==$,isOnDemandRevalidate:M})},!1,U),t}},ee=async n=>{try{var o,s;let n=await R.handleResponse({req:e,nextConfig:P,cacheKey:$,routeKind:r.f.APP_ROUTE,isFallback:!1,previewProps:N,prerenderManifest:O,isRoutePPREnabled:!1,isOnDemandRevalidate:M,revalidateOnlyGenerated:k,responseGenerator:Z,waitUntil:a.waitUntil,isMinimalMode:Y});if(null!==n&&"error"in n)throw n.error;if(!B)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}`);Y||t.setHeader("x-nextjs-cache",M?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),I&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let i=(0,h.G)(n.value.headers);Y&&B||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)(W,z,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,d.f)({isStaticGeneration:null!==$,isOnDemandRevalidate:M})},!1,U),B)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,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")!==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}`;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==x||x.setAttribute("http.target",e.url),await ee(x)}e.s(["handler",0,A,"patchFetch",0,function(){return(0,a.f)({workAsyncStorage:b,workUnitAsyncStorage:g})},"routeModule",0,R,"serverHooks",0,x,"workAsyncStorage",0,b,"workUnitAsyncStorage",0,g])},14112,e=>e.a(async(t,r)=>{try{var a=e.i(89171),n=e.i(757660),i=e.i(79832),o=e.i(698043),s=e.i(258078),l=e.i(181912),c=e.i(595886),u=e.i(50377),d=e.i(798003),p=e.i(376025),h=t([i]);[i]=h.then?(await h)():h;let m=(0,u.f)("api:admin:dashboard");async function f(){let e=await (0,n.getServerSession)(i.f);if(!(0,s.f)(e))return(0,l.Q)("Admin access required");try{let e=await o.f.user.count(),t=await o.f.errorItem.count(),r=await o.f.practiceRecord.count(),n=await o.f.subject.count(),i=await o.f.user.findMany({orderBy:{createdAt:"desc"},select:{id:!0,name:!0,email:!0,role:!0,isActive:!0,createdAt:!0,educationStage:!0,enrollmentYear:!0,_count:{select:{errorItems:!0,practiceRecords:!0,subjects:!0}}}}),s=await o.f.subject.findMany({select:{name:!0,_count:{select:{errorItems:!0}}},orderBy:{errorItems:{_count:"desc"}}}),l=new Date,u=(0,d.c)(),h=(0,p.d)(l,u,-6).start,f=await o.f.errorItem.groupBy({by:["createdAt"],where:{createdAt:{gte:h}},_count:{id:!0}}),m=[];for(let e=6;e>=0;e--){let t=(0,p.r)((0,p.d)(l,u,-e).start,"yyyy-MM-dd",u);m.push({date:t,count:0})}for(let e of f){let t=(0,p.r)(e.createdAt,"yyyy-MM-dd",u),r=m.find(e=>e.date===t);r&&(r.count+=e._count.id)}let w=await (0,c.E)();return a.NextResponse.json({overview:{totalUsers:e,totalErrorItems:t,totalPracticeRecords:r,totalSubjects:n},userStats:i.map(e=>({id:e.id,name:e.name,email:e.email,role:e.role,isActive:e.isActive,createdAt:e.createdAt,educationStage:e.educationStage,enrollmentYear:e.enrollmentYear,errorCount:e._count.errorItems,practiceCount:e._count.practiceRecords,notebookCount:e._count.subjects})),subjectDistribution:s.map(e=>({name:e.name,count:e._count.errorItems})),dailyTrend:m,masteryDistribution:w})}catch(e){return m.error({error:e},"Error fetching dashboard data"),(0,l.g)("Failed to fetch dashboard data")}}e.s(["GET",0,f]),r()}catch(e){r(e)}},!1)]})();
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=_1b7qjlv0nxovi._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
(()=>{"use strict";module.exports=[608355,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),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 b=e.i(600220);let y=new t.AppRouteRouteModule({definition:{kind:r.f.APP_ROUTE,page:"/api/notebooks/route",pathname:"/api/notebooks",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/notebooks/route.ts",nextConfigOutput:"standalone",userland:()=>e.r(706162),...{}}),{workAsyncStorage:R,workUnitAsyncStorage:g,serverHooks:x}=y;async function E(e,t,r){r.requestMeta&&(0,n.R)(e,r.requestMeta),y.isDev&&(0,n.i)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let a="/api/notebooks/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)=>k(e,t,r,a,!1,n,i))}async function k(e,t,a,R,g,x,E){let k=await y.prepare(e,t,{srcPage:R,multiZoneDraftMode:g});if(!k)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:A,deploymentId:C,params:T,nextConfig:P,parsedUrl:S,isDraftMode:O,prerenderManifest:U,routerServerContext:I,isOnDemandRevalidate:j,revalidateOnlyGenerated:q,resolvedPathname:_,clientReferenceManifest:M,serverActionsManifest:N,previewProps:D}=k,G=(0,s.f)(R),H=!!U.routes[_]&&(y.isDev||(0,v.f)(_,y.cacheOwner,U.routes[_])),L=!!(U.dynamicRoutes[G]||H),$=async()=>((null==I?void 0:I.render404)?await I.render404(e,t,S,!1):t.end("This page could not be found"),null);if(L&&!O){let e=U.dynamicRoutes[G];if(e&&!1===e.fallback&&!H){if(P.adapterPath)return await $();throw new w.NoFallbackError}}let B=null;!L||y.isDev||O||(B="/index"===(B=_)?"/":B),N&&M&&(0,o.f)({page:R,clientReferenceManifest:M,serverActionsManifest:N});let F=e.method||"GET",K=(0,i.v)(),V=!!(null==I?void 0:I.isWrappedByNextServer),W=!!(0,n.w)(e,"minimalMode"),J=(0,n.w)(e,"incrementalCache")||await y.getIncrementalCache(e,P,D,U,W);null==J||J.resetRequestCache(),globalThis.__incrementalCache=J;let Q={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:O,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:A,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(!W&&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===B?await y.handle(Y,Q):await y.prerender(Y,Q);e.fetchMetrics=Q.renderOpts.fetchMetrics;let i=Q.renderOpts.pendingWaitUntil;i&&a.waitUntil&&(a.waitUntil(i),i=void 0);let o=Q.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);o&&(t[m.M]=o),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==Q.renderOpts.collectedRevalidate&&!(Q.renderOpts.collectedRevalidate>=m.Q)&&Q.renderOpts.collectedRevalidate,a=void 0===Q.renderOpts.collectedExpire||Q.renderOpts.collectedExpire>=m.Q?!1!==r&&r>0?P.expireTime:void 0:Q.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 y.onRequestError(e,t,{routerKind:"App Router",routePath:R,routeType:"route",revalidateReason:(0,d.f)({isStaticGeneration:null!==B,isOnDemandRevalidate:j})},!1,I),t}},ee=async n=>{try{var o,s;let n=await y.handleResponse({req:e,nextConfig:P,cacheKey:B,routeKind:r.f.APP_ROUTE,isFallback:!1,previewProps:D,prerenderManifest:U,isRoutePPREnabled:!1,isOnDemandRevalidate:j,revalidateOnlyGenerated:q,responseGenerator:Z,waitUntil:a.waitUntil,isMinimalMode:W});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}`);W||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);W&&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)(z,X,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:G,routeType:"route",revalidateReason:(0,d.f)({isStaticGeneration:null!==B,isOnDemandRevalidate:j})},!1,I),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,o=`${F} ${a}`;n.setAttributes({"next.route":a,"http.route":a,"next.span_name":o}),n.updateName(o),E&&E!==n&&(E.setAttribute("http.route",a),E.updateName(o))})()}};V||void 0===e.url||null==x||x.setAttribute("http.target",e.url),await ee(x)}e.s(["handler",0,E,"patchFetch",0,function(){return(0,a.f)({workAsyncStorage:R,workUnitAsyncStorage:g})},"routeModule",0,y,"serverHooks",0,x,"workAsyncStorage",0,R,"workUnitAsyncStorage",0,g])},706162,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=e.i(668426),c=t([i]);[i]=c.then?(await c)():c;let h=(0,l.f)("api:notebooks");async function d(){let e=await (0,o.getServerSession)(i.f);try{let t;if(e?.user?.email&&(t=await n.f.user.findUnique({where:{email:e.user.email}})),!t)return(0,s.k)("Authentication required");let r=await n.f.subject.findMany({where:{userId:t.id},include:{_count:{select:{errorItems:!0}}},orderBy:{createdAt:"desc"}});if(0===r.length){let e=(0,u.m)(t.educationStage),a=[{name:"数学",subjectKey:"math"},{name:"英语",subjectKey:"english"}].filter(t=>u.W[e].includes(t.subjectKey));await Promise.all(a.map(({name:r,subjectKey:a})=>n.f.subject.create({data:{name:r,stage:e,subjectKey:a,userId:t.id}}))),r=await n.f.subject.findMany({where:{userId:t.id},include:{_count:{select:{errorItems:!0}}},orderBy:{createdAt:"desc"}})}return a.NextResponse.json(r)}catch(e){return h.error({error:e},"Error fetching notebooks"),(0,s.g)("Failed to fetch notebooks")}}async function p(e){let t=await (0,o.getServerSession)(i.f);try{let r;if(t?.user?.email&&(r=await n.f.user.findUnique({where:{email:t.user.email}})),!r)return(0,s.k)("Authentication required");let{name:i,stage:o,subjectKey:l}=await e.json();if("string"!=typeof i||!i.trim())return(0,s.O)("Notebook name is required");if(!(0,u.V)(o,l))return(0,s.O)("A valid stage and subject are required");if(await n.f.subject.findUnique({where:{name_userId:{name:i.trim(),userId:r.id}}}))return(0,s.P)("Notebook with this name already exists");let c=await n.f.subject.create({data:{name:i.trim(),stage:o,subjectKey:l,userId:r.id},include:{_count:{select:{errorItems:!0}}}});return a.NextResponse.json(c,{status:201})}catch(e){return h.error({error:e},"Error creating notebook"),(0,s.g)("Failed to create notebook")}}e.s(["GET",0,d,"POST",0,p]),r()}catch(e){r(e)}},!1)]})();
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=_1be-y660a8z-q._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
(()=>{"use strict";module.exports=[241120,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),w=e.i(626937),f=e.i(10372),m=e.i(193695),g=e.i(509580);e.i(52474);var v=e.i(600220);let x=new t.AppRouteRouteModule({definition:{kind:r.f.APP_ROUTE,page:"/api/error-items/[id]/reanswer/route",pathname:"/api/error-items/[id]/reanswer",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/error-items/[id]/reanswer/route.ts",nextConfigOutput:"standalone",userland:()=>e.r(320266),...{}}),{workAsyncStorage:R,workUnitAsyncStorage:y,serverHooks:E}=x;async function T(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/[id]/reanswer/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,R,y,E,T){let b=await x.prepare(e,t,{srcPage:R,multiZoneDraftMode:y});if(!b)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:C,deploymentId:A,params:I,nextConfig:P,parsedUrl:O,isDraftMode:S,prerenderManifest:U,routerServerContext:k,isOnDemandRevalidate:q,revalidateOnlyGenerated:j,resolvedPathname:_,clientReferenceManifest:N,serverActionsManifest:M,previewProps:L}=b,D=(0,o.f)(R),H=!!U.routes[_]&&(x.isDev||(0,g.f)(_,x.cacheOwner,U.routes[_])),$=!!(U.dynamicRoutes[D]||H),G=async()=>((null==k?void 0:k.render404)?await k.render404(e,t,O,!1):t.end("This page could not be found"),null);if($&&!S){let e=U.dynamicRoutes[D];if(e&&!1===e.fallback&&!H){if(P.adapterPath)return await G();throw new m.NoFallbackError}}let F=null;!$||x.isDev||S||(F="/index"===(F=_)?"/":F),M&&N&&(0,s.f)({page:R,clientReferenceManifest:N,serverActionsManifest:M});let W=e.method||"GET",B=(0,i.v)(),K=!!(null==k?void 0:k.isWrappedByNextServer),Q=!!(0,n.w)(e,"minimalMode"),J=(0,n.w)(e,"incrementalCache")||await x.getIncrementalCache(e,P,L,U,Q);null==J||J.resetRequestCache(),globalThis.__incrementalCache=J;let V={params:I,previewProps:L,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:C,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(!Q&&q&&j&&!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,V):await x.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(!$)return await (0,p.f)(X,z,n,i),null;{let e=await n.blob(),t=(0,h.S)(n.headers);s&&(t[f.M]=s),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==V.renderOpts.collectedRevalidate&&!(V.renderOpts.collectedRevalidate>=f.Q)&&V.renderOpts.collectedRevalidate,a=void 0===V.renderOpts.collectedExpire||V.renderOpts.collectedExpire>=f.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 x.onRequestError(e,t,{routerKind:"App Router",routePath:R,routeType:"route",revalidateReason:(0,c.f)({isStaticGeneration:null!==F,isOnDemandRevalidate:q})},!1,k),t}},ee=async n=>{try{var s,o;let n=await x.handleResponse({req:e,nextConfig:P,cacheKey:F,routeKind:r.f.APP_ROUTE,isFallback:!1,previewProps:L,prerenderManifest:U,isRoutePPREnabled:!1,isOnDemandRevalidate:q,revalidateOnlyGenerated:j,responseGenerator:Z,waitUntil:a.waitUntil,isMinimalMode:Q});if(null!==n&&"error"in n)throw n.error;if(!$)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",q?"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&&$||i.delete(f.M),!n.cacheControl||t.getHeader("Cache-Control")||i.get("Cache-Control")||i.set("Cache-Control",(0,w.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 m.NoFallbackError||await x.onRequestError(e,r,{routerKind:"App Router",routePath:D,routeType:"route",revalidateReason:(0,c.f)({isStaticGeneration:null!==F,isOnDemandRevalidate:q})},!1,k),$)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=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")||D,s=`${W} ${a}`;n.setAttributes({"next.route":a,"http.route":a,"next.span_name":s}),n.updateName(s),T&&T!==n&&(T.setAttribute("http.route",a),T.updateName(s))})()}};K||void 0===e.url||null==E||E.setAttribute("http.target",e.url),await ee(E)}e.s(["handler",0,T,"patchFetch",0,function(){return(0,a.f)({workAsyncStorage:R,workUnitAsyncStorage:y})},"routeModule",0,x,"serverHooks",0,E,"workAsyncStorage",0,R,"workUnitAsyncStorage",0,y])},320266,e=>e.a(async(t,r)=>{try{var a=e.i(89171),n=e.i(698043),i=e.i(843911),s=e.i(63856),o=e.i(181912),l=e.i(50377),u=e.i(926828),d=e.i(668426),c=e.i(856379),p=t([s]);[s]=p.then?(await p)():p;let w=(0,l.f)("api:error-items:reanswer");async function h(e,{params:t}){let{id:r}=await t;try{let t=await (0,s.f)();if(!t)return(0,o.k)("Authentication required");let l=await n.f.errorItem.findUnique({where:{id:r},select:{userId:!0,shortId:!0,questionText:!0,originalImageUrl:!0,gradeSemester:!0,subject:{select:{name:!0,stage:!0,subjectKey:!0}}}});if(!l||l.userId!==t.id)return(0,o.X)("Item not found");if(!l.questionText?.trim())return(0,o.O)("NO_QUESTION_TEXT");let p=await e.json().catch(()=>({})),h=p?.language==="en"?"en":"zh",f=l.subject?(0,d.v)(l.subject):null,m=f?.subject?d.L[f.subject]:null,g=l.originalImageUrl?.startsWith("data:")?l.originalImageUrl:void 0,v=l.questionText,x=await (0,c.f)(t,"reanswer");if(x)return x;let R=await (0,u.c)({userId:t.id,kind:"reanswer",subject:(0,u.E)(l),link:`/error-items/${r}`},()=>(0,i.f)().reanswerQuestion(v,h,m,g,l.gradeSemester));if(!R.answerText.trim()&&!R.analysis.trim())return(0,o.O)("EMPTY_ANSWER");let y=await n.f.errorItem.update({where:{id:r},data:{answerText:R.answerText,analysis:R.analysis},select:{answerText:!0,analysis:!0}});return w.info({errorItemId:r,hasImage:!!g,answerLength:y.answerText?.length??0,analysisLength:y.analysis?.length??0},"Answer regenerated"),a.NextResponse.json(y)}catch(t){let e=t instanceof Error?t.message:String(t);return w.error({error:e},"Error regenerating answer"),(0,o.g)(e.startsWith("AI_")?e.split(":")[0]:"Failed to regenerate answer")}}e.s(["POST",0,h]),r()}catch(e){r(e)}},!1)]})();
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=_1cydcmia78z15._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
(()=>{"use strict";module.exports=[866129,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),m=e.i(10372),w=e.i(193695),v=e.i(509580);e.i(52474);var R=e.i(600220);let g=new t.AppRouteRouteModule({definition:{kind:r.f.APP_ROUTE,page:"/api/admin/users/route",pathname:"/api/admin/users",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/admin/users/route.ts",nextConfigOutput:"standalone",userland:()=>e.r(709814),...{}}),{workAsyncStorage:y,workUnitAsyncStorage:x,serverHooks:E}=g;async function A(e,t,r){r.requestMeta&&(0,n.R)(e,r.requestMeta),g.isDev&&(0,n.i)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let a="/api/admin/users/route";a=a.replace(/\/index$/,"")||"/";let{instrumentation:s}=await g.ensureInstrumentation(e,{deferSpans:!0});return g.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,y,x,E,A){let C=await g.prepare(e,t,{srcPage:y,multiZoneDraftMode:x});if(!C)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:b,deploymentId:T,params:P,nextConfig:U,parsedUrl:S,isDraftMode:O,prerenderManifest:_,routerServerContext:k,isOnDemandRevalidate:I,revalidateOnlyGenerated:M,resolvedPathname:q,clientReferenceManifest:D,serverActionsManifest:N,previewProps:G}=C,H=(0,o.f)(y),j=!!_.routes[q]&&(g.isDev||(0,v.f)(q,g.cacheOwner,_.routes[q])),L=!!(_.dynamicRoutes[H]||j),$=async()=>((null==k?void 0:k.render404)?await k.render404(e,t,S,!1):t.end("This page could not be found"),null);if(L&&!O){let e=_.dynamicRoutes[H];if(e&&!1===e.fallback&&!j){if(U.adapterPath)return await $();throw new w.NoFallbackError}}let B=null;!L||g.isDev||O||(B="/index"===(B=q)?"/":B),N&&D&&(0,s.f)({page:y,clientReferenceManifest:D,serverActionsManifest:N});let F=e.method||"GET",K=(0,i.v)(),Q=!!(null==k?void 0:k.isWrappedByNextServer),J=!!(0,n.w)(e,"minimalMode"),V=(0,n.w)(e,"incrementalCache")||await g.getIncrementalCache(e,U,G,_,J);null==V||V.resetRequestCache(),globalThis.__incrementalCache=V;let W={params:P,previewProps:G,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:V,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:b,deploymentId:T}},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===B?await g.handle(Y,W):await g.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[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?U.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 g.onRequestError(e,t,{routerKind:"App Router",routePath:y,routeType:"route",revalidateReason:(0,d.f)({isStaticGeneration:null!==B,isOnDemandRevalidate:I})},!1,k),t}},ee=async n=>{try{var s,o;let n=await g.handleResponse({req:e,nextConfig:U,cacheKey:B,routeKind:r.f.APP_ROUTE,isFallback:!1,previewProps:G,prerenderManifest:_,isRoutePPREnabled:!1,isOnDemandRevalidate:I,revalidateOnlyGenerated:M,responseGenerator:Z,waitUntil:a.waitUntil,isMinimalMode:J});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}`);J||t.setHeader("x-nextjs-cache",I?"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&&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)(z,X,new Response(n.value.body,{headers:i,status:n.value.status||200}));return}catch(r){if(r instanceof w.NoFallbackError||await g.onRequestError(e,r,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,d.f)({isStaticGeneration:null!==B,isOnDemandRevalidate:I})},!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)(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")||H,s=`${F} ${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))})()}};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:y,workUnitAsyncStorage:x})},"routeModule",0,g,"serverHooks",0,E,"workAsyncStorage",0,y,"workUnitAsyncStorage",0,x])},709814,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),c=e.i(798003),d=e.i(376025),p=t([i]);[i]=p.then?(await p)():p;let f=(0,u.f)("api:admin:users");async function h(){let e=await (0,n.getServerSession)(i.f);if(!(0,o.f)(e))return(0,l.Q)("Admin access required");try{let e=await s.f.user.findMany({orderBy:{createdAt:"desc"},select:{id:!0,name:!0,email:!0,role:!0,isActive:!0,createdAt:!0,_count:{select:{errorItems:!0,practiceRecords:!0}}}}),{start:t,end:r}=(0,d.d)(new Date,(0,c.c)()),n=await s.f.aiUsage.groupBy({by:["userId"],where:{createdAt:{gte:t,lt:r}},_count:{_all:!0}}),i=new Map(n.map(e=>[e.userId,e._count._all]));return a.NextResponse.json(e.map(e=>({...e,aiUsageToday:i.get(e.id)??0})))}catch(e){return f.error({error:e},"Error fetching users"),(0,l.g)("Failed to fetch users")}}e.s(["GET",0,h]),r()}catch(e){r(e)}},!1)]})();
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=_1e8w9uuebtrcb._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
(()=>{"use strict";module.exports=[909726,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),m=e.i(626937),f=e.i(10372),w=e.i(193695),x=e.i(509580);e.i(52474);var g=e.i(600220);let y=new t.AppRouteRouteModule({definition:{kind:r.f.APP_ROUTE,page:"/api/exams/route",pathname:"/api/exams",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/exams/route.ts",nextConfigOutput:"standalone",userland:()=>e.r(802875),...{}}),{workAsyncStorage:v,workUnitAsyncStorage:R,serverHooks:C}=y;async function E(e,t,r){r.requestMeta&&(0,n.R)(e,r.requestMeta),y.isDev&&(0,n.i)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let a="/api/exams/route";a=a.replace(/\/index$/,"")||"/";let{instrumentation:s}=await y.ensureInstrumentation(e,{deferSpans:!0});return y.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,v,R,C,E){let b=await y.prepare(e,t,{srcPage:v,multiZoneDraftMode:R});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:O,nextConfig:P,parsedUrl:q,isDraftMode:I,prerenderManifest:S,routerServerContext:U,isOnDemandRevalidate:k,revalidateOnlyGenerated:_,resolvedPathname:M,clientReferenceManifest:N,serverActionsManifest:j,previewProps:z}=b,H=(0,o.f)(v),D=!!S.routes[M]&&(y.isDev||(0,x.f)(M,y.cacheOwner,S.routes[M])),$=!!(S.dynamicRoutes[H]||D),G=async()=>((null==U?void 0:U.render404)?await U.render404(e,t,q,!1):t.end("This page could not be found"),null);if($&&!I){let e=S.dynamicRoutes[H];if(e&&!1===e.fallback&&!D){if(P.adapterPath)return await G();throw new w.NoFallbackError}}let L=null;!$||y.isDev||I||(L="/index"===(L=M)?"/":L),j&&N&&(0,s.f)({page:v,clientReferenceManifest:N,serverActionsManifest:j});let F=e.method||"GET",B=(0,i.v)(),J=!!(null==U?void 0:U.isWrappedByNextServer),K=!!(0,n.w)(e,"minimalMode"),Q=(0,n.w)(e,"incrementalCache")||await y.getIncrementalCache(e,P,z,S,K);null==Q||Q.resetRequestCache(),globalThis.__incrementalCache=Q;let W={params:O,previewProps:z,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:Q,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:A,deploymentId:T}},V=new l.x(e),X=new l.e(t),Y=u.k.fromNodeNextRequest(V,(0,u.t)(t)),Z=async({previousCacheEntry:r})=>{try{if(!K&&k&&_&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=null===L?await y.handle(Y,W):await y.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(!$)return await (0,p.f)(V,X,n,i),null;{let e=await n.blob(),t=(0,h.S)(n.headers);s&&(t[f.M]=s),!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?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:v,routeType:"route",revalidateReason:(0,c.f)({isStaticGeneration:null!==L,isOnDemandRevalidate:k})},!1,U),t}},ee=async n=>{try{var s,o;let n=await y.handleResponse({req:e,nextConfig:P,cacheKey:L,routeKind:r.f.APP_ROUTE,isFallback:!1,previewProps:z,prerenderManifest:S,isRoutePPREnabled:!1,isOnDemandRevalidate:k,revalidateOnlyGenerated:_,responseGenerator:Z,waitUntil:a.waitUntil,isMinimalMode:K});if(null!==n&&"error"in n)throw n.error;if(!$)return;if((null==n||null==(s=n.value)?void 0:s.kind)!==g.x.APP_ROUTE)throw Error(`Invariant: app-route received invalid cache entry ${null==n||null==(o=n.value)?void 0:o.kind}`);K||t.setHeader("x-nextjs-cache",k?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),I&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let i=(0,h.G)(n.value.headers);K&&$||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)(V,X,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:H,routeType:"route",revalidateReason:(0,c.f)({isStaticGeneration:null!==L,isOnDemandRevalidate:k})},!1,U),$)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,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=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")||H,s=`${F} ${a}`;n.setAttributes({"next.route":a,"http.route":a,"next.span_name":s}),n.updateName(s),E&&E!==n&&(E.setAttribute("http.route",a),E.updateName(s))})()}};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:v,workUnitAsyncStorage:R})},"routeModule",0,y,"serverHooks",0,C,"workAsyncStorage",0,v,"workUnitAsyncStorage",0,R])},802875,e=>e.a(async(t,r)=>{try{var a=e.i(89171),n=e.i(971724),i=e.i(455744),s=e.i(105954),o=e.i(604147),l=e.i(206033),u=e.i(698043),d=e.i(63856),c=e.i(181912),p=e.i(50377),h=e.i(874866),m=e.i(798003),f=e.i(376025),w=e.i(856379),x=t([d]);[d]=x.then?(await x)():x;let v=(0,p.f)("api:exams"),R=n.z.object({subjectIds:i.z.array(s.z.string().min(1)).min(1).max(50),tagNames:i.z.array(s.z.string().trim().min(1)).max(50).optional(),scope:o.z.enum(h.A),count:l.z.number().int().min(1).max(h.W),pickRule:o.z.enum(h.k).default(h.s),difficulty:o.z.enum(h.Q),title:s.z.string().trim().max(100).optional(),language:o.z.enum(["zh","en"]).optional()});async function g(){try{let e=await (0,d.f)();if(!e)return(0,c.k)("Authentication required");let t=await u.f.examPaper.findMany({where:{userId:e.id},orderBy:{createdAt:"desc"},select:{id:!0,title:!0,status:!0,scope:!0,difficulty:!0,requestedCount:!0,resultsRecordedAt:!0,createdAt:!0,questions:{select:{status:!0,_count:{select:{practiceRecords:!0}}}}}});return a.NextResponse.json(t.map(({questions:e,...t})=>({...t,questionCount:e.length,readyCount:e.filter(e=>"ready"===e.status).length,recordedCount:e.filter(e=>e._count.practiceRecords>0).length})))}catch(e){return v.error({error:e},"Error listing exam papers"),(0,c.g)("Failed to list exam papers")}}async function y(e){try{let t=await (0,d.f)();if(!t)return(0,c.k)("Authentication required");let r=R.safeParse(await e.json());if(!r.success)return(0,c.K)("Invalid exam options",r.error.issues);let{subjectIds:n,tagNames:i,scope:s,count:o,pickRule:l,difficulty:p,language:x}=r.data,g=await u.f.subject.findMany({where:{id:{in:n},userId:t.id},select:{id:!0,name:!0}});if(0===g.length)return(0,c.O)("NO_SOURCE_ITEMS");let y=await (0,h.p)(t.id,{subjectIds:g.map(e=>e.id),tagNames:i,scope:s,count:o,pickRule:l});if(0===y.length)return(0,c.O)("NO_SOURCE_ITEMS");let C=r.data.title||`${g.map(e=>e.name).join("、")} ${(0,f.r)(new Date,"yyyy-MM-dd HH:mm",(0,m.c)())}`,E=await (0,w.f)(t,"exam");if(E)return E;let b=await u.f.examPaper.create({data:{userId:t.id,title:C,scope:s,difficulty:p,requestedCount:o,subjectIds:JSON.stringify(g.map(e=>e.id)),tagNames:i&&i.length>0?JSON.stringify(i):null,questions:{create:y.map((e,t)=>({order:t+1,errorItemId:e.id,sourceShortId:e.shortId}))}},select:{id:!0,title:!0,requestedCount:!0,_count:{select:{questions:!0}}}});return(0,h.H)(b.id,x||"zh"),v.info({paperId:b.id,count:y.length,requested:o},"Exam paper created"),a.NextResponse.json({id:b.id,title:b.title,requestedCount:b.requestedCount,questionCount:b._count.questions},{status:201})}catch(e){return v.error({error:e},"Error creating exam paper"),(0,c.g)("Failed to create exam paper")}}e.s(["GET",0,g,"POST",0,y]),r()}catch(e){r(e)}},!1)]})();
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=_1ex6ovo_j2jzv._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
(()=>{"use strict";module.exports=[915984,e=>{var t=e.i(747909),r=e.i(174017),a=e.i(996250),n=e.i(759756),s=e.i(561916),i=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),w=e.i(509580);e.i(52474);var R=e.i(600220);let x=new t.AppRouteRouteModule({definition:{kind:r.f.APP_ROUTE,page:"/api/tags/route",pathname:"/api/tags",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/tags/route.ts",nextConfigOutput:"standalone",userland:()=>e.r(870322),...{}}),{workAsyncStorage:v,workUnitAsyncStorage:y,serverHooks:T}=x;async function E(e,t,r){r.requestMeta&&(0,n.R)(e,r.requestMeta),x.isDev&&(0,n.i)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let a="/api/tags/route";a=a.replace(/\/index$/,"")||"/";let{instrumentation:i}=await x.ensureInstrumentation(e,{deferSpans:!0});return x.traceRequest(e,{tracer:(0,s.v)(),spanName:`${e.method||"GET"} ${a}`,httpTarget:e.url,instrumentation:i},(n,s)=>S(e,t,r,a,!1,n,s))}async function S(e,t,a,v,y,T,E){let S=await x.prepare(e,t,{srcPage:v,multiZoneDraftMode:y});if(!S)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:b,deploymentId:C,params:I,nextConfig:N,parsedUrl:j,isDraftMode:P,prerenderManifest:U,routerServerContext:A,isOnDemandRevalidate:O,revalidateOnlyGenerated:k,resolvedPathname:q,clientReferenceManifest:M,serverActionsManifest:D,previewProps:L}=S,_=(0,o.f)(v),F=!!U.routes[q]&&(x.isDev||(0,w.f)(q,x.cacheOwner,U.routes[q])),G=!!(U.dynamicRoutes[_]||F),H=async()=>((null==A?void 0:A.render404)?await A.render404(e,t,j,!1):t.end("This page could not be found"),null);if(G&&!P){let e=U.dynamicRoutes[_];if(e&&!1===e.fallback&&!F){if(N.adapterPath)return await H();throw new m.NoFallbackError}}let $=null;!G||x.isDev||P||($="/index"===($=q)?"/":$),D&&M&&(0,i.f)({page:v,clientReferenceManifest:M,serverActionsManifest:D});let B=e.method||"GET",z=(0,s.v)(),K=!!(null==A?void 0:A.isWrappedByNextServer),J=!!(0,n.w)(e,"minimalMode"),Q=(0,n.w)(e,"incrementalCache")||await x.getIncrementalCache(e,N,L,U,J);null==Q||Q.resetRequestCache(),globalThis.__incrementalCache=Q;let V={params:I,previewProps:L,renderOpts:{experimental:{authInterrupts:!!N.experimental.authInterrupts,useCacheTimeout:N.experimental.useCacheTimeout,durableUseCacheEntries:!!N.experimental.durableUseCacheEntries},cacheComponents:!!N.cacheComponents,validationLevel:N.experimental.instantInsights.validationLevel,isDraftMode:P,incrementalCache:Q,hmrRefreshHash:(0,n.w)(e,"hmrRefreshHash"),cacheLifeProfiles:N.cacheLife,staticPageGenerationTimeout:N.staticPageGenerationTimeout,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0},sharedContext:{buildId:b,deploymentId:C}},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(!J&&O&&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 x.handle(Y,V):await x.prerender(Y,V);e.fetchMetrics=V.renderOpts.fetchMetrics;let s=V.renderOpts.pendingWaitUntil;s&&a.waitUntil&&(a.waitUntil(s),s=void 0);let i=V.renderOpts.collectedTags;if(!G)return await (0,p.f)(W,X,n,s),null;{let e=await n.blob(),t=(0,h.S)(n.headers);i&&(t[g.M]=i),!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?N.expireTime:void 0:V.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:v,routeType:"route",revalidateReason:(0,c.f)({isStaticGeneration:null!==$,isOnDemandRevalidate:O})},!1,A),t}},ee=async n=>{try{var i,o;let n=await x.handleResponse({req:e,nextConfig:N,cacheKey:$,routeKind:r.f.APP_ROUTE,isFallback:!1,previewProps:L,prerenderManifest:U,isRoutePPREnabled:!1,isOnDemandRevalidate:O,revalidateOnlyGenerated:k,responseGenerator:Z,waitUntil:a.waitUntil,isMinimalMode:J});if(null!==n&&"error"in n)throw n.error;if(!G)return;if((null==n||null==(i=n.value)?void 0:i.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",O?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),P&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let s=(0,h.G)(n.value.headers);J&&G||s.delete(g.M),!n.cacheControl||t.getHeader("Cache-Control")||s.get("Cache-Control")||s.set("Cache-Control",(0,f.f)(n.cacheControl)),await (0,p.f)(W,X,new Response(n.value.body,{headers:s,status:n.value.status||200}));return}catch(r){if(r instanceof m.NoFallbackError||await x.onRequestError(e,r,{routerKind:"App Router",routePath:_,routeType:"route",revalidateReason:(0,c.f)({isStaticGeneration:null!==$,isOnDemandRevalidate:O})},!1,A),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:s.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:s.J.ERROR}),n.setAttribute("error.type",e.toString()));let r=z.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")||_,i=`${B} ${a}`;n.setAttributes({"next.route":a,"http.route":a,"next.span_name":i}),n.updateName(i),E&&E!==n&&(E.setAttribute("http.route",a),E.updateName(i))})()}};K||void 0===e.url||null==T||T.setAttribute("http.target",e.url),await ee(T)}e.s(["handler",0,E,"patchFetch",0,function(){return(0,a.f)({workAsyncStorage:v,workUnitAsyncStorage:y})},"routeModule",0,x,"serverHooks",0,T,"workAsyncStorage",0,v,"workUnitAsyncStorage",0,y])},870322,e=>e.a(async(t,r)=>{try{var a=e.i(89171),n=e.i(757660),s=e.i(698043),i=e.i(79832),o=e.i(50377),l=t([i]);[i]=l.then?(await l)():l;let p=(0,o.f)("api:tags");async function u(e){try{let t=await (0,n.getServerSession)(i.f);if(!t?.user?.id)return a.NextResponse.json({error:"Unauthorized"},{status:401});let{searchParams:r}=new URL(e.url),o=r.get("subject"),l="true"===r.get("flat");if(!o)return a.NextResponse.json({error:"Subject is required"},{status:400});let u=await s.f.knowledgeTag.findMany({where:{subject:o,OR:[{isSystem:!0},{userId:t.user.id}]},orderBy:[{order:"asc"},{name:"asc"}]});if(l){let e=u.filter(e=>!u.some(t=>t.parentId===e.id));return a.NextResponse.json({tags:e.map(e=>{let t=e.parentId?u.find(t=>t.id===e.parentId):null;return{id:e.id,name:e.name,isSystem:e.isSystem,parentId:e.parentId,parentName:t?t.name:null}})})}let d=function(e){let t=new Map,r=[];for(let r of e)t.set(r.id,{id:r.id,name:r.name,code:r.code,isSystem:r.isSystem,children:[]});for(let a of e){let e=t.get(a.id);a.parentId&&t.has(a.parentId)?t.get(a.parentId).children.push(e):r.push(e)}return r}(u);return u.length>0&&p.debug({subject:o,totalTags:u.length,systemTags:u.filter(e=>e.isSystem).length,userTags:u.filter(e=>!e.isSystem).length,treeRoots:d.length,sampleRoot:d.length>0?d[0].name:"none"},"Returning tag tree"),a.NextResponse.json({tags:d})}catch(e){return p.error({error:e},"Error fetching tags"),a.NextResponse.json({error:"Failed to fetch tags"},{status:500})}}async function d(e){try{let t=await (0,n.getServerSession)(i.f);if(!t?.user?.id)return a.NextResponse.json({error:"Unauthorized"},{status:401});let{name:r,subject:o,parentId:l}=await e.json();if(!r||!o)return a.NextResponse.json({error:"Name and subject are required"},{status:400});if(await s.f.knowledgeTag.findFirst({where:{name:r.trim(),subject:o,userId:t.user.id,parentId:l||null}}))return a.NextResponse.json({error:"Tag already exists in this group"},{status:409});let u=await s.f.knowledgeTag.create({data:{name:r.trim(),subject:o,parentId:l||null,isSystem:!1,userId:t.user.id}});return a.NextResponse.json({tag:u},{status:201})}catch(e){return p.error({error:e},"Error creating tag"),a.NextResponse.json({error:"Failed to create tag"},{status:500})}}async function c(e){try{let t=await (0,n.getServerSession)(i.f);if(!t?.user?.id)return a.NextResponse.json({error:"Unauthorized"},{status:401});let{searchParams:r}=new URL(e.url),o=r.get("id");if(!o)return a.NextResponse.json({error:"Tag ID is required"},{status:400});if(!await s.f.knowledgeTag.findFirst({where:{id:o,userId:t.user.id,isSystem:!1}}))return a.NextResponse.json({error:"Tag not found or not deletable"},{status:404});return await s.f.knowledgeTag.delete({where:{id:o}}),a.NextResponse.json({success:!0})}catch(e){return p.error({error:e},"Error deleting tag"),a.NextResponse.json({error:"Failed to delete tag"},{status:500})}}e.s(["DELETE",0,c,"GET",0,u,"POST",0,d]),r()}catch(e){r(e)}},!1)]})();
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=_1fgb9ve_nfat4._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
(()=>{"use strict";module.exports=[204123,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),c=e.i(995169),d=e.i(47587),p=e.i(666012),f=e.i(570101),h=e.i(626937),m=e.i(10372),v=e.i(193695),w=e.i(509580);e.i(52474);var g=e.i(600220);let b=new t.AppRouteRouteModule({definition:{kind:r.f.APP_ROUTE,page:"/api/user/route",pathname:"/api/user",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/user/route.ts",nextConfigOutput:"standalone",userland:()=>e.r(551513),...{}}),{workAsyncStorage:R,workUnitAsyncStorage:y,serverHooks:x}=b;async function E(e,t,r){r.requestMeta&&(0,n.R)(e,r.requestMeta),b.isDev&&(0,n.i)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let a="/api/user/route";a=a.replace(/\/index$/,"")||"/";let{instrumentation:o}=await b.ensureInstrumentation(e,{deferSpans:!0});return b.traceRequest(e,{tracer:(0,i.v)(),spanName:`${e.method||"GET"} ${a}`,httpTarget:e.url,instrumentation:o},(n,i)=>T(e,t,r,a,!1,n,i))}async function T(e,t,a,R,y,x,E){let T=await b.prepare(e,t,{srcPage:R,multiZoneDraftMode:y});if(!T)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:S,deploymentId:C,params:A,nextConfig:P,parsedUrl:O,isDraftMode:U,prerenderManifest:I,routerServerContext:k,isOnDemandRevalidate:q,revalidateOnlyGenerated:D,resolvedPathname:N,clientReferenceManifest:z,serverActionsManifest:G,previewProps:M}=T,j=(0,l.f)(R),_=!!I.routes[N]&&(b.isDev||(0,w.f)(N,b.cacheOwner,I.routes[N])),H=!!(I.dynamicRoutes[j]||_),B=async()=>((null==k?void 0:k.render404)?await k.render404(e,t,O,!1):t.end("This page could not be found"),null);if(H&&!U){let e=I.dynamicRoutes[j];if(e&&!1===e.fallback&&!_){if(P.adapterPath)return await B();throw new v.NoFallbackError}}let F=null;!H||b.isDev||U||(F="/index"===(F=N)?"/":F),G&&z&&(0,o.f)({page:R,clientReferenceManifest:z,serverActionsManifest:G});let $=e.method||"GET",L=(0,i.v)(),K=!!(null==k?void 0:k.isWrappedByNextServer),Y=!!(0,n.w)(e,"minimalMode"),J=(0,n.w)(e,"incrementalCache")||await b.getIncrementalCache(e,P,M,I,Y);null==J||J.resetRequestCache(),globalThis.__incrementalCache=J;let Q={params:A,previewProps:M,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: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:S,deploymentId:C}},V=new s.x(e),W=new s.e(t),X=u.k.fromNodeNextRequest(V,(0,u.t)(t)),Z=async({previousCacheEntry:r})=>{try{if(!Y&&q&&D&&!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 b.handle(X,Q):await b.prerender(X,Q);e.fetchMetrics=Q.renderOpts.fetchMetrics;let i=Q.renderOpts.pendingWaitUntil;i&&a.waitUntil&&(a.waitUntil(i),i=void 0);let o=Q.renderOpts.collectedTags;if(!H)return await (0,p.f)(V,W,n,i),null;{let e=await n.blob(),t=(0,f.S)(n.headers);o&&(t[m.M]=o),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==Q.renderOpts.collectedRevalidate&&!(Q.renderOpts.collectedRevalidate>=m.Q)&&Q.renderOpts.collectedRevalidate,a=void 0===Q.renderOpts.collectedExpire||Q.renderOpts.collectedExpire>=m.Q?!1!==r&&r>0?P.expireTime:void 0:Q.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 b.onRequestError(e,t,{routerKind:"App Router",routePath:R,routeType:"route",revalidateReason:(0,d.f)({isStaticGeneration:null!==F,isOnDemandRevalidate:q})},!1,k),t}},ee=async n=>{try{var o,l;let n=await b.handleResponse({req:e,nextConfig:P,cacheKey:F,routeKind:r.f.APP_ROUTE,isFallback:!1,previewProps:M,prerenderManifest:I,isRoutePPREnabled:!1,isOnDemandRevalidate:q,revalidateOnlyGenerated:D,responseGenerator:Z,waitUntil:a.waitUntil,isMinimalMode:Y});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}`);Y||t.setHeader("x-nextjs-cache",q?"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,f.G)(n.value.headers);Y&&H||i.delete(m.M),!n.cacheControl||t.getHeader("Cache-Control")||i.get("Cache-Control")||i.set("Cache-Control",(0,h.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 v.NoFallbackError||await b.onRequestError(e,r,{routerKind:"App Router",routePath:j,routeType:"route",revalidateReason:(0,d.f)({isStaticGeneration:null!==F,isOnDemandRevalidate:q})},!1,k),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)(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=L.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,o=`${$} ${a}`;n.setAttributes({"next.route":a,"http.route":a,"next.span_name":o}),n.updateName(o),E&&E!==n&&(E.setAttribute("http.route",a),E.updateName(o))})()}};K||void 0===e.url||null==x||x.setAttribute("http.target",e.url),await ee(x)}e.s(["handler",0,E,"patchFetch",0,function(){return(0,a.f)({workAsyncStorage:R,workUnitAsyncStorage:y})},"routeModule",0,b,"serverHooks",0,x,"workAsyncStorage",0,R,"workUnitAsyncStorage",0,y])},222637,e=>{var t=e.i(562810);e.s(["z",0,t])},551513,e=>e.a(async(t,r)=>{try{var a=e.i(89171),n=e.i(757660),i=e.i(79832),o=e.i(698043),l=e.i(971724),s=e.i(105954),u=e.i(206033),c=e.i(180473),d=e.i(222637),p=e.i(644950),f=e.i(181912),h=e.i(50377),m=t([i,p]);[i,p]=m.then?(await m)():m;let g=(0,h.f)("api:user"),b=l.z.object({name:s.z.string().optional(),email:s.z.string().optional(),password:s.z.string().optional(),educationStage:s.z.string().optional(),enrollmentYear:u.z.number().optional().nullable(),confirmBeforeImport:c.z.boolean().optional(),enableGeogebra:c.z.boolean().optional(),enableSvgAnimation:c.z.boolean().optional(),questionDuplicateThreshold:u.z.number().min(1).max(100).multipleOf(.01).optional()});async function v(){let e=await (0,n.getServerSession)(i.f);if(!e?.user?.email)return(0,f.k)();try{let t=await o.f.user.findUnique({where:{email:e.user.email},select:{name:!0,email:!0,educationStage:!0,enrollmentYear:!0,confirmBeforeImport:!0,enableGeogebra:!0,enableSvgAnimation:!0,questionDuplicateThreshold:!0}});if(!t)return(0,f.X)("User not found");return g.debug({user:t},"Returning user profile"),a.NextResponse.json(t)}catch(e){return g.error({error:e},"Failed to fetch user profile"),(0,f.g)("Failed to fetch user profile")}}async function w(e){let t=await (0,n.getServerSession)(i.f);if(!t?.user?.email)return(0,f.k)();try{let r=await e.json(),{name:n,email:i,password:l,educationStage:s,enrollmentYear:u,confirmBeforeImport:c,enableGeogebra:d,enableSvgAnimation:h,questionDuplicateThreshold:m}=b.parse(r),v={};if(n&&n.trim()&&(v.name=n.trim()),s&&s.trim()&&(v.educationStage=s.trim()),"number"!=typeof u||isNaN(u)||(v.enrollmentYear=u),"boolean"==typeof c&&(v.confirmBeforeImport=c),"boolean"==typeof d&&(v.enableGeogebra=d),"boolean"==typeof h&&(v.enableSvgAnimation=h),"number"==typeof m&&(v.questionDuplicateThreshold=m),i&&i.trim()){if(!/^[^\s@]+@[^\s@]+$/.test(i.trim()))return(0,f.O)("Invalid email format");v.email=i.trim()}if(l&&l.length>0){if(l.length<6)return(0,f.O)("Password must be at least 6 characters");v.password=await (0,p.hash)(l,10)}let w=await o.f.user.update({where:{email:t.user.email},data:v,select:{name:!0,email:!0,educationStage:!0,enrollmentYear:!0,confirmBeforeImport:!0,enableGeogebra:!0,enableSvgAnimation:!0,questionDuplicateThreshold:!0}});return a.NextResponse.json(w)}catch(e){if(g.error({error:e},"Failed to update user profile"),e instanceof d.z.ZodError)return(0,f.K)("Invalid input",e.issues);return(0,f.g)("Failed to update user profile")}}e.s(["GET",0,v,"PATCH",0,w]),r()}catch(e){r(e)}},!1)]})();
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=_1hj7iit2u6xez._.js.map
|