wrong-notebook 0.0.0-stage → 2026.10.21
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 -0
- package/.next/app-path-routes-manifest.json +81 -0
- package/.next/build-manifest.json +24 -0
- package/.next/package.json +1 -0
- package/.next/prerender-manifest.json +104 -0
- package/.next/required-server-files.json +358 -0
- package/.next/routes-manifest.json +579 -0
- package/.next/server/app/_global-error/page/app-paths-manifest.json +3 -0
- package/.next/server/app/_global-error/page/build-manifest.json +20 -0
- package/.next/server/app/_global-error/page/next-font-manifest.json +6 -0
- package/.next/server/app/_global-error/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/_global-error/page/server-reference-manifest.json +4 -0
- package/.next/server/app/_global-error/page.js +9 -0
- package/.next/server/app/_global-error/page.js.map +5 -0
- package/.next/server/app/_global-error/page.js.nft.json +1 -0
- package/.next/server/app/_global-error/page_client-reference-manifest.js +3 -0
- package/.next/server/app/_global-error.html +1 -0
- package/.next/server/app/_global-error.meta +30 -0
- package/.next/server/app/_global-error.rsc +15 -0
- package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +20 -0
- package/.next/server/app/_global-error.segments/_full.segment.rsc +15 -0
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -0
- package/.next/server/app/_not-found/page/app-paths-manifest.json +3 -0
- package/.next/server/app/_not-found/page/build-manifest.json +20 -0
- package/.next/server/app/_not-found/page/next-font-manifest.json +11 -0
- package/.next/server/app/_not-found/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/_not-found/page/server-reference-manifest.json +4 -0
- package/.next/server/app/_not-found/page.js +13 -0
- package/.next/server/app/_not-found/page.js.map +5 -0
- package/.next/server/app/_not-found/page.js.nft.json +1 -0
- package/.next/server/app/_not-found/page_client-reference-manifest.js +3 -0
- package/.next/server/app/admin/page/app-paths-manifest.json +3 -0
- package/.next/server/app/admin/page/build-manifest.json +20 -0
- package/.next/server/app/admin/page/next-font-manifest.json +11 -0
- package/.next/server/app/admin/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/admin/page/server-reference-manifest.json +4 -0
- package/.next/server/app/admin/page.js +14 -0
- package/.next/server/app/admin/page.js.map +5 -0
- package/.next/server/app/admin/page.js.nft.json +1 -0
- package/.next/server/app/admin/page_client-reference-manifest.js +3 -0
- package/.next/server/app/admin/user/[id]/page/app-paths-manifest.json +3 -0
- package/.next/server/app/admin/user/[id]/page/build-manifest.json +20 -0
- package/.next/server/app/admin/user/[id]/page/next-font-manifest.json +11 -0
- package/.next/server/app/admin/user/[id]/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/admin/user/[id]/page/server-reference-manifest.json +4 -0
- package/.next/server/app/admin/user/[id]/page.js +14 -0
- package/.next/server/app/admin/user/[id]/page.js.map +5 -0
- package/.next/server/app/admin/user/[id]/page.js.nft.json +1 -0
- package/.next/server/app/admin/user/[id]/page_client-reference-manifest.js +3 -0
- package/.next/server/app/api/admin/dashboard/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/admin/dashboard/route/build-manifest.json +12 -0
- package/.next/server/app/api/admin/dashboard/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/admin/dashboard/route.js +10 -0
- package/.next/server/app/api/admin/dashboard/route.js.map +5 -0
- package/.next/server/app/api/admin/dashboard/route.js.nft.json +1 -0
- package/.next/server/app/api/admin/dashboard/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/admin/migrate-tags/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/admin/migrate-tags/route/build-manifest.json +12 -0
- package/.next/server/app/api/admin/migrate-tags/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/admin/migrate-tags/route.js +9 -0
- package/.next/server/app/api/admin/migrate-tags/route.js.map +5 -0
- package/.next/server/app/api/admin/migrate-tags/route.js.nft.json +1 -0
- package/.next/server/app/api/admin/migrate-tags/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/admin/system-reset/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/admin/system-reset/route/build-manifest.json +12 -0
- package/.next/server/app/api/admin/system-reset/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/admin/system-reset/route.js +8 -0
- package/.next/server/app/api/admin/system-reset/route.js.map +5 -0
- package/.next/server/app/api/admin/system-reset/route.js.nft.json +1 -0
- package/.next/server/app/api/admin/system-reset/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/admin/users/[id]/detail/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/admin/users/[id]/detail/route/build-manifest.json +12 -0
- package/.next/server/app/api/admin/users/[id]/detail/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/admin/users/[id]/detail/route.js +9 -0
- package/.next/server/app/api/admin/users/[id]/detail/route.js.map +5 -0
- package/.next/server/app/api/admin/users/[id]/detail/route.js.nft.json +1 -0
- package/.next/server/app/api/admin/users/[id]/detail/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/admin/users/[id]/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/admin/users/[id]/route/build-manifest.json +12 -0
- package/.next/server/app/api/admin/users/[id]/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/admin/users/[id]/route.js +8 -0
- package/.next/server/app/api/admin/users/[id]/route.js.map +5 -0
- package/.next/server/app/api/admin/users/[id]/route.js.nft.json +1 -0
- package/.next/server/app/api/admin/users/[id]/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/admin/users/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/admin/users/route/build-manifest.json +12 -0
- package/.next/server/app/api/admin/users/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/admin/users/route.js +8 -0
- package/.next/server/app/api/admin/users/route.js.map +5 -0
- package/.next/server/app/api/admin/users/route.js.nft.json +1 -0
- package/.next/server/app/api/admin/users/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/ai/models/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/ai/models/route/build-manifest.json +12 -0
- package/.next/server/app/api/ai/models/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/ai/models/route.js +14 -0
- package/.next/server/app/api/ai/models/route.js.map +5 -0
- package/.next/server/app/api/ai/models/route.js.nft.json +1 -0
- package/.next/server/app/api/ai/models/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/ai/test/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/ai/test/route/build-manifest.json +12 -0
- package/.next/server/app/api/ai/test/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/ai/test/route.js +15 -0
- package/.next/server/app/api/ai/test/route.js.map +5 -0
- package/.next/server/app/api/ai/test/route.js.nft.json +1 -0
- package/.next/server/app/api/ai/test/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/analytics/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/analytics/route/build-manifest.json +12 -0
- package/.next/server/app/api/analytics/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/analytics/route.js +9 -0
- package/.next/server/app/api/analytics/route.js.map +5 -0
- package/.next/server/app/api/analytics/route.js.nft.json +1 -0
- package/.next/server/app/api/analytics/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/analyze/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/analyze/route/build-manifest.json +12 -0
- package/.next/server/app/api/analyze/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/analyze/route.js +16 -0
- package/.next/server/app/api/analyze/route.js.map +5 -0
- package/.next/server/app/api/analyze/route.js.nft.json +1 -0
- package/.next/server/app/api/analyze/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/auth/[...nextauth]/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/auth/[...nextauth]/route/build-manifest.json +12 -0
- package/.next/server/app/api/auth/[...nextauth]/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/auth/[...nextauth]/route.js +7 -0
- package/.next/server/app/api/auth/[...nextauth]/route.js.map +5 -0
- package/.next/server/app/api/auth/[...nextauth]/route.js.nft.json +1 -0
- package/.next/server/app/api/auth/[...nextauth]/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/error-items/[id]/delete/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/error-items/[id]/delete/route/build-manifest.json +12 -0
- package/.next/server/app/api/error-items/[id]/delete/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/error-items/[id]/delete/route.js +8 -0
- package/.next/server/app/api/error-items/[id]/delete/route.js.map +5 -0
- package/.next/server/app/api/error-items/[id]/delete/route.js.nft.json +1 -0
- package/.next/server/app/api/error-items/[id]/delete/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/error-items/[id]/figure/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/error-items/[id]/figure/route/build-manifest.json +12 -0
- package/.next/server/app/api/error-items/[id]/figure/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/error-items/[id]/figure/route.js +15 -0
- package/.next/server/app/api/error-items/[id]/figure/route.js.map +5 -0
- package/.next/server/app/api/error-items/[id]/figure/route.js.nft.json +1 -0
- package/.next/server/app/api/error-items/[id]/figure/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/error-items/[id]/fix-latex/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/error-items/[id]/fix-latex/route/build-manifest.json +12 -0
- package/.next/server/app/api/error-items/[id]/fix-latex/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/error-items/[id]/fix-latex/route.js +16 -0
- package/.next/server/app/api/error-items/[id]/fix-latex/route.js.map +5 -0
- package/.next/server/app/api/error-items/[id]/fix-latex/route.js.nft.json +1 -0
- package/.next/server/app/api/error-items/[id]/fix-latex/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/error-items/[id]/geogebra/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/error-items/[id]/geogebra/route/build-manifest.json +12 -0
- package/.next/server/app/api/error-items/[id]/geogebra/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/error-items/[id]/geogebra/route.js +15 -0
- package/.next/server/app/api/error-items/[id]/geogebra/route.js.map +5 -0
- package/.next/server/app/api/error-items/[id]/geogebra/route.js.nft.json +1 -0
- package/.next/server/app/api/error-items/[id]/geogebra/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/error-items/[id]/image/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/error-items/[id]/image/route/build-manifest.json +12 -0
- package/.next/server/app/api/error-items/[id]/image/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/error-items/[id]/image/route.js +9 -0
- package/.next/server/app/api/error-items/[id]/image/route.js.map +5 -0
- package/.next/server/app/api/error-items/[id]/image/route.js.nft.json +1 -0
- package/.next/server/app/api/error-items/[id]/image/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/error-items/[id]/mastery/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/error-items/[id]/mastery/route/build-manifest.json +12 -0
- package/.next/server/app/api/error-items/[id]/mastery/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/error-items/[id]/mastery/route.js +8 -0
- package/.next/server/app/api/error-items/[id]/mastery/route.js.map +5 -0
- package/.next/server/app/api/error-items/[id]/mastery/route.js.nft.json +1 -0
- package/.next/server/app/api/error-items/[id]/mastery/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/error-items/[id]/notes/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/error-items/[id]/notes/route/build-manifest.json +12 -0
- package/.next/server/app/api/error-items/[id]/notes/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/error-items/[id]/notes/route.js +8 -0
- package/.next/server/app/api/error-items/[id]/notes/route.js.map +5 -0
- package/.next/server/app/api/error-items/[id]/notes/route.js.nft.json +1 -0
- package/.next/server/app/api/error-items/[id]/notes/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/error-items/[id]/practice-records/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/error-items/[id]/practice-records/route/build-manifest.json +12 -0
- package/.next/server/app/api/error-items/[id]/practice-records/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/error-items/[id]/practice-records/route.js +8 -0
- package/.next/server/app/api/error-items/[id]/practice-records/route.js.map +5 -0
- package/.next/server/app/api/error-items/[id]/practice-records/route.js.nft.json +1 -0
- package/.next/server/app/api/error-items/[id]/practice-records/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/error-items/[id]/reanswer/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/error-items/[id]/reanswer/route/build-manifest.json +12 -0
- package/.next/server/app/api/error-items/[id]/reanswer/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/error-items/[id]/reanswer/route.js +15 -0
- package/.next/server/app/api/error-items/[id]/reanswer/route.js.map +5 -0
- package/.next/server/app/api/error-items/[id]/reanswer/route.js.nft.json +1 -0
- package/.next/server/app/api/error-items/[id]/reanswer/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/error-items/[id]/retag/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/error-items/[id]/retag/route/build-manifest.json +12 -0
- package/.next/server/app/api/error-items/[id]/retag/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/error-items/[id]/retag/route.js +16 -0
- package/.next/server/app/api/error-items/[id]/retag/route.js.map +5 -0
- package/.next/server/app/api/error-items/[id]/retag/route.js.nft.json +1 -0
- package/.next/server/app/api/error-items/[id]/retag/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/error-items/[id]/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/error-items/[id]/route/build-manifest.json +12 -0
- package/.next/server/app/api/error-items/[id]/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/error-items/[id]/route.js +9 -0
- package/.next/server/app/api/error-items/[id]/route.js.map +5 -0
- package/.next/server/app/api/error-items/[id]/route.js.nft.json +1 -0
- package/.next/server/app/api/error-items/[id]/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/error-items/[id]/svg-animation/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/error-items/[id]/svg-animation/route/build-manifest.json +12 -0
- package/.next/server/app/api/error-items/[id]/svg-animation/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/error-items/[id]/svg-animation/route.js +16 -0
- package/.next/server/app/api/error-items/[id]/svg-animation/route.js.map +5 -0
- package/.next/server/app/api/error-items/[id]/svg-animation/route.js.nft.json +1 -0
- package/.next/server/app/api/error-items/[id]/svg-animation/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/error-items/batch-delete/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/error-items/batch-delete/route/build-manifest.json +12 -0
- package/.next/server/app/api/error-items/batch-delete/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/error-items/batch-delete/route.js +8 -0
- package/.next/server/app/api/error-items/batch-delete/route.js.map +5 -0
- package/.next/server/app/api/error-items/batch-delete/route.js.nft.json +1 -0
- package/.next/server/app/api/error-items/batch-delete/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/error-items/clear/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/error-items/clear/route/build-manifest.json +12 -0
- package/.next/server/app/api/error-items/clear/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/error-items/clear/route.js +8 -0
- package/.next/server/app/api/error-items/clear/route.js.map +5 -0
- package/.next/server/app/api/error-items/clear/route.js.nft.json +1 -0
- package/.next/server/app/api/error-items/clear/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/error-items/list/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/error-items/list/route/build-manifest.json +12 -0
- package/.next/server/app/api/error-items/list/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/error-items/list/route.js +10 -0
- package/.next/server/app/api/error-items/list/route.js.map +5 -0
- package/.next/server/app/api/error-items/list/route.js.nft.json +1 -0
- package/.next/server/app/api/error-items/list/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/error-items/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/error-items/route/build-manifest.json +12 -0
- package/.next/server/app/api/error-items/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/error-items/route.js +17 -0
- package/.next/server/app/api/error-items/route.js.map +5 -0
- package/.next/server/app/api/error-items/route.js.nft.json +1 -0
- package/.next/server/app/api/error-items/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/error-items/short/[shortId]/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/error-items/short/[shortId]/route/build-manifest.json +12 -0
- package/.next/server/app/api/error-items/short/[shortId]/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/error-items/short/[shortId]/route.js +8 -0
- package/.next/server/app/api/error-items/short/[shortId]/route.js.map +5 -0
- package/.next/server/app/api/error-items/short/[shortId]/route.js.nft.json +1 -0
- package/.next/server/app/api/error-items/short/[shortId]/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/error-items/similarity/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/error-items/similarity/route/build-manifest.json +12 -0
- package/.next/server/app/api/error-items/similarity/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/error-items/similarity/route.js +9 -0
- package/.next/server/app/api/error-items/similarity/route.js.map +5 -0
- package/.next/server/app/api/error-items/similarity/route.js.nft.json +1 -0
- package/.next/server/app/api/error-items/similarity/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/exams/[id]/questions/[questionId]/regenerate/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/exams/[id]/questions/[questionId]/regenerate/route/build-manifest.json +12 -0
- package/.next/server/app/api/exams/[id]/questions/[questionId]/regenerate/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/exams/[id]/questions/[questionId]/regenerate/route.js +16 -0
- package/.next/server/app/api/exams/[id]/questions/[questionId]/regenerate/route.js.map +5 -0
- package/.next/server/app/api/exams/[id]/questions/[questionId]/regenerate/route.js.nft.json +1 -0
- package/.next/server/app/api/exams/[id]/questions/[questionId]/regenerate/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/exams/[id]/results/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/exams/[id]/results/route/build-manifest.json +12 -0
- package/.next/server/app/api/exams/[id]/results/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/exams/[id]/results/route.js +16 -0
- package/.next/server/app/api/exams/[id]/results/route.js.map +5 -0
- package/.next/server/app/api/exams/[id]/results/route.js.nft.json +1 -0
- package/.next/server/app/api/exams/[id]/results/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/exams/[id]/retry/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/exams/[id]/retry/route/build-manifest.json +12 -0
- package/.next/server/app/api/exams/[id]/retry/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/exams/[id]/retry/route.js +16 -0
- package/.next/server/app/api/exams/[id]/retry/route.js.map +5 -0
- package/.next/server/app/api/exams/[id]/retry/route.js.nft.json +1 -0
- package/.next/server/app/api/exams/[id]/retry/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/exams/[id]/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/exams/[id]/route/build-manifest.json +12 -0
- package/.next/server/app/api/exams/[id]/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/exams/[id]/route.js +16 -0
- package/.next/server/app/api/exams/[id]/route.js.map +5 -0
- package/.next/server/app/api/exams/[id]/route.js.nft.json +1 -0
- package/.next/server/app/api/exams/[id]/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/exams/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/exams/route/build-manifest.json +12 -0
- package/.next/server/app/api/exams/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/exams/route.js +16 -0
- package/.next/server/app/api/exams/route.js.map +5 -0
- package/.next/server/app/api/exams/route.js.nft.json +1 -0
- package/.next/server/app/api/exams/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/export/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/export/route/build-manifest.json +12 -0
- package/.next/server/app/api/export/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/export/route.js +10 -0
- package/.next/server/app/api/export/route.js.map +5 -0
- package/.next/server/app/api/export/route.js.nft.json +1 -0
- package/.next/server/app/api/export/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/geogebra-analyze/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/geogebra-analyze/route/build-manifest.json +12 -0
- package/.next/server/app/api/geogebra-analyze/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/geogebra-analyze/route.js +15 -0
- package/.next/server/app/api/geogebra-analyze/route.js.map +5 -0
- package/.next/server/app/api/geogebra-analyze/route.js.nft.json +1 -0
- package/.next/server/app/api/geogebra-analyze/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/health/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/health/route/build-manifest.json +12 -0
- package/.next/server/app/api/health/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/health/route.js +7 -0
- package/.next/server/app/api/health/route.js.map +5 -0
- package/.next/server/app/api/health/route.js.nft.json +1 -0
- package/.next/server/app/api/health/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/import/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/import/route/build-manifest.json +12 -0
- package/.next/server/app/api/import/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/import/route.js +17 -0
- package/.next/server/app/api/import/route.js.map +5 -0
- package/.next/server/app/api/import/route.js.nft.json +1 -0
- package/.next/server/app/api/import/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/logs/frontend/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/logs/frontend/route/build-manifest.json +12 -0
- package/.next/server/app/api/logs/frontend/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/logs/frontend/route.js +8 -0
- package/.next/server/app/api/logs/frontend/route.js.map +5 -0
- package/.next/server/app/api/logs/frontend/route.js.nft.json +1 -0
- package/.next/server/app/api/logs/frontend/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/notebooks/[id]/retag/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/notebooks/[id]/retag/route/build-manifest.json +12 -0
- package/.next/server/app/api/notebooks/[id]/retag/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/notebooks/[id]/retag/route.js +16 -0
- package/.next/server/app/api/notebooks/[id]/retag/route.js.map +5 -0
- package/.next/server/app/api/notebooks/[id]/retag/route.js.nft.json +1 -0
- package/.next/server/app/api/notebooks/[id]/retag/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/notebooks/[id]/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/notebooks/[id]/route/build-manifest.json +12 -0
- package/.next/server/app/api/notebooks/[id]/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/notebooks/[id]/route.js +9 -0
- package/.next/server/app/api/notebooks/[id]/route.js.map +5 -0
- package/.next/server/app/api/notebooks/[id]/route.js.nft.json +1 -0
- package/.next/server/app/api/notebooks/[id]/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/notebooks/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/notebooks/route/build-manifest.json +12 -0
- package/.next/server/app/api/notebooks/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/notebooks/route.js +10 -0
- package/.next/server/app/api/notebooks/route.js.map +5 -0
- package/.next/server/app/api/notebooks/route.js.nft.json +1 -0
- package/.next/server/app/api/notebooks/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/openclaw/batch-upload/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/openclaw/batch-upload/route/build-manifest.json +12 -0
- package/.next/server/app/api/openclaw/batch-upload/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/openclaw/batch-upload/route.js +15 -0
- package/.next/server/app/api/openclaw/batch-upload/route.js.map +5 -0
- package/.next/server/app/api/openclaw/batch-upload/route.js.nft.json +1 -0
- package/.next/server/app/api/openclaw/batch-upload/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/practice/generate/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/practice/generate/route/build-manifest.json +12 -0
- package/.next/server/app/api/practice/generate/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/practice/generate/route.js +15 -0
- package/.next/server/app/api/practice/generate/route.js.map +5 -0
- package/.next/server/app/api/practice/generate/route.js.nft.json +1 -0
- package/.next/server/app/api/practice/generate/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/practice/record/[id]/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/practice/record/[id]/route/build-manifest.json +12 -0
- package/.next/server/app/api/practice/record/[id]/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/practice/record/[id]/route.js +15 -0
- package/.next/server/app/api/practice/record/[id]/route.js.map +5 -0
- package/.next/server/app/api/practice/record/[id]/route.js.nft.json +1 -0
- package/.next/server/app/api/practice/record/[id]/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/practice/record/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/practice/record/route/build-manifest.json +12 -0
- package/.next/server/app/api/practice/record/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/practice/record/route.js +15 -0
- package/.next/server/app/api/practice/record/route.js.map +5 -0
- package/.next/server/app/api/practice/record/route.js.nft.json +1 -0
- package/.next/server/app/api/practice/record/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/reanswer/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/reanswer/route/build-manifest.json +12 -0
- package/.next/server/app/api/reanswer/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/reanswer/route.js +15 -0
- package/.next/server/app/api/reanswer/route.js.map +5 -0
- package/.next/server/app/api/reanswer/route.js.nft.json +1 -0
- package/.next/server/app/api/reanswer/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/register/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/register/route/build-manifest.json +12 -0
- package/.next/server/app/api/register/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/register/route.js +9 -0
- package/.next/server/app/api/register/route.js.map +5 -0
- package/.next/server/app/api/register/route.js.nft.json +1 -0
- package/.next/server/app/api/register/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/register/status/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/register/status/route/build-manifest.json +12 -0
- package/.next/server/app/api/register/status/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/register/status/route.js +8 -0
- package/.next/server/app/api/register/status/route.js.map +5 -0
- package/.next/server/app/api/register/status/route.js.nft.json +1 -0
- package/.next/server/app/api/register/status/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/settings/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/settings/route/build-manifest.json +12 -0
- package/.next/server/app/api/settings/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/settings/route.js +9 -0
- package/.next/server/app/api/settings/route.js.map +5 -0
- package/.next/server/app/api/settings/route.js.nft.json +1 -0
- package/.next/server/app/api/settings/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/stats/practice/clear/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/stats/practice/clear/route/build-manifest.json +12 -0
- package/.next/server/app/api/stats/practice/clear/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/stats/practice/clear/route.js +8 -0
- package/.next/server/app/api/stats/practice/clear/route.js.map +5 -0
- package/.next/server/app/api/stats/practice/clear/route.js.nft.json +1 -0
- package/.next/server/app/api/stats/practice/clear/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/stats/practice/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/stats/practice/route/build-manifest.json +12 -0
- package/.next/server/app/api/stats/practice/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/stats/practice/route.js +9 -0
- package/.next/server/app/api/stats/practice/route.js.map +5 -0
- package/.next/server/app/api/stats/practice/route.js.nft.json +1 -0
- package/.next/server/app/api/stats/practice/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/tags/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/tags/route/build-manifest.json +12 -0
- package/.next/server/app/api/tags/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/tags/route.js +9 -0
- package/.next/server/app/api/tags/route.js.map +5 -0
- package/.next/server/app/api/tags/route.js.nft.json +1 -0
- package/.next/server/app/api/tags/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/tags/stats/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/tags/stats/route/build-manifest.json +12 -0
- package/.next/server/app/api/tags/stats/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/tags/stats/route.js +8 -0
- package/.next/server/app/api/tags/stats/route.js.map +5 -0
- package/.next/server/app/api/tags/stats/route.js.nft.json +1 -0
- package/.next/server/app/api/tags/stats/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/tags/suggestions/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/tags/suggestions/route/build-manifest.json +12 -0
- package/.next/server/app/api/tags/suggestions/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/tags/suggestions/route.js +8 -0
- package/.next/server/app/api/tags/suggestions/route.js.map +5 -0
- package/.next/server/app/api/tags/suggestions/route.js.nft.json +1 -0
- package/.next/server/app/api/tags/suggestions/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/tasks/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/tasks/route/build-manifest.json +12 -0
- package/.next/server/app/api/tasks/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/tasks/route.js +8 -0
- package/.next/server/app/api/tasks/route.js.map +5 -0
- package/.next/server/app/api/tasks/route.js.nft.json +1 -0
- package/.next/server/app/api/tasks/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/user/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/user/route/build-manifest.json +12 -0
- package/.next/server/app/api/user/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/user/route.js +10 -0
- package/.next/server/app/api/user/route.js.map +5 -0
- package/.next/server/app/api/user/route.js.nft.json +1 -0
- package/.next/server/app/api/user/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/version/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/version/route/build-manifest.json +12 -0
- package/.next/server/app/api/version/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/version/route.js +7 -0
- package/.next/server/app/api/version/route.js.map +5 -0
- package/.next/server/app/api/version/route.js.nft.json +1 -0
- package/.next/server/app/api/version/route_client-reference-manifest.js +3 -0
- package/.next/server/app/error-items/[id]/page/app-paths-manifest.json +3 -0
- package/.next/server/app/error-items/[id]/page/build-manifest.json +20 -0
- package/.next/server/app/error-items/[id]/page/next-font-manifest.json +11 -0
- package/.next/server/app/error-items/[id]/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/error-items/[id]/page/server-reference-manifest.json +4 -0
- package/.next/server/app/error-items/[id]/page.js +14 -0
- package/.next/server/app/error-items/[id]/page.js.map +5 -0
- package/.next/server/app/error-items/[id]/page.js.nft.json +1 -0
- package/.next/server/app/error-items/[id]/page_client-reference-manifest.js +3 -0
- package/.next/server/app/exams/[id]/page/app-paths-manifest.json +3 -0
- package/.next/server/app/exams/[id]/page/build-manifest.json +20 -0
- package/.next/server/app/exams/[id]/page/next-font-manifest.json +11 -0
- package/.next/server/app/exams/[id]/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/exams/[id]/page/server-reference-manifest.json +4 -0
- package/.next/server/app/exams/[id]/page.js +14 -0
- package/.next/server/app/exams/[id]/page.js.map +5 -0
- package/.next/server/app/exams/[id]/page.js.nft.json +1 -0
- package/.next/server/app/exams/[id]/page_client-reference-manifest.js +3 -0
- package/.next/server/app/exams/[id]/print/page/app-paths-manifest.json +3 -0
- package/.next/server/app/exams/[id]/print/page/build-manifest.json +20 -0
- package/.next/server/app/exams/[id]/print/page/next-font-manifest.json +11 -0
- package/.next/server/app/exams/[id]/print/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/exams/[id]/print/page/server-reference-manifest.json +4 -0
- package/.next/server/app/exams/[id]/print/page.js +14 -0
- package/.next/server/app/exams/[id]/print/page.js.map +5 -0
- package/.next/server/app/exams/[id]/print/page.js.nft.json +1 -0
- package/.next/server/app/exams/[id]/print/page_client-reference-manifest.js +3 -0
- package/.next/server/app/exams/page/app-paths-manifest.json +3 -0
- package/.next/server/app/exams/page/build-manifest.json +20 -0
- package/.next/server/app/exams/page/next-font-manifest.json +11 -0
- package/.next/server/app/exams/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/exams/page/server-reference-manifest.json +4 -0
- package/.next/server/app/exams/page.js +14 -0
- package/.next/server/app/exams/page.js.map +5 -0
- package/.next/server/app/exams/page.js.nft.json +1 -0
- package/.next/server/app/exams/page_client-reference-manifest.js +3 -0
- package/.next/server/app/favicon.ico/route/app-paths-manifest.json +3 -0
- package/.next/server/app/favicon.ico/route/build-manifest.json +12 -0
- package/.next/server/app/favicon.ico/route.js +8 -0
- package/.next/server/app/favicon.ico/route.js.map +5 -0
- package/.next/server/app/favicon.ico/route.js.nft.json +1 -0
- package/.next/server/app/favicon.ico.body +0 -0
- package/.next/server/app/favicon.ico.meta +1 -0
- package/.next/server/app/latex-test/page/app-paths-manifest.json +3 -0
- package/.next/server/app/latex-test/page/build-manifest.json +20 -0
- package/.next/server/app/latex-test/page/next-font-manifest.json +11 -0
- package/.next/server/app/latex-test/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/latex-test/page/server-reference-manifest.json +4 -0
- package/.next/server/app/latex-test/page.js +14 -0
- package/.next/server/app/latex-test/page.js.map +5 -0
- package/.next/server/app/latex-test/page.js.nft.json +1 -0
- package/.next/server/app/latex-test/page_client-reference-manifest.js +3 -0
- package/.next/server/app/login/page/app-paths-manifest.json +3 -0
- package/.next/server/app/login/page/build-manifest.json +20 -0
- package/.next/server/app/login/page/next-font-manifest.json +11 -0
- package/.next/server/app/login/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/login/page/server-reference-manifest.json +4 -0
- package/.next/server/app/login/page.js +14 -0
- package/.next/server/app/login/page.js.map +5 -0
- package/.next/server/app/login/page.js.nft.json +1 -0
- package/.next/server/app/login/page_client-reference-manifest.js +3 -0
- package/.next/server/app/manifest.webmanifest/route/app-paths-manifest.json +3 -0
- package/.next/server/app/manifest.webmanifest/route/build-manifest.json +12 -0
- package/.next/server/app/manifest.webmanifest/route/server-reference-manifest.json +4 -0
- package/.next/server/app/manifest.webmanifest/route.js +8 -0
- package/.next/server/app/manifest.webmanifest/route.js.map +5 -0
- package/.next/server/app/manifest.webmanifest/route.js.nft.json +1 -0
- package/.next/server/app/manifest.webmanifest/route_client-reference-manifest.js +3 -0
- package/.next/server/app/manifest.webmanifest.body +1 -0
- package/.next/server/app/manifest.webmanifest.meta +1 -0
- package/.next/server/app/notebooks/[id]/add/page/app-paths-manifest.json +3 -0
- package/.next/server/app/notebooks/[id]/add/page/build-manifest.json +20 -0
- package/.next/server/app/notebooks/[id]/add/page/next-font-manifest.json +11 -0
- package/.next/server/app/notebooks/[id]/add/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/notebooks/[id]/add/page/server-reference-manifest.json +4 -0
- package/.next/server/app/notebooks/[id]/add/page.js +14 -0
- package/.next/server/app/notebooks/[id]/add/page.js.map +5 -0
- package/.next/server/app/notebooks/[id]/add/page.js.nft.json +1 -0
- package/.next/server/app/notebooks/[id]/add/page_client-reference-manifest.js +3 -0
- package/.next/server/app/notebooks/[id]/page/app-paths-manifest.json +3 -0
- package/.next/server/app/notebooks/[id]/page/build-manifest.json +20 -0
- package/.next/server/app/notebooks/[id]/page/next-font-manifest.json +11 -0
- package/.next/server/app/notebooks/[id]/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/notebooks/[id]/page/server-reference-manifest.json +4 -0
- package/.next/server/app/notebooks/[id]/page.js +14 -0
- package/.next/server/app/notebooks/[id]/page.js.map +5 -0
- package/.next/server/app/notebooks/[id]/page.js.nft.json +1 -0
- package/.next/server/app/notebooks/[id]/page_client-reference-manifest.js +3 -0
- package/.next/server/app/notebooks/page/app-paths-manifest.json +3 -0
- package/.next/server/app/notebooks/page/build-manifest.json +20 -0
- package/.next/server/app/notebooks/page/next-font-manifest.json +11 -0
- package/.next/server/app/notebooks/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/notebooks/page/server-reference-manifest.json +4 -0
- package/.next/server/app/notebooks/page.js +14 -0
- package/.next/server/app/notebooks/page.js.map +5 -0
- package/.next/server/app/notebooks/page.js.nft.json +1 -0
- package/.next/server/app/notebooks/page_client-reference-manifest.js +3 -0
- package/.next/server/app/page/app-paths-manifest.json +3 -0
- package/.next/server/app/page/build-manifest.json +20 -0
- package/.next/server/app/page/next-font-manifest.json +11 -0
- package/.next/server/app/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/page/server-reference-manifest.json +4 -0
- package/.next/server/app/page.js +14 -0
- package/.next/server/app/page.js.map +5 -0
- package/.next/server/app/page.js.nft.json +1 -0
- package/.next/server/app/page_client-reference-manifest.js +3 -0
- package/.next/server/app/practice/page/app-paths-manifest.json +3 -0
- package/.next/server/app/practice/page/build-manifest.json +20 -0
- package/.next/server/app/practice/page/next-font-manifest.json +11 -0
- package/.next/server/app/practice/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/practice/page/server-reference-manifest.json +4 -0
- package/.next/server/app/practice/page.js +14 -0
- package/.next/server/app/practice/page.js.map +5 -0
- package/.next/server/app/practice/page.js.nft.json +1 -0
- package/.next/server/app/practice/page_client-reference-manifest.js +3 -0
- package/.next/server/app/print-preview/page/app-paths-manifest.json +3 -0
- package/.next/server/app/print-preview/page/build-manifest.json +20 -0
- package/.next/server/app/print-preview/page/next-font-manifest.json +11 -0
- package/.next/server/app/print-preview/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/print-preview/page/server-reference-manifest.json +4 -0
- package/.next/server/app/print-preview/page.js +14 -0
- package/.next/server/app/print-preview/page.js.map +5 -0
- package/.next/server/app/print-preview/page.js.nft.json +1 -0
- package/.next/server/app/print-preview/page_client-reference-manifest.js +3 -0
- package/.next/server/app/register/page/app-paths-manifest.json +3 -0
- package/.next/server/app/register/page/build-manifest.json +20 -0
- package/.next/server/app/register/page/next-font-manifest.json +11 -0
- package/.next/server/app/register/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/register/page/server-reference-manifest.json +4 -0
- package/.next/server/app/register/page.js +14 -0
- package/.next/server/app/register/page.js.map +5 -0
- package/.next/server/app/register/page.js.nft.json +1 -0
- package/.next/server/app/register/page_client-reference-manifest.js +3 -0
- package/.next/server/app/stats/page/app-paths-manifest.json +3 -0
- package/.next/server/app/stats/page/build-manifest.json +20 -0
- package/.next/server/app/stats/page/next-font-manifest.json +11 -0
- package/.next/server/app/stats/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/stats/page/server-reference-manifest.json +4 -0
- package/.next/server/app/stats/page.js +14 -0
- package/.next/server/app/stats/page.js.map +5 -0
- package/.next/server/app/stats/page.js.nft.json +1 -0
- package/.next/server/app/stats/page_client-reference-manifest.js +3 -0
- package/.next/server/app/tags/page/app-paths-manifest.json +3 -0
- package/.next/server/app/tags/page/build-manifest.json +20 -0
- package/.next/server/app/tags/page/next-font-manifest.json +11 -0
- package/.next/server/app/tags/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/tags/page/server-reference-manifest.json +4 -0
- package/.next/server/app/tags/page.js +14 -0
- package/.next/server/app/tags/page.js.map +5 -0
- package/.next/server/app/tags/page.js.nft.json +1 -0
- package/.next/server/app/tags/page_client-reference-manifest.js +3 -0
- package/.next/server/app-paths-manifest.json +81 -0
- package/.next/server/chunks/1jng_app_api_exams_[id]_questions_[questionId]_regenerate_route_actions_1ggead3.js +3 -0
- package/.next/server/chunks/1oeh_server_app_api_error-items_[id]_practice-records_route_actions_0z2zuf1.js +3 -0
- package/.next/server/chunks/1oeh_server_app_api_error-items_[id]_svg-animation_route_actions_17gckf3.js +3 -0
- package/.next/server/chunks/[externals]__04n7qbr._.js +3 -0
- package/.next/server/chunks/[externals]__0pot68n._.js +3 -0
- package/.next/server/chunks/[externals]__1735khz._.js +3 -0
- package/.next/server/chunks/[externals]_assert_1pwe1ri._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0-8hf14._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__00_hq9v._.js +153 -0
- package/.next/server/chunks/[root-of-the-server]__00m7v48._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__01bzczj._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__01m28mx._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__04mu6-m._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__04tyyvs._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__05no8nw._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__05s4wut._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__06h5afw._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__07jl92a._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__07nvz1d._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__08gak8r._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__08zi-xg._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0994h9l._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0_t7bbz._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0akadps._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0b3nww4._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0bs5unr._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0c59gc3._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0dfbwm3._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0e22a4y._.js +122 -0
- package/.next/server/chunks/[root-of-the-server]__0els3c1._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0gp88gz._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0gpohuv._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0grkic-._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0hj9oe2._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0inxsnu._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0j-gv3-._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0jaawra._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0je3zje._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0m8p-6f._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0m_f8ct._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0na-z2m._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0nqbham._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0ns_tws._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0p3hkz7._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0pli74s._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0qaih8c._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0ra48rd._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0rk_yxy._.js +9 -0
- package/.next/server/chunks/[root-of-the-server]__0sh6-yu._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0ssagl1._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0u58zap._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0ws6c0v._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0yc8r2x._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0ydrrdj._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0yds0ae._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0ynfeq-._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0z-sjqh._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0zp1e41._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__108ydjw._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__10yghm_._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__11-sf2-._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__11wobg2._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__122xu-0._.js +32 -0
- package/.next/server/chunks/[root-of-the-server]__13_c7nc._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__13ebiit._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1413v0e._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__14pcopd._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__150ei9u._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__15g7yjy._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__15tkoe6._.js +10 -0
- package/.next/server/chunks/[root-of-the-server]__19nm3y_._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__19vj8qy._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1_gkx5x._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1a4i9sz._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1cn6rlb._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1csfdxc._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1e3crdc._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1ezwxao._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1g-xe1f._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1g1wi9i._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1g3usdn._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1gmc_uw._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1hmv25w._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1hpwwxw._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1hq73__._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1jtd2ar._.js +6 -0
- package/.next/server/chunks/[root-of-the-server]__1kqv61m._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1m4-ab6._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1nmtv65._.js +10 -0
- package/.next/server/chunks/[root-of-the-server]__1oup682._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1ouzjax._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1pcgq22._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1pplzr1._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1q5nt5y._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1qt6_3b._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1sdtn83._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1utxo11._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1v1dgs2._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1v9b8go._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1vw740y._.js +32 -0
- package/.next/server/chunks/[root-of-the-server]__1vzxn91._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1wgn76g._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1wkh9sj._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1xcmja4._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1y6fx9-._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1zos_p4._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1zp0oig._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__203q6el._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__20bun16._.js +3 -0
- package/.next/server/chunks/[turbopack]_runtime.js +939 -0
- package/.next/server/chunks/_008zx49._.js +3 -0
- package/.next/server/chunks/_011-ll5._.js +3 -0
- package/.next/server/chunks/_0431fxn._.js +3 -0
- package/.next/server/chunks/_0ae3z2e._.js +3 -0
- package/.next/server/chunks/_0c5hvv3._.js +11 -0
- package/.next/server/chunks/_0ekrwj-._.js +36 -0
- package/.next/server/chunks/_0frix22._.js +11 -0
- package/.next/server/chunks/_0gxi3zr._.js +3 -0
- package/.next/server/chunks/_0lz3t4l._.js +19 -0
- package/.next/server/chunks/_0o1p57f._.js +3 -0
- package/.next/server/chunks/_0t6g4yt._.js +3 -0
- package/.next/server/chunks/_0uxp3uh._.js +3 -0
- package/.next/server/chunks/_0x3ltk0._.js +36 -0
- package/.next/server/chunks/_12w5k19._.js +3 -0
- package/.next/server/chunks/_13ffmxv._.js +3 -0
- package/.next/server/chunks/_14tz_k9._.js +3 -0
- package/.next/server/chunks/_16jdov0._.js +3 -0
- package/.next/server/chunks/_18amra5._.js +3 -0
- package/.next/server/chunks/_19fidvw._.js +3 -0
- package/.next/server/chunks/_1_ns7o3._.js +3 -0
- package/.next/server/chunks/_1a1aqmi._.js +3 -0
- package/.next/server/chunks/_1a1udq0._.js +3 -0
- package/.next/server/chunks/_1b0269x._.js +3 -0
- package/.next/server/chunks/_1b7qjlv._.js +3 -0
- package/.next/server/chunks/_1be-y66._.js +3 -0
- package/.next/server/chunks/_1ex6ovo._.js +3 -0
- package/.next/server/chunks/_1fgb9ve._.js +3 -0
- package/.next/server/chunks/_1m-yyz-._.js +3 -0
- package/.next/server/chunks/_1oj6gy_._.js +3 -0
- package/.next/server/chunks/_1oqpwh8._.js +3 -0
- package/.next/server/chunks/_1q5w9fc._.js +3 -0
- package/.next/server/chunks/_1ve0z0w._.js +3 -0
- package/.next/server/chunks/_1z_ujac._.js +3 -0
- package/.next/server/chunks/_211va-d._.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_admin_dashboard_route_actions_1ispso-.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_admin_migrate-tags_route_actions_1ztwxhx.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_admin_system-reset_route_actions_15aselt.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_admin_users_[id]_detail_route_actions_0oe_wkt.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_admin_users_[id]_route_actions_1hhpuc4.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_admin_users_route_actions_0q-rtz1.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_ai_models_route_actions_0w7iwv-.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_ai_test_route_actions_1p0n1q8.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_analytics_route_actions_1e0ou17.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_analyze_route_actions_0lx-23h.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_auth_[___nextauth]_route_actions_08nexdk.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_error-items_[id]_delete_route_actions_1w26boq.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_error-items_[id]_figure_route_actions_0adlts0.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_error-items_[id]_fix-latex_route_actions_0hc7dhx.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_error-items_[id]_geogebra_route_actions_1-ks4uv.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_error-items_[id]_image_route_actions_1k9n5yl.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_error-items_[id]_mastery_route_actions_1l5uan6.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_error-items_[id]_notes_route_actions_1cjux7z.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_error-items_[id]_reanswer_route_actions_1-sw0j2.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_error-items_[id]_retag_route_actions_0ckki4n.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_error-items_[id]_route_actions_1kbs4ux.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_error-items_batch-delete_route_actions_0hiq_1k.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_error-items_clear_route_actions_14t_6i-.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_error-items_list_route_actions_032x4ue.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_error-items_route_actions_1zdvz0p.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_error-items_short_[shortId]_route_actions_02976v-.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_error-items_similarity_route_actions_1i26if9.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_exams_[id]_results_route_actions_1v3vhi4.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_exams_[id]_retry_route_actions_1fdi39f.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_exams_[id]_route_actions_1wuidrq.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_exams_route_actions_1c_zhtj.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_export_route_actions_0lpcnjc.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_geogebra-analyze_route_actions_1xng0_c.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_health_route_actions_1ryftkb.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_import_route_actions_20ko04x.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_logs_frontend_route_actions_0nxepty.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_notebooks_[id]_retag_route_actions_00su_t8.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_notebooks_[id]_route_actions_11j3vxg.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_notebooks_route_actions_02cy45r.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_openclaw_batch-upload_route_actions_1zz3oen.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_practice_generate_route_actions_1krr9n_.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_practice_record_[id]_route_actions_0zreiom.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_practice_record_route_actions_0py9z__.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_reanswer_route_actions_04xweh_.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_register_route_actions_0vlzh_c.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_register_status_route_actions_0b52_sj.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_settings_route_actions_1bpm9ac.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_stats_practice_clear_route_actions_1iz6iz0.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_stats_practice_route_actions_1tfoxx-.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_tags_route_actions_1nb9ma2.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_tags_stats_route_actions_0fmeadc.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_tags_suggestions_route_actions_1xpolyv.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_tasks_route_actions_123tq1_.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_user_route_actions_1k-4clg.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_version_route_actions_0kbx30h.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_favicon_ico_route_actions_0g2jjls.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_manifest_webmanifest_route_actions_08hcpz0.js +3 -0
- package/.next/server/chunks/node_modules_next_1zdbrne._.js +10 -0
- package/.next/server/chunks/node_modules_zod_v4_classic_external_1-pw2v2.js +22 -0
- package/.next/server/chunks/src_0tzpy5j._.js +3 -0
- package/.next/server/chunks/src_lib_ai_prompts_ts_0z36zms._.js +554 -0
- package/.next/server/chunks/src_lib_date-time_ts_14chb27._.js +3 -0
- package/.next/server/chunks/src_lib_question-deduplication_ts_1p1bik-._.js +3 -0
- package/.next/server/chunks/ssr/[externals]_fs_0pplqgc._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__00gewu3._.js +35 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__05f8wbh._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0a0nty7._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0ax9dog._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0b8kewv._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0bvtza7._.js +33 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0g_-bym._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0gwwr7e._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0hzktoi._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0icjezr._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0koj8h0._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0s87xha._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0snpjfe._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0y_e9do._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0ybs_4c._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__14l7peq._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1507q8a._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__15ppb9j._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__191jn5n._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1f2jx51._.js +33 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1gth76-._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1ko_dw5._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1l84pks._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1m7qw-2._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1ma2oml._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1o8jotz._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1o__w27._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1p7f0va._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1sg9eoj._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1u74hyi._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1xsovpr._.js +3 -0
- package/.next/server/chunks/ssr/[turbopack]_runtime.js +939 -0
- package/.next/server/chunks/ssr/_054yhx9._.js +3 -0
- package/.next/server/chunks/ssr/_07ls0n_._.js +3 -0
- package/.next/server/chunks/ssr/_0i9hwpv._.js +3 -0
- package/.next/server/chunks/ssr/_0iqp5hs._.js +3 -0
- package/.next/server/chunks/ssr/_0m1-rq-._.js +3 -0
- package/.next/server/chunks/ssr/_0mgbe2b._.js +3 -0
- package/.next/server/chunks/ssr/_0nv22wt._.js +3 -0
- package/.next/server/chunks/ssr/_0rz2_qb._.js +151 -0
- package/.next/server/chunks/ssr/_0sbbx9z._.js +7 -0
- package/.next/server/chunks/ssr/_0sf1gd9._.js +3 -0
- package/.next/server/chunks/ssr/_0uemk57._.js +3 -0
- package/.next/server/chunks/ssr/_0zj7dlu._.js +3 -0
- package/.next/server/chunks/ssr/_12c20v5._.js +3 -0
- package/.next/server/chunks/ssr/_17igtpd._.js +3 -0
- package/.next/server/chunks/ssr/_1filpif._.js +3 -0
- package/.next/server/chunks/ssr/_1gu1rou._.js +3 -0
- package/.next/server/chunks/ssr/_1jniqsj._.js +3 -0
- package/.next/server/chunks/ssr/_1kgnhmo._.js +8 -0
- package/.next/server/chunks/ssr/_1lt1lhz._.js +8 -0
- package/.next/server/chunks/ssr/_1yeu09q._.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app__global-error_page_actions_0zi5s8-.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app__not-found_page_actions_0pt47yr.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_admin_page_actions_1mcickz.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_admin_user_[id]_page_actions_0baj8gs.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_error-items_[id]_page_actions_0qla9ak.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_exams_[id]_page_actions_1kushg5.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_exams_[id]_print_page_actions_0pxdgxq.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_exams_page_actions_0av69f-.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_latex-test_page_actions_19v7ka0.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_login_page_actions_04fnjo0.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_notebooks_[id]_add_page_actions_0275ft2.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_notebooks_[id]_page_actions_1qj0i-7.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_notebooks_page_actions_06x1kdz.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_page_actions_0hhsz1j.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_practice_page_actions_0cy-h5n.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_print-preview_page_actions_1jhaaln.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_register_page_actions_1op-s-x.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_stats_page_actions_1olf1_a.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_tags_page_actions_20v_n--.js +3 -0
- package/.next/server/chunks/ssr/node_modules_0o2aki7._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_1y5ym6h._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_1lnqo1a._.js +5 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_077yo5w._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_0nkkbfv._.js +6 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_1_c-t1n._.js +14 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_1v8aef8._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_0bew68i._.js +33 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_0wpq8j3._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_forbidden_0symwr9.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_global-error_0q-w892.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_unauthorized_0l_sp0x.js +3 -0
- package/.next/server/chunks/ssr/src_1biegcg._.js +3 -0
- package/.next/server/chunks/ssr/src_1gayunq._.js +3 -0
- package/.next/server/chunks/ssr/src_1o363ao._.js +3 -0
- package/.next/server/chunks/ssr/src_app_admin_page_tsx_0ublbd0._.js +3 -0
- package/.next/server/chunks/ssr/src_app_error-items_[id]_page_tsx_04xwwdm._.js +3 -0
- package/.next/server/chunks/ssr/src_app_notebooks_[id]_page_tsx_08njm-5._.js +3 -0
- package/.next/server/chunks/ssr/src_app_notebooks_page_tsx_1p9src5._.js +3 -0
- package/.next/server/chunks/ssr/src_app_page_tsx_1chiuah._.js +3 -0
- package/.next/server/chunks/ssr/src_app_practice_page_tsx_10gnx53._.js +3 -0
- package/.next/server/chunks/ssr/src_app_tags_page_tsx_1h2vkk4._.js +3 -0
- package/.next/server/chunks/ssr/src_components_providers_tsx_09kw-mv._.js +193 -0
- package/.next/server/chunks/ssr/src_lib_date-time_ts_0oyqctn._.js +3 -0
- package/.next/server/edge/chunks/[root-of-the-server]__1osrt2u._.js +3 -0
- package/.next/server/edge/chunks/_1s0wgnu._.js +3 -0
- package/.next/server/edge/chunks/node_modules_0g4gi6f._.js +13 -0
- package/.next/server/edge/chunks/turbopack-node_modules_next_dist_esm_build_templates_edge-wrapper_1iafar9.js +3 -0
- package/.next/server/edge/chunks/turbopack-node_modules_next_dist_esm_build_templates_edge-wrapper_1x1n1fx.js +3 -0
- package/.next/server/functions-config-manifest.json +6 -0
- package/.next/server/instrumentation.js +4 -0
- package/.next/server/middleware-build-manifest.js +24 -0
- package/.next/server/middleware-manifest.json +36 -0
- package/.next/server/next-font-manifest.js +1 -0
- package/.next/server/next-font-manifest.json +79 -0
- package/.next/server/pages/500.html +1 -0
- package/.next/server/pages-manifest.json +3 -0
- package/.next/server/prefetch-hints.json +11 -0
- package/.next/server/server-reference-manifest.js +1 -0
- package/.next/server/server-reference-manifest.json +5 -0
- package/.next/static/OpwRvHtdhPgxve2rKkWkK/_buildManifest.js +11 -0
- package/.next/static/OpwRvHtdhPgxve2rKkWkK/_clientMiddlewareManifest.js +6 -0
- package/.next/static/OpwRvHtdhPgxve2rKkWkK/_ssgManifest.js +1 -0
- package/.next/static/chunks/00pn0o7lymln6.js +1 -0
- package/.next/static/chunks/02521degnqmf0.js +1 -0
- package/.next/static/chunks/05q4yafxnvtzs.js +1 -0
- package/.next/static/chunks/0_w084ms_lq25.js +22 -0
- package/.next/static/chunks/0cz1d0mv5g_q7.js +1 -0
- package/.next/static/chunks/0dzfsm6h13fyr.js +1 -0
- package/.next/static/chunks/0ehjiuuxbbhq9.js +1 -0
- package/.next/static/chunks/0iq53qkw5hvrs.js +1 -0
- package/.next/static/chunks/0lxsaj3bivcgo.css +1 -0
- package/.next/static/chunks/0m81l71kojx8j.js +1 -0
- package/.next/static/chunks/0nckb2-62ooyq.js +1 -0
- package/.next/static/chunks/0snej-v5yglxr.js +1 -0
- package/.next/static/chunks/1-7k9gbbjkcml.js +1 -0
- package/.next/static/chunks/1ad3ir88_e_v6.css +3 -0
- package/.next/static/chunks/1cd32rtomdngh.js +1 -0
- package/.next/static/chunks/1io3-cth_2-cd.js +1 -0
- package/.next/static/chunks/1oiuiyv1cv06v.js +31 -0
- package/.next/static/chunks/1t4-pobw0y5cf.js +1 -0
- package/.next/static/chunks/1xg811762s1p1.js +1 -0
- package/.next/static/chunks/1z_5sj1wqi06v.js +1 -0
- package/.next/static/chunks/29erttsjondpe.js +1 -0
- package/.next/static/chunks/2dlme2fdlkms6.js +1 -0
- package/.next/static/chunks/2h-exsnhkfnb8.js +1 -0
- package/.next/static/chunks/2pmzqbg-qabof.js +1 -0
- package/.next/static/chunks/2rmhba08h4qqo.js +33 -0
- package/.next/static/chunks/2s07soqug65hc.js +1 -0
- package/.next/static/chunks/2w2uo9jjxt-re.js +1 -0
- package/.next/static/chunks/2yl8a-gxngbuq.js +1 -0
- package/.next/static/chunks/31rxdwy0u_t29.js +1 -0
- package/.next/static/chunks/32bl-oqw9oso0.js +1 -0
- package/.next/static/chunks/35cov9g4cgt-v.js +1 -0
- package/.next/static/chunks/37g3bsrs22xg7.js +191 -0
- package/.next/static/chunks/3b-g5_r9nto3s.js +6 -0
- package/.next/static/chunks/3c4-ozf1dxam2.css +1 -0
- package/.next/static/chunks/3g1rm2suowncy.js +3 -0
- package/.next/static/chunks/3helovsg02qr4.js +1 -0
- package/.next/static/chunks/3jta6jrk-jubq.js +1 -0
- package/.next/static/chunks/3yhf6xyypekz6.js +1 -0
- package/.next/static/chunks/3z9gc_02gl8n9.js +1 -0
- package/.next/static/chunks/427wg73nuzpiz.js +5 -0
- package/.next/static/chunks/turbopack-1-0r7_puvz3eq.js +1 -0
- package/.next/static/media/GeistMono_Variable-s.p.0iy569vnmknd-.woff2 +0 -0
- package/.next/static/media/Geist_Variable-s.p.03oqkqkevsckn.woff2 +0 -0
- package/.next/static/media/KaTeX_AMS-Regular.10y3kupq4t663.woff +0 -0
- package/.next/static/media/KaTeX_AMS-Regular.25ieegmnh38ts.woff2 +0 -0
- package/.next/static/media/KaTeX_AMS-Regular.418dr7cz3fo2x.ttf +0 -0
- package/.next/static/media/KaTeX_Caligraphic-Bold.06b-ya9t43ioz.woff2 +0 -0
- package/.next/static/media/KaTeX_Caligraphic-Bold.2vmk2hva4ctha.woff +0 -0
- package/.next/static/media/KaTeX_Caligraphic-Bold.40ltxhe834pns.ttf +0 -0
- package/.next/static/media/KaTeX_Caligraphic-Regular.07-7u27-nhn_r.ttf +0 -0
- package/.next/static/media/KaTeX_Caligraphic-Regular.2eph4dlhid_m9.woff2 +0 -0
- package/.next/static/media/KaTeX_Caligraphic-Regular.3gxeetazf831f.woff +0 -0
- package/.next/static/media/KaTeX_Fraktur-Bold.19yqa_tc9d_gx.ttf +0 -0
- package/.next/static/media/KaTeX_Fraktur-Bold.1alcy76__wdj2.woff +0 -0
- package/.next/static/media/KaTeX_Fraktur-Bold.2sasz-d-jtw8y.woff2 +0 -0
- package/.next/static/media/KaTeX_Fraktur-Regular.110oo81prr9n5.woff +0 -0
- package/.next/static/media/KaTeX_Fraktur-Regular.2d10y4xmjvzlf.woff2 +0 -0
- package/.next/static/media/KaTeX_Fraktur-Regular.2qhy34r6a05dn.ttf +0 -0
- package/.next/static/media/KaTeX_Main-Bold.0us_n0tnxlxu7.ttf +0 -0
- package/.next/static/media/KaTeX_Main-Bold.0v1esh257kqpe.woff +0 -0
- package/.next/static/media/KaTeX_Main-Bold.3-rowy8o6_4ky.woff2 +0 -0
- package/.next/static/media/KaTeX_Main-BoldItalic.13355ck5zr48q.woff +0 -0
- package/.next/static/media/KaTeX_Main-BoldItalic.14r2naom8mrec.woff2 +0 -0
- package/.next/static/media/KaTeX_Main-BoldItalic.3x_u9cepaced0.ttf +0 -0
- package/.next/static/media/KaTeX_Main-Italic.0afv392dj4w59.woff +0 -0
- package/.next/static/media/KaTeX_Main-Italic.0lig0v9j0700p.woff2 +0 -0
- package/.next/static/media/KaTeX_Main-Italic.2hkw3230mfwcv.ttf +0 -0
- package/.next/static/media/KaTeX_Main-Regular.0symfa7dqj6jd.ttf +0 -0
- package/.next/static/media/KaTeX_Main-Regular.15u8r3b2y7fv4.woff +0 -0
- package/.next/static/media/KaTeX_Main-Regular.1ryvsdzh2w1_e.woff2 +0 -0
- package/.next/static/media/KaTeX_Math-BoldItalic.0y5w36a5aq__2.ttf +0 -0
- package/.next/static/media/KaTeX_Math-BoldItalic.12pl58orkw9rg.woff +0 -0
- package/.next/static/media/KaTeX_Math-BoldItalic.1oopuu636h4il.woff2 +0 -0
- package/.next/static/media/KaTeX_Math-Italic.0w0b1ugh62cfr.woff +0 -0
- package/.next/static/media/KaTeX_Math-Italic.2vkekfblmz5nb.ttf +0 -0
- package/.next/static/media/KaTeX_Math-Italic.32405s1aq8vas.woff2 +0 -0
- package/.next/static/media/KaTeX_SansSerif-Bold.0h3wi2z_eouyg.woff2 +0 -0
- package/.next/static/media/KaTeX_SansSerif-Bold.1ovw5p-yjp56g.woff +0 -0
- package/.next/static/media/KaTeX_SansSerif-Bold.2d03q85pwxpti.ttf +0 -0
- package/.next/static/media/KaTeX_SansSerif-Italic.0wkjc4dm2kcit.woff2 +0 -0
- package/.next/static/media/KaTeX_SansSerif-Italic.1qavw__2zz8gk.woff +0 -0
- package/.next/static/media/KaTeX_SansSerif-Italic.3i-q087b23-m8.ttf +0 -0
- package/.next/static/media/KaTeX_SansSerif-Regular.1i4afx8nk8n4r.woff +0 -0
- package/.next/static/media/KaTeX_SansSerif-Regular.2peiewu59z3d-.woff2 +0 -0
- package/.next/static/media/KaTeX_SansSerif-Regular.31pbu25feko_c.ttf +0 -0
- package/.next/static/media/KaTeX_Script-Regular.11h14300o9pd0.woff2 +0 -0
- package/.next/static/media/KaTeX_Script-Regular.28p_x7iz71ofe.ttf +0 -0
- package/.next/static/media/KaTeX_Script-Regular.3110jb9c-bxna.woff +0 -0
- package/.next/static/media/KaTeX_Size1-Regular.03lhvx36ekcou.woff2 +0 -0
- package/.next/static/media/KaTeX_Size1-Regular.1slf4bh0hc6vm.woff +0 -0
- package/.next/static/media/KaTeX_Size1-Regular.1y57-ck23ey8c.ttf +0 -0
- package/.next/static/media/KaTeX_Size2-Regular.0-kwyvx03omo8.woff +0 -0
- package/.next/static/media/KaTeX_Size2-Regular.14s5gg-puz6h-.woff2 +0 -0
- package/.next/static/media/KaTeX_Size2-Regular.2u0s-b07k2o9m.ttf +0 -0
- package/.next/static/media/KaTeX_Size3-Regular.04o9a_02gu_e8.woff +0 -0
- package/.next/static/media/KaTeX_Size3-Regular.1n1rgzz84z8r9.woff2 +0 -0
- package/.next/static/media/KaTeX_Size3-Regular.1pkn-dge4q0fv.ttf +0 -0
- package/.next/static/media/KaTeX_Size4-Regular.2sgotkdv3dcyv.woff2 +0 -0
- package/.next/static/media/KaTeX_Size4-Regular.2uelkfk2yna5e.ttf +0 -0
- package/.next/static/media/KaTeX_Size4-Regular.3p2r1l7xmebxv.woff +0 -0
- package/.next/static/media/KaTeX_Typewriter-Regular.11gr2d2wuwz77.woff2 +0 -0
- package/.next/static/media/KaTeX_Typewriter-Regular.12f8myjij3617.woff +0 -0
- package/.next/static/media/KaTeX_Typewriter-Regular.3nee9kjfy6nm8.ttf +0 -0
- package/.next/static/media/favicon.2vob68tjqpejf.ico +0 -0
- package/README.md +35 -2
- package/bin/wrong-notebook.js +60 -0
- package/launcher.js +177 -0
- package/package.json +44 -4
- package/prisma/migrations/20251127143435_init/migration.sql +62 -0
- package/prisma/migrations/20251129152530_init/migration.sql +40 -0
- package/prisma/migrations/20251130150624_add_education_info/migration.sql +6 -0
- package/prisma/migrations/20251130161659_init/migration.sql +2 -0
- package/prisma/migrations/20251201050917_add_admin_role/migration.sql +21 -0
- package/prisma/migrations/20251203155126_cascade_delete_subject_error_items/migration.sql +29 -0
- package/prisma/migrations/20251213132347_add_knowledge_tag_model/migration.sql +38 -0
- package/prisma/migrations/20251219014445_fix_tag_constraints/migration.sql +11 -0
- package/prisma/migrations/20260427090000_add_mistake_analysis_fields/migration.sql +4 -0
- package/prisma/migrations/20260608000000_add_geogebra_commands/migration.sql +2 -0
- package/prisma/migrations/20261018120000_add_practice_mastery_exam/migration.sql +103 -0
- package/prisma/migrations/20261018133653_add_duplicate_import_details/migration.sql +4 -0
- package/prisma/migrations/20261018134606_add_question_duplicate_threshold/migration.sql +2 -0
- package/prisma/migrations/20261019090000_add_user_enable_geogebra/migration.sql +2 -0
- package/prisma/migrations/20261019120000_lower_question_duplicate_threshold_default/migration.sql +27 -0
- package/prisma/migrations/20261019150000_add_error_item_difficulty_stars/migration.sql +2 -0
- package/prisma/migrations/20261019170000_add_notebook_stage_subject/migration.sql +17 -0
- package/prisma/migrations/20261019190000_add_question_figure_svg/migration.sql +6 -0
- package/prisma/migrations/20261019210000_add_svg_animation/migration.sql +3 -0
- package/prisma/migrations/20261019230000_exam_question_multiple_results/migration.sql +40 -0
- package/prisma/migrations/migration_lock.toml +3 -0
- package/prisma/schema.prisma +222 -0
- package/prisma/seed.db +0 -0
- package/public/file.svg +1 -0
- package/public/globe.svg +1 -0
- package/public/icons/icon.png +0 -0
- package/public/next.svg +1 -0
- package/public/vercel.svg +1 -0
- package/public/window.svg +1 -0
- package/server.js +38 -0
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[63021,(e,r,t)=>{r.exports=e.x("@prisma/client-2c3a283f134fdcb6",()=>require("@prisma/client-2c3a283f134fdcb6"))},98043,e=>{"use strict";var r=e.i(63021);let t=e.g.prisma||new r.PrismaClient({log:"true"===process.env.DEBUG_DB?["query","error","warn"]:["error"]});e.s(["prisma",0,t])},49719,(e,r,t)=>{r.exports=e.x("assert",()=>require("assert"))},44950,e=>e.a(async(r,t)=>{try{var n=await e.y("bcryptjs-ee66c2bdc904f2cf");e.n(n),t()}catch(e){t(e)}},!0),874,(e,r,t)=>{r.exports=e.x("buffer",()=>require("buffer"))},54799,(e,r,t)=>{r.exports=e.x("crypto",()=>require("crypto"))},27699,(e,r,t)=>{r.exports=e.x("events",()=>require("events"))},22734,(e,r,t)=>{r.exports=e.x("fs",()=>require("fs"))},21517,(e,r,t)=>{r.exports=e.x("http",()=>require("http"))},24836,(e,r,t)=>{r.exports=e.x("https",()=>require("https"))},70406,(e,r,t)=>{r.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},18622,(e,r,t)=>{r.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},20635,(e,r,t)=>{r.exports=e.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},24725,(e,r,t)=>{r.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},56704,(e,r,t)=>{r.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,r,t)=>{r.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},59043,(e,r,t)=>{r.exports=e.x("next/dist/server/runtime-reacts.external.js",()=>require("next/dist/server/runtime-reacts.external.js"))},93695,(e,r,t)=>{r.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},81111,(e,r,t)=>{r.exports=e.x("node:stream",()=>require("node:stream"))},14747,(e,r,t)=>{r.exports=e.x("path",()=>require("path"))},45706,(e,r,t)=>{r.exports=e.x("querystring",()=>require("querystring"))},92509,(e,r,t)=>{r.exports=e.x("url",()=>require("url"))},24361,(e,r,t)=>{r.exports=e.x("util",()=>require("util"))},6461,(e,r,t)=>{r.exports=e.x("zlib",()=>require("zlib"))},76759,e=>{"use strict";var r=e.i(58821);let t={UNAUTHORIZED:"UNAUTHORIZED",SESSION_EXPIRED:"SESSION_EXPIRED",FORBIDDEN:"FORBIDDEN",NOT_OWNER:"NOT_OWNER",ADMIN_REQUIRED:"ADMIN_REQUIRED",NOT_FOUND:"NOT_FOUND",USER_NOT_FOUND:"USER_NOT_FOUND",ITEM_NOT_FOUND:"ITEM_NOT_FOUND",BAD_REQUEST:"BAD_REQUEST",INVALID_INPUT:"INVALID_INPUT",MISSING_REQUIRED_FIELD:"MISSING_REQUIRED_FIELD",VALIDATION_ERROR:"VALIDATION_ERROR",OPERATION_NOT_ALLOWED:"OPERATION_NOT_ALLOWED",CONFLICT:"CONFLICT",ALREADY_EXISTS:"ALREADY_EXISTS",INTERNAL_ERROR:"INTERNAL_ERROR",DATABASE_ERROR:"DATABASE_ERROR",AI_ERROR:"AI_ERROR"};function n(e,t,n,i){let s={message:e};return n&&(s.code=n),i&&(s.details=i),r.NextResponse.json(s,{status:t})}e.s(["ErrorCode",0,t,"badRequest",0,function(e,r){return n(e,400,t.BAD_REQUEST,r)},"conflict",0,function(e){return n(e,409,t.CONFLICT)},"createErrorResponse",0,n,"forbidden",0,function(e="Forbidden"){return n(e,403,t.FORBIDDEN)},"internalError",0,function(e="Internal server error"){return n(e,500,t.INTERNAL_ERROR)},"notFound",0,function(e="Not found"){return n(e,404,t.NOT_FOUND)},"unauthorized",0,function(e="Unauthorized"){return n(e,401,t.UNAUTHORIZED)},"validationError",0,function(e,r){return n(e,400,t.VALIDATION_ERROR,r)}])},58078,e=>{"use strict";e.s(["requireAdmin",0,function(e){var r;return!!e&&(r=e.user,r?.role==="admin")}])},98003,e=>{"use strict";var r=e.i(22734),t=e.i(14747),n=e.i(50377),i=e.i(76025);let s=(0,n.createLogger)("config"),o=t.default.join(process.env.CONFIG_DIR||t.default.join(process.cwd(),"config"),"app-config.json"),a={aiProvider:process.env.AI_PROVIDER||"gemini",allowRegistration:!0,timeZone:i.DEFAULT_TIME_ZONE,openai:{instances:process.env.OPENAI_API_KEY?[{id:"env-default",name:"Default (ENV)",apiKey:process.env.OPENAI_API_KEY,baseUrl:process.env.OPENAI_BASE_URL||"https://api.openai.com/v1",model:process.env.OPENAI_MODEL||"gpt-4o"}]:[],activeInstanceId:process.env.OPENAI_API_KEY?"env-default":void 0},gemini:{apiKey:process.env.GOOGLE_API_KEY,baseUrl:process.env.GEMINI_BASE_URL,model:process.env.GEMINI_MODEL||"gemini-2.5-flash"},azure:{apiKey:process.env.AZURE_OPENAI_API_KEY,endpoint:process.env.AZURE_OPENAI_ENDPOINT,deploymentName:process.env.AZURE_OPENAI_DEPLOYMENT,apiVersion:process.env.AZURE_OPENAI_API_VERSION||"2024-02-15-preview",model:process.env.AZURE_OPENAI_MODEL||"gpt-4o"},anthropic:{apiKey:process.env.ANTHROPIC_API_KEY,baseUrl:process.env.ANTHROPIC_BASE_URL,model:process.env.ANTHROPIC_MODEL||"claude-sonnet-5-5"},prompts:{analyze:"",similar:""},timeouts:{analyze:18e4}};function p(){if(r.default.existsSync(o))try{var e;let t=r.default.readFileSync(o,"utf-8"),n=JSON.parse(t),p=n.openai;if((e=n.openai)&&"object"==typeof e&&"apiKey"in e&&!("instances"in e)){s.info("Detected legacy OpenAI config, migrating to multi-instance format..."),p=function(e){if(!e.apiKey)return{instances:[],activeInstanceId:void 0};let r={id:"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let r=16*Math.random()|0;return("x"===e?r:3&r|8).toString(16)}),name:"Default",apiKey:e.apiKey,baseUrl:e.baseUrl||"https://api.openai.com/v1",model:e.model||"gpt-4o"};return{instances:[r],activeInstanceId:r.id}}(n.openai);let e={...n,openai:p};r.default.writeFileSync(o,JSON.stringify(e,null,2)),s.info("Legacy OpenAI config migrated successfully")}return{...a,...n,timeZone:(0,i.isValidTimeZone)(n.timeZone)?n.timeZone.trim():i.DEFAULT_TIME_ZONE,openai:{instances:p?.instances||a.openai?.instances||[],activeInstanceId:p?.activeInstanceId||a.openai?.activeInstanceId},gemini:{...a.gemini,...n.gemini},azure:{...a.azure,...n.azure},anthropic:{...a.anthropic,...n.anthropic},prompts:{...a.prompts,...n.prompts},timeouts:{...a.timeouts,...n.timeouts}}}catch(e){s.error({error:e},"Failed to read config file")}return a}e.s(["getActiveOpenAIConfig",0,function(){let e=p(),r=e.openai?.instances||[],t=e.openai?.activeInstanceId;if(t&&0!==r.length)return r.find(e=>e.id===t)},"getAppConfig",0,p,"getAppTimeZone",0,function(){return p().timeZone||i.DEFAULT_TIME_ZONE},"updateAppConfig",0,function(e){if(void 0!==e.timeZone&&!(0,i.isValidTimeZone)(e.timeZone))throw Error("INVALID_TIME_ZONE");let t=p(),n={...t,...e,timeZone:e.timeZone?.trim()??t.timeZone??i.DEFAULT_TIME_ZONE,openai:{instances:e.openai?.instances??t.openai?.instances??[],activeInstanceId:e.openai?.activeInstanceId??t.openai?.activeInstanceId},gemini:{...t.gemini,...e.gemini},azure:{...t.azure,...e.azure},anthropic:{...t.anthropic,...e.anthropic},prompts:{...t.prompts,...e.prompts},timeouts:{...t.timeouts,...e.timeouts}};try{return r.default.writeFileSync(o,JSON.stringify(n,null,2)),n}catch(e){throw s.error({error:e},"Failed to write config file"),e}}])},50377,e=>{"use strict";let r={trace:10,debug:20,info:30,warn:40,error:50,fatal:60};function t(e,n={}){let i,s=r[e],o=(i=process.env.LOG_LEVEL?.toLowerCase())&&void 0!==r[i]?r[i]:r.info;return(r,t)=>{let i,a;if(s<o)return;let p=new Date;"string"==typeof r?(i={},a=r):(i=r,a=t||"");{let r=JSON.stringify({level:e,time:p.toISOString(),...n,...i,msg:a});switch(e){case"error":case"fatal":console.error(r);break;case"warn":console.warn(r);break;default:console.log(r)}}}}let n=function e(r={}){return r.module,{trace:t("trace",r),debug:t("debug",r),info:t("info",r),warn:t("warn",r),error:t("error",r),fatal:t("fatal",r),child:t=>e({...r,...t}),box:(e,t,n="📋")=>{console.log(JSON.stringify({level:"info",time:new Date().toISOString(),...r,title:e,..."string"==typeof t?{content:t}:t||{},msg:e}))},divider:(e="-")=>{}}}({env:"production"});e.s(["createLogger",0,function(e){return n.child({module:e})}])}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__00m7v48._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[63021,(e,t,r)=>{t.exports=e.x("@prisma/client-2c3a283f134fdcb6",()=>require("@prisma/client-2c3a283f134fdcb6"))},98043,e=>{"use strict";var t=e.i(63021);let r=e.g.prisma||new t.PrismaClient({log:"true"===process.env.DEBUG_DB?["query","error","warn"]:["error"]});e.s(["prisma",0,r])},54799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},20635,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},59043,(e,t,r)=>{t.exports=e.x("next/dist/server/runtime-reacts.external.js",()=>require("next/dist/server/runtime-reacts.external.js"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},81111,(e,t,r)=>{t.exports=e.x("node:stream",()=>require("node:stream"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},24214,(e,t,r)=>{t.exports={name:"wrong-notebook",version:"2026.10.19",private:!0,scripts:{dev:"next dev -H 0.0.0.0",build:"next build",start:"next start",lint:"eslint src",test:"vitest run","test:unit":"vitest run src/__tests__/unit","test:integration":"vitest run src/__tests__/integration","test:watch":"vitest","test:coverage":"vitest run --coverage","test:e2e":"playwright test","test:report":"playwright show-report --host 0.0.0.0"},dependencies:{"@anthropic-ai/sdk":"0.131.0","@google/genai":"^1.34.0","@next-auth/prisma-adapter":"^1.0.7","@prisma/client":"5.22.0","@radix-ui/react-checkbox":"^1.3.3","@radix-ui/react-dialog":"^1.1.15","@radix-ui/react-dropdown-menu":"^2.1.16","@radix-ui/react-label":"^2.1.8","@radix-ui/react-progress":"^1.1.8","@radix-ui/react-select":"^2.2.6","@radix-ui/react-slider":"^1.3.6","@radix-ui/react-slot":"^1.2.4","@radix-ui/react-switch":"^1.2.6","@radix-ui/react-tabs":"^1.1.13",bcryptjs:"^3.0.3","date-fns":"^4.1.0","date-fns-tz":"^3.2.0",dotenv:"^17.2.3","global-agent":"^3.0.0",jsonrepair:"^3.13.1",katex:"^0.16.25",next:"~16.3.8","next-auth":"^4.24.15",openai:"^6.9.1",react:"19.2.8","react-dom":"19.2.8","react-dropzone":"^14.3.8","react-easy-crop":"^5.5.6","react-image-crop":"^11.0.10","react-markdown":"^10.1.0",recharts:"^3.5.0","rehype-katex":"^7.0.1",remark:"^15.0.1","remark-gfm":"^4.0.1","remark-math":"^6.0.0","strip-markdown":"^6.0.0",undici:"^7.16.0",zod:"^4.1.13"},devDependencies:{"@playwright/test":"^1.57.0","@tailwindcss/postcss":"^4","@types/bcryptjs":"^2.4.6","@types/node":"^20","@types/react":"^19","@types/react-dom":"^19","@vitejs/plugin-react":"^5.1.1","baseline-browser-mapping":"^2.8.32","class-variance-authority":"^0.7.1",clsx:"^2.1.1",eslint:"^9","eslint-config-next":"16.3.8",jsdom:"^27.2.0","lucide-react":"^0.555.0",prisma:"5.22.0","tailwind-merge":"^3.4.0",tailwindcss:"^4","tailwindcss-animate":"^1.0.7","ts-node":"^10.9.2","tw-animate-css":"^1.4.0",typescript:"^5",vitest:"^4.0.15"},prisma:{seed:'ts-node --compiler-options {"module":"CommonJS"} prisma/seed.ts'}}},5443,e=>{"use strict";var t=e.i(24214);e.s(["getAppVersion",0,function(){return process.env.APP_VERSION?.trim().replace(/^v/,"")||t.version}])},31233,e=>{"use strict";var t=e.i(58821),r=e.i(98043),a=e.i(5443);async function s(){try{return await r.prisma.$queryRaw`SELECT 1`,t.NextResponse.json({status:"ok",version:(0,a.getAppVersion)(),revision:process.env.APP_REVISION||"unknown"},{headers:{"Cache-Control":"no-store"}})}catch{return t.NextResponse.json({status:"unavailable"},{status:503,headers:{"Cache-Control":"no-store"}})}}e.s(["GET",0,s,"dynamic",0,"force-dynamic"])},43007,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),s=e.i(59756),n=e.i(61916),i=e.i(74677),o=e.i(69741),l=e.i(16795),d=e.i(87718),p=e.i(95169),c=e.i(47587),u=e.i(66012),x=e.i(70101),h=e.i(74838),v=e.i(10372),m=e.i(93695),g=e.i(9580);e.i(52474);var R=e.i(220);let w=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/health/route",pathname:"/api/health",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/health/route.ts",nextConfigOutput:"standalone",userland:()=>e.r(31233),...{}}),{workAsyncStorage:y,workUnitAsyncStorage:f,serverHooks:C}=w;async function E(e,t,a){a.requestMeta&&(0,s.setRequestMeta)(e,a.requestMeta),w.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let y="/api/health/route";y=y.replace(/\/index$/,"")||"/";let f=await w.prepare(e,t,{srcPage:y,multiZoneDraftMode:!1});if(!f)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:C,deploymentId:E,params:b,nextConfig:A,parsedUrl:k,isDraftMode:q,prerenderManifest:_,routerServerContext:T,isOnDemandRevalidate:P,revalidateOnlyGenerated:S,resolvedPathname:j,clientReferenceManifest:N,serverActionsManifest:O}=f,H=(0,o.normalizeAppPath)(y),I=!!_.routes[j]&&(w.isDev||(0,g.isRouteCacheOwner)(j,w.cacheOwner,_.routes[j])),D=!!(_.dynamicRoutes[H]||I),M=async()=>((null==T?void 0:T.render404)?await T.render404(e,t,k,!1):t.end("This page could not be found"),null);if(D&&!q){let e=_.dynamicRoutes[H];if(e&&!1===e.fallback&&!I){if(A.adapterPath)return await M();throw new m.NoFallbackError}}let U=null;!D||w.isDev||q||(U="/index"===(U=j)?"/":U);let B=!0===w.isDev||!D,F=D&&!B;O&&N&&(0,i.setManifestsSingleton)({page:y,clientReferenceManifest:N,serverActionsManifest:O});let K=e.method||"GET",L=(0,n.getTracer)(),$=L.getActiveScopeSpan(),G=!!(null==T?void 0:T.isWrappedByNextServer),V=!!(0,s.getRequestMeta)(e,"minimalMode"),z=(0,s.getRequestMeta)(e,"incrementalCache")||await w.getIncrementalCache(e,A,_,V);null==z||z.resetRequestCache(),globalThis.__incrementalCache=z;let X={params:b,previewProps:_.preview,renderOpts:{experimental:{authInterrupts:!!A.experimental.authInterrupts,useCacheTimeout:A.experimental.useCacheTimeout},cacheComponents:!!A.cacheComponents,validationLevel:A.experimental.instantInsights.validationLevel,isDraftMode:q,supportsDynamicResponse:B,incrementalCache:z,hmrRefreshHash:(0,s.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:A.cacheLife,staticPageGenerationTimeout:A.staticPageGenerationTimeout,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,s)=>w.onRequestError(e,t,a,s,T)},sharedContext:{buildId:C,deploymentId:E}},W=new l.NodeNextRequest(e),J=new l.NodeNextResponse(t),Z=d.NextRequestAdapter.fromNodeNextRequest(W,(0,d.signalFromNodeResponse)(t)),Q=async({previousCacheEntry:r})=>{try{if(!V&&P&&S&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await w.handle(Z,X);e.fetchMetrics=X.renderOpts.fetchMetrics;let n=X.renderOpts.pendingWaitUntil;n&&a.waitUntil&&(a.waitUntil(n),n=void 0);let i=X.renderOpts.collectedTags;if(!D)return await (0,u.sendResponse)(W,J,s,n),null;{let e=await s.blob(),t=(0,x.toNodeOutgoingHttpHeaders)(s.headers);i&&(t[v.NEXT_CACHE_TAGS_HEADER]=i),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==X.renderOpts.collectedRevalidate&&!(X.renderOpts.collectedRevalidate>=v.INFINITE_CACHE)&&X.renderOpts.collectedRevalidate,a=void 0===X.renderOpts.collectedExpire||X.renderOpts.collectedExpire>=v.INFINITE_CACHE?!1!==r&&r>0?A.expireTime:void 0:X.renderOpts.collectedExpire;return{value:{kind:R.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await w.onRequestError(e,t,{routerKind:"App Router",routePath:y,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:F,isOnDemandRevalidate:P})},!1,T),t}},Y=async(s,i)=>{try{var o,l;let s=await w.handleResponse({req:e,nextConfig:A,cacheKey:U,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:_,isRoutePPREnabled:!1,isOnDemandRevalidate:P,revalidateOnlyGenerated:S,responseGenerator:Q,waitUntil:a.waitUntil,isMinimalMode:V});if(!D)return;if((null==s||null==(o=s.value)?void 0:o.kind)!==R.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==s||null==(l=s.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});V||t.setHeader("x-nextjs-cache",P?"REVALIDATED":s.isMiss?"MISS":s.isStale?"STALE":"HIT"),q&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let n=(0,x.fromNodeOutgoingHttpHeaders)(s.value.headers);V&&D||n.delete(v.NEXT_CACHE_TAGS_HEADER),!s.cacheControl||t.getHeader("Cache-Control")||n.get("Cache-Control")||n.set("Cache-Control",(0,h.getCacheControlHeader)(s.cacheControl)),await (0,u.sendResponse)(W,J,new Response(s.value.body,{headers:n,status:s.value.status||200}));return}catch(t){if(t instanceof m.NoFallbackError||await w.onRequestError(e,t,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:F,isOnDemandRevalidate:P})},!1,T),D)throw t;await (0,u.sendResponse)(W,J,new Response(null,{status:500}));return}finally{(()=>{if(!s)return;let e=t.statusCode;s.setAttributes({"http.status_code":e,"next.rsc":!1}),e&&e>=500&&(s.setStatus({code:n.SpanStatusCode.ERROR}),s.setAttribute("error.type",e.toString()));let r=L.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==p.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route")||H,o=`${K} ${a}`;s.setAttributes({"next.route":a,"http.route":a,"next.span_name":o}),s.updateName(o),i&&i!==s&&(i.setAttribute("http.route",a),i.updateName(o))})()}};if(G&&$)await Y($,void 0);else{let t=L.getActiveScopeSpan();await L.withPropagatedContext(e.headers,()=>L.trace(p.BaseServerSpan.handleRequest,{spanName:`${K} ${y}`,kind:n.SpanKind.SERVER,attributes:{"http.method":K,"http.target":e.url}},e=>Y(e,t)),void 0,!G)}}e.s(["handler",0,E,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:y,workUnitAsyncStorage:f})},"routeModule",0,w,"serverHooks",0,C,"workAsyncStorage",0,y,"workUnitAsyncStorage",0,f])}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__01bzczj._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[63021,(e,t,r)=>{t.exports=e.x("@prisma/client-2c3a283f134fdcb6",()=>require("@prisma/client-2c3a283f134fdcb6"))},98043,e=>{"use strict";var t=e.i(63021);let r=e.g.prisma||new t.PrismaClient({log:"true"===process.env.DEBUG_DB?["query","error","warn"]:["error"]});e.s(["prisma",0,r])},49719,(e,t,r)=>{t.exports=e.x("assert",()=>require("assert"))},44950,e=>e.a(async(t,r)=>{try{var n=await e.y("bcryptjs-ee66c2bdc904f2cf");e.n(n),r()}catch(e){r(e)}},!0),874,(e,t,r)=>{t.exports=e.x("buffer",()=>require("buffer"))},54799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},27699,(e,t,r)=>{t.exports=e.x("events",()=>require("events"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},21517,(e,t,r)=>{t.exports=e.x("http",()=>require("http"))},24836,(e,t,r)=>{t.exports=e.x("https",()=>require("https"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},20635,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},59043,(e,t,r)=>{t.exports=e.x("next/dist/server/runtime-reacts.external.js",()=>require("next/dist/server/runtime-reacts.external.js"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},81111,(e,t,r)=>{t.exports=e.x("node:stream",()=>require("node:stream"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},45706,(e,t,r)=>{t.exports=e.x("querystring",()=>require("querystring"))},92509,(e,t,r)=>{t.exports=e.x("url",()=>require("url"))},24361,(e,t,r)=>{t.exports=e.x("util",()=>require("util"))},6461,(e,t,r)=>{t.exports=e.x("zlib",()=>require("zlib"))},76759,e=>{"use strict";var t=e.i(58821);let r={UNAUTHORIZED:"UNAUTHORIZED",SESSION_EXPIRED:"SESSION_EXPIRED",FORBIDDEN:"FORBIDDEN",NOT_OWNER:"NOT_OWNER",ADMIN_REQUIRED:"ADMIN_REQUIRED",NOT_FOUND:"NOT_FOUND",USER_NOT_FOUND:"USER_NOT_FOUND",ITEM_NOT_FOUND:"ITEM_NOT_FOUND",BAD_REQUEST:"BAD_REQUEST",INVALID_INPUT:"INVALID_INPUT",MISSING_REQUIRED_FIELD:"MISSING_REQUIRED_FIELD",VALIDATION_ERROR:"VALIDATION_ERROR",OPERATION_NOT_ALLOWED:"OPERATION_NOT_ALLOWED",CONFLICT:"CONFLICT",ALREADY_EXISTS:"ALREADY_EXISTS",INTERNAL_ERROR:"INTERNAL_ERROR",DATABASE_ERROR:"DATABASE_ERROR",AI_ERROR:"AI_ERROR"};function n(e,r,n,i){let a={message:e};return n&&(a.code=n),i&&(a.details=i),t.NextResponse.json(a,{status:r})}e.s(["ErrorCode",0,r,"badRequest",0,function(e,t){return n(e,400,r.BAD_REQUEST,t)},"conflict",0,function(e){return n(e,409,r.CONFLICT)},"createErrorResponse",0,n,"forbidden",0,function(e="Forbidden"){return n(e,403,r.FORBIDDEN)},"internalError",0,function(e="Internal server error"){return n(e,500,r.INTERNAL_ERROR)},"notFound",0,function(e="Not found"){return n(e,404,r.NOT_FOUND)},"unauthorized",0,function(e="Unauthorized"){return n(e,401,r.UNAUTHORIZED)},"validationError",0,function(e,t){return n(e,400,r.VALIDATION_ERROR,t)}])},26828,e=>{"use strict";let t=(0,e.i(50377).createLogger)("background-tasks"),r=globalThis,n=r.__backgroundTasks??=new Map,i=0;function a(e){for(let[t,r]of n)r.finishedAt&&e-Date.parse(r.finishedAt)>18e5&&n.delete(t)}function s(e){let r=Date.now();a(r);let s=`${r.toString(36)}-${(i++).toString(36)}`,o={id:s,userId:e.userId,kind:e.kind,subject:e.subject??null,status:"running",progress:void 0!==e.total?{done:0,total:e.total,failed:0}:null,error:null,link:e.link??null,startedAt:new Date(r).toISOString(),finishedAt:null};n.set(s,o);let l=(e,t)=>{"running"===o.status&&(o.status=e,o.error=t,o.finishedAt=new Date().toISOString())};return{id:s,setProgress:(e,t,r)=>{o.progress={done:e,total:t??o.progress?.total??e,failed:r??o.progress?.failed??0}},succeed:()=>l("succeeded",null),fail:e=>{let r;l("failed",((r=e instanceof Error?e.message:String(e)).startsWith("AI_")?r.split(":")[0]:r).slice(0,200)),t.debug({taskId:s,kind:o.kind,error:o.error},"Background task failed")}}}async function o(e,t){let r=s(e);try{let e=await t(r);return r.succeed(),e}catch(e){throw r.fail(e),e}}e.s(["clearFinishedBackgroundTasks",0,function(e){for(let[t,r]of n)r.userId===e&&"running"!==r.status&&n.delete(t)},"describeQuestion",0,function(e){let t=(e.questionText??"").replace(/\$+/g,"").replace(/\\[a-zA-Z]+|[{}\\]/g," ").replace(/[#*>`|_-]+/g," ").replace(/\s+/g," ").replace(/\s*([,。;:?!、])\s*/g,"$1").trim(),r=t.length>24?`${t.slice(0,24)}…`:t;return[e.shortId,r].filter(Boolean).join(" ")||"—"},"listBackgroundTasks",0,function(e){a(Date.now());let t=[...n.values()].filter(t=>t.userId===e);return[...t.filter(e=>"running"===e.status).sort((e,t)=>e.startedAt.localeCompare(t.startedAt)),...t.filter(e=>"running"!==e.status).sort((e,t)=>(t.finishedAt??"").localeCompare(e.finishedAt??"")).slice(0,30)].map(e=>({id:e.id,kind:e.kind,subject:e.subject,status:e.status,progress:e.progress&&{...e.progress},error:e.error,link:e.link,startedAt:e.startedAt,finishedAt:e.finishedAt}))},"startBackgroundTask",0,s,"trackBackgroundTask",0,o])},98003,e=>{"use strict";var t=e.i(22734),r=e.i(14747),n=e.i(50377),i=e.i(76025);let a=(0,n.createLogger)("config"),s=r.default.join(process.env.CONFIG_DIR||r.default.join(process.cwd(),"config"),"app-config.json"),o={aiProvider:process.env.AI_PROVIDER||"gemini",allowRegistration:!0,timeZone:i.DEFAULT_TIME_ZONE,openai:{instances:process.env.OPENAI_API_KEY?[{id:"env-default",name:"Default (ENV)",apiKey:process.env.OPENAI_API_KEY,baseUrl:process.env.OPENAI_BASE_URL||"https://api.openai.com/v1",model:process.env.OPENAI_MODEL||"gpt-4o"}]:[],activeInstanceId:process.env.OPENAI_API_KEY?"env-default":void 0},gemini:{apiKey:process.env.GOOGLE_API_KEY,baseUrl:process.env.GEMINI_BASE_URL,model:process.env.GEMINI_MODEL||"gemini-2.5-flash"},azure:{apiKey:process.env.AZURE_OPENAI_API_KEY,endpoint:process.env.AZURE_OPENAI_ENDPOINT,deploymentName:process.env.AZURE_OPENAI_DEPLOYMENT,apiVersion:process.env.AZURE_OPENAI_API_VERSION||"2024-02-15-preview",model:process.env.AZURE_OPENAI_MODEL||"gpt-4o"},anthropic:{apiKey:process.env.ANTHROPIC_API_KEY,baseUrl:process.env.ANTHROPIC_BASE_URL,model:process.env.ANTHROPIC_MODEL||"claude-sonnet-5-5"},prompts:{analyze:"",similar:""},timeouts:{analyze:18e4}};function l(){if(t.default.existsSync(s))try{var e;let r=t.default.readFileSync(s,"utf-8"),n=JSON.parse(r),l=n.openai;if((e=n.openai)&&"object"==typeof e&&"apiKey"in e&&!("instances"in e)){a.info("Detected legacy OpenAI config, migrating to multi-instance format..."),l=function(e){if(!e.apiKey)return{instances:[],activeInstanceId:void 0};let t={id:"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)}),name:"Default",apiKey:e.apiKey,baseUrl:e.baseUrl||"https://api.openai.com/v1",model:e.model||"gpt-4o"};return{instances:[t],activeInstanceId:t.id}}(n.openai);let e={...n,openai:l};t.default.writeFileSync(s,JSON.stringify(e,null,2)),a.info("Legacy OpenAI config migrated successfully")}return{...o,...n,timeZone:(0,i.isValidTimeZone)(n.timeZone)?n.timeZone.trim():i.DEFAULT_TIME_ZONE,openai:{instances:l?.instances||o.openai?.instances||[],activeInstanceId:l?.activeInstanceId||o.openai?.activeInstanceId},gemini:{...o.gemini,...n.gemini},azure:{...o.azure,...n.azure},anthropic:{...o.anthropic,...n.anthropic},prompts:{...o.prompts,...n.prompts},timeouts:{...o.timeouts,...n.timeouts}}}catch(e){a.error({error:e},"Failed to read config file")}return o}e.s(["getActiveOpenAIConfig",0,function(){let e=l(),t=e.openai?.instances||[],r=e.openai?.activeInstanceId;if(r&&0!==t.length)return t.find(e=>e.id===r)},"getAppConfig",0,l,"getAppTimeZone",0,function(){return l().timeZone||i.DEFAULT_TIME_ZONE},"updateAppConfig",0,function(e){if(void 0!==e.timeZone&&!(0,i.isValidTimeZone)(e.timeZone))throw Error("INVALID_TIME_ZONE");let r=l(),n={...r,...e,timeZone:e.timeZone?.trim()??r.timeZone??i.DEFAULT_TIME_ZONE,openai:{instances:e.openai?.instances??r.openai?.instances??[],activeInstanceId:e.openai?.activeInstanceId??r.openai?.activeInstanceId},gemini:{...r.gemini,...e.gemini},azure:{...r.azure,...e.azure},anthropic:{...r.anthropic,...e.anthropic},prompts:{...r.prompts,...e.prompts},timeouts:{...r.timeouts,...e.timeouts}};try{return t.default.writeFileSync(s,JSON.stringify(n,null,2)),n}catch(e){throw a.error({error:e},"Failed to write config file"),e}}])},50377,e=>{"use strict";let t={trace:10,debug:20,info:30,warn:40,error:50,fatal:60};function r(e,n={}){let i,a=t[e],s=(i=process.env.LOG_LEVEL?.toLowerCase())&&void 0!==t[i]?t[i]:t.info;return(t,r)=>{let i,o;if(a<s)return;let l=new Date;"string"==typeof t?(i={},o=t):(i=t,o=r||"");{let t=JSON.stringify({level:e,time:l.toISOString(),...n,...i,msg:o});switch(e){case"error":case"fatal":console.error(t);break;case"warn":console.warn(t);break;default:console.log(t)}}}}let n=function e(t={}){return t.module,{trace:r("trace",t),debug:r("debug",t),info:r("info",t),warn:r("warn",t),error:r("error",t),fatal:r("fatal",t),child:r=>e({...t,...r}),box:(e,r,n="📋")=>{console.log(JSON.stringify({level:"info",time:new Date().toISOString(),...t,title:e,..."string"==typeof r?{content:r}:r||{},msg:e}))},divider:(e="-")=>{}}}({env:"production"});e.s(["createLogger",0,function(e){return n.child({module:e})}])},4752,e=>{"use strict";var t=e.i(98043),r=e.i(43911);let n=(0,e.i(50377).createLogger)("mastery"),i=["correct","wrong","not_attempted"];function a(e){return"string"==typeof e&&i.includes(e)}let s={easy:.85,medium:.95,hard:1,harder:1},o={wrong:.1,not_attempted:0};async function l(e){let i=await t.prisma.errorItem.findUnique({where:{id:e},select:{id:!0,questionText:!0,mistakeStatus:!0,tags:{select:{name:!0}},practiceRecords:{where:{result:{not:null}},orderBy:[{createdAt:"asc"},{id:"asc"}],select:{result:!0,difficulty:!0,source:!0,createdAt:!0}}}});if(!i)return;let l=i.practiceRecords.filter(e=>a(e.result)).map(e=>({date:e.createdAt.toISOString(),difficulty:e.difficulty,result:e.result,source:e.source})),u=function(e){if(0===e.length)return null;let t=.15,r=.5;return e.forEach((n,i)=>{let a=Math.pow(.7,e.length-1-i),l="correct"===n.result?s[n.difficulty||"medium"]??s.medium:o[n.result];t+=a*l,r+=a}),Math.round(t/r*100)/100}(l);if(null===u)return void await t.prisma.errorItem.update({where:{id:i.id},data:{masteryProbability:null,masteryReason:null,masterySource:null,masteryEvaluatedAt:null}});let c=u,d="",p="rule";try{let e=await (0,r.getAIService)().evaluateMastery({questionText:i.questionText||"",knowledgePoints:i.tags.map(e=>e.name),mistakeStatus:i.mistakeStatus,history:l,ruleProbability:u});c=e.probability,d=e.reason,p="ai"}catch(r){n.warn({errorItemId:e,error:r instanceof Error?r.message:String(r)},"AI mastery evaluation failed, using rule estimate");let t=l.filter(e=>"correct"===e.result).length;d=`共练习 ${l.length} 次,做对 ${t} 次(规则估算)`}await t.prisma.errorItem.update({where:{id:i.id},data:{masteryProbability:c,masteryReason:d,masterySource:p,masteryEvaluatedAt:new Date,masteryLevel:+(c>=.8)}}),n.info({errorItemId:e,probability:c,source:p},"Mastery evaluated")}let u=new Set,c=!1;async function d(){if(!c){c=!0;try{for(;u.size>0;){let[e]=u;u.delete(e);try{await l(e)}catch(t){n.error({errorItemId:e,error:t},"Mastery evaluation failed")}}}finally{c=!1}}}e.s(["PRACTICE_RESULTS",0,i,"isPracticeResult",0,a,"scheduleMasteryEvaluation",0,function(e){e.forEach(e=>u.add(e)),d()}])},55920,e=>{"use strict";e.s(["getDefaultPaperLevel",0,function(e){return"number"!=typeof e||!Number.isInteger(e)||e<1||e>5?null:e<=3?"a":"b"}])},88993,e=>{"use strict";let t=/^[【[((]?图示/u;function r(e){return(function(e){let r=[],n=!1,i=!1;for(let a of e.split(/\r?\n/)){let e=a.trim();e?n&&t.test(e)&&(i=!0):i=!1,i||r.push(a),e&&(n=!0)}return r.join("\n")})(e.normalize("NFC")).replace(/[\uFF01-\uFF5E]/g,e=>String.fromCharCode(e.charCodeAt(0)-65248)).replace(/\\underline\{[^}]*\}|_{2,}/g,"__").replace(/\s+/gu," ").replace(/\( ?\)/g,"()").trim()}e.s(["DEFAULT_QUESTION_DUPLICATE_THRESHOLD",0,90,"calculateQuestionSimilarity",0,function(e,t){let n=r(e),i=r(t);if(!n||!i)return null;if(n===i)return 1;let a=Array.from(n),s=Array.from(i),o=Math.max(a.length,s.length),l=0;for(;l<Math.min(a.length,s.length)&&a[l]===s[l];)l++;let u=a.length,c=s.length;for(;u>l&&c>l&&a[u-1]===s[c-1];)u--,c--;a=a.slice(l,u),s=s.slice(l,c),a.length>s.length&&([a,s]=[s,a]);let d=Int32Array.from({length:a.length+1},(e,t)=>t);for(let e=1;e<=s.length;e++){let t=d[0];d[0]=e;for(let r=1;r<=a.length;r++){let n=d[r];d[r]=Math.min(n+1,d[r-1]+1,t+ +(a[r-1]!==s[e-1])),t=n}}return 1-d[a.length]/o},"duplicateQuestionSimilarity",0,function(e,t,n=90){let i=r(e),a=r(t);if(!i||!a||n>=100)return null;if(i===a)return 1;let s=Array.from(i),o=Array.from(a);s.length>o.length&&([s,o]=[o,s]);let l=o.length,u=Math.ceil(l*(1e4-Math.round(100*n))/1e4)-1;if(o.length-s.length>u||0===u)return null;let c=u+1,d=new Int32Array(s.length+1).fill(c),p=new Int32Array(s.length+1).fill(c);for(let e=0;e<=Math.min(s.length,u);e++)d[e]=e;for(let e=1;e<=o.length;e++){let t=Math.max(1,e-u),r=Math.min(s.length,e+u);p[0]=e<=u?e:c,t>1&&(p[t-1]=c);let n=p[0];for(let i=t;i<=r;i++)p[i]=Math.min(d[i]+1,p[i-1]+1,d[i-1]+ +(s[i-1]!==o[e-1])),n=Math.min(n,p[i]);if(n>u)return null;r<s.length&&(p[r+1]=c),[d,p]=[p,d]}let f=d[s.length];return f<=u?1-f/l:null}])},41070,e=>{"use strict";let t="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz",r=RegExp(`^[${t}]{6}$`);e.s(["BASE58_ALPHABET",0,t,"SHORT_ID_LENGTH",0,6,"isShortId",0,function(e){return"string"==typeof e&&r.test(e)}])},92366,e=>{"use strict";var t=e.i(54799),r=e.i(41070);async function n(e){for(let n=0;n<10;n++){let n=function(){let e="";for(;e.length<r.SHORT_ID_LENGTH;)for(let n of(0,t.randomBytes)(2*r.SHORT_ID_LENGTH))n<232&&e.length<r.SHORT_ID_LENGTH&&(e+=r.BASE58_ALPHABET[n%58]);return e}();if(!await e.errorItem.findUnique({where:{shortId:n},select:{id:!0}}))return n}throw Error("Failed to generate a unique short ID")}e.s(["generateUniqueShortId",0,n])}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__01m28mx._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[85685,e=>{e.v(e=>Promise.resolve().then(()=>e(54799)))},79955,e=>{e.v(r=>Promise.all(["server/chunks/[root-of-the-server]__1_gkx5x._.js"].map(r=>e.l(r))).then(()=>r(35611)))},46735,e=>{e.v(r=>Promise.all(["server/chunks/[externals]__04n7qbr._.js","server/chunks/[root-of-the-server]__0rk_yxy._.js"].map(r=>e.l(r))).then(()=>r(83085)))},91961,e=>{e.v(r=>Promise.all(["server/chunks/[root-of-the-server]__1jtd2ar._.js"].map(r=>e.l(r))).then(()=>r(12111)))},72331,e=>{e.v(r=>Promise.all(["server/chunks/[root-of-the-server]__0ssagl1._.js","server/chunks/[root-of-the-server]__1nmtv65._.js","server/chunks/[root-of-the-server]__0_t7bbz._.js"].map(r=>e.l(r))).then(()=>r(20442)))},30249,e=>{e.v(e=>Promise.resolve().then(()=>e(5898)))},58078,e=>{"use strict";e.s(["requireAdmin",0,function(e){var r;return!!e&&(r=e.user,r?.role==="admin")}])}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__04mu6-m._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[63021,(e,r,t)=>{r.exports=e.x("@prisma/client-2c3a283f134fdcb6",()=>require("@prisma/client-2c3a283f134fdcb6"))},98043,e=>{"use strict";var r=e.i(63021);let t=e.g.prisma||new r.PrismaClient({log:"true"===process.env.DEBUG_DB?["query","error","warn"]:["error"]});e.s(["prisma",0,t])},49719,(e,r,t)=>{r.exports=e.x("assert",()=>require("assert"))},44950,e=>e.a(async(r,t)=>{try{var n=await e.y("bcryptjs-ee66c2bdc904f2cf");e.n(n),t()}catch(e){t(e)}},!0),874,(e,r,t)=>{r.exports=e.x("buffer",()=>require("buffer"))},54799,(e,r,t)=>{r.exports=e.x("crypto",()=>require("crypto"))},27699,(e,r,t)=>{r.exports=e.x("events",()=>require("events"))},21517,(e,r,t)=>{r.exports=e.x("http",()=>require("http"))},24836,(e,r,t)=>{r.exports=e.x("https",()=>require("https"))},70406,(e,r,t)=>{r.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},18622,(e,r,t)=>{r.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},20635,(e,r,t)=>{r.exports=e.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},24725,(e,r,t)=>{r.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},56704,(e,r,t)=>{r.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,r,t)=>{r.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},59043,(e,r,t)=>{r.exports=e.x("next/dist/server/runtime-reacts.external.js",()=>require("next/dist/server/runtime-reacts.external.js"))},93695,(e,r,t)=>{r.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},81111,(e,r,t)=>{r.exports=e.x("node:stream",()=>require("node:stream"))},14747,(e,r,t)=>{r.exports=e.x("path",()=>require("path"))},45706,(e,r,t)=>{r.exports=e.x("querystring",()=>require("querystring"))},92509,(e,r,t)=>{r.exports=e.x("url",()=>require("url"))},24361,(e,r,t)=>{r.exports=e.x("util",()=>require("util"))},6461,(e,r,t)=>{r.exports=e.x("zlib",()=>require("zlib"))},76759,e=>{"use strict";var r=e.i(58821);let t={UNAUTHORIZED:"UNAUTHORIZED",SESSION_EXPIRED:"SESSION_EXPIRED",FORBIDDEN:"FORBIDDEN",NOT_OWNER:"NOT_OWNER",ADMIN_REQUIRED:"ADMIN_REQUIRED",NOT_FOUND:"NOT_FOUND",USER_NOT_FOUND:"USER_NOT_FOUND",ITEM_NOT_FOUND:"ITEM_NOT_FOUND",BAD_REQUEST:"BAD_REQUEST",INVALID_INPUT:"INVALID_INPUT",MISSING_REQUIRED_FIELD:"MISSING_REQUIRED_FIELD",VALIDATION_ERROR:"VALIDATION_ERROR",OPERATION_NOT_ALLOWED:"OPERATION_NOT_ALLOWED",CONFLICT:"CONFLICT",ALREADY_EXISTS:"ALREADY_EXISTS",INTERNAL_ERROR:"INTERNAL_ERROR",DATABASE_ERROR:"DATABASE_ERROR",AI_ERROR:"AI_ERROR"};function n(e,t,n,s){let o={message:e};return n&&(o.code=n),s&&(o.details=s),r.NextResponse.json(o,{status:t})}e.s(["ErrorCode",0,t,"badRequest",0,function(e,r){return n(e,400,t.BAD_REQUEST,r)},"conflict",0,function(e){return n(e,409,t.CONFLICT)},"createErrorResponse",0,n,"forbidden",0,function(e="Forbidden"){return n(e,403,t.FORBIDDEN)},"internalError",0,function(e="Internal server error"){return n(e,500,t.INTERNAL_ERROR)},"notFound",0,function(e="Not found"){return n(e,404,t.NOT_FOUND)},"unauthorized",0,function(e="Unauthorized"){return n(e,401,t.UNAUTHORIZED)},"validationError",0,function(e,r){return n(e,400,t.VALIDATION_ERROR,r)}])},58078,e=>{"use strict";e.s(["requireAdmin",0,function(e){var r;return!!e&&(r=e.user,r?.role==="admin")}])},50377,e=>{"use strict";let r={trace:10,debug:20,info:30,warn:40,error:50,fatal:60};function t(e,n={}){let s,o=r[e],i=(s=process.env.LOG_LEVEL?.toLowerCase())&&void 0!==r[s]?r[s]:r.info;return(r,t)=>{let s,a;if(o<i)return;let u=new Date;"string"==typeof r?(s={},a=r):(s=r,a=t||"");{let r=JSON.stringify({level:e,time:u.toISOString(),...n,...s,msg:a});switch(e){case"error":case"fatal":console.error(r);break;case"warn":console.warn(r);break;default:console.log(r)}}}}let n=function e(r={}){return r.module,{trace:t("trace",r),debug:t("debug",r),info:t("info",r),warn:t("warn",r),error:t("error",r),fatal:t("fatal",r),child:t=>e({...r,...t}),box:(e,t,n="📋")=>{console.log(JSON.stringify({level:"info",time:new Date().toISOString(),...r,title:e,..."string"==typeof t?{content:t}:t||{},msg:e}))},divider:(e="-")=>{}}}({env:"production"});e.s(["createLogger",0,function(e){return n.child({module:e})}])}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__04tyyvs._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[85685,e=>{e.v(e=>Promise.resolve().then(()=>e(54799)))},79955,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__1_gkx5x._.js"].map(t=>e.l(t))).then(()=>t(35611)))},46735,e=>{e.v(t=>Promise.all(["server/chunks/[externals]__04n7qbr._.js","server/chunks/[root-of-the-server]__0rk_yxy._.js"].map(t=>e.l(t))).then(()=>t(83085)))},91961,e=>{e.v(t=>Promise.all(["server/chunks/[externals]_assert_1pwe1ri._.js","server/chunks/[root-of-the-server]__1jtd2ar._.js"].map(t=>e.l(t))).then(()=>t(12111)))},72331,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__08gak8r._.js","server/chunks/[root-of-the-server]__1nmtv65._.js","server/chunks/[root-of-the-server]__0_t7bbz._.js"].map(t=>e.l(t))).then(()=>t(20442)))},30249,e=>{e.v(e=>Promise.resolve().then(()=>e(5898)))},26828,e=>{"use strict";let t=(0,e.i(50377).createLogger)("background-tasks"),r=globalThis,n=r.__backgroundTasks??=new Map,a=0;function i(e){for(let[t,r]of n)r.finishedAt&&e-Date.parse(r.finishedAt)>18e5&&n.delete(t)}function l(e){let r=Date.now();i(r);let l=`${r.toString(36)}-${(a++).toString(36)}`,s={id:l,userId:e.userId,kind:e.kind,subject:e.subject??null,status:"running",progress:void 0!==e.total?{done:0,total:e.total,failed:0}:null,error:null,link:e.link??null,startedAt:new Date(r).toISOString(),finishedAt:null};n.set(l,s);let o=(e,t)=>{"running"===s.status&&(s.status=e,s.error=t,s.finishedAt=new Date().toISOString())};return{id:l,setProgress:(e,t,r)=>{s.progress={done:e,total:t??s.progress?.total??e,failed:r??s.progress?.failed??0}},succeed:()=>o("succeeded",null),fail:e=>{let r;o("failed",((r=e instanceof Error?e.message:String(e)).startsWith("AI_")?r.split(":")[0]:r).slice(0,200)),t.debug({taskId:l,kind:s.kind,error:s.error},"Background task failed")}}}async function s(e,t){let r=l(e);try{let e=await t(r);return r.succeed(),e}catch(e){throw r.fail(e),e}}e.s(["clearFinishedBackgroundTasks",0,function(e){for(let[t,r]of n)r.userId===e&&"running"!==r.status&&n.delete(t)},"describeQuestion",0,function(e){let t=(e.questionText??"").replace(/\$+/g,"").replace(/\\[a-zA-Z]+|[{}\\]/g," ").replace(/[#*>`|_-]+/g," ").replace(/\s+/g," ").replace(/\s*([,。;:?!、])\s*/g,"$1").trim(),r=t.length>24?`${t.slice(0,24)}…`:t;return[e.shortId,r].filter(Boolean).join(" ")||"—"},"listBackgroundTasks",0,function(e){i(Date.now());let t=[...n.values()].filter(t=>t.userId===e);return[...t.filter(e=>"running"===e.status).sort((e,t)=>e.startedAt.localeCompare(t.startedAt)),...t.filter(e=>"running"!==e.status).sort((e,t)=>(t.finishedAt??"").localeCompare(e.finishedAt??"")).slice(0,30)].map(e=>({id:e.id,kind:e.kind,subject:e.subject,status:e.status,progress:e.progress&&{...e.progress},error:e.error,link:e.link,startedAt:e.startedAt,finishedAt:e.finishedAt}))},"startBackgroundTask",0,l,"trackBackgroundTask",0,s])},39811,e=>{"use strict";var t=e.i(76025);e.s(["calculateGrade",0,function(e,r,n=new Date,a="en",i=t.DEFAULT_TIME_ZONE){let l=(0,t.getCalendarDate)(n,i),s=l.getFullYear(),o=l.getMonth()+1,u=s-r,d="2nd";o>=9?(u+=1,d="1st"):d=o<2?"1st":"2nd";let c="zh"===a,f=c?"1st"===d?"上期":"下期":"1st"===d?"1st Semester":"2nd Semester",h=(c?{primary:["一年级","二年级","三年级","四年级","五年级","六年级"],junior_high:["初一","初二","初三"],senior_high:["高一","高二","高三"],university:["大一","大二","大三","大四"]}:{primary:["Grade 1","Grade 2","Grade 3","Grade 4","Grade 5","Grade 6"],junior_high:["Junior High Grade 1","Junior High Grade 2","Junior High Grade 3"],senior_high:["Senior High Grade 1","Senior High Grade 2","Senior High Grade 3"],university:["Freshman","Sophomore","Junior","Senior"]})[e]||[],g=`${u}`;if(g=u>0&&u<=h.length?h[u-1]:u>h.length?c?"已毕业":"Graduated":c?"学前":"Pre-school",!c)return`${g}, ${f}`;{let e="1st"===d?"上":"下";return`${g}${e}`}}])},4752,e=>{"use strict";var t=e.i(98043),r=e.i(43911);let n=(0,e.i(50377).createLogger)("mastery"),a=["correct","wrong","not_attempted"];function i(e){return"string"==typeof e&&a.includes(e)}let l={easy:.85,medium:.95,hard:1,harder:1},s={wrong:.1,not_attempted:0};async function o(e){let a=await t.prisma.errorItem.findUnique({where:{id:e},select:{id:!0,questionText:!0,mistakeStatus:!0,tags:{select:{name:!0}},practiceRecords:{where:{result:{not:null}},orderBy:[{createdAt:"asc"},{id:"asc"}],select:{result:!0,difficulty:!0,source:!0,createdAt:!0}}}});if(!a)return;let o=a.practiceRecords.filter(e=>i(e.result)).map(e=>({date:e.createdAt.toISOString(),difficulty:e.difficulty,result:e.result,source:e.source})),u=function(e){if(0===e.length)return null;let t=.15,r=.5;return e.forEach((n,a)=>{let i=Math.pow(.7,e.length-1-a),o="correct"===n.result?l[n.difficulty||"medium"]??l.medium:s[n.result];t+=i*o,r+=i}),Math.round(t/r*100)/100}(o);if(null===u)return void await t.prisma.errorItem.update({where:{id:a.id},data:{masteryProbability:null,masteryReason:null,masterySource:null,masteryEvaluatedAt:null}});let d=u,c="",f="rule";try{let e=await (0,r.getAIService)().evaluateMastery({questionText:a.questionText||"",knowledgePoints:a.tags.map(e=>e.name),mistakeStatus:a.mistakeStatus,history:o,ruleProbability:u});d=e.probability,c=e.reason,f="ai"}catch(r){n.warn({errorItemId:e,error:r instanceof Error?r.message:String(r)},"AI mastery evaluation failed, using rule estimate");let t=o.filter(e=>"correct"===e.result).length;c=`共练习 ${o.length} 次,做对 ${t} 次(规则估算)`}await t.prisma.errorItem.update({where:{id:a.id},data:{masteryProbability:d,masteryReason:c,masterySource:f,masteryEvaluatedAt:new Date,masteryLevel:+(d>=.8)}}),n.info({errorItemId:e,probability:d,source:f},"Mastery evaluated")}let u=new Set,d=!1;async function c(){if(!d){d=!0;try{for(;u.size>0;){let[e]=u;u.delete(e);try{await o(e)}catch(t){n.error({errorItemId:e,error:t},"Mastery evaluation failed")}}}finally{d=!1}}}e.s(["PRACTICE_RESULTS",0,a,"isPracticeResult",0,i,"scheduleMasteryEvaluation",0,function(e){e.forEach(e=>u.add(e)),c()}])},55920,e=>{"use strict";e.s(["getDefaultPaperLevel",0,function(e){return"number"!=typeof e||!Number.isInteger(e)||e<1||e>5?null:e<=3?"a":"b"}])},88993,e=>{"use strict";let t=/^[【[((]?图示/u;function r(e){return(function(e){let r=[],n=!1,a=!1;for(let i of e.split(/\r?\n/)){let e=i.trim();e?n&&t.test(e)&&(a=!0):a=!1,a||r.push(i),e&&(n=!0)}return r.join("\n")})(e.normalize("NFC")).replace(/[\uFF01-\uFF5E]/g,e=>String.fromCharCode(e.charCodeAt(0)-65248)).replace(/\\underline\{[^}]*\}|_{2,}/g,"__").replace(/\s+/gu," ").replace(/\( ?\)/g,"()").trim()}e.s(["DEFAULT_QUESTION_DUPLICATE_THRESHOLD",0,90,"calculateQuestionSimilarity",0,function(e,t){let n=r(e),a=r(t);if(!n||!a)return null;if(n===a)return 1;let i=Array.from(n),l=Array.from(a),s=Math.max(i.length,l.length),o=0;for(;o<Math.min(i.length,l.length)&&i[o]===l[o];)o++;let u=i.length,d=l.length;for(;u>o&&d>o&&i[u-1]===l[d-1];)u--,d--;i=i.slice(o,u),l=l.slice(o,d),i.length>l.length&&([i,l]=[l,i]);let c=Int32Array.from({length:i.length+1},(e,t)=>t);for(let e=1;e<=l.length;e++){let t=c[0];c[0]=e;for(let r=1;r<=i.length;r++){let n=c[r];c[r]=Math.min(n+1,c[r-1]+1,t+ +(i[r-1]!==l[e-1])),t=n}}return 1-c[i.length]/s},"duplicateQuestionSimilarity",0,function(e,t,n=90){let a=r(e),i=r(t);if(!a||!i||n>=100)return null;if(a===i)return 1;let l=Array.from(a),s=Array.from(i);l.length>s.length&&([l,s]=[s,l]);let o=s.length,u=Math.ceil(o*(1e4-Math.round(100*n))/1e4)-1;if(s.length-l.length>u||0===u)return null;let d=u+1,c=new Int32Array(l.length+1).fill(d),f=new Int32Array(l.length+1).fill(d);for(let e=0;e<=Math.min(l.length,u);e++)c[e]=e;for(let e=1;e<=s.length;e++){let t=Math.max(1,e-u),r=Math.min(l.length,e+u);f[0]=e<=u?e:d,t>1&&(f[t-1]=d);let n=f[0];for(let a=t;a<=r;a++)f[a]=Math.min(c[a]+1,f[a-1]+1,c[a-1]+ +(l[a-1]!==s[e-1])),n=Math.min(n,f[a]);if(n>u)return null;r<l.length&&(f[r+1]=d),[c,f]=[f,c]}let h=c[l.length];return h<=u?1-h/o:null}])},41070,e=>{"use strict";let t="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz",r=RegExp(`^[${t}]{6}$`);e.s(["BASE58_ALPHABET",0,t,"SHORT_ID_LENGTH",0,6,"isShortId",0,function(e){return"string"==typeof e&&r.test(e)}])},92366,e=>{"use strict";var t=e.i(54799),r=e.i(41070);async function n(e){for(let n=0;n<10;n++){let n=function(){let e="";for(;e.length<r.SHORT_ID_LENGTH;)for(let n of(0,t.randomBytes)(2*r.SHORT_ID_LENGTH))n<232&&e.length<r.SHORT_ID_LENGTH&&(e+=r.BASE58_ALPHABET[n%58]);return e}();if(!await e.errorItem.findUnique({where:{shortId:n},select:{id:!0}}))return n}throw Error("Failed to generate a unique short ID")}e.s(["generateUniqueShortId",0,n])},4083,e=>{"use strict";var t=e.i(98043);async function r(e,n,a=t.prisma){if(!e||!n)return null;let i=await a.knowledgeTag.findMany({where:{subject:n,isSystem:!0,parentId:null},select:{id:!0,name:!0}});if(0===i.length)return null;let l=e.trim(),s=i.find(e=>e.name===l);if(s)return s.id;let o="";for(let[e,t]of Object.entries({一年级:"一年级","Grade 1":"一年级",二年级:"二年级","Grade 2":"二年级",三年级:"三年级","Grade 3":"三年级",四年级:"四年级","Grade 4":"四年级",五年级:"五年级","Grade 5":"五年级",六年级:"六年级","Grade 6":"六年级",初一:"七年级","Grade 7":"七年级",七年级:"七年级",初二:"八年级","Grade 8":"八年级",八年级:"八年级",初三:"九年级","Grade 9":"九年级",九年级:"九年级",高一:"高一","Grade 10":"高一","Senior 1":"高一",高二:"高二","Grade 11":"高二","Senior 2":"高二",高三:"高三","Grade 12":"高三","Senior 3":"高三"}))if(l.includes(e)){o=t;break}if(!o)return null;let u="";l.includes("上")||l.includes("1st")||l.includes("First")?u="上":(l.includes("下")||l.includes("2nd")||l.includes("Second"))&&(u="下");let d=[];for(let e of(u&&d.push(`${o}${u}`),d.push(o),d)){let t=i.find(t=>t.name===e);if(t)return t.id}return null}e.s(["findParentTagIdForGrade",0,r])}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__05no8nw._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[63021,(e,t,r)=>{t.exports=e.x("@prisma/client-2c3a283f134fdcb6",()=>require("@prisma/client-2c3a283f134fdcb6"))},98043,e=>{"use strict";var t=e.i(63021);let r=e.g.prisma||new t.PrismaClient({log:"true"===process.env.DEBUG_DB?["query","error","warn"]:["error"]});e.s(["prisma",0,r])},49719,(e,t,r)=>{t.exports=e.x("assert",()=>require("assert"))},44950,e=>e.a(async(t,r)=>{try{var a=await e.y("bcryptjs-ee66c2bdc904f2cf");e.n(a),r()}catch(e){r(e)}},!0),874,(e,t,r)=>{t.exports=e.x("buffer",()=>require("buffer"))},54799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},27699,(e,t,r)=>{t.exports=e.x("events",()=>require("events"))},21517,(e,t,r)=>{t.exports=e.x("http",()=>require("http"))},24836,(e,t,r)=>{t.exports=e.x("https",()=>require("https"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},20635,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},59043,(e,t,r)=>{t.exports=e.x("next/dist/server/runtime-reacts.external.js",()=>require("next/dist/server/runtime-reacts.external.js"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},81111,(e,t,r)=>{t.exports=e.x("node:stream",()=>require("node:stream"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},45706,(e,t,r)=>{t.exports=e.x("querystring",()=>require("querystring"))},92509,(e,t,r)=>{t.exports=e.x("url",()=>require("url"))},24361,(e,t,r)=>{t.exports=e.x("util",()=>require("util"))},6461,(e,t,r)=>{t.exports=e.x("zlib",()=>require("zlib"))},36520,e=>e.a(async(t,r)=>{try{var a=e.i(58821),n=e.i(98043),i=e.i(79832),s=e.i(13618),o=e.i(76759),l=e.i(50377),u=t([i]);[i]=u.then?(await u)():u;let c=(0,l.createLogger)("api:error-items:delete");async function d(e,{params:t}){let{id:r}=await t,l=await (0,s.getServerSession)(i.authOptions);try{let e;if(l?.user?.email&&(e=await n.prisma.user.findUnique({where:{email:l.user.email}})),!e)return(0,o.unauthorized)("Authentication required");let t=await n.prisma.errorItem.findUnique({where:{id:r}});if(!t)return(0,o.notFound)("Item not found");if(t.userId!==e.id)return(0,o.forbidden)("Not authorized to delete this item");return await n.prisma.errorItem.delete({where:{id:r}}),a.NextResponse.json({message:"Deleted successfully"})}catch(e){return c.error({error:e},"Error deleting item"),(0,o.internalError)("Failed to delete error item")}}e.s(["DELETE",0,d]),r()}catch(e){r(e)}},!1),38872,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),n=e.i(59756),i=e.i(61916),s=e.i(74677),o=e.i(69741),l=e.i(16795),u=e.i(87718),d=e.i(95169),c=e.i(47587),p=e.i(66012),R=e.i(70101),E=e.i(74838),x=e.i(10372),h=e.i(93695),f=e.i(9580);e.i(52474);var m=e.i(220);let v=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/error-items/[id]/delete/route",pathname:"/api/error-items/[id]/delete",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/error-items/[id]/delete/route.ts",nextConfigOutput:"standalone",userland:()=>e.r(36520),...{}}),{workAsyncStorage:N,workUnitAsyncStorage:O,serverHooks:g}=v;async function I(e,t,a){a.requestMeta&&(0,n.setRequestMeta)(e,a.requestMeta),v.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let N="/api/error-items/[id]/delete/route";N=N.replace(/\/index$/,"")||"/";let O=await v.prepare(e,t,{srcPage:N,multiZoneDraftMode:!1});if(!O)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:g,deploymentId:I,params:A,nextConfig:T,parsedUrl:w,isDraftMode:_,prerenderManifest:D,routerServerContext:y,isOnDemandRevalidate:S,revalidateOnlyGenerated:C,resolvedPathname:b,clientReferenceManifest:q,serverActionsManifest:U}=O,L=(0,o.normalizeAppPath)(N),P=!!D.routes[b]&&(v.isDev||(0,f.isRouteCacheOwner)(b,v.cacheOwner,D.routes[b])),F=!!(D.dynamicRoutes[L]||P),j=async()=>((null==y?void 0:y.render404)?await y.render404(e,t,w,!1):t.end("This page could not be found"),null);if(F&&!_){let e=D.dynamicRoutes[L];if(e&&!1===e.fallback&&!P){if(T.adapterPath)return await j();throw new h.NoFallbackError}}let k=null;!F||v.isDev||_||(k="/index"===(k=b)?"/":k);let H=!0===v.isDev||!F,M=F&&!H;U&&q&&(0,s.setManifestsSingleton)({page:N,clientReferenceManifest:q,serverActionsManifest:U});let B=e.method||"GET",G=(0,i.getTracer)(),V=G.getActiveScopeSpan(),K=!!(null==y?void 0:y.isWrappedByNextServer),z=!!(0,n.getRequestMeta)(e,"minimalMode"),Q=(0,n.getRequestMeta)(e,"incrementalCache")||await v.getIncrementalCache(e,T,D,z);null==Q||Q.resetRequestCache(),globalThis.__incrementalCache=Q;let X={params:A,previewProps:D.preview,renderOpts:{experimental:{authInterrupts:!!T.experimental.authInterrupts,useCacheTimeout:T.experimental.useCacheTimeout},cacheComponents:!!T.cacheComponents,validationLevel:T.experimental.instantInsights.validationLevel,isDraftMode:_,supportsDynamicResponse:H,incrementalCache:Q,hmrRefreshHash:(0,n.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:T.cacheLife,staticPageGenerationTimeout:T.staticPageGenerationTimeout,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>v.onRequestError(e,t,a,n,y)},sharedContext:{buildId:g,deploymentId:I}},$=new l.NodeNextRequest(e),W=new l.NodeNextResponse(t),Z=u.NextRequestAdapter.fromNodeNextRequest($,(0,u.signalFromNodeResponse)(t)),J=async({previousCacheEntry:r})=>{try{if(!z&&S&&C&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await v.handle(Z,X);e.fetchMetrics=X.renderOpts.fetchMetrics;let i=X.renderOpts.pendingWaitUntil;i&&a.waitUntil&&(a.waitUntil(i),i=void 0);let s=X.renderOpts.collectedTags;if(!F)return await (0,p.sendResponse)($,W,n,i),null;{let e=await n.blob(),t=(0,R.toNodeOutgoingHttpHeaders)(n.headers);s&&(t[x.NEXT_CACHE_TAGS_HEADER]=s),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==X.renderOpts.collectedRevalidate&&!(X.renderOpts.collectedRevalidate>=x.INFINITE_CACHE)&&X.renderOpts.collectedRevalidate,a=void 0===X.renderOpts.collectedExpire||X.renderOpts.collectedExpire>=x.INFINITE_CACHE?!1!==r&&r>0?T.expireTime:void 0:X.renderOpts.collectedExpire;return{value:{kind:m.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await v.onRequestError(e,t,{routerKind:"App Router",routePath:N,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:S})},!1,y),t}},Y=async(n,s)=>{try{var o,l;let n=await v.handleResponse({req:e,nextConfig:T,cacheKey:k,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:D,isRoutePPREnabled:!1,isOnDemandRevalidate:S,revalidateOnlyGenerated:C,responseGenerator:J,waitUntil:a.waitUntil,isMinimalMode:z});if(!F)return;if((null==n||null==(o=n.value)?void 0:o.kind)!==m.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==n||null==(l=n.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});z||t.setHeader("x-nextjs-cache",S?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),_&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let i=(0,R.fromNodeOutgoingHttpHeaders)(n.value.headers);z&&F||i.delete(x.NEXT_CACHE_TAGS_HEADER),!n.cacheControl||t.getHeader("Cache-Control")||i.get("Cache-Control")||i.set("Cache-Control",(0,E.getCacheControlHeader)(n.cacheControl)),await (0,p.sendResponse)($,W,new Response(n.value.body,{headers:i,status:n.value.status||200}));return}catch(t){if(t instanceof h.NoFallbackError||await v.onRequestError(e,t,{routerKind:"App Router",routePath:L,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:S})},!1,y),F)throw t;await (0,p.sendResponse)($,W,new Response(null,{status:500}));return}finally{(()=>{if(!n)return;let e=t.statusCode;n.setAttributes({"http.status_code":e,"next.rsc":!1}),e&&e>=500&&(n.setStatus({code:i.SpanStatusCode.ERROR}),n.setAttribute("error.type",e.toString()));let r=G.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==d.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route")||L,o=`${B} ${a}`;n.setAttributes({"next.route":a,"http.route":a,"next.span_name":o}),n.updateName(o),s&&s!==n&&(s.setAttribute("http.route",a),s.updateName(o))})()}};if(K&&V)await Y(V,void 0);else{let t=G.getActiveScopeSpan();await G.withPropagatedContext(e.headers,()=>G.trace(d.BaseServerSpan.handleRequest,{spanName:`${B} ${N}`,kind:i.SpanKind.SERVER,attributes:{"http.method":B,"http.target":e.url}},e=>Y(e,t)),void 0,!K)}}e.s(["handler",0,I,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:N,workUnitAsyncStorage:O})},"routeModule",0,v,"serverHooks",0,g,"workAsyncStorage",0,N,"workUnitAsyncStorage",0,O])},76759,e=>{"use strict";var t=e.i(58821);let r={UNAUTHORIZED:"UNAUTHORIZED",SESSION_EXPIRED:"SESSION_EXPIRED",FORBIDDEN:"FORBIDDEN",NOT_OWNER:"NOT_OWNER",ADMIN_REQUIRED:"ADMIN_REQUIRED",NOT_FOUND:"NOT_FOUND",USER_NOT_FOUND:"USER_NOT_FOUND",ITEM_NOT_FOUND:"ITEM_NOT_FOUND",BAD_REQUEST:"BAD_REQUEST",INVALID_INPUT:"INVALID_INPUT",MISSING_REQUIRED_FIELD:"MISSING_REQUIRED_FIELD",VALIDATION_ERROR:"VALIDATION_ERROR",OPERATION_NOT_ALLOWED:"OPERATION_NOT_ALLOWED",CONFLICT:"CONFLICT",ALREADY_EXISTS:"ALREADY_EXISTS",INTERNAL_ERROR:"INTERNAL_ERROR",DATABASE_ERROR:"DATABASE_ERROR",AI_ERROR:"AI_ERROR"};function a(e,r,a,n){let i={message:e};return a&&(i.code=a),n&&(i.details=n),t.NextResponse.json(i,{status:r})}e.s(["ErrorCode",0,r,"badRequest",0,function(e,t){return a(e,400,r.BAD_REQUEST,t)},"conflict",0,function(e){return a(e,409,r.CONFLICT)},"createErrorResponse",0,a,"forbidden",0,function(e="Forbidden"){return a(e,403,r.FORBIDDEN)},"internalError",0,function(e="Internal server error"){return a(e,500,r.INTERNAL_ERROR)},"notFound",0,function(e="Not found"){return a(e,404,r.NOT_FOUND)},"unauthorized",0,function(e="Unauthorized"){return a(e,401,r.UNAUTHORIZED)},"validationError",0,function(e,t){return a(e,400,r.VALIDATION_ERROR,t)}])},50377,e=>{"use strict";let t={trace:10,debug:20,info:30,warn:40,error:50,fatal:60};function r(e,a={}){let n,i=t[e],s=(n=process.env.LOG_LEVEL?.toLowerCase())&&void 0!==t[n]?t[n]:t.info;return(t,r)=>{let n,o;if(i<s)return;let l=new Date;"string"==typeof t?(n={},o=t):(n=t,o=r||"");{let t=JSON.stringify({level:e,time:l.toISOString(),...a,...n,msg:o});switch(e){case"error":case"fatal":console.error(t);break;case"warn":console.warn(t);break;default:console.log(t)}}}}let a=function e(t={}){return t.module,{trace:r("trace",t),debug:r("debug",t),info:r("info",t),warn:r("warn",t),error:r("error",t),fatal:r("fatal",t),child:r=>e({...t,...r}),box:(e,r,a="📋")=>{console.log(JSON.stringify({level:"info",time:new Date().toISOString(),...t,title:e,..."string"==typeof r?{content:r}:r||{},msg:e}))},divider:(e="-")=>{}}}({env:"production"});e.s(["createLogger",0,function(e){return a.child({module:e})}])}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__05s4wut._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[63021,(e,t,r)=>{t.exports=e.x("@prisma/client-2c3a283f134fdcb6",()=>require("@prisma/client-2c3a283f134fdcb6"))},98043,e=>{"use strict";var t=e.i(63021);let r=e.g.prisma||new t.PrismaClient({log:"true"===process.env.DEBUG_DB?["query","error","warn"]:["error"]});e.s(["prisma",0,r])},49719,(e,t,r)=>{t.exports=e.x("assert",()=>require("assert"))},44950,e=>e.a(async(t,r)=>{try{var a=await e.y("bcryptjs-ee66c2bdc904f2cf");e.n(a),r()}catch(e){r(e)}},!0),874,(e,t,r)=>{t.exports=e.x("buffer",()=>require("buffer"))},54799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},27699,(e,t,r)=>{t.exports=e.x("events",()=>require("events"))},21517,(e,t,r)=>{t.exports=e.x("http",()=>require("http"))},24836,(e,t,r)=>{t.exports=e.x("https",()=>require("https"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},20635,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},59043,(e,t,r)=>{t.exports=e.x("next/dist/server/runtime-reacts.external.js",()=>require("next/dist/server/runtime-reacts.external.js"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},81111,(e,t,r)=>{t.exports=e.x("node:stream",()=>require("node:stream"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},45706,(e,t,r)=>{t.exports=e.x("querystring",()=>require("querystring"))},92509,(e,t,r)=>{t.exports=e.x("url",()=>require("url"))},24361,(e,t,r)=>{t.exports=e.x("util",()=>require("util"))},6461,(e,t,r)=>{t.exports=e.x("zlib",()=>require("zlib"))},73913,e=>e.a(async(t,r)=>{try{var a=e.i(58821),n=e.i(98043),s=e.i(79832),i=e.i(13618),o=e.i(76759),l=e.i(50377),u=t([s]);[s]=u.then?(await u)():u;let c=(0,l.createLogger)("api:admin:system-reset");async function d(e){let t=await (0,i.getServerSession)(s.authOptions);if(!t||!t.user)return(0,o.unauthorized)();if("admin"!==t.user.role)return(0,o.forbidden)("Admin access required for system reset");try{return c.info({email:t.user.email},"System reset initiated"),await n.prisma.$transaction(async e=>{await e.practiceRecord.deleteMany({}),await e.errorItem.deleteMany({}),await e.subject.deleteMany({}),await e.knowledgeTag.deleteMany({where:{isSystem:!1}}),t.user?.email&&await e.user.deleteMany({where:{email:{not:t.user.email}}})}),c.info("System reset completed successfully"),a.NextResponse.json({success:!0,message:"System reset complete"})}catch(e){return c.error({error:e},"System reset error"),(0,o.internalError)("Failed to reset system")}}e.s(["POST",0,d]),r()}catch(e){r(e)}},!1),53035,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),n=e.i(59756),s=e.i(61916),i=e.i(74677),o=e.i(69741),l=e.i(16795),u=e.i(87718),d=e.i(95169),c=e.i(47587),p=e.i(66012),R=e.i(70101),x=e.i(74838),E=e.i(10372),h=e.i(93695),m=e.i(9580);e.i(52474);var f=e.i(220);let v=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/admin/system-reset/route",pathname:"/api/admin/system-reset",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/admin/system-reset/route.ts",nextConfigOutput:"standalone",userland:()=>e.r(73913),...{}}),{workAsyncStorage:O,workUnitAsyncStorage:g,serverHooks:N}=v;async function y(e,t,a){a.requestMeta&&(0,n.setRequestMeta)(e,a.requestMeta),v.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let O="/api/admin/system-reset/route";O=O.replace(/\/index$/,"")||"/";let g=await v.prepare(e,t,{srcPage:O,multiZoneDraftMode:!1});if(!g)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:N,deploymentId:y,params:I,nextConfig:w,parsedUrl:A,isDraftMode:T,prerenderManifest:_,routerServerContext:S,isOnDemandRevalidate:D,revalidateOnlyGenerated:C,resolvedPathname:b,clientReferenceManifest:q,serverActionsManifest:U}=g,P=(0,o.normalizeAppPath)(O),L=!!_.routes[b]&&(v.isDev||(0,m.isRouteCacheOwner)(b,v.cacheOwner,_.routes[b])),M=!!(_.dynamicRoutes[P]||L),F=async()=>((null==S?void 0:S.render404)?await S.render404(e,t,A,!1):t.end("This page could not be found"),null);if(M&&!T){let e=_.dynamicRoutes[P];if(e&&!1===e.fallback&&!L){if(w.adapterPath)return await F();throw new h.NoFallbackError}}let j=null;!M||v.isDev||T||(j="/index"===(j=b)?"/":j);let k=!0===v.isDev||!M,H=M&&!k;U&&q&&(0,i.setManifestsSingleton)({page:O,clientReferenceManifest:q,serverActionsManifest:U});let B=e.method||"GET",G=(0,s.getTracer)(),V=G.getActiveScopeSpan(),K=!!(null==S?void 0:S.isWrappedByNextServer),$=!!(0,n.getRequestMeta)(e,"minimalMode"),Q=(0,n.getRequestMeta)(e,"incrementalCache")||await v.getIncrementalCache(e,w,_,$);null==Q||Q.resetRequestCache(),globalThis.__incrementalCache=Q;let X={params:I,previewProps:_.preview,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts,useCacheTimeout:w.experimental.useCacheTimeout},cacheComponents:!!w.cacheComponents,validationLevel:w.experimental.instantInsights.validationLevel,isDraftMode:T,supportsDynamicResponse:k,incrementalCache:Q,hmrRefreshHash:(0,n.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:w.cacheLife,staticPageGenerationTimeout:w.staticPageGenerationTimeout,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>v.onRequestError(e,t,a,n,S)},sharedContext:{buildId:N,deploymentId:y}},z=new l.NodeNextRequest(e),W=new l.NodeNextResponse(t),Z=u.NextRequestAdapter.fromNodeNextRequest(z,(0,u.signalFromNodeResponse)(t)),J=async({previousCacheEntry:r})=>{try{if(!$&&D&&C&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await v.handle(Z,X);e.fetchMetrics=X.renderOpts.fetchMetrics;let s=X.renderOpts.pendingWaitUntil;s&&a.waitUntil&&(a.waitUntil(s),s=void 0);let i=X.renderOpts.collectedTags;if(!M)return await (0,p.sendResponse)(z,W,n,s),null;{let e=await n.blob(),t=(0,R.toNodeOutgoingHttpHeaders)(n.headers);i&&(t[E.NEXT_CACHE_TAGS_HEADER]=i),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==X.renderOpts.collectedRevalidate&&!(X.renderOpts.collectedRevalidate>=E.INFINITE_CACHE)&&X.renderOpts.collectedRevalidate,a=void 0===X.renderOpts.collectedExpire||X.renderOpts.collectedExpire>=E.INFINITE_CACHE?!1!==r&&r>0?w.expireTime:void 0:X.renderOpts.collectedExpire;return{value:{kind:f.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await v.onRequestError(e,t,{routerKind:"App Router",routePath:O,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:D})},!1,S),t}},Y=async(n,i)=>{try{var o,l;let n=await v.handleResponse({req:e,nextConfig:w,cacheKey:j,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:_,isRoutePPREnabled:!1,isOnDemandRevalidate:D,revalidateOnlyGenerated:C,responseGenerator:J,waitUntil:a.waitUntil,isMinimalMode:$});if(!M)return;if((null==n||null==(o=n.value)?void 0:o.kind)!==f.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==n||null==(l=n.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});$||t.setHeader("x-nextjs-cache",D?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),T&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let s=(0,R.fromNodeOutgoingHttpHeaders)(n.value.headers);$&&M||s.delete(E.NEXT_CACHE_TAGS_HEADER),!n.cacheControl||t.getHeader("Cache-Control")||s.get("Cache-Control")||s.set("Cache-Control",(0,x.getCacheControlHeader)(n.cacheControl)),await (0,p.sendResponse)(z,W,new Response(n.value.body,{headers:s,status:n.value.status||200}));return}catch(t){if(t instanceof h.NoFallbackError||await v.onRequestError(e,t,{routerKind:"App Router",routePath:P,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:D})},!1,S),M)throw t;await (0,p.sendResponse)(z,W,new Response(null,{status:500}));return}finally{(()=>{if(!n)return;let e=t.statusCode;n.setAttributes({"http.status_code":e,"next.rsc":!1}),e&&e>=500&&(n.setStatus({code:s.SpanStatusCode.ERROR}),n.setAttribute("error.type",e.toString()));let r=G.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==d.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route")||P,o=`${B} ${a}`;n.setAttributes({"next.route":a,"http.route":a,"next.span_name":o}),n.updateName(o),i&&i!==n&&(i.setAttribute("http.route",a),i.updateName(o))})()}};if(K&&V)await Y(V,void 0);else{let t=G.getActiveScopeSpan();await G.withPropagatedContext(e.headers,()=>G.trace(d.BaseServerSpan.handleRequest,{spanName:`${B} ${O}`,kind:s.SpanKind.SERVER,attributes:{"http.method":B,"http.target":e.url}},e=>Y(e,t)),void 0,!K)}}e.s(["handler",0,y,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:O,workUnitAsyncStorage:g})},"routeModule",0,v,"serverHooks",0,N,"workAsyncStorage",0,O,"workUnitAsyncStorage",0,g])},76759,e=>{"use strict";var t=e.i(58821);let r={UNAUTHORIZED:"UNAUTHORIZED",SESSION_EXPIRED:"SESSION_EXPIRED",FORBIDDEN:"FORBIDDEN",NOT_OWNER:"NOT_OWNER",ADMIN_REQUIRED:"ADMIN_REQUIRED",NOT_FOUND:"NOT_FOUND",USER_NOT_FOUND:"USER_NOT_FOUND",ITEM_NOT_FOUND:"ITEM_NOT_FOUND",BAD_REQUEST:"BAD_REQUEST",INVALID_INPUT:"INVALID_INPUT",MISSING_REQUIRED_FIELD:"MISSING_REQUIRED_FIELD",VALIDATION_ERROR:"VALIDATION_ERROR",OPERATION_NOT_ALLOWED:"OPERATION_NOT_ALLOWED",CONFLICT:"CONFLICT",ALREADY_EXISTS:"ALREADY_EXISTS",INTERNAL_ERROR:"INTERNAL_ERROR",DATABASE_ERROR:"DATABASE_ERROR",AI_ERROR:"AI_ERROR"};function a(e,r,a,n){let s={message:e};return a&&(s.code=a),n&&(s.details=n),t.NextResponse.json(s,{status:r})}e.s(["ErrorCode",0,r,"badRequest",0,function(e,t){return a(e,400,r.BAD_REQUEST,t)},"conflict",0,function(e){return a(e,409,r.CONFLICT)},"createErrorResponse",0,a,"forbidden",0,function(e="Forbidden"){return a(e,403,r.FORBIDDEN)},"internalError",0,function(e="Internal server error"){return a(e,500,r.INTERNAL_ERROR)},"notFound",0,function(e="Not found"){return a(e,404,r.NOT_FOUND)},"unauthorized",0,function(e="Unauthorized"){return a(e,401,r.UNAUTHORIZED)},"validationError",0,function(e,t){return a(e,400,r.VALIDATION_ERROR,t)}])},50377,e=>{"use strict";let t={trace:10,debug:20,info:30,warn:40,error:50,fatal:60};function r(e,a={}){let n,s=t[e],i=(n=process.env.LOG_LEVEL?.toLowerCase())&&void 0!==t[n]?t[n]:t.info;return(t,r)=>{let n,o;if(s<i)return;let l=new Date;"string"==typeof t?(n={},o=t):(n=t,o=r||"");{let t=JSON.stringify({level:e,time:l.toISOString(),...a,...n,msg:o});switch(e){case"error":case"fatal":console.error(t);break;case"warn":console.warn(t);break;default:console.log(t)}}}}let a=function e(t={}){return t.module,{trace:r("trace",t),debug:r("debug",t),info:r("info",t),warn:r("warn",t),error:r("error",t),fatal:r("fatal",t),child:r=>e({...t,...r}),box:(e,r,a="📋")=>{console.log(JSON.stringify({level:"info",time:new Date().toISOString(),...t,title:e,..."string"==typeof r?{content:r}:r||{},msg:e}))},divider:(e="-")=>{}}}({env:"production"});e.s(["createLogger",0,function(e){return a.child({module:e})}])}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__06h5afw._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[4446,(e,r,t)=>{r.exports=e.x("net",()=>require("net"))},46786,(e,r,t)=>{r.exports=e.x("os",()=>require("os"))},55004,(e,r,t)=>{r.exports=e.x("tls",()=>require("tls"))},96155,50580,64351,e=>{"use strict";e.s(["__classPrivateFieldGet",0,function(e,r,t,n){if("a"===t&&!n)throw TypeError("Private accessor was defined without a getter");if("function"==typeof r?e!==r||!n:!r.has(e))throw TypeError("Cannot read private member from an object whose class did not declare it");return"m"===t?n:"a"===t?n.call(e):n?n.value:r.get(e)},"__classPrivateFieldSet",0,function(e,r,t,n,o){if("m"===n)throw TypeError("Private method is not writable");if("a"===n&&!o)throw TypeError("Private accessor was defined without a setter");if("function"==typeof r?e!==r||!o:!r.has(e))throw TypeError("Cannot write private member to an object whose class did not declare it");return"a"===n?o.call(e,t):o?o.value=t:r.set(e,t),t}],96155);let r=e=>{if(e instanceof Error)return e;if("object"==typeof e&&null!==e){try{let r=Object.prototype.toString.call(e);if("[object Error]"===r||"[object DOMException]"===r){let r=Error(e.message,e.cause?{cause:e.cause}:{});return e.stack&&(r.stack=e.stack),e.cause&&!r.cause&&(r.cause=e.cause),e.name&&(r.name=e.name),r}}catch{}try{return Error(JSON.stringify(e))}catch{}}return Error(e)};e.s(["castToError",0,r,"isAbortError",0,function(e){return"object"==typeof e&&null!==e&&("name"in e&&"AbortError"===e.name||"message"in e&&String(e.message).includes("FetchRequestCanceledException"))}],50580);var t=class extends Error{};class n extends t{constructor(e,r,t,o,s){super(`${n.makeMessage(e,r,t)}`),this.status=e,this.headers=o,this.requestID=o?.get("request-id"),this.workspaceID=o?.get("anthropic-workspace-id"),this.error=r,this.type=s??null}static makeMessage(e,r,t){let n=r?.message?"string"==typeof r.message?r.message:JSON.stringify(r.message):r?JSON.stringify(r):t;return e&&n?`${e} ${n}`:e?`${e} status code (no body)`:n||"(no status code or body)"}static generate(e,t,h,g){if(!e||!g)return new o({message:h,cause:r(t)});let p=t?.error?.type;return 400===e?new s(e,t,h,g,p):401===e?new i(e,t,h,g,p):403===e?new a(e,t,h,g,p):404===e?new c(e,t,h,g,p):409===e?new u(e,t,h,g,p):422===e?new l(e,t,h,g,p):429===e?new d(e,t,h,g,p):e>=500?new f(e,t,h,g,p):new n(e,t,h,g,p)}}class o extends n{constructor({message:e,cause:r}){super(void 0,void 0,e||"Connection error.",void 0),r&&(this.cause=r)}}class s extends n{}class i extends n{}class a extends n{}class c extends n{}class u extends n{}class l extends n{}class d extends n{}class f extends n{}e.s(["APIConnectionError",0,o,"APIConnectionTimeoutError",0,class extends o{constructor({message:e}={}){super({message:e??"Request timed out."})}},"APIError",0,n,"APIUserAbortError",0,class extends n{constructor({message:e}={}){super(void 0,void 0,e||"Request was aborted.",void 0)}},"AnthropicError",0,t,"AuthenticationError",0,i,"BadRequestError",0,s,"ConflictError",0,u,"InternalServerError",0,f,"NotFoundError",0,c,"PermissionDeniedError",0,a,"RateLimitError",0,d,"RetryableError",0,class extends t{constructor(e,{cause:r}={}){super(e??"Retryable error."),void 0!==r&&(this.cause=r)}},"UnprocessableEntityError",0,l],64351)},98156,e=>{"use strict";var r=e.i(64351);function t(e,t){return e instanceof r.APIError&&e.status===t}e.s(["applyJitter",0,function(e){return e*(1-.25*Math.random())},"backoff",0,function(e,r,t){return Math.min(r*2**e,t)},"isFatal4xx",0,function(e){return e instanceof r.APIError&&"number"==typeof e.status&&e.status>=400&&e.status<500&&!t(e,408)&&!t(e,409)&&!t(e,429)},"isStatus",0,t,"jitter",0,function(e,r){return e+Math.random()*(r-e)}])},87160,e=>{"use strict";let r,t;e.s(["concatBytes",0,function(e){let r=0;for(let t of e)r+=t.length;let t=new Uint8Array(r),n=0;for(let r of e)t.set(r,n),n+=r.length;return t},"decodeUTF8",0,function(e){let r;return(t??(t=(r=new globalThis.TextDecoder).decode.bind(r)))(e)},"encodeUTF8",0,function(e){let t;return(r??(r=(t=new globalThis.TextEncoder).encode.bind(t)))(e)}])},11935,e=>{"use strict";let r,t;var n=e.i(64219),o=e.i(31963);let s="warn",i={off:0,error:200,warn:300,info:400,debug:500},a=(e,r,t)=>{if(e){if((0,n.hasOwn)(i,e))return e;t.warn(`${r} was set to ${JSON.stringify(e)}, expected one of ${JSON.stringify(Object.keys(i))}`)}};function c(){}function u(e,r,t){return!r||i[e]>i[t]?c:r[e].bind(r)}let l={error:c,warn:c,info:c,debug:c},d=new WeakMap;function f(e,r){let t=d.get(e);if(t&&t[0]===r)return t[1];let n={error:u("error",e,r),warn:u("warn",e,r),info:u("info",e,r),debug:u("debug",e,r)};return d.set(e,[r,n]),n}e.s(["debugLogRequestDetails",0,function(e,r,t){let n;e.debug!==c&&e.debug(r,((n=t).options&&(n.options={...n.options},delete n.options.headers),n.headers&&(n.headers=Object.fromEntries((n.headers instanceof Headers?[...n.headers]:Object.entries(n.headers)).map(([e,r])=>[e,"authorization"===e.toLowerCase()||"api-key"===e.toLowerCase()||"x-api-key"===e.toLowerCase()||"cookie"===e.toLowerCase()||"set-cookie"===e.toLowerCase()?"***":r]))),"retryOfRequestLogID"in n&&(n.retryOfRequestLogID&&(n.retryOf=n.retryOfRequestLogID),delete n.retryOfRequestLogID),n))},"defaultLogLevel",0,s,"defaultLogger",0,function(){let e=(0,o.readEnv)("ANTHROPIC_LOG");return t&&e===r||(r=e,t=f(console,a(e,"process.env['ANTHROPIC_LOG']",f(console,s))??s)),t},"loggerFor",0,function(e){let r=e.logger,t=e.logLevel??"off";return r?f(r,t):l},"parseLogLevel",0,a])},68120,e=>{"use strict";e.s(["promiseWithResolvers",0,function(){let e,r;return{promise:new Promise((t,n)=>{e=t,r=n}),resolve:e,reject:r}}])},64219,31963,e=>{"use strict";var r=e.i(64351);let t=/^[a-z][a-z0-9+.-]*:/i,n=e=>(n=Array.isArray)(e),o=n;e.s(["checkNever",0,function(e){},"hasOwn",0,function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},"isAbsoluteURL",0,e=>t.test(e),"isArray",()=>n,"isEmptyObj",0,function(e){if(!e)return!0;for(let r in e)return!1;return!0},"isObj",0,function(e){return null!=e&&"object"==typeof e&&!Array.isArray(e)},"isReadonlyArray",0,o,"maybeObj",0,function(e){return"object"!=typeof e?{}:e??{}},"safeJSON",0,e=>{try{return JSON.parse(e)}catch(e){return}},"validatePositiveInteger",0,(e,t)=>{if("number"!=typeof t||!Number.isInteger(t))throw new r.AnthropicError(`${e} must be an integer`);if(t<0)throw new r.AnthropicError(`${e} must be a positive integer`);return t}],64219),e.s(["readEnv",0,e=>void 0!==globalThis.process?globalThis.process.env?.[e]?.trim()||void 0:void 0!==globalThis.Deno&&globalThis.Deno.env?.get?.(e)?.trim()||void 0],31963)},32014,e=>{"use strict";var r=class extends Error{constructor(e){super("string"==typeof e?e:e.map(e=>"text"===e.type?e.text:`[${e.type}]`).join(" ")),this.name="ToolError",this.content=e}};e.s(["ToolError",0,r])},93668,e=>{"use strict";var r=e.i(64351);e.s(["DEFAULT_MEMORY_SYNC_INTERVAL_MS",0,15e3,"MIN_MEMORY_SYNC_INTERVAL_MS",0,5e3,"checkMemorySyncInterval",0,function(e,t){if(!(e>=5e3))throw new r.AnthropicError(`${t} must be at least 5000ms (got ${e}); to run without memory sync, pass \`memorySyncIntervalMs: null\` to the worker instead`)}])},43911,e=>{"use strict";var r=e.i(93963),t=e.i(92938),n=e.i(29236),o=e.i(90604),s=e.i(98003);let i=(0,e.i(50377).createLogger)("ai");e.s(["getAIService",0,function(){let e=(0,s.getAppConfig)(),a=e.aiProvider;if("openai"===a){let e=(0,s.getActiveOpenAIConfig)();return i.info({activeInstance:e?.name},"Using OpenAI Provider"),new t.OpenAIProvider(e)}return"azure"===a?(i.info({deployment:e.azure?.deploymentName},"Using Azure OpenAI Provider"),new n.AzureOpenAIProvider(e.azure)):"anthropic"===a?(i.info({model:e.anthropic?.model},"Using Anthropic Provider"),new o.AnthropicProvider(e.anthropic)):(i.info("Using Gemini Provider"),new r.GeminiProvider(e.gemini))}])},83508,e=>{"use strict";var r=e.i(76025);e.s(["calculateGradeNumber",0,function(e,t,n=r.DEFAULT_TIME_ZONE){if(!t||"primary"!==e&&"junior_high"!==e&&"senior_high"!==e)return null;let o=(0,r.getCalendarDate)(new Date,n),s=o.getFullYear(),i=o.getMonth()+1,a=s-t;if(i<9&&(a-=1),"primary"===e){let e=1+a;if(e>=1&&e<=6)return e}else if("junior_high"===e){let e=7+a;if(e>=7&&e<=9)return e}else if("senior_high"===e){let e=10+a;if(e>=10&&e<=12)return e}return null},"inferSubjectFromName",0,function(e){if(!e)return null;let r=e.toLowerCase();return r.includes("math")||r.includes("数学")?"math":r.includes("physics")||r.includes("物理")?"physics":r.includes("chemistry")||r.includes("化学")?"chemistry":r.includes("biology")||r.includes("生物")?"biology":r.includes("english")||r.includes("英语")?"english":r.includes("chinese")||r.includes("语文")?"chinese":r.includes("history")||r.includes("历史")?"history":r.includes("geography")||r.includes("地理")?"geography":r.includes("politics")||r.includes("政治")?"politics":null}])},30166,e=>{"use strict";e.s(["normalizeMistakeStatusForSave",0,function(e,r){return(r||"").trim()?"wrong_attempt":"not_attempted"===e||"wrong_attempt"===e||"unknown"===e?e:"unknown"}])},68426,e=>{"use strict";var r=e.i(83508);let t=["primary","junior_high","senior_high"],n="primary",o=["math","english","chinese","physics","chemistry","biology","history","geography","politics"],s={primary:["math","english"],junior_high:o,senior_high:o},i={primary:/^[一二三四五六]年级/,junior_high:/^[七八九]年级/,senior_high:/^高[一二三]/};function a(e){return"string"==typeof e&&t.includes(e)}function c(e){return"string"==typeof e&&o.includes(e)}e.s(["STAGE_SUBJECTS",0,s,"SUBJECT_DISPLAY_NAMES",0,{math:"数学",english:"英语",chinese:"语文",physics:"物理",chemistry:"化学",biology:"生物",history:"历史",geography:"地理",politics:"政治"},"isGradeInStage",0,function(e,r){return i[r].test(e)},"isNotebookSubject",0,c,"isValidNotebookScope",0,function(e,r){return a(e)&&c(r)&&s[e].includes(r)},"resolveNotebookScope",0,function(e){let t=c(e.subjectKey)?e.subjectKey:(0,r.inferSubjectFromName)(e.name);return{stage:a(e.stage)?e.stage:n,subject:t&&c(t)?t:null}},"stageFromEducationStage",0,function(e){return a(e)?e:n}])}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__07jl92a._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[63021,(e,t,r)=>{t.exports=e.x("@prisma/client-2c3a283f134fdcb6",()=>require("@prisma/client-2c3a283f134fdcb6"))},98043,e=>{"use strict";var t=e.i(63021);let r=e.g.prisma||new t.PrismaClient({log:"true"===process.env.DEBUG_DB?["query","error","warn"]:["error"]});e.s(["prisma",0,r])},49719,(e,t,r)=>{t.exports=e.x("assert",()=>require("assert"))},44950,e=>e.a(async(t,r)=>{try{var n=await e.y("bcryptjs-ee66c2bdc904f2cf");e.n(n),r()}catch(e){r(e)}},!0),874,(e,t,r)=>{t.exports=e.x("buffer",()=>require("buffer"))},54799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},27699,(e,t,r)=>{t.exports=e.x("events",()=>require("events"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},21517,(e,t,r)=>{t.exports=e.x("http",()=>require("http"))},24836,(e,t,r)=>{t.exports=e.x("https",()=>require("https"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},20635,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},59043,(e,t,r)=>{t.exports=e.x("next/dist/server/runtime-reacts.external.js",()=>require("next/dist/server/runtime-reacts.external.js"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},81111,(e,t,r)=>{t.exports=e.x("node:stream",()=>require("node:stream"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},45706,(e,t,r)=>{t.exports=e.x("querystring",()=>require("querystring"))},92509,(e,t,r)=>{t.exports=e.x("url",()=>require("url"))},24361,(e,t,r)=>{t.exports=e.x("util",()=>require("util"))},6461,(e,t,r)=>{t.exports=e.x("zlib",()=>require("zlib"))},76759,e=>{"use strict";var t=e.i(58821);let r={UNAUTHORIZED:"UNAUTHORIZED",SESSION_EXPIRED:"SESSION_EXPIRED",FORBIDDEN:"FORBIDDEN",NOT_OWNER:"NOT_OWNER",ADMIN_REQUIRED:"ADMIN_REQUIRED",NOT_FOUND:"NOT_FOUND",USER_NOT_FOUND:"USER_NOT_FOUND",ITEM_NOT_FOUND:"ITEM_NOT_FOUND",BAD_REQUEST:"BAD_REQUEST",INVALID_INPUT:"INVALID_INPUT",MISSING_REQUIRED_FIELD:"MISSING_REQUIRED_FIELD",VALIDATION_ERROR:"VALIDATION_ERROR",OPERATION_NOT_ALLOWED:"OPERATION_NOT_ALLOWED",CONFLICT:"CONFLICT",ALREADY_EXISTS:"ALREADY_EXISTS",INTERNAL_ERROR:"INTERNAL_ERROR",DATABASE_ERROR:"DATABASE_ERROR",AI_ERROR:"AI_ERROR"};function n(e,r,n,i){let a={message:e};return n&&(a.code=n),i&&(a.details=i),t.NextResponse.json(a,{status:r})}e.s(["ErrorCode",0,r,"badRequest",0,function(e,t){return n(e,400,r.BAD_REQUEST,t)},"conflict",0,function(e){return n(e,409,r.CONFLICT)},"createErrorResponse",0,n,"forbidden",0,function(e="Forbidden"){return n(e,403,r.FORBIDDEN)},"internalError",0,function(e="Internal server error"){return n(e,500,r.INTERNAL_ERROR)},"notFound",0,function(e="Not found"){return n(e,404,r.NOT_FOUND)},"unauthorized",0,function(e="Unauthorized"){return n(e,401,r.UNAUTHORIZED)},"validationError",0,function(e,t){return n(e,400,r.VALIDATION_ERROR,t)}])},98003,e=>{"use strict";var t=e.i(22734),r=e.i(14747),n=e.i(50377),i=e.i(76025);let a=(0,n.createLogger)("config"),s=r.default.join(process.env.CONFIG_DIR||r.default.join(process.cwd(),"config"),"app-config.json"),o={aiProvider:process.env.AI_PROVIDER||"gemini",allowRegistration:!0,timeZone:i.DEFAULT_TIME_ZONE,openai:{instances:process.env.OPENAI_API_KEY?[{id:"env-default",name:"Default (ENV)",apiKey:process.env.OPENAI_API_KEY,baseUrl:process.env.OPENAI_BASE_URL||"https://api.openai.com/v1",model:process.env.OPENAI_MODEL||"gpt-4o"}]:[],activeInstanceId:process.env.OPENAI_API_KEY?"env-default":void 0},gemini:{apiKey:process.env.GOOGLE_API_KEY,baseUrl:process.env.GEMINI_BASE_URL,model:process.env.GEMINI_MODEL||"gemini-2.5-flash"},azure:{apiKey:process.env.AZURE_OPENAI_API_KEY,endpoint:process.env.AZURE_OPENAI_ENDPOINT,deploymentName:process.env.AZURE_OPENAI_DEPLOYMENT,apiVersion:process.env.AZURE_OPENAI_API_VERSION||"2024-02-15-preview",model:process.env.AZURE_OPENAI_MODEL||"gpt-4o"},anthropic:{apiKey:process.env.ANTHROPIC_API_KEY,baseUrl:process.env.ANTHROPIC_BASE_URL,model:process.env.ANTHROPIC_MODEL||"claude-sonnet-5-5"},prompts:{analyze:"",similar:""},timeouts:{analyze:18e4}};function l(){if(t.default.existsSync(s))try{var e;let r=t.default.readFileSync(s,"utf-8"),n=JSON.parse(r),l=n.openai;if((e=n.openai)&&"object"==typeof e&&"apiKey"in e&&!("instances"in e)){a.info("Detected legacy OpenAI config, migrating to multi-instance format..."),l=function(e){if(!e.apiKey)return{instances:[],activeInstanceId:void 0};let t={id:"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)}),name:"Default",apiKey:e.apiKey,baseUrl:e.baseUrl||"https://api.openai.com/v1",model:e.model||"gpt-4o"};return{instances:[t],activeInstanceId:t.id}}(n.openai);let e={...n,openai:l};t.default.writeFileSync(s,JSON.stringify(e,null,2)),a.info("Legacy OpenAI config migrated successfully")}return{...o,...n,timeZone:(0,i.isValidTimeZone)(n.timeZone)?n.timeZone.trim():i.DEFAULT_TIME_ZONE,openai:{instances:l?.instances||o.openai?.instances||[],activeInstanceId:l?.activeInstanceId||o.openai?.activeInstanceId},gemini:{...o.gemini,...n.gemini},azure:{...o.azure,...n.azure},anthropic:{...o.anthropic,...n.anthropic},prompts:{...o.prompts,...n.prompts},timeouts:{...o.timeouts,...n.timeouts}}}catch(e){a.error({error:e},"Failed to read config file")}return o}e.s(["getActiveOpenAIConfig",0,function(){let e=l(),t=e.openai?.instances||[],r=e.openai?.activeInstanceId;if(r&&0!==t.length)return t.find(e=>e.id===r)},"getAppConfig",0,l,"getAppTimeZone",0,function(){return l().timeZone||i.DEFAULT_TIME_ZONE},"updateAppConfig",0,function(e){if(void 0!==e.timeZone&&!(0,i.isValidTimeZone)(e.timeZone))throw Error("INVALID_TIME_ZONE");let r=l(),n={...r,...e,timeZone:e.timeZone?.trim()??r.timeZone??i.DEFAULT_TIME_ZONE,openai:{instances:e.openai?.instances??r.openai?.instances??[],activeInstanceId:e.openai?.activeInstanceId??r.openai?.activeInstanceId},gemini:{...r.gemini,...e.gemini},azure:{...r.azure,...e.azure},anthropic:{...r.anthropic,...e.anthropic},prompts:{...r.prompts,...e.prompts},timeouts:{...r.timeouts,...e.timeouts}};try{return t.default.writeFileSync(s,JSON.stringify(n,null,2)),n}catch(e){throw a.error({error:e},"Failed to write config file"),e}}])},39811,e=>{"use strict";var t=e.i(76025);e.s(["calculateGrade",0,function(e,r,n=new Date,i="en",a=t.DEFAULT_TIME_ZONE){let s=(0,t.getCalendarDate)(n,a),o=s.getFullYear(),l=s.getMonth()+1,u=o-r,c="2nd";l>=9?(u+=1,c="1st"):c=l<2?"1st":"2nd";let d="zh"===i,p=d?"1st"===c?"上期":"下期":"1st"===c?"1st Semester":"2nd Semester",f=(d?{primary:["一年级","二年级","三年级","四年级","五年级","六年级"],junior_high:["初一","初二","初三"],senior_high:["高一","高二","高三"],university:["大一","大二","大三","大四"]}:{primary:["Grade 1","Grade 2","Grade 3","Grade 4","Grade 5","Grade 6"],junior_high:["Junior High Grade 1","Junior High Grade 2","Junior High Grade 3"],senior_high:["Senior High Grade 1","Senior High Grade 2","Senior High Grade 3"],university:["Freshman","Sophomore","Junior","Senior"]})[e]||[],m=`${u}`;if(m=u>0&&u<=f.length?f[u-1]:u>f.length?d?"已毕业":"Graduated":d?"学前":"Pre-school",!d)return`${m}, ${p}`;{let e="1st"===c?"上":"下";return`${m}${e}`}}])},50377,e=>{"use strict";let t={trace:10,debug:20,info:30,warn:40,error:50,fatal:60};function r(e,n={}){let i,a=t[e],s=(i=process.env.LOG_LEVEL?.toLowerCase())&&void 0!==t[i]?t[i]:t.info;return(t,r)=>{let i,o;if(a<s)return;let l=new Date;"string"==typeof t?(i={},o=t):(i=t,o=r||"");{let t=JSON.stringify({level:e,time:l.toISOString(),...n,...i,msg:o});switch(e){case"error":case"fatal":console.error(t);break;case"warn":console.warn(t);break;default:console.log(t)}}}}let n=function e(t={}){return t.module,{trace:r("trace",t),debug:r("debug",t),info:r("info",t),warn:r("warn",t),error:r("error",t),fatal:r("fatal",t),child:r=>e({...t,...r}),box:(e,r,n="📋")=>{console.log(JSON.stringify({level:"info",time:new Date().toISOString(),...t,title:e,..."string"==typeof r?{content:r}:r||{},msg:e}))},divider:(e="-")=>{}}}({env:"production"});e.s(["createLogger",0,function(e){return n.child({module:e})}])},4752,e=>{"use strict";var t=e.i(98043),r=e.i(43911);let n=(0,e.i(50377).createLogger)("mastery"),i=["correct","wrong","not_attempted"];function a(e){return"string"==typeof e&&i.includes(e)}let s={easy:.85,medium:.95,hard:1,harder:1},o={wrong:.1,not_attempted:0};async function l(e){let i=await t.prisma.errorItem.findUnique({where:{id:e},select:{id:!0,questionText:!0,mistakeStatus:!0,tags:{select:{name:!0}},practiceRecords:{where:{result:{not:null}},orderBy:[{createdAt:"asc"},{id:"asc"}],select:{result:!0,difficulty:!0,source:!0,createdAt:!0}}}});if(!i)return;let l=i.practiceRecords.filter(e=>a(e.result)).map(e=>({date:e.createdAt.toISOString(),difficulty:e.difficulty,result:e.result,source:e.source})),u=function(e){if(0===e.length)return null;let t=.15,r=.5;return e.forEach((n,i)=>{let a=Math.pow(.7,e.length-1-i),l="correct"===n.result?s[n.difficulty||"medium"]??s.medium:o[n.result];t+=a*l,r+=a}),Math.round(t/r*100)/100}(l);if(null===u)return void await t.prisma.errorItem.update({where:{id:i.id},data:{masteryProbability:null,masteryReason:null,masterySource:null,masteryEvaluatedAt:null}});let c=u,d="",p="rule";try{let e=await (0,r.getAIService)().evaluateMastery({questionText:i.questionText||"",knowledgePoints:i.tags.map(e=>e.name),mistakeStatus:i.mistakeStatus,history:l,ruleProbability:u});c=e.probability,d=e.reason,p="ai"}catch(r){n.warn({errorItemId:e,error:r instanceof Error?r.message:String(r)},"AI mastery evaluation failed, using rule estimate");let t=l.filter(e=>"correct"===e.result).length;d=`共练习 ${l.length} 次,做对 ${t} 次(规则估算)`}await t.prisma.errorItem.update({where:{id:i.id},data:{masteryProbability:c,masteryReason:d,masterySource:p,masteryEvaluatedAt:new Date,masteryLevel:+(c>=.8)}}),n.info({errorItemId:e,probability:c,source:p},"Mastery evaluated")}let u=new Set,c=!1;async function d(){if(!c){c=!0;try{for(;u.size>0;){let[e]=u;u.delete(e);try{await l(e)}catch(t){n.error({errorItemId:e,error:t},"Mastery evaluation failed")}}}finally{c=!1}}}e.s(["PRACTICE_RESULTS",0,i,"isPracticeResult",0,a,"scheduleMasteryEvaluation",0,function(e){e.forEach(e=>u.add(e)),d()}])},55920,e=>{"use strict";e.s(["getDefaultPaperLevel",0,function(e){return"number"!=typeof e||!Number.isInteger(e)||e<1||e>5?null:e<=3?"a":"b"}])},88993,e=>{"use strict";let t=/^[【[((]?图示/u;function r(e){return(function(e){let r=[],n=!1,i=!1;for(let a of e.split(/\r?\n/)){let e=a.trim();e?n&&t.test(e)&&(i=!0):i=!1,i||r.push(a),e&&(n=!0)}return r.join("\n")})(e.normalize("NFC")).replace(/[\uFF01-\uFF5E]/g,e=>String.fromCharCode(e.charCodeAt(0)-65248)).replace(/\\underline\{[^}]*\}|_{2,}/g,"__").replace(/\s+/gu," ").replace(/\( ?\)/g,"()").trim()}e.s(["DEFAULT_QUESTION_DUPLICATE_THRESHOLD",0,90,"calculateQuestionSimilarity",0,function(e,t){let n=r(e),i=r(t);if(!n||!i)return null;if(n===i)return 1;let a=Array.from(n),s=Array.from(i),o=Math.max(a.length,s.length),l=0;for(;l<Math.min(a.length,s.length)&&a[l]===s[l];)l++;let u=a.length,c=s.length;for(;u>l&&c>l&&a[u-1]===s[c-1];)u--,c--;a=a.slice(l,u),s=s.slice(l,c),a.length>s.length&&([a,s]=[s,a]);let d=Int32Array.from({length:a.length+1},(e,t)=>t);for(let e=1;e<=s.length;e++){let t=d[0];d[0]=e;for(let r=1;r<=a.length;r++){let n=d[r];d[r]=Math.min(n+1,d[r-1]+1,t+ +(a[r-1]!==s[e-1])),t=n}}return 1-d[a.length]/o},"duplicateQuestionSimilarity",0,function(e,t,n=90){let i=r(e),a=r(t);if(!i||!a||n>=100)return null;if(i===a)return 1;let s=Array.from(i),o=Array.from(a);s.length>o.length&&([s,o]=[o,s]);let l=o.length,u=Math.ceil(l*(1e4-Math.round(100*n))/1e4)-1;if(o.length-s.length>u||0===u)return null;let c=u+1,d=new Int32Array(s.length+1).fill(c),p=new Int32Array(s.length+1).fill(c);for(let e=0;e<=Math.min(s.length,u);e++)d[e]=e;for(let e=1;e<=o.length;e++){let t=Math.max(1,e-u),r=Math.min(s.length,e+u);p[0]=e<=u?e:c,t>1&&(p[t-1]=c);let n=p[0];for(let i=t;i<=r;i++)p[i]=Math.min(d[i]+1,p[i-1]+1,d[i-1]+ +(s[i-1]!==o[e-1])),n=Math.min(n,p[i]);if(n>u)return null;r<s.length&&(p[r+1]=c),[d,p]=[p,d]}let f=d[s.length];return f<=u?1-f/l:null}])},41070,e=>{"use strict";let t="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz",r=RegExp(`^[${t}]{6}$`);e.s(["BASE58_ALPHABET",0,t,"SHORT_ID_LENGTH",0,6,"isShortId",0,function(e){return"string"==typeof e&&r.test(e)}])},92366,e=>{"use strict";var t=e.i(54799),r=e.i(41070);async function n(e){for(let n=0;n<10;n++){let n=function(){let e="";for(;e.length<r.SHORT_ID_LENGTH;)for(let n of(0,t.randomBytes)(2*r.SHORT_ID_LENGTH))n<232&&e.length<r.SHORT_ID_LENGTH&&(e+=r.BASE58_ALPHABET[n%58]);return e}();if(!await e.errorItem.findUnique({where:{shortId:n},select:{id:!0}}))return n}throw Error("Failed to generate a unique short ID")}e.s(["generateUniqueShortId",0,n])},4083,e=>{"use strict";var t=e.i(98043);async function r(e,n,i=t.prisma){if(!e||!n)return null;let a=await i.knowledgeTag.findMany({where:{subject:n,isSystem:!0,parentId:null},select:{id:!0,name:!0}});if(0===a.length)return null;let s=e.trim(),o=a.find(e=>e.name===s);if(o)return o.id;let l="";for(let[e,t]of Object.entries({一年级:"一年级","Grade 1":"一年级",二年级:"二年级","Grade 2":"二年级",三年级:"三年级","Grade 3":"三年级",四年级:"四年级","Grade 4":"四年级",五年级:"五年级","Grade 5":"五年级",六年级:"六年级","Grade 6":"六年级",初一:"七年级","Grade 7":"七年级",七年级:"七年级",初二:"八年级","Grade 8":"八年级",八年级:"八年级",初三:"九年级","Grade 9":"九年级",九年级:"九年级",高一:"高一","Grade 10":"高一","Senior 1":"高一",高二:"高二","Grade 11":"高二","Senior 2":"高二",高三:"高三","Grade 12":"高三","Senior 3":"高三"}))if(s.includes(e)){l=t;break}if(!l)return null;let u="";s.includes("上")||s.includes("1st")||s.includes("First")?u="上":(s.includes("下")||s.includes("2nd")||s.includes("Second"))&&(u="下");let c=[];for(let e of(u&&c.push(`${l}${u}`),c.push(l),c)){let t=a.find(t=>t.name===e);if(t)return t.id}return null}e.s(["findParentTagIdForGrade",0,r])}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__07nvz1d._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[51615,(e,r,o)=>{r.exports=e.x("node:buffer",()=>require("node:buffer"))},2157,(e,r,o)=>{r.exports=e.x("node:fs",()=>require("node:fs"))},47299,(e,r,o)=>{r.exports=e.x("node:http",()=>require("node:http"))},61095,(e,r,o)=>{r.exports=e.x("node:net",()=>require("node:net"))},50227,(e,r,o)=>{r.exports=e.x("node:path",()=>require("node:path"))},59639,(e,r,o)=>{r.exports=e.x("node:process",()=>require("node:process"))},57764,(e,r,o)=>{r.exports=e.x("node:url",()=>require("node:url"))},12057,(e,r,o)=>{r.exports=e.x("node:util",()=>require("node:util"))},27028,(e,r,o)=>{r.exports=e.x("node:zlib",()=>require("node:zlib"))},25897,e=>{e.v(r=>Promise.all(["server/chunks/[root-of-the-server]__0akadps._.js","server/chunks/[root-of-the-server]__15tkoe6._.js"].map(r=>e.l(r))).then(()=>r(55057)))}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__08gak8r._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[51615,(e,r,o)=>{r.exports=e.x("node:buffer",()=>require("node:buffer"))},2157,(e,r,o)=>{r.exports=e.x("node:fs",()=>require("node:fs"))},47299,(e,r,o)=>{r.exports=e.x("node:http",()=>require("node:http"))},61095,(e,r,o)=>{r.exports=e.x("node:net",()=>require("node:net"))},50227,(e,r,o)=>{r.exports=e.x("node:path",()=>require("node:path"))},59639,(e,r,o)=>{r.exports=e.x("node:process",()=>require("node:process"))},57764,(e,r,o)=>{r.exports=e.x("node:url",()=>require("node:url"))},12057,(e,r,o)=>{r.exports=e.x("node:util",()=>require("node:util"))},27028,(e,r,o)=>{r.exports=e.x("node:zlib",()=>require("node:zlib"))},25897,e=>{e.v(r=>Promise.all(["server/chunks/[root-of-the-server]__0akadps._.js","server/chunks/[root-of-the-server]__15tkoe6._.js"].map(r=>e.l(r))).then(()=>r(55057)))}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__08zi-xg._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[51615,(e,r,o)=>{r.exports=e.x("node:buffer",()=>require("node:buffer"))},2157,(e,r,o)=>{r.exports=e.x("node:fs",()=>require("node:fs"))},47299,(e,r,o)=>{r.exports=e.x("node:http",()=>require("node:http"))},61095,(e,r,o)=>{r.exports=e.x("node:net",()=>require("node:net"))},50227,(e,r,o)=>{r.exports=e.x("node:path",()=>require("node:path"))},59639,(e,r,o)=>{r.exports=e.x("node:process",()=>require("node:process"))},57764,(e,r,o)=>{r.exports=e.x("node:url",()=>require("node:url"))},12057,(e,r,o)=>{r.exports=e.x("node:util",()=>require("node:util"))},27028,(e,r,o)=>{r.exports=e.x("node:zlib",()=>require("node:zlib"))},25897,e=>{e.v(r=>Promise.all(["server/chunks/[root-of-the-server]__0akadps._.js","server/chunks/[root-of-the-server]__15tkoe6._.js"].map(r=>e.l(r))).then(()=>r(55057)))}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__0994h9l._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[43698,(e,r,t)=>{r.exports=e.x("node:https",()=>require("node:https"))},20442,e=>{"use strict";var r=e.i(47299),t=e.i(43698),n=e.i(27028),o=e.i(81111),s=e.i(51615);let i=function(e){if(!/^data:/i.test(e))throw TypeError('`uri` does not appear to be a Data URI (must begin with "data:")');let r=(e=e.replace(/\r?\n/g,"")).indexOf(",");if(-1===r||r<=4)throw TypeError("malformed data: URI");let t=e.substring(5,r).split(";"),n="",o=!1,s=t[0]||"text/plain",i=s;for(let e=1;e<t.length;e++)"base64"===t[e]?o=!0:t[e]&&(i+=`;${t[e]}`,0===t[e].indexOf("charset=")&&(n=t[e].substring(8)));t[0]||n.length||(i+=";charset=US-ASCII",n="US-ASCII");let a=o?"base64":"ascii",l=unescape(e.substring(r+1)),u=Buffer.from(l,a);return u.type=s,u.typeFull=i,u.charset=n,u};var a=e.i(12057),l=e.i(96410),u=e.i(33329);class c extends Error{constructor(e,r){super(e),Error.captureStackTrace(this,this.constructor),this.type=r}get name(){return this.constructor.name}get[Symbol.toStringTag](){return this.constructor.name}}class f extends c{constructor(e,r,t){super(e,r),t&&(this.code=this.errno=t.code,this.erroredSysCall=t.syscall)}}let d=Symbol.toStringTag,h=e=>"object"==typeof e&&"function"==typeof e.append&&"function"==typeof e.delete&&"function"==typeof e.get&&"function"==typeof e.getAll&&"function"==typeof e.has&&"function"==typeof e.set&&"function"==typeof e.sort&&"URLSearchParams"===e[d],p=e=>e&&"object"==typeof e&&"function"==typeof e.arrayBuffer&&"string"==typeof e.type&&"function"==typeof e.stream&&"function"==typeof e.constructor&&/^(Blob|File)$/.test(e[d]),y=(0,a.promisify)(o.default.pipeline),g=Symbol("Body internals");class m{constructor(e,{size:r=0}={}){let t=null;null===e?e=null:h(e)?e=s.Buffer.from(e.toString()):p(e)||s.Buffer.isBuffer(e)||(a.types.isAnyArrayBuffer(e)?e=s.Buffer.from(e):ArrayBuffer.isView(e)?e=s.Buffer.from(e.buffer,e.byteOffset,e.byteLength):e instanceof o.default||(e instanceof u.FormData?t=(e=(0,u.formDataToBlob)(e)).type.split("=")[1]:e=s.Buffer.from(String(e))));let n=e;s.Buffer.isBuffer(e)?n=o.default.Readable.from(e):p(e)&&(n=o.default.Readable.from(e.stream())),this[g]={body:e,stream:n,boundary:t,disturbed:!1,error:null},this.size=r,e instanceof o.default&&e.on("error",e=>{let r=e instanceof c?e:new f(`Invalid response body while trying to fetch ${this.url}: ${e.message}`,"system",e);this[g].error=r})}get body(){return this[g].stream}get bodyUsed(){return this[g].disturbed}async arrayBuffer(){let{buffer:e,byteOffset:r,byteLength:t}=await b(this);return e.slice(r,r+t)}async formData(){let r=this.headers.get("content-type");if(r.startsWith("application/x-www-form-urlencoded")){let e=new u.FormData;for(let[r,t]of new URLSearchParams(await this.text()))e.append(r,t);return e}let{toFormData:t}=await e.A(25897);return t(this.body,r)}async blob(){let e=this.headers&&this.headers.get("content-type")||this[g].body&&this[g].body.type||"",r=await this.arrayBuffer();return new l.default([r],{type:e})}async json(){return JSON.parse(await this.text())}async text(){let e=await b(this);return new TextDecoder().decode(e)}buffer(){return b(this)}}async function b(e){if(e[g].disturbed)throw TypeError(`body used already for: ${e.url}`);if(e[g].disturbed=!0,e[g].error)throw e[g].error;let{body:r}=e;if(null===r||!(r instanceof o.default))return s.Buffer.alloc(0);let t=[],n=0;try{for await(let o of r){if(e.size>0&&n+o.length>e.size){let t=new f(`content size at ${e.url} over limit: ${e.size}`,"max-size");throw r.destroy(t),t}n+=o.length,t.push(o)}}catch(r){throw r instanceof c?r:new f(`Invalid response body while trying to fetch ${e.url}: ${r.message}`,"system",r)}if(!0===r.readableEnded||!0===r._readableState.ended)try{if(t.every(e=>"string"==typeof e))return s.Buffer.from(t.join(""));return s.Buffer.concat(t,n)}catch(r){throw new f(`Could not create Buffer from response body for ${e.url}: ${r.message}`,"system",r)}throw new f(`Premature close of server response while trying to fetch ${e.url}`)}m.prototype.buffer=(0,a.deprecate)(m.prototype.buffer,"Please use 'response.arrayBuffer()' instead of 'response.buffer()'","node-fetch#buffer"),Object.defineProperties(m.prototype,{body:{enumerable:!0},bodyUsed:{enumerable:!0},arrayBuffer:{enumerable:!0},blob:{enumerable:!0},json:{enumerable:!0},text:{enumerable:!0},data:{get:(0,a.deprecate)(()=>{},"data doesn't exist, use json(), text(), arrayBuffer(), or body instead","https://github.com/node-fetch/node-fetch/issues/1000 (response)")}});let w=(e,r)=>{let t,n,{body:s}=e[g];if(e.bodyUsed)throw Error("cannot clone body after it is used");return s instanceof o.default&&"function"!=typeof s.getBoundary&&(t=new o.PassThrough({highWaterMark:r}),n=new o.PassThrough({highWaterMark:r}),s.pipe(t),s.pipe(n),e[g].stream=t,s=n),s},T=(0,a.deprecate)(e=>e.getBoundary(),"form-data doesn't follow the spec and requires special treatment. Use alternative package","https://github.com/node-fetch/node-fetch/issues/1167"),S=(e,r)=>null===e?null:"string"==typeof e?"text/plain;charset=UTF-8":h(e)?"application/x-www-form-urlencoded;charset=UTF-8":p(e)?e.type||null:s.Buffer.isBuffer(e)||a.types.isAnyArrayBuffer(e)||ArrayBuffer.isView(e)?null:e instanceof u.FormData?`multipart/form-data; boundary=${r[g].boundary}`:e&&"function"==typeof e.getBoundary?`multipart/form-data;boundary=${T(e)}`:e instanceof o.default?null:"text/plain;charset=UTF-8",v=async(e,{body:r})=>{null===r?e.end():await y(r,e)},E="function"==typeof r.default.validateHeaderName?r.default.validateHeaderName:e=>{if(!/^[\^`\-\w!#$%&'*+.|~]+$/.test(e)){let r=TypeError(`Header name must be a valid HTTP token [${e}]`);throw Object.defineProperty(r,"code",{value:"ERR_INVALID_HTTP_TOKEN"}),r}},P="function"==typeof r.default.validateHeaderValue?r.default.validateHeaderValue:(e,r)=>{if(/[^\t\u0020-\u007E\u0080-\u00FF]/.test(r)){let r=TypeError(`Invalid character in header content ["${e}"]`);throw Object.defineProperty(r,"code",{value:"ERR_INVALID_CHAR"}),r}};class R extends URLSearchParams{constructor(e){let r=[];if(e instanceof R)for(const[t,n]of Object.entries(e.raw()))r.push(...n.map(e=>[t,e]));else if(null==e);else if("object"!=typeof e||a.types.isBoxedPrimitive(e))throw TypeError("Failed to construct 'Headers': The provided value is not of type '(sequence<sequence<ByteString>> or record<ByteString, ByteString>)");else{const t=e[Symbol.iterator];if(null==t)r.push(...Object.entries(e));else{if("function"!=typeof t)throw TypeError("Header pairs must be iterable");r=[...e].map(e=>{if("object"!=typeof e||a.types.isBoxedPrimitive(e))throw TypeError("Each header pair must be an iterable object");return[...e]}).map(e=>{if(2!==e.length)throw TypeError("Each header pair must be a name/value tuple");return[...e]})}}return super(r=r.length>0?r.map(([e,r])=>(E(e),P(e,String(r)),[String(e).toLowerCase(),String(r)])):void 0),new Proxy(this,{get(e,r,t){switch(r){case"append":case"set":return(t,n)=>(E(t),P(t,String(n)),URLSearchParams.prototype[r].call(e,String(t).toLowerCase(),String(n)));case"delete":case"has":case"getAll":return t=>(E(t),URLSearchParams.prototype[r].call(e,String(t).toLowerCase()));case"keys":return()=>(e.sort(),new Set(URLSearchParams.prototype.keys.call(e)).keys());default:return Reflect.get(e,r,t)}}})}get[Symbol.toStringTag](){return this.constructor.name}toString(){return Object.prototype.toString.call(this)}get(e){let r=this.getAll(e);if(0===r.length)return null;let t=r.join(", ");return/^content-encoding$/i.test(e)&&(t=t.toLowerCase()),t}forEach(e,r){for(let t of this.keys())Reflect.apply(e,r,[this.get(t),t,this])}*values(){for(let e of this.keys())yield this.get(e)}*entries(){for(let e of this.keys())yield[e,this.get(e)]}[Symbol.iterator](){return this.entries()}raw(){return[...this.keys()].reduce((e,r)=>(e[r]=this.getAll(r),e),{})}[Symbol.for("nodejs.util.inspect.custom")](){return[...this.keys()].reduce((e,r)=>{let t=this.getAll(r);return"host"===r?e[r]=t[0]:e[r]=t.length>1?t:t[0],e},{})}}Object.defineProperties(R.prototype,["get","entries","forEach","values"].reduce((e,r)=>(e[r]={enumerable:!0},e),{}));let L=new Set([301,302,303,307,308]),B=Symbol("Response internals");class x extends m{constructor(e=null,r={}){super(e,r);const t=null!=r.status?r.status:200,n=new R(r.headers);if(null!==e&&!n.has("Content-Type")){const r=S(e,this);r&&n.append("Content-Type",r)}this[B]={type:"default",url:r.url,status:t,statusText:r.statusText||"",headers:n,counter:r.counter,highWaterMark:r.highWaterMark}}get type(){return this[B].type}get url(){return this[B].url||""}get status(){return this[B].status}get ok(){return this[B].status>=200&&this[B].status<300}get redirected(){return this[B].counter>0}get statusText(){return this[B].statusText}get headers(){return this[B].headers}get highWaterMark(){return this[B].highWaterMark}clone(){return new x(w(this,this.highWaterMark),{type:this.type,url:this.url,status:this.status,statusText:this.statusText,headers:this.headers,ok:this.ok,redirected:this.redirected,size:this.size,highWaterMark:this.highWaterMark})}static redirect(e,r=302){if(!L.has(r))throw RangeError('Failed to execute "redirect" on "response": Invalid status code');return new x(null,{headers:{location:new URL(e).toString()},status:r})}static error(){let e=new x(null,{status:0,statusText:""});return e[B].type="error",e}static json(e,r={}){let t=JSON.stringify(e);if(void 0===t)throw TypeError("data is not JSON serializable");let n=new R(r&&r.headers);return n.has("content-type")||n.set("content-type","application/json"),new x(t,{...r,headers:n})}get[Symbol.toStringTag](){return"Response"}}Object.defineProperties(x.prototype,{type:{enumerable:!0},url:{enumerable:!0},status:{enumerable:!0},ok:{enumerable:!0},redirected:{enumerable:!0},statusText:{enumerable:!0},headers:{enumerable:!0},clone:{enumerable:!0}});var $=e.i(57764),U=e.i(61095);function k(e,r=!1){return null==e||(e=new URL(e),/^(about|blob|data):$/.test(e.protocol))?"no-referrer":(e.username="",e.password="",e.hash="",r&&(e.pathname="",e.search=""),e)}let A=new Set(["","no-referrer","no-referrer-when-downgrade","same-origin","origin","strict-origin","origin-when-cross-origin","strict-origin-when-cross-origin","unsafe-url"]);function C(e){if(/^about:(blank|srcdoc)$/.test(e)||"data:"===e.protocol||/^(blob|filesystem):$/.test(e.protocol))return!0;if(/^(http|ws)s:$/.test(e.protocol))return!0;let r=e.host.replace(/(^\[)|(]$)/g,""),t=(0,U.isIP)(r);return!!(4===t&&/^127\./.test(r)||6===t&&/^(((0+:){7})|(::(0+:){0,6}))0*1$/.test(r))||!("localhost"===e.host||e.host.endsWith(".localhost"))&&"file:"===e.protocol}let j=Symbol("Request internals"),z=e=>"object"==typeof e&&"object"==typeof e[j],H=(0,a.deprecate)(()=>{},".data is not a valid RequestInit property, use .body instead","https://github.com/node-fetch/node-fetch/issues/1000 (request)");class I extends m{constructor(e,r={}){let t;if(z(e)?t=new URL(e.url):(t=new URL(e),e={}),""!==t.username||""!==t.password)throw TypeError(`${t} is an url with embedded credentials.`);let n=r.method||e.method||"GET";if(/^(delete|get|head|options|post|put)$/i.test(n)&&(n=n.toUpperCase()),!z(r)&&"data"in r&&H(),(null!=r.body||z(e)&&null!==e.body)&&("GET"===n||"HEAD"===n))throw TypeError("Request with GET/HEAD method cannot have body");const o=r.body?r.body:z(e)&&null!==e.body?w(e):null;super(o,{size:r.size||e.size||0});const s=new R(r.headers||e.headers||{});if(null!==o&&!s.has("Content-Type")){const e=S(o,this);e&&s.set("Content-Type",e)}let i=z(e)?e.signal:null;if("signal"in r&&(i=r.signal),null!=i&&!(e=>"object"==typeof e&&("AbortSignal"===e[d]||"EventTarget"===e[d]))(i))throw TypeError("Expected signal to be an instanceof AbortSignal or EventTarget");let a=null==r.referrer?e.referrer:r.referrer;if(""===a)a="no-referrer";else if(a){const e=new URL(a);a=/^about:(\/\/)?client$/.test(e)?"client":e}else a=void 0;this[j]={method:n,redirect:r.redirect||e.redirect||"follow",headers:s,parsedURL:t,signal:i,referrer:a},this.follow=void 0===r.follow?void 0===e.follow?20:e.follow:r.follow,this.compress=void 0===r.compress?void 0===e.compress||e.compress:r.compress,this.counter=r.counter||e.counter||0,this.agent=r.agent||e.agent,this.highWaterMark=r.highWaterMark||e.highWaterMark||16384,this.insecureHTTPParser=r.insecureHTTPParser||e.insecureHTTPParser||!1,this.referrerPolicy=r.referrerPolicy||e.referrerPolicy||""}get method(){return this[j].method}get url(){return(0,$.format)(this[j].parsedURL)}get headers(){return this[j].headers}get redirect(){return this[j].redirect}get signal(){return this[j].signal}get referrer(){return"no-referrer"===this[j].referrer?"":"client"===this[j].referrer?"about:client":this[j].referrer?this[j].referrer.toString():void 0}get referrerPolicy(){return this[j].referrerPolicy}set referrerPolicy(e){this[j].referrerPolicy=function(e){if(!A.has(e))throw TypeError(`Invalid referrerPolicy: ${e}`);return e}(e)}clone(){return new I(this)}get[Symbol.toStringTag](){return"Request"}}Object.defineProperties(I.prototype,{method:{enumerable:!0},url:{enumerable:!0},headers:{enumerable:!0},redirect:{enumerable:!0},clone:{enumerable:!0},signal:{enumerable:!0},referrer:{enumerable:!0},referrerPolicy:{enumerable:!0}});class O extends c{constructor(e,r="aborted"){super(e,r)}}e.i(34636),e.i(99029);let _=new Set(["data:","http:","https:"]);async function M(e,a){return new Promise((l,u)=>{var c,d;let h,y,m,b,T=new I(e,a),{parsedURL:S,options:B}=(e=>{let{parsedURL:r}=e[j],t=new R(e[j].headers);t.has("Accept")||t.set("Accept","*/*");let n=null;if(null===e.body&&/^(post|put)$/i.test(e.method)&&(n="0"),null!==e.body){let r=(e=>{let{body:r}=e[g];return null===r?0:p(r)?r.size:s.Buffer.isBuffer(r)?r.length:r&&"function"==typeof r.getLengthSync&&r.hasKnownLength&&r.hasKnownLength()?r.getLengthSync():null})(e);"number"!=typeof r||Number.isNaN(r)||(n=String(r))}n&&t.set("Content-Length",n),""===e.referrerPolicy&&(e.referrerPolicy="strict-origin-when-cross-origin"),e.referrer&&"no-referrer"!==e.referrer?e[j].referrer=function(e,{referrerURLCallback:r,referrerOriginCallback:t}={}){if("no-referrer"===e.referrer||""===e.referrerPolicy)return null;let n=e.referrerPolicy;if("about:client"===e.referrer)return"no-referrer";let o=e.referrer,s=k(o),i=k(o,!0);s.toString().length>4096&&(s=i),r&&(s=r(s)),t&&(i=t(i));let a=new URL(e.url);switch(n){case"no-referrer":return"no-referrer";case"origin":return i;case"unsafe-url":return s;case"strict-origin":if(C(s)&&!C(a))return"no-referrer";return i.toString();case"strict-origin-when-cross-origin":if(s.origin===a.origin)return s;if(C(s)&&!C(a))return"no-referrer";return i;case"same-origin":if(s.origin===a.origin)return s;return"no-referrer";case"origin-when-cross-origin":if(s.origin===a.origin)return s;return i;case"no-referrer-when-downgrade":if(C(s)&&!C(a))return"no-referrer";return s;default:throw TypeError(`Invalid referrerPolicy: ${n}`)}}(e):e[j].referrer="no-referrer",e[j].referrer instanceof URL&&t.set("Referer",e.referrer),t.has("User-Agent")||t.set("User-Agent","node-fetch"),e.compress&&!t.has("Accept-Encoding")&&t.set("Accept-Encoding","gzip, deflate, br");let{agent:o}=e;"function"==typeof o&&(o=o(r));let i=(e=>{if(e.search)return e.search;let r=e.href.length-1,t=e.hash||("#"===e.href[r]?"#":"");return"?"===e.href[r-t.length]?"?":""})(r),a={path:r.pathname+i,method:e.method,headers:t[Symbol.for("nodejs.util.inspect.custom")](),insecureHTTPParser:e.insecureHTTPParser,agent:o};return{parsedURL:r,options:a}})(T);if(!_.has(S.protocol))throw TypeError(`node-fetch cannot load ${e}. URL scheme "${S.protocol.replace(/:$/,"")}" is not supported.`);if("data:"===S.protocol){let e=i(T.url);l(new x(e,{headers:{"Content-Type":e.typeFull}}));return}let $=("https:"===S.protocol?t.default:r.default).request,{signal:U}=T,z=null,H=()=>{let e=new O("The operation was aborted.");u(e),T.body&&T.body instanceof o.default.Readable&&T.body.destroy(e),z&&z.body&&z.body.emit("error",e)};if(U&&U.aborted)return void H();let F=()=>{H(),q()},W=$(S.toString(),B);U&&U.addEventListener("abort",F);let q=()=>{W.abort(),U&&U.removeEventListener("abort",F)};W.on("error",e=>{u(new f(`request to ${T.url} failed, reason: ${e.message}`,"system",e)),q()}),c=W,d=e=>{z&&z.body&&z.body.destroy(e)},y=s.Buffer.from("0\r\n\r\n"),m=!1,b=!1,c.on("response",e=>{let{headers:r}=e;m="chunked"===r["transfer-encoding"]&&!r["content-length"]}),c.on("socket",e=>{let r=()=>{if(m&&!b){let e=Error("Premature close");e.code="ERR_STREAM_PREMATURE_CLOSE",d(e)}},t=e=>{(b=0===s.Buffer.compare(e.slice(-5),y))||!h||(b=0===s.Buffer.compare(h.slice(-3),y.slice(0,3))&&0===s.Buffer.compare(e.slice(-2),y.slice(3))),h=e};e.prependListener("close",r),e.on("data",t),c.on("close",()=>{e.removeListener("close",r),e.removeListener("data",t)})}),process.version<"v14"&&W.on("socket",e=>{let r;e.prependListener("end",()=>{r=e._eventsCount}),e.prependListener("close",t=>{if(z&&r<e._eventsCount&&!t){let e=Error("Premature close");e.code="ERR_STREAM_PREMATURE_CLOSE",z.body.emit("error",e)}})}),W.on("response",e=>{let r;W.setTimeout(0);let t=function(e=[]){return new R(e.reduce((e,r,t,n)=>(t%2==0&&e.push(n.slice(t,t+2)),e),[]).filter(([e,r])=>{try{return E(e),P(e,String(r)),!0}catch{return!1}}))}(e.rawHeaders);if(r=e.statusCode,L.has(r)){let r=t.get("Location"),n=null;try{n=null===r?null:new URL(r,T.url)}catch{if("manual"!==T.redirect){u(new f(`uri requested responds with an invalid redirect URL: ${r}`,"invalid-redirect")),q();return}}switch(T.redirect){case"error":u(new f(`uri requested responds with a redirect, redirect mode is set to error: ${T.url}`,"no-redirect")),q();return;case"manual":break;case"follow":{var s,i;let r,c;if(null===n)break;if(T.counter>=T.follow){u(new f(`maximum redirect reached at: ${T.url}`,"max-redirect")),q();return}let d={headers:new R(T.headers),follow:T.follow,counter:T.counter+1,agent:T.agent,compress:T.compress,method:T.method,body:w(T),signal:T.signal,size:T.size,referrer:T.referrer,referrerPolicy:T.referrerPolicy};if(s=T.url,r=new URL(n).hostname,!(r===(c=new URL(s).hostname)||r.endsWith(`.${c}`))||(i=T.url,new URL(n).protocol!==new URL(i).protocol))for(let e of["authorization","www-authenticate","cookie","cookie2"])d.headers.delete(e);if(303!==e.statusCode&&T.body&&a.body instanceof o.default.Readable){u(new f("Cannot follow redirect with body being a readable stream","unsupported-redirect")),q();return}(303===e.statusCode||(301===e.statusCode||302===e.statusCode)&&"POST"===T.method)&&(d.method="GET",d.body=void 0,d.headers.delete("content-length"));let h=function(e){let r=(e.get("referrer-policy")||"").split(/[,\s]+/),t="";for(let e of r)e&&A.has(e)&&(t=e);return t}(t);h&&(d.referrerPolicy=h),l(M(new I(n,d))),q();return}default:return u(TypeError(`Redirect option '${T.redirect}' is not a valid value of RequestRedirect`))}}U&&e.once("end",()=>{U.removeEventListener("abort",F)});let c=(0,o.pipeline)(e,new o.PassThrough,e=>{e&&u(e)});process.version<"v12.10"&&e.on("aborted",F);let d={url:T.url,status:e.statusCode,statusText:e.statusMessage,headers:t,size:T.size,counter:T.counter,highWaterMark:T.highWaterMark},h=t.get("Content-Encoding");if(!T.compress||"HEAD"===T.method||null===h||204===e.statusCode||304===e.statusCode)return void l(z=new x(c,d));let p={flush:n.default.Z_SYNC_FLUSH,finishFlush:n.default.Z_SYNC_FLUSH};if("gzip"===h||"x-gzip"===h)return void l(z=new x(c=(0,o.pipeline)(c,n.default.createGunzip(p),e=>{e&&u(e)}),d));if("deflate"===h||"x-deflate"===h){let r=(0,o.pipeline)(e,new o.PassThrough,e=>{e&&u(e)});r.once("data",e=>{l(z=new x(c=(15&e[0])==8?(0,o.pipeline)(c,n.default.createInflate(),e=>{e&&u(e)}):(0,o.pipeline)(c,n.default.createInflateRaw(),e=>{e&&u(e)}),d))}),r.once("end",()=>{z||l(z=new x(c,d))});return}"br"===h?l(z=new x(c=(0,o.pipeline)(c,n.default.createBrotliDecompress(),e=>{e&&u(e)}),d)):l(z=new x(c,d))}),v(W,T).catch(u)})}e.s(["default",0,M],77773),e.i(77773),e.s(["default",0,M],20442)}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__0_t7bbz._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[2157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},59639,(e,t,r)=>{t.exports=e.x("node:process",()=>require("node:process"))},55057,e=>{"use strict";e.i(34636);var t=e.i(99029),r=e.i(33329);let n=0,a={START_BOUNDARY:n++,HEADER_FIELD_START:n++,HEADER_FIELD:n++,HEADER_VALUE_START:n++,HEADER_VALUE:n++,HEADER_VALUE_ALMOST_DONE:n++,HEADERS_ALMOST_DONE:n++,PART_DATA_START:n++,PART_DATA:n++,END:n++},i=1,o=2,s=e=>32|e,d=()=>{};class E{constructor(e){this.index=0,this.flags=0,this.onHeaderEnd=d,this.onHeaderField=d,this.onHeadersEnd=d,this.onHeaderValue=d,this.onPartBegin=d,this.onPartData=d,this.onPartEnd=d,this.boundaryChars={};const t=new Uint8Array((e="\r\n--"+e).length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r),this.boundaryChars[t[r]]=!0;this.boundary=t,this.lookbehind=new Uint8Array(this.boundary.length+8),this.state=a.START_BOUNDARY}write(e){let t,r,n=0,d=e.length,E=this.index,{lookbehind:A,boundary:h,boundaryChars:l,index:D,state:T,flags:_}=this,f=this.boundary.length,R=f-1,c=e.length,u=e=>{this[e+"Mark"]=n},H=e=>{delete this[e+"Mark"]},b=(e,t,r,n)=>{(void 0===t||t!==r)&&this[e](n&&n.subarray(t,r))},p=(t,r)=>{let a=t+"Mark";a in this&&(r?(b(t,this[a],n,e),delete this[a]):(b(t,this[a],e.length,e),this[a]=0))};for(n=0;n<d;n++)switch(t=e[n],T){case a.START_BOUNDARY:if(D===h.length-2){if(45===t)_|=o;else if(13!==t)return;D++;break}if(D-1==h.length-2){if(_&o&&45===t)T=a.END,_=0;else{if(_&o||10!==t)return;D=0,b("onPartBegin"),T=a.HEADER_FIELD_START}break}t!==h[D+2]&&(D=-2),t===h[D+2]&&D++;break;case a.HEADER_FIELD_START:T=a.HEADER_FIELD,u("onHeaderField"),D=0;case a.HEADER_FIELD:if(13===t){H("onHeaderField"),T=a.HEADERS_ALMOST_DONE;break}if(D++,45===t)break;if(58===t){if(1===D)return;p("onHeaderField",!0),T=a.HEADER_VALUE_START;break}if((r=s(t))<97||r>122)return;break;case a.HEADER_VALUE_START:if(32===t)break;u("onHeaderValue"),T=a.HEADER_VALUE;case a.HEADER_VALUE:13===t&&(p("onHeaderValue",!0),b("onHeaderEnd"),T=a.HEADER_VALUE_ALMOST_DONE);break;case a.HEADER_VALUE_ALMOST_DONE:if(10!==t)return;T=a.HEADER_FIELD_START;break;case a.HEADERS_ALMOST_DONE:if(10!==t)return;b("onHeadersEnd"),T=a.PART_DATA_START;break;case a.PART_DATA_START:T=a.PART_DATA,u("onPartData");case a.PART_DATA:if(E=D,0===D){for(n+=R;n<c&&!(e[n]in l);)n+=f;n-=R,t=e[n]}if(D<h.length)h[D]===t?(0===D&&p("onPartData",!0),D++):D=0;else if(D===h.length)D++,13===t?_|=i:45===t?_|=o:D=0;else if(D-1===h.length)if(_&i){if(D=0,10===t){_&=~i,b("onPartEnd"),b("onPartBegin"),T=a.HEADER_FIELD_START;break}}else _&o&&45===t?(b("onPartEnd"),T=a.END,_=0):D=0;D>0?A[D-1]=t:E>0&&(b("onPartData",0,E,new Uint8Array(A.buffer,A.byteOffset,A.byteLength)),E=0,u("onPartData"),n--);break;case a.END:break;default:throw Error(`Unexpected state entered: ${T}`)}p("onHeaderField"),p("onHeaderValue"),p("onPartData"),this.index=D,this.state=T,this.flags=_}end(){if(this.state===a.HEADER_FIELD_START&&0===this.index||this.state===a.PART_DATA&&this.index===this.boundary.length)this.onPartEnd();else if(this.state!==a.END)throw Error("MultipartParser.end(): stream ended unexpectedly")}}async function A(e,n){let a,i,o,s,d,A;if(!/multipart/i.test(n))throw TypeError("Failed to fetch");let h=n.match(/boundary=(?:"([^"]+)"|([^;]+))/i);if(!h)throw TypeError("no or bad content-type header, no multipart boundary");let l=new E(h[1]||h[2]),D=[],T=new r.FormData,_=e=>{o+=u.decode(e,{stream:!0})},f=e=>{D.push(e)},R=()=>{let e=new t.File(D,A,{type:d});T.append(s,e)},c=()=>{T.append(s,o)},u=new TextDecoder("utf-8");for await(let t of(u.decode(),l.onPartBegin=function(){l.onPartData=_,l.onPartEnd=c,a="",i="",o="",s="",d="",A=null,D.length=0},l.onHeaderField=function(e){a+=u.decode(e,{stream:!0})},l.onHeaderValue=function(e){i+=u.decode(e,{stream:!0})},l.onHeaderEnd=function(){if(i+=u.decode(),"content-disposition"===(a=a.toLowerCase())){let e=i.match(/\bname=("([^"]*)"|([^()<>@,;:\\"/[\]?={}\s\t]+))/i);e&&(s=e[2]||e[3]||""),(A=function(e){let t=e.match(/\bfilename=("(.*?)"|([^()<>@,;:\\"/[\]?={}\s\t]+))($|;\s)/i);if(!t)return;let r=t[2]||t[3]||"",n=r.slice(r.lastIndexOf("\\")+1);return(n=n.replace(/%22/g,'"')).replace(/&#(\d{4});/g,(e,t)=>String.fromCharCode(t))}(i))&&(l.onPartData=f,l.onPartEnd=R)}else"content-type"===a&&(d=i);i="",a=""},e))l.write(t);return l.end(),T}e.s(["toFormData",0,A])}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__0akadps._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[51615,(e,r,o)=>{r.exports=e.x("node:buffer",()=>require("node:buffer"))},2157,(e,r,o)=>{r.exports=e.x("node:fs",()=>require("node:fs"))},47299,(e,r,o)=>{r.exports=e.x("node:http",()=>require("node:http"))},61095,(e,r,o)=>{r.exports=e.x("node:net",()=>require("node:net"))},50227,(e,r,o)=>{r.exports=e.x("node:path",()=>require("node:path"))},59639,(e,r,o)=>{r.exports=e.x("node:process",()=>require("node:process"))},57764,(e,r,o)=>{r.exports=e.x("node:url",()=>require("node:url"))},12057,(e,r,o)=>{r.exports=e.x("node:util",()=>require("node:util"))},27028,(e,r,o)=>{r.exports=e.x("node:zlib",()=>require("node:zlib"))},25897,e=>{e.v(r=>Promise.all(["server/chunks/[root-of-the-server]__0akadps._.js","server/chunks/[root-of-the-server]__15tkoe6._.js"].map(r=>e.l(r))).then(()=>r(55057)))}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__0b3nww4._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[63021,(e,r,t)=>{r.exports=e.x("@prisma/client-2c3a283f134fdcb6",()=>require("@prisma/client-2c3a283f134fdcb6"))},98043,e=>{"use strict";var r=e.i(63021);let t=e.g.prisma||new r.PrismaClient({log:"true"===process.env.DEBUG_DB?["query","error","warn"]:["error"]});e.s(["prisma",0,t])},49719,(e,r,t)=>{r.exports=e.x("assert",()=>require("assert"))},44950,e=>e.a(async(r,t)=>{try{var n=await e.y("bcryptjs-ee66c2bdc904f2cf");e.n(n),t()}catch(e){t(e)}},!0),874,(e,r,t)=>{r.exports=e.x("buffer",()=>require("buffer"))},54799,(e,r,t)=>{r.exports=e.x("crypto",()=>require("crypto"))},27699,(e,r,t)=>{r.exports=e.x("events",()=>require("events"))},22734,(e,r,t)=>{r.exports=e.x("fs",()=>require("fs"))},21517,(e,r,t)=>{r.exports=e.x("http",()=>require("http"))},24836,(e,r,t)=>{r.exports=e.x("https",()=>require("https"))},70406,(e,r,t)=>{r.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},18622,(e,r,t)=>{r.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},20635,(e,r,t)=>{r.exports=e.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},24725,(e,r,t)=>{r.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},56704,(e,r,t)=>{r.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,r,t)=>{r.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},59043,(e,r,t)=>{r.exports=e.x("next/dist/server/runtime-reacts.external.js",()=>require("next/dist/server/runtime-reacts.external.js"))},93695,(e,r,t)=>{r.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},81111,(e,r,t)=>{r.exports=e.x("node:stream",()=>require("node:stream"))},14747,(e,r,t)=>{r.exports=e.x("path",()=>require("path"))},45706,(e,r,t)=>{r.exports=e.x("querystring",()=>require("querystring"))},92509,(e,r,t)=>{r.exports=e.x("url",()=>require("url"))},24361,(e,r,t)=>{r.exports=e.x("util",()=>require("util"))},6461,(e,r,t)=>{r.exports=e.x("zlib",()=>require("zlib"))},76759,e=>{"use strict";var r=e.i(58821);let t={UNAUTHORIZED:"UNAUTHORIZED",SESSION_EXPIRED:"SESSION_EXPIRED",FORBIDDEN:"FORBIDDEN",NOT_OWNER:"NOT_OWNER",ADMIN_REQUIRED:"ADMIN_REQUIRED",NOT_FOUND:"NOT_FOUND",USER_NOT_FOUND:"USER_NOT_FOUND",ITEM_NOT_FOUND:"ITEM_NOT_FOUND",BAD_REQUEST:"BAD_REQUEST",INVALID_INPUT:"INVALID_INPUT",MISSING_REQUIRED_FIELD:"MISSING_REQUIRED_FIELD",VALIDATION_ERROR:"VALIDATION_ERROR",OPERATION_NOT_ALLOWED:"OPERATION_NOT_ALLOWED",CONFLICT:"CONFLICT",ALREADY_EXISTS:"ALREADY_EXISTS",INTERNAL_ERROR:"INTERNAL_ERROR",DATABASE_ERROR:"DATABASE_ERROR",AI_ERROR:"AI_ERROR"};function n(e,t,n,i){let a={message:e};return n&&(a.code=n),i&&(a.details=i),r.NextResponse.json(a,{status:t})}e.s(["ErrorCode",0,t,"badRequest",0,function(e,r){return n(e,400,t.BAD_REQUEST,r)},"conflict",0,function(e){return n(e,409,t.CONFLICT)},"createErrorResponse",0,n,"forbidden",0,function(e="Forbidden"){return n(e,403,t.FORBIDDEN)},"internalError",0,function(e="Internal server error"){return n(e,500,t.INTERNAL_ERROR)},"notFound",0,function(e="Not found"){return n(e,404,t.NOT_FOUND)},"unauthorized",0,function(e="Unauthorized"){return n(e,401,t.UNAUTHORIZED)},"validationError",0,function(e,r){return n(e,400,t.VALIDATION_ERROR,r)}])},98003,e=>{"use strict";var r=e.i(22734),t=e.i(14747),n=e.i(50377),i=e.i(76025);let a=(0,n.createLogger)("config"),s=t.default.join(process.env.CONFIG_DIR||t.default.join(process.cwd(),"config"),"app-config.json"),o={aiProvider:process.env.AI_PROVIDER||"gemini",allowRegistration:!0,timeZone:i.DEFAULT_TIME_ZONE,openai:{instances:process.env.OPENAI_API_KEY?[{id:"env-default",name:"Default (ENV)",apiKey:process.env.OPENAI_API_KEY,baseUrl:process.env.OPENAI_BASE_URL||"https://api.openai.com/v1",model:process.env.OPENAI_MODEL||"gpt-4o"}]:[],activeInstanceId:process.env.OPENAI_API_KEY?"env-default":void 0},gemini:{apiKey:process.env.GOOGLE_API_KEY,baseUrl:process.env.GEMINI_BASE_URL,model:process.env.GEMINI_MODEL||"gemini-2.5-flash"},azure:{apiKey:process.env.AZURE_OPENAI_API_KEY,endpoint:process.env.AZURE_OPENAI_ENDPOINT,deploymentName:process.env.AZURE_OPENAI_DEPLOYMENT,apiVersion:process.env.AZURE_OPENAI_API_VERSION||"2024-02-15-preview",model:process.env.AZURE_OPENAI_MODEL||"gpt-4o"},anthropic:{apiKey:process.env.ANTHROPIC_API_KEY,baseUrl:process.env.ANTHROPIC_BASE_URL,model:process.env.ANTHROPIC_MODEL||"claude-sonnet-5-5"},prompts:{analyze:"",similar:""},timeouts:{analyze:18e4}};function c(){if(r.default.existsSync(s))try{var e;let t=r.default.readFileSync(s,"utf-8"),n=JSON.parse(t),c=n.openai;if((e=n.openai)&&"object"==typeof e&&"apiKey"in e&&!("instances"in e)){a.info("Detected legacy OpenAI config, migrating to multi-instance format..."),c=function(e){if(!e.apiKey)return{instances:[],activeInstanceId:void 0};let r={id:"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let r=16*Math.random()|0;return("x"===e?r:3&r|8).toString(16)}),name:"Default",apiKey:e.apiKey,baseUrl:e.baseUrl||"https://api.openai.com/v1",model:e.model||"gpt-4o"};return{instances:[r],activeInstanceId:r.id}}(n.openai);let e={...n,openai:c};r.default.writeFileSync(s,JSON.stringify(e,null,2)),a.info("Legacy OpenAI config migrated successfully")}return{...o,...n,timeZone:(0,i.isValidTimeZone)(n.timeZone)?n.timeZone.trim():i.DEFAULT_TIME_ZONE,openai:{instances:c?.instances||o.openai?.instances||[],activeInstanceId:c?.activeInstanceId||o.openai?.activeInstanceId},gemini:{...o.gemini,...n.gemini},azure:{...o.azure,...n.azure},anthropic:{...o.anthropic,...n.anthropic},prompts:{...o.prompts,...n.prompts},timeouts:{...o.timeouts,...n.timeouts}}}catch(e){a.error({error:e},"Failed to read config file")}return o}e.s(["getActiveOpenAIConfig",0,function(){let e=c(),r=e.openai?.instances||[],t=e.openai?.activeInstanceId;if(t&&0!==r.length)return r.find(e=>e.id===t)},"getAppConfig",0,c,"getAppTimeZone",0,function(){return c().timeZone||i.DEFAULT_TIME_ZONE},"updateAppConfig",0,function(e){if(void 0!==e.timeZone&&!(0,i.isValidTimeZone)(e.timeZone))throw Error("INVALID_TIME_ZONE");let t=c(),n={...t,...e,timeZone:e.timeZone?.trim()??t.timeZone??i.DEFAULT_TIME_ZONE,openai:{instances:e.openai?.instances??t.openai?.instances??[],activeInstanceId:e.openai?.activeInstanceId??t.openai?.activeInstanceId},gemini:{...t.gemini,...e.gemini},azure:{...t.azure,...e.azure},anthropic:{...t.anthropic,...e.anthropic},prompts:{...t.prompts,...e.prompts},timeouts:{...t.timeouts,...e.timeouts}};try{return r.default.writeFileSync(s,JSON.stringify(n,null,2)),n}catch(e){throw a.error({error:e},"Failed to write config file"),e}}])},63856,e=>e.a(async(r,t)=>{try{var n=e.i(13618),i=e.i(79832),a=e.i(98043),s=r([i]);async function o(){let e=await (0,n.getServerSession)(i.authOptions);return e?.user?.email?a.prisma.user.findUnique({where:{email:e.user.email}}):null}[i]=s.then?(await s)():s,e.s(["getCurrentUser",0,o]),t()}catch(e){t(e)}},!1),50377,e=>{"use strict";let r={trace:10,debug:20,info:30,warn:40,error:50,fatal:60};function t(e,n={}){let i,a=r[e],s=(i=process.env.LOG_LEVEL?.toLowerCase())&&void 0!==r[i]?r[i]:r.info;return(r,t)=>{let i,o;if(a<s)return;let c=new Date;"string"==typeof r?(i={},o=r):(i=r,o=t||"");{let r=JSON.stringify({level:e,time:c.toISOString(),...n,...i,msg:o});switch(e){case"error":case"fatal":console.error(r);break;case"warn":console.warn(r);break;default:console.log(r)}}}}let n=function e(r={}){return r.module,{trace:t("trace",r),debug:t("debug",r),info:t("info",r),warn:t("warn",r),error:t("error",r),fatal:t("fatal",r),child:t=>e({...r,...t}),box:(e,t,n="📋")=>{console.log(JSON.stringify({level:"info",time:new Date().toISOString(),...r,title:e,..."string"==typeof t?{content:t}:t||{},msg:e}))},divider:(e="-")=>{}}}({env:"production"});e.s(["createLogger",0,function(e){return n.child({module:e})}])},4752,e=>{"use strict";var r=e.i(98043),t=e.i(43911);let n=(0,e.i(50377).createLogger)("mastery"),i=["correct","wrong","not_attempted"];function a(e){return"string"==typeof e&&i.includes(e)}let s={easy:.85,medium:.95,hard:1,harder:1},o={wrong:.1,not_attempted:0};async function c(e){let i=await r.prisma.errorItem.findUnique({where:{id:e},select:{id:!0,questionText:!0,mistakeStatus:!0,tags:{select:{name:!0}},practiceRecords:{where:{result:{not:null}},orderBy:[{createdAt:"asc"},{id:"asc"}],select:{result:!0,difficulty:!0,source:!0,createdAt:!0}}}});if(!i)return;let c=i.practiceRecords.filter(e=>a(e.result)).map(e=>({date:e.createdAt.toISOString(),difficulty:e.difficulty,result:e.result,source:e.source})),u=function(e){if(0===e.length)return null;let r=.15,t=.5;return e.forEach((n,i)=>{let a=Math.pow(.7,e.length-1-i),c="correct"===n.result?s[n.difficulty||"medium"]??s.medium:o[n.result];r+=a*c,t+=a}),Math.round(r/t*100)/100}(c);if(null===u)return void await r.prisma.errorItem.update({where:{id:i.id},data:{masteryProbability:null,masteryReason:null,masterySource:null,masteryEvaluatedAt:null}});let l=u,p="",d="rule";try{let e=await (0,t.getAIService)().evaluateMastery({questionText:i.questionText||"",knowledgePoints:i.tags.map(e=>e.name),mistakeStatus:i.mistakeStatus,history:c,ruleProbability:u});l=e.probability,p=e.reason,d="ai"}catch(t){n.warn({errorItemId:e,error:t instanceof Error?t.message:String(t)},"AI mastery evaluation failed, using rule estimate");let r=c.filter(e=>"correct"===e.result).length;p=`共练习 ${c.length} 次,做对 ${r} 次(规则估算)`}await r.prisma.errorItem.update({where:{id:i.id},data:{masteryProbability:l,masteryReason:p,masterySource:d,masteryEvaluatedAt:new Date,masteryLevel:+(l>=.8)}}),n.info({errorItemId:e,probability:l,source:d},"Mastery evaluated")}let u=new Set,l=!1;async function p(){if(!l){l=!0;try{for(;u.size>0;){let[e]=u;u.delete(e);try{await c(e)}catch(r){n.error({errorItemId:e,error:r},"Mastery evaluation failed")}}}finally{l=!1}}}e.s(["PRACTICE_RESULTS",0,i,"isPracticeResult",0,a,"scheduleMasteryEvaluation",0,function(e){e.forEach(e=>u.add(e)),p()}])}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__0bs5unr._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[63021,(e,t,r)=>{t.exports=e.x("@prisma/client-2c3a283f134fdcb6",()=>require("@prisma/client-2c3a283f134fdcb6"))},98043,e=>{"use strict";var t=e.i(63021);let r=e.g.prisma||new t.PrismaClient({log:"true"===process.env.DEBUG_DB?["query","error","warn"]:["error"]});e.s(["prisma",0,r])},49719,(e,t,r)=>{t.exports=e.x("assert",()=>require("assert"))},44950,e=>e.a(async(t,r)=>{try{var a=await e.y("bcryptjs-ee66c2bdc904f2cf");e.n(a),r()}catch(e){r(e)}},!0),874,(e,t,r)=>{t.exports=e.x("buffer",()=>require("buffer"))},54799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},27699,(e,t,r)=>{t.exports=e.x("events",()=>require("events"))},21517,(e,t,r)=>{t.exports=e.x("http",()=>require("http"))},24836,(e,t,r)=>{t.exports=e.x("https",()=>require("https"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},20635,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},59043,(e,t,r)=>{t.exports=e.x("next/dist/server/runtime-reacts.external.js",()=>require("next/dist/server/runtime-reacts.external.js"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},81111,(e,t,r)=>{t.exports=e.x("node:stream",()=>require("node:stream"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},45706,(e,t,r)=>{t.exports=e.x("querystring",()=>require("querystring"))},92509,(e,t,r)=>{t.exports=e.x("url",()=>require("url"))},24361,(e,t,r)=>{t.exports=e.x("util",()=>require("util"))},6461,(e,t,r)=>{t.exports=e.x("zlib",()=>require("zlib"))},62876,e=>e.a(async(t,r)=>{try{var a=e.i(58821),n=e.i(98043),i=e.i(79832),s=e.i(13618),o=e.i(76759),l=e.i(50377),u=t([i]);[i]=u.then?(await u)():u;let c=(0,l.createLogger)("api:error-items:batch-delete");async function d(e){c.info("POST /api/error-items/batch-delete called");let t=await (0,s.getServerSession)(i.authOptions);try{let r,{ids:i}=await e.json();if(!Array.isArray(i)||0===i.length)return(0,o.badRequest)("ids must be a non-empty array");if(i.length>100)return(0,o.badRequest)("Cannot delete more than 100 items at once");if(t?.user?.email&&(r=await n.prisma.user.findUnique({where:{email:t.user.email}})),!r)return(0,o.unauthorized)("Authentication required");c.debug({userId:r.id,idsCount:i.length},"Batch delete request");let s=(await n.prisma.errorItem.findMany({where:{id:{in:i}},select:{id:!0,userId:!0}})).filter(e=>e.userId===r.id).map(e=>e.id),l=i.filter(e=>!s.includes(e));l.length>0&&c.warn({unauthorizedIds:l},"Some items do not belong to user or do not exist");let u=0;return s.length>0&&(u=(await n.prisma.errorItem.deleteMany({where:{id:{in:s}}})).count),c.info({deletedCount:u,requestedCount:i.length,failedCount:l.length},"Batch delete completed"),a.NextResponse.json({deleted:u,failed:l})}catch(e){return c.error({error:e},"Error in batch delete"),(0,o.internalError)("Failed to delete items")}}e.s(["POST",0,d]),r()}catch(e){r(e)}},!1),79424,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),n=e.i(59756),i=e.i(61916),s=e.i(74677),o=e.i(69741),l=e.i(16795),u=e.i(87718),d=e.i(95169),c=e.i(47587),p=e.i(66012),R=e.i(70101),h=e.i(74838),x=e.i(10372),E=e.i(93695),f=e.i(9580);e.i(52474);var m=e.i(220);let g=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/error-items/batch-delete/route",pathname:"/api/error-items/batch-delete",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/error-items/batch-delete/route.ts",nextConfigOutput:"standalone",userland:()=>e.r(62876),...{}}),{workAsyncStorage:v,workUnitAsyncStorage:O,serverHooks:N}=g;async function I(e,t,a){a.requestMeta&&(0,n.setRequestMeta)(e,a.requestMeta),g.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/error-items/batch-delete/route";v=v.replace(/\/index$/,"")||"/";let O=await g.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!O)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:N,deploymentId:I,params:A,nextConfig:T,parsedUrl:w,isDraftMode:_,prerenderManifest:y,routerServerContext:b,isOnDemandRevalidate:D,revalidateOnlyGenerated:S,resolvedPathname:C,clientReferenceManifest:q,serverActionsManifest:U}=O,P=(0,o.normalizeAppPath)(v),L=!!y.routes[C]&&(g.isDev||(0,f.isRouteCacheOwner)(C,g.cacheOwner,y.routes[C])),F=!!(y.dynamicRoutes[P]||L),j=async()=>((null==b?void 0:b.render404)?await b.render404(e,t,w,!1):t.end("This page could not be found"),null);if(F&&!_){let e=y.dynamicRoutes[P];if(e&&!1===e.fallback&&!L){if(T.adapterPath)return await j();throw new E.NoFallbackError}}let M=null;!F||g.isDev||_||(M="/index"===(M=C)?"/":M);let k=!0===g.isDev||!F,H=F&&!k;U&&q&&(0,s.setManifestsSingleton)({page:v,clientReferenceManifest:q,serverActionsManifest:U});let B=e.method||"GET",G=(0,i.getTracer)(),V=G.getActiveScopeSpan(),K=!!(null==b?void 0:b.isWrappedByNextServer),Q=!!(0,n.getRequestMeta)(e,"minimalMode"),X=(0,n.getRequestMeta)(e,"incrementalCache")||await g.getIncrementalCache(e,T,y,Q);null==X||X.resetRequestCache(),globalThis.__incrementalCache=X;let $={params:A,previewProps:y.preview,renderOpts:{experimental:{authInterrupts:!!T.experimental.authInterrupts,useCacheTimeout:T.experimental.useCacheTimeout},cacheComponents:!!T.cacheComponents,validationLevel:T.experimental.instantInsights.validationLevel,isDraftMode:_,supportsDynamicResponse:k,incrementalCache:X,hmrRefreshHash:(0,n.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:T.cacheLife,staticPageGenerationTimeout:T.staticPageGenerationTimeout,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>g.onRequestError(e,t,a,n,b)},sharedContext:{buildId:N,deploymentId:I}},z=new l.NodeNextRequest(e),W=new l.NodeNextResponse(t),Z=u.NextRequestAdapter.fromNodeNextRequest(z,(0,u.signalFromNodeResponse)(t)),J=async({previousCacheEntry:r})=>{try{if(!Q&&D&&S&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await g.handle(Z,$);e.fetchMetrics=$.renderOpts.fetchMetrics;let i=$.renderOpts.pendingWaitUntil;i&&a.waitUntil&&(a.waitUntil(i),i=void 0);let s=$.renderOpts.collectedTags;if(!F)return await (0,p.sendResponse)(z,W,n,i),null;{let e=await n.blob(),t=(0,R.toNodeOutgoingHttpHeaders)(n.headers);s&&(t[x.NEXT_CACHE_TAGS_HEADER]=s),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==$.renderOpts.collectedRevalidate&&!($.renderOpts.collectedRevalidate>=x.INFINITE_CACHE)&&$.renderOpts.collectedRevalidate,a=void 0===$.renderOpts.collectedExpire||$.renderOpts.collectedExpire>=x.INFINITE_CACHE?!1!==r&&r>0?T.expireTime:void 0:$.renderOpts.collectedExpire;return{value:{kind:m.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await g.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:D})},!1,b),t}},Y=async(n,s)=>{try{var o,l;let n=await g.handleResponse({req:e,nextConfig:T,cacheKey:M,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:y,isRoutePPREnabled:!1,isOnDemandRevalidate:D,revalidateOnlyGenerated:S,responseGenerator:J,waitUntil:a.waitUntil,isMinimalMode:Q});if(!F)return;if((null==n||null==(o=n.value)?void 0:o.kind)!==m.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==n||null==(l=n.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});Q||t.setHeader("x-nextjs-cache",D?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),_&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let i=(0,R.fromNodeOutgoingHttpHeaders)(n.value.headers);Q&&F||i.delete(x.NEXT_CACHE_TAGS_HEADER),!n.cacheControl||t.getHeader("Cache-Control")||i.get("Cache-Control")||i.set("Cache-Control",(0,h.getCacheControlHeader)(n.cacheControl)),await (0,p.sendResponse)(z,W,new Response(n.value.body,{headers:i,status:n.value.status||200}));return}catch(t){if(t instanceof E.NoFallbackError||await g.onRequestError(e,t,{routerKind:"App Router",routePath:P,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:D})},!1,b),F)throw t;await (0,p.sendResponse)(z,W,new Response(null,{status:500}));return}finally{(()=>{if(!n)return;let e=t.statusCode;n.setAttributes({"http.status_code":e,"next.rsc":!1}),e&&e>=500&&(n.setStatus({code:i.SpanStatusCode.ERROR}),n.setAttribute("error.type",e.toString()));let r=G.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==d.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route")||P,o=`${B} ${a}`;n.setAttributes({"next.route":a,"http.route":a,"next.span_name":o}),n.updateName(o),s&&s!==n&&(s.setAttribute("http.route",a),s.updateName(o))})()}};if(K&&V)await Y(V,void 0);else{let t=G.getActiveScopeSpan();await G.withPropagatedContext(e.headers,()=>G.trace(d.BaseServerSpan.handleRequest,{spanName:`${B} ${v}`,kind:i.SpanKind.SERVER,attributes:{"http.method":B,"http.target":e.url}},e=>Y(e,t)),void 0,!K)}}e.s(["handler",0,I,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:v,workUnitAsyncStorage:O})},"routeModule",0,g,"serverHooks",0,N,"workAsyncStorage",0,v,"workUnitAsyncStorage",0,O])},76759,e=>{"use strict";var t=e.i(58821);let r={UNAUTHORIZED:"UNAUTHORIZED",SESSION_EXPIRED:"SESSION_EXPIRED",FORBIDDEN:"FORBIDDEN",NOT_OWNER:"NOT_OWNER",ADMIN_REQUIRED:"ADMIN_REQUIRED",NOT_FOUND:"NOT_FOUND",USER_NOT_FOUND:"USER_NOT_FOUND",ITEM_NOT_FOUND:"ITEM_NOT_FOUND",BAD_REQUEST:"BAD_REQUEST",INVALID_INPUT:"INVALID_INPUT",MISSING_REQUIRED_FIELD:"MISSING_REQUIRED_FIELD",VALIDATION_ERROR:"VALIDATION_ERROR",OPERATION_NOT_ALLOWED:"OPERATION_NOT_ALLOWED",CONFLICT:"CONFLICT",ALREADY_EXISTS:"ALREADY_EXISTS",INTERNAL_ERROR:"INTERNAL_ERROR",DATABASE_ERROR:"DATABASE_ERROR",AI_ERROR:"AI_ERROR"};function a(e,r,a,n){let i={message:e};return a&&(i.code=a),n&&(i.details=n),t.NextResponse.json(i,{status:r})}e.s(["ErrorCode",0,r,"badRequest",0,function(e,t){return a(e,400,r.BAD_REQUEST,t)},"conflict",0,function(e){return a(e,409,r.CONFLICT)},"createErrorResponse",0,a,"forbidden",0,function(e="Forbidden"){return a(e,403,r.FORBIDDEN)},"internalError",0,function(e="Internal server error"){return a(e,500,r.INTERNAL_ERROR)},"notFound",0,function(e="Not found"){return a(e,404,r.NOT_FOUND)},"unauthorized",0,function(e="Unauthorized"){return a(e,401,r.UNAUTHORIZED)},"validationError",0,function(e,t){return a(e,400,r.VALIDATION_ERROR,t)}])},50377,e=>{"use strict";let t={trace:10,debug:20,info:30,warn:40,error:50,fatal:60};function r(e,a={}){let n,i=t[e],s=(n=process.env.LOG_LEVEL?.toLowerCase())&&void 0!==t[n]?t[n]:t.info;return(t,r)=>{let n,o;if(i<s)return;let l=new Date;"string"==typeof t?(n={},o=t):(n=t,o=r||"");{let t=JSON.stringify({level:e,time:l.toISOString(),...a,...n,msg:o});switch(e){case"error":case"fatal":console.error(t);break;case"warn":console.warn(t);break;default:console.log(t)}}}}let a=function e(t={}){return t.module,{trace:r("trace",t),debug:r("debug",t),info:r("info",t),warn:r("warn",t),error:r("error",t),fatal:r("fatal",t),child:r=>e({...t,...r}),box:(e,r,a="📋")=>{console.log(JSON.stringify({level:"info",time:new Date().toISOString(),...t,title:e,..."string"==typeof r?{content:r}:r||{},msg:e}))},divider:(e="-")=>{}}}({env:"production"});e.s(["createLogger",0,function(e){return a.child({module:e})}])}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__0c59gc3._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[63021,(e,t,r)=>{t.exports=e.x("@prisma/client-2c3a283f134fdcb6",()=>require("@prisma/client-2c3a283f134fdcb6"))},98043,e=>{"use strict";var t=e.i(63021);let r=e.g.prisma||new t.PrismaClient({log:"true"===process.env.DEBUG_DB?["query","error","warn"]:["error"]});e.s(["prisma",0,r])},44950,e=>e.a(async(t,r)=>{try{var n=await e.y("bcryptjs-ee66c2bdc904f2cf");e.n(n),r()}catch(e){r(e)}},!0),54799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},20635,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},59043,(e,t,r)=>{t.exports=e.x("next/dist/server/runtime-reacts.external.js",()=>require("next/dist/server/runtime-reacts.external.js"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},81111,(e,t,r)=>{t.exports=e.x("node:stream",()=>require("node:stream"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},44661,e=>e.a(async(t,r)=>{try{var n=e.i(58821),a=e.i(44950),i=e.i(98043),s=e.i(69719),o=e.i(98003),l=t([a]);[a]=l.then?(await l)():l;let p=s.z.object({email:s.z.string().regex(/^[^\s@]+@[^\s@]+$/,"Invalid email format"),password:s.z.string().min(6),name:s.z.string().min(1),educationStage:s.z.string().optional(),enrollmentYear:s.z.number().optional()});async function c(e){try{let t=(0,o.getAppConfig)();if(!1===t.allowRegistration)return n.NextResponse.json({user:null,message:"Registration is currently disabled"},{status:403});let r=await e.json(),{email:s,password:l,name:c,educationStage:u,enrollmentYear:d}=p.parse(r);if(await i.prisma.user.findUnique({where:{email:s}}))return n.NextResponse.json({user:null,message:"User with this email already exists"},{status:409});let m=await (0,a.hash)(l,10),{password:x,...g}=await i.prisma.user.create({data:{email:s,name:c,password:m,educationStage:u,enrollmentYear:d}});return n.NextResponse.json({user:g,message:"User created successfully"},{status:201})}catch(e){return n.NextResponse.json({user:null,message:"Something went wrong"},{status:500})}}e.s(["POST",0,c]),r()}catch(e){r(e)}},!1),16421,e=>{"use strict";var t=e.i(47909),r=e.i(74017),n=e.i(96250),a=e.i(59756),i=e.i(61916),s=e.i(74677),o=e.i(69741),l=e.i(16795),c=e.i(87718),p=e.i(95169),u=e.i(47587),d=e.i(66012),m=e.i(70101),x=e.i(74838),g=e.i(10372),f=e.i(93695),v=e.i(9580);e.i(52474);var h=e.i(220);let E=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/register/route",pathname:"/api/register",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/register/route.ts",nextConfigOutput:"standalone",userland:()=>e.r(44661),...{}}),{workAsyncStorage:R,workUnitAsyncStorage:y,serverHooks:I}=E;async function w(e,t,n){n.requestMeta&&(0,a.setRequestMeta)(e,n.requestMeta),E.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let R="/api/register/route";R=R.replace(/\/index$/,"")||"/";let y=await E.prepare(e,t,{srcPage:R,multiZoneDraftMode:!1});if(!y)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:I,deploymentId:w,params:A,nextConfig:_,parsedUrl:O,isDraftMode:N,prerenderManifest:P,routerServerContext:C,isOnDemandRevalidate:b,revalidateOnlyGenerated:T,resolvedPathname:S,clientReferenceManifest:U,serverActionsManifest:q}=y,D=(0,o.normalizeAppPath)(R),j=!!P.routes[S]&&(E.isDev||(0,v.isRouteCacheOwner)(S,E.cacheOwner,P.routes[S])),M=!!(P.dynamicRoutes[D]||j),L=async()=>((null==C?void 0:C.render404)?await C.render404(e,t,O,!1):t.end("This page could not be found"),null);if(M&&!N){let e=P.dynamicRoutes[D];if(e&&!1===e.fallback&&!j){if(_.adapterPath)return await L();throw new f.NoFallbackError}}let Z=null;!M||E.isDev||N||(Z="/index"===(Z=S)?"/":Z);let k=!0===E.isDev||!M,H=M&&!k;q&&U&&(0,s.setManifestsSingleton)({page:R,clientReferenceManifest:U,serverActionsManifest:q});let K=e.method||"GET",F=(0,i.getTracer)(),z=F.getActiveScopeSpan(),G=!!(null==C?void 0:C.isWrappedByNextServer),B=!!(0,a.getRequestMeta)(e,"minimalMode"),V=(0,a.getRequestMeta)(e,"incrementalCache")||await E.getIncrementalCache(e,_,P,B);null==V||V.resetRequestCache(),globalThis.__incrementalCache=V;let Y={params:A,previewProps:P.preview,renderOpts:{experimental:{authInterrupts:!!_.experimental.authInterrupts,useCacheTimeout:_.experimental.useCacheTimeout},cacheComponents:!!_.cacheComponents,validationLevel:_.experimental.instantInsights.validationLevel,isDraftMode:N,supportsDynamicResponse:k,incrementalCache:V,hmrRefreshHash:(0,a.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:_.cacheLife,staticPageGenerationTimeout:_.staticPageGenerationTimeout,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,a)=>E.onRequestError(e,t,n,a,C)},sharedContext:{buildId:I,deploymentId:w}},$=new l.NodeNextRequest(e),J=new l.NodeNextResponse(t),X=c.NextRequestAdapter.fromNodeNextRequest($,(0,c.signalFromNodeResponse)(t)),W=async({previousCacheEntry:r})=>{try{if(!B&&b&&T&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await E.handle(X,Y);e.fetchMetrics=Y.renderOpts.fetchMetrics;let i=Y.renderOpts.pendingWaitUntil;i&&n.waitUntil&&(n.waitUntil(i),i=void 0);let s=Y.renderOpts.collectedTags;if(!M)return await (0,d.sendResponse)($,J,a,i),null;{let e=await a.blob(),t=(0,m.toNodeOutgoingHttpHeaders)(a.headers);s&&(t[g.NEXT_CACHE_TAGS_HEADER]=s),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==Y.renderOpts.collectedRevalidate&&!(Y.renderOpts.collectedRevalidate>=g.INFINITE_CACHE)&&Y.renderOpts.collectedRevalidate,n=void 0===Y.renderOpts.collectedExpire||Y.renderOpts.collectedExpire>=g.INFINITE_CACHE?!1!==r&&r>0?_.expireTime:void 0:Y.renderOpts.collectedExpire;return{value:{kind:h.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==r?void 0:r.isStale)&&await E.onRequestError(e,t,{routerKind:"App Router",routePath:R,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:b})},!1,C),t}},Q=async(a,s)=>{try{var o,l;let a=await E.handleResponse({req:e,nextConfig:_,cacheKey:Z,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:P,isRoutePPREnabled:!1,isOnDemandRevalidate:b,revalidateOnlyGenerated:T,responseGenerator:W,waitUntil:n.waitUntil,isMinimalMode:B});if(!M)return;if((null==a||null==(o=a.value)?void 0:o.kind)!==h.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==a||null==(l=a.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});B||t.setHeader("x-nextjs-cache",b?"REVALIDATED":a.isMiss?"MISS":a.isStale?"STALE":"HIT"),N&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let i=(0,m.fromNodeOutgoingHttpHeaders)(a.value.headers);B&&M||i.delete(g.NEXT_CACHE_TAGS_HEADER),!a.cacheControl||t.getHeader("Cache-Control")||i.get("Cache-Control")||i.set("Cache-Control",(0,x.getCacheControlHeader)(a.cacheControl)),await (0,d.sendResponse)($,J,new Response(a.value.body,{headers:i,status:a.value.status||200}));return}catch(t){if(t instanceof f.NoFallbackError||await E.onRequestError(e,t,{routerKind:"App Router",routePath:D,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:b})},!1,C),M)throw t;await (0,d.sendResponse)($,J,new Response(null,{status:500}));return}finally{(()=>{if(!a)return;let e=t.statusCode;a.setAttributes({"http.status_code":e,"next.rsc":!1}),e&&e>=500&&(a.setStatus({code:i.SpanStatusCode.ERROR}),a.setAttribute("error.type",e.toString()));let r=F.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==p.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route")||D,o=`${K} ${n}`;a.setAttributes({"next.route":n,"http.route":n,"next.span_name":o}),a.updateName(o),s&&s!==a&&(s.setAttribute("http.route",n),s.updateName(o))})()}};if(G&&z)await Q(z,void 0);else{let t=F.getActiveScopeSpan();await F.withPropagatedContext(e.headers,()=>F.trace(p.BaseServerSpan.handleRequest,{spanName:`${K} ${R}`,kind:i.SpanKind.SERVER,attributes:{"http.method":K,"http.target":e.url}},e=>Q(e,t)),void 0,!G)}}e.s(["handler",0,w,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:R,workUnitAsyncStorage:y})},"routeModule",0,E,"serverHooks",0,I,"workAsyncStorage",0,R,"workUnitAsyncStorage",0,y])},98003,e=>{"use strict";var t=e.i(22734),r=e.i(14747),n=e.i(50377),a=e.i(76025);let i=(0,n.createLogger)("config"),s=r.default.join(process.env.CONFIG_DIR||r.default.join(process.cwd(),"config"),"app-config.json"),o={aiProvider:process.env.AI_PROVIDER||"gemini",allowRegistration:!0,timeZone:a.DEFAULT_TIME_ZONE,openai:{instances:process.env.OPENAI_API_KEY?[{id:"env-default",name:"Default (ENV)",apiKey:process.env.OPENAI_API_KEY,baseUrl:process.env.OPENAI_BASE_URL||"https://api.openai.com/v1",model:process.env.OPENAI_MODEL||"gpt-4o"}]:[],activeInstanceId:process.env.OPENAI_API_KEY?"env-default":void 0},gemini:{apiKey:process.env.GOOGLE_API_KEY,baseUrl:process.env.GEMINI_BASE_URL,model:process.env.GEMINI_MODEL||"gemini-2.5-flash"},azure:{apiKey:process.env.AZURE_OPENAI_API_KEY,endpoint:process.env.AZURE_OPENAI_ENDPOINT,deploymentName:process.env.AZURE_OPENAI_DEPLOYMENT,apiVersion:process.env.AZURE_OPENAI_API_VERSION||"2024-02-15-preview",model:process.env.AZURE_OPENAI_MODEL||"gpt-4o"},anthropic:{apiKey:process.env.ANTHROPIC_API_KEY,baseUrl:process.env.ANTHROPIC_BASE_URL,model:process.env.ANTHROPIC_MODEL||"claude-sonnet-5-5"},prompts:{analyze:"",similar:""},timeouts:{analyze:18e4}};function l(){if(t.default.existsSync(s))try{var e;let r=t.default.readFileSync(s,"utf-8"),n=JSON.parse(r),l=n.openai;if((e=n.openai)&&"object"==typeof e&&"apiKey"in e&&!("instances"in e)){i.info("Detected legacy OpenAI config, migrating to multi-instance format..."),l=function(e){if(!e.apiKey)return{instances:[],activeInstanceId:void 0};let t={id:"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)}),name:"Default",apiKey:e.apiKey,baseUrl:e.baseUrl||"https://api.openai.com/v1",model:e.model||"gpt-4o"};return{instances:[t],activeInstanceId:t.id}}(n.openai);let e={...n,openai:l};t.default.writeFileSync(s,JSON.stringify(e,null,2)),i.info("Legacy OpenAI config migrated successfully")}return{...o,...n,timeZone:(0,a.isValidTimeZone)(n.timeZone)?n.timeZone.trim():a.DEFAULT_TIME_ZONE,openai:{instances:l?.instances||o.openai?.instances||[],activeInstanceId:l?.activeInstanceId||o.openai?.activeInstanceId},gemini:{...o.gemini,...n.gemini},azure:{...o.azure,...n.azure},anthropic:{...o.anthropic,...n.anthropic},prompts:{...o.prompts,...n.prompts},timeouts:{...o.timeouts,...n.timeouts}}}catch(e){i.error({error:e},"Failed to read config file")}return o}e.s(["getActiveOpenAIConfig",0,function(){let e=l(),t=e.openai?.instances||[],r=e.openai?.activeInstanceId;if(r&&0!==t.length)return t.find(e=>e.id===r)},"getAppConfig",0,l,"getAppTimeZone",0,function(){return l().timeZone||a.DEFAULT_TIME_ZONE},"updateAppConfig",0,function(e){if(void 0!==e.timeZone&&!(0,a.isValidTimeZone)(e.timeZone))throw Error("INVALID_TIME_ZONE");let r=l(),n={...r,...e,timeZone:e.timeZone?.trim()??r.timeZone??a.DEFAULT_TIME_ZONE,openai:{instances:e.openai?.instances??r.openai?.instances??[],activeInstanceId:e.openai?.activeInstanceId??r.openai?.activeInstanceId},gemini:{...r.gemini,...e.gemini},azure:{...r.azure,...e.azure},anthropic:{...r.anthropic,...e.anthropic},prompts:{...r.prompts,...e.prompts},timeouts:{...r.timeouts,...e.timeouts}};try{return t.default.writeFileSync(s,JSON.stringify(n,null,2)),n}catch(e){throw i.error({error:e},"Failed to write config file"),e}}])},50377,e=>{"use strict";let t={trace:10,debug:20,info:30,warn:40,error:50,fatal:60};function r(e,n={}){let a,i=t[e],s=(a=process.env.LOG_LEVEL?.toLowerCase())&&void 0!==t[a]?t[a]:t.info;return(t,r)=>{let a,o;if(i<s)return;let l=new Date;"string"==typeof t?(a={},o=t):(a=t,o=r||"");{let t=JSON.stringify({level:e,time:l.toISOString(),...n,...a,msg:o});switch(e){case"error":case"fatal":console.error(t);break;case"warn":console.warn(t);break;default:console.log(t)}}}}let n=function e(t={}){return t.module,{trace:r("trace",t),debug:r("debug",t),info:r("info",t),warn:r("warn",t),error:r("error",t),fatal:r("fatal",t),child:r=>e({...t,...r}),box:(e,r,n="📋")=>{console.log(JSON.stringify({level:"info",time:new Date().toISOString(),...t,title:e,..."string"==typeof r?{content:r}:r||{},msg:e}))},divider:(e="-")=>{}}}({env:"production"});e.s(["createLogger",0,function(e){return n.child({module:e})}])}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__0dfbwm3._.js.map
|