@witty-ai/skill-insight 0.5.0-beta → 0.7.0-beta
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/.env.example +6 -0
- package/.next/standalone/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/app-path-routes-manifest.json +4 -0
- package/.next/standalone/.next/build-manifest.json +2 -2
- package/.next/standalone/.next/prerender-manifest.json +3 -3
- package/.next/standalone/.next/routes-manifest.json +24 -0
- package/.next/standalone/.next/server/app/_global-error.html +2 -2
- package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_not-found.html +1 -1
- package/.next/standalone/.next/server/app/_not-found.rsc +4 -4
- package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/api/config/create/route.js +4 -3
- package/.next/standalone/.next/server/app/api/config/create/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/config/route.js +5 -4
- package/.next/standalone/.next/server/app/api/config/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/data/route.js +6 -5
- package/.next/standalone/.next/server/app/api/data/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/evaluation/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/otel/v1/logs/route.js +6 -5
- package/.next/standalone/.next/server/app/api/otel/v1/logs/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/otel/v1/traces/route.js +4 -3
- package/.next/standalone/.next/server/app/api/otel/v1/traces/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/proxy/[taskId]/[...path]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/proxy/[taskId]/end/route.js +4 -3
- package/.next/standalone/.next/server/app/api/proxy/[taskId]/end/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/rejudge/route.js +6 -5
- package/.next/standalone/.next/server/app/api/rejudge/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/session/route.js +4 -4
- package/.next/standalone/.next/server/app/api/session/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/setup/opencode-commands/si-optimizer/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/setup/opencode-commands/si-optimizer/route/build-manifest.json +11 -0
- package/.next/standalone/.next/server/app/api/setup/opencode-commands/si-optimizer/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/setup/opencode-commands/si-optimizer/route.js +6 -0
- package/.next/standalone/.next/server/app/api/setup/opencode-commands/si-optimizer/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/setup/opencode-commands/si-optimizer/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/setup/opencode-commands/si-optimizer/route_client-reference-manifest.js +2 -0
- package/.next/standalone/.next/server/app/api/setup/opencode-tui/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/setup/opencode-tui/route/build-manifest.json +11 -0
- package/.next/standalone/.next/server/app/api/setup/opencode-tui/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/setup/opencode-tui/route.js +6 -0
- package/.next/standalone/.next/server/app/api/setup/opencode-tui/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/setup/opencode-tui/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/setup/opencode-tui/route_client-reference-manifest.js +2 -0
- package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/download/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/route.js +3 -2
- package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/skills/[id]/versions/route.js +5 -2
- package/.next/standalone/.next/server/app/api/skills/[id]/versions/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/skills/automation/import/route.js +5 -2
- package/.next/standalone/.next/server/app/api/skills/automation/import/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/skills/logs/route.js +6 -5
- package/.next/standalone/.next/server/app/api/skills/logs/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/skills/route.js +3 -2
- package/.next/standalone/.next/server/app/api/skills/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/skills/sync-enterprise/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/skills/sync-enterprise/route/build-manifest.json +11 -0
- package/.next/standalone/.next/server/app/api/skills/sync-enterprise/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/skills/sync-enterprise/route.js +8 -0
- package/.next/standalone/.next/server/app/api/skills/sync-enterprise/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/skills/sync-enterprise/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/skills/sync-enterprise/route_client-reference-manifest.js +2 -0
- package/.next/standalone/.next/server/app/api/skills/upload/route.js +5 -2
- package/.next/standalone/.next/server/app/api/skills/upload/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/task-stats/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/task-stats/route/build-manifest.json +11 -0
- package/.next/standalone/.next/server/app/api/task-stats/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/task-stats/route.js +12 -0
- package/.next/standalone/.next/server/app/api/task-stats/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/task-stats/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/task-stats/route_client-reference-manifest.js +2 -0
- package/.next/standalone/.next/server/app/api/upload/route.js +5 -4
- package/.next/standalone/.next/server/app/api/upload/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/details/page/react-loadable-manifest.json +2 -2
- package/.next/standalone/.next/server/app/details/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/details/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/details.html +1 -1
- package/.next/standalone/.next/server/app/details.rsc +5 -5
- package/.next/standalone/.next/server/app/details.segments/_full.segment.rsc +5 -5
- package/.next/standalone/.next/server/app/details.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/details.segments/_index.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/details.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/details.segments/details/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/details.segments/details.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/index.html +1 -1
- package/.next/standalone/.next/server/app/index.rsc +5 -5
- package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +5 -5
- package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/login/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/login.html +1 -1
- package/.next/standalone/.next/server/app/login.rsc +5 -5
- package/.next/standalone/.next/server/app/login.segments/_full.segment.rsc +5 -5
- package/.next/standalone/.next/server/app/login.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/login.segments/_index.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/login.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/login.segments/login.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/skills/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/skills/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/skills.html +1 -1
- package/.next/standalone/.next/server/app/skills.rsc +5 -5
- package/.next/standalone/.next/server/app/skills.segments/_full.segment.rsc +5 -5
- package/.next/standalone/.next/server/app/skills.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/skills.segments/_index.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/skills.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/skills.segments/skills/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/skills.segments/skills.segment.rsc +1 -1
- package/.next/standalone/.next/server/app-paths-manifest.json +4 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__02ddba88._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__15dbd1f2._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1c95bcde._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__23efcd78._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__4a6d443b._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__53775b48._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__5444db55._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__591248f3._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__5d8178f6._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__6261d672._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__6923eecf._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__6fc12878._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__8402dfd1._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__863cf6de._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__89404730._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__98b3de5e._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__9d551ea2._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__a4d3d791._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__aa3d72e3._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__aa5c8858._.js +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__b11acc79._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__ba01f286._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__bd91659b._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__c200214a._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__c20da96a._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__c602c518._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__d7fab946._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__d8c1808b._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__d9b9fecc._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__ddf63a21._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__e280561d._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__e550423c._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__f9e66e02._.js +3 -0
- package/.next/standalone/.next/server/chunks/_33c0c729._.js +1 -1
- package/.next/standalone/.next/server/chunks/_3e8b4d8c._.js +1 -1
- package/.next/standalone/.next/server/chunks/_46f10554._.js +3 -0
- package/.next/standalone/.next/server/chunks/_4c806e26._.js +3 -0
- package/.next/standalone/.next/server/chunks/_cd3d20ca._.js +1 -1
- package/.next/standalone/.next/server/chunks/_ddffef3e._.js +1 -1
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_setup_opencode-tui_route_actions_fc8ae29f.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_skills_sync-enterprise_route_actions_0ca45899.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_task-stats_route_actions_983505cd.js +3 -0
- package/.next/standalone/.next/server/chunks/ce889_server_app_api_setup_opencode-commands_si-optimizer_route_actions_fcde30ef.js +3 -0
- package/.next/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_c33286ed.js +47 -4
- package/.next/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_f42faeee.js +1 -1
- package/.next/standalone/.next/server/chunks/src_98433cb8._.js +237 -0
- package/.next/standalone/.next/server/chunks/src_c8971a2d._.js +57 -8
- package/.next/standalone/.next/server/chunks/src_lib_119f6c7b._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__9ab7cc4a._.js → [root-of-the-server]__082c32a2._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__51073007._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_049876f0._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_09546b95._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_8f5379ab._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_c8c8c083._.js +9 -9
- package/.next/standalone/.next/server/chunks/ssr/{_b121f1ae._.js → _e2faf4f5._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_fd46f439._.js +2 -1
- package/.next/standalone/.next/server/chunks/ssr/node_modules_dagre-d3-es_src_dagre_index_3582f3d0.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/node_modules_lodash-es_a1341fea._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/node_modules_lodash-es_e1de6ed8._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_66a70595._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_app_login_page_tsx_72f58654._.js +1 -1
- package/.next/standalone/.next/server/pages/404.html +1 -1
- package/.next/standalone/.next/server/pages/500.html +2 -2
- package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/static/chunks/{737b8cff3c6a4e30.js → 015467355d3866a3.js} +1 -1
- package/.next/standalone/.next/static/chunks/09f192c9b0609ad8.js +1 -0
- package/.next/standalone/.next/static/chunks/1945a5514fbc393c.css +1 -0
- package/.next/{static/chunks/07c9f28a269c701a.js → standalone/.next/static/chunks/361e4cf1e9a71ccb.js} +1 -1
- package/.next/{static/chunks/5432ce4a494bc74d.js → standalone/.next/static/chunks/60bc50374fd32f20.js} +3 -3
- package/.next/standalone/.next/static/chunks/{251551dcdf74a60d.js → 65bac0880a87bff3.js} +1 -1
- package/.next/standalone/.next/static/chunks/961f7fa606dd26a8.js +1 -0
- package/.next/standalone/.next/static/chunks/bab2ffd4f527acfb.js +1 -0
- package/.next/standalone/.next/static/chunks/c513373e5cfedd5b.js +2 -0
- package/.next/standalone/.next/static/chunks/ca3017e51e817855.js +1 -0
- package/.next/{static/chunks/7e35f4cf2e266022.js → standalone/.next/static/chunks/cb104c3cb4c52833.js} +1 -1
- package/.next/{static/chunks/ff6357067630b168.js → standalone/.next/static/chunks/e13d208072a48316.js} +1 -1
- package/.next/standalone/.next/static/chunks/{e09d9ee16fe90255.js → f786bb68e17b12b4.js} +1 -1
- package/.next/standalone/.next/static/chunks/fc61b990c5ec4ef4.js +109 -0
- package/.next/standalone/node_modules/.prisma/client/edge.js +7 -3
- package/.next/standalone/node_modules/.prisma/client/index-browser.js +4 -0
- package/.next/standalone/node_modules/.prisma/client/index.js +7 -3
- package/.next/standalone/node_modules/.prisma/client/package.json +1 -1
- package/.next/standalone/node_modules/.prisma/client/schema.prisma +26 -22
- package/.next/standalone/node_modules/.prisma/client/wasm.js +4 -0
- package/.next/standalone/node_modules/adm-zip/util/constants.js +142 -0
- package/.next/standalone/node_modules/adm-zip/util/decoder.js +5 -0
- package/.next/standalone/node_modules/adm-zip/util/errors.js +63 -0
- package/.next/standalone/node_modules/adm-zip/util/fattr.js +76 -0
- package/.next/standalone/node_modules/adm-zip/util/index.js +5 -0
- package/.next/standalone/node_modules/adm-zip/util/utils.js +339 -0
- package/.next/standalone/package.json +6 -2
- package/.next/standalone/prisma/schema.prisma +7 -3
- package/.next/standalone/scripts/opencode_plugin.ts +158 -50
- package/.next/standalone/scripts/opencode_tui_plugin.tsx +308 -0
- package/.next/standalone/scripts/si-optimizer.md +5 -0
- package/.next/static/chunks/{737b8cff3c6a4e30.js → 015467355d3866a3.js} +1 -1
- package/.next/static/chunks/09f192c9b0609ad8.js +1 -0
- package/.next/static/chunks/1945a5514fbc393c.css +1 -0
- package/.next/{standalone/.next/static/chunks/07c9f28a269c701a.js → static/chunks/361e4cf1e9a71ccb.js} +1 -1
- package/.next/{standalone/.next/static/chunks/5432ce4a494bc74d.js → static/chunks/60bc50374fd32f20.js} +3 -3
- package/.next/static/chunks/{251551dcdf74a60d.js → 65bac0880a87bff3.js} +1 -1
- package/.next/static/chunks/961f7fa606dd26a8.js +1 -0
- package/.next/static/chunks/bab2ffd4f527acfb.js +1 -0
- package/.next/static/chunks/c513373e5cfedd5b.js +2 -0
- package/.next/static/chunks/ca3017e51e817855.js +1 -0
- package/.next/{standalone/.next/static/chunks/7e35f4cf2e266022.js → static/chunks/cb104c3cb4c52833.js} +1 -1
- package/.next/{standalone/.next/static/chunks/ff6357067630b168.js → static/chunks/e13d208072a48316.js} +1 -1
- package/.next/static/chunks/{e09d9ee16fe90255.js → f786bb68e17b12b4.js} +1 -1
- package/.next/static/chunks/fc61b990c5ec4ef4.js +109 -0
- package/package.json +6 -2
- package/prisma/schema.prisma +7 -3
- package/scripts/activate_telemetry.sh +44 -1
- package/scripts/opencode_plugin.ts +158 -50
- package/scripts/opencode_tui_plugin.tsx +308 -0
- package/scripts/si-optimizer.md +5 -0
- package/scripts/utils.js +0 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1013b265._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1ce5e3b8._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__6d8053e2._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__b835ea7f._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__e2f0baee._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__fc05579d._.js +0 -3
- package/.next/standalone/.next/server/chunks/_41a98bd8._.js +0 -3
- package/.next/standalone/.next/server/chunks/src_497d2ad2._.js +0 -175
- package/.next/standalone/.next/server/chunks/src_lib_12408140._.js +0 -3
- package/.next/standalone/.next/static/chunks/01eddf501c574a44.js +0 -1
- package/.next/standalone/.next/static/chunks/1e782a49beaf489c.js +0 -1
- package/.next/standalone/.next/static/chunks/4071dbec4cf7e72e.js +0 -109
- package/.next/standalone/.next/static/chunks/67bd1a5de2195779.js +0 -1
- package/.next/standalone/.next/static/chunks/a87b5e84254095a5.js +0 -1
- package/.next/standalone/.next/static/chunks/c6bd2818656b1f20.css +0 -1
- package/.next/standalone/.next/static/chunks/dc59a07a8f327b40.js +0 -1
- package/.next/standalone/LICENSE +0 -21
- package/.next/standalone/bin/cli.js +0 -106
- package/.next/standalone/custom-models.example.json +0 -21
- package/.next/standalone/eslint.config.mjs +0 -18
- package/.next/standalone/features/feature-skill-used-jump-link/design/2026-03-18-skill-used-jump-link-design.md +0 -126
- package/.next/standalone/features/feature-skill-used-jump-link/feature.json +0 -32
- package/.next/standalone/features/feature-skill-used-jump-link/issue.md +0 -32
- package/.next/standalone/features/feature-skill-used-jump-link/plans/2026-03-18-skill-used-jump-link.md +0 -528
- package/.next/standalone/next.config.ts +0 -41
- package/.next/standalone/scripts/activate_telemetry.sh +0 -159
- package/.next/standalone/scripts/create_migration_package.sh +0 -124
- package/.next/standalone/scripts/fix_models.js +0 -66
- package/.next/standalone/scripts/init_opengauss.py +0 -284
- package/.next/standalone/scripts/install.js +0 -273
- package/.next/standalone/scripts/logs.js +0 -38
- package/.next/standalone/scripts/otel_data/logs.jsonl +0 -12
- package/.next/standalone/scripts/otel_data/metrics.jsonl +0 -21
- package/.next/standalone/scripts/otel_data/raw_requests.jsonl +0 -8
- package/.next/standalone/scripts/otel_data/raw_requests.jsonl.bak +0 -6
- package/.next/standalone/scripts/otel_receiver.py +0 -580
- package/.next/standalone/scripts/postinstall.js +0 -192
- package/.next/standalone/scripts/publish-npm.js +0 -401
- package/.next/standalone/scripts/restart.js +0 -26
- package/.next/standalone/scripts/restart.sh +0 -138
- package/.next/standalone/scripts/restart_dev.sh +0 -132
- package/.next/standalone/scripts/start.js +0 -291
- package/.next/standalone/scripts/status.js +0 -41
- package/.next/standalone/scripts/stop.js +0 -90
- package/.next/standalone/scripts/sync_skills.js +0 -216
- package/.next/standalone/scripts/utils.js +0 -235
- package/.next/standalone/tests/setup_skill_optimizer.sh +0 -118
- package/.next/standalone/tsconfig.json +0 -34
- package/.next/static/chunks/01eddf501c574a44.js +0 -1
- package/.next/static/chunks/1e782a49beaf489c.js +0 -1
- package/.next/static/chunks/4071dbec4cf7e72e.js +0 -109
- package/.next/static/chunks/67bd1a5de2195779.js +0 -1
- package/.next/static/chunks/a87b5e84254095a5.js +0 -1
- package/.next/static/chunks/c6bd2818656b1f20.css +0 -1
- package/.next/static/chunks/dc59a07a8f327b40.js +0 -1
- /package/.next/standalone/.next/static/{H581Rok68JtPV4bAVVH3l → iKG72t8Hpebb09DcIpKUJ}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{H581Rok68JtPV4bAVVH3l → iKG72t8Hpebb09DcIpKUJ}/_clientMiddlewareManifest.json +0 -0
- /package/.next/standalone/.next/static/{H581Rok68JtPV4bAVVH3l → iKG72t8Hpebb09DcIpKUJ}/_ssgManifest.js +0 -0
- /package/.next/static/{H581Rok68JtPV4bAVVH3l → iKG72t8Hpebb09DcIpKUJ}/_buildManifest.js +0 -0
- /package/.next/static/{H581Rok68JtPV4bAVVH3l → iKG72t8Hpebb09DcIpKUJ}/_clientMiddlewareManifest.json +0 -0
- /package/.next/static/{H581Rok68JtPV4bAVVH3l → iKG72t8Hpebb09DcIpKUJ}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,308 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
/** @jsxImportSource @opentui/solid */
|
|
3
|
+
import { Show, createEffect, createMemo, createSignal } from "solid-js"
|
|
4
|
+
import fs from "fs"
|
|
5
|
+
import os from "os"
|
|
6
|
+
import path from "path"
|
|
7
|
+
import { spawn } from "child_process"
|
|
8
|
+
|
|
9
|
+
function parseBool(input: unknown, defaultValue: boolean) {
|
|
10
|
+
if (input === undefined || input === null) return defaultValue
|
|
11
|
+
const value = String(input).trim().toLowerCase()
|
|
12
|
+
if (!value) return defaultValue
|
|
13
|
+
if (value === "1" || value === "true" || value === "yes" || value === "y" || value === "on") return true
|
|
14
|
+
if (value === "0" || value === "false" || value === "no" || value === "n" || value === "off") return false
|
|
15
|
+
return defaultValue
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
function loadSkillInsightConfig() {
|
|
19
|
+
const config: Record<string, string> = {}
|
|
20
|
+
try {
|
|
21
|
+
const envPath = path.join(os.homedir(), ".skill-insight", ".env")
|
|
22
|
+
if (fs.existsSync(envPath)) {
|
|
23
|
+
const content = fs.readFileSync(envPath, "utf8")
|
|
24
|
+
for (const line of content.split("\n")) {
|
|
25
|
+
const match = line.match(/^\s*([\w_]+)\s*=\s*(.*)?\s*$/)
|
|
26
|
+
if (!match) continue
|
|
27
|
+
const key = match[1]
|
|
28
|
+
const raw = (match[2] || "").trim()
|
|
29
|
+
const value = raw.replace(/^['"](.*)['"]$/, "$1")
|
|
30
|
+
config[key] = value
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
} catch {}
|
|
34
|
+
|
|
35
|
+
const apiKey = config["SKILL_INSIGHT_API_KEY"] || process.env.SKILL_INSIGHT_API_KEY
|
|
36
|
+
const host = config["SKILL_INSIGHT_HOST"] || process.env.SKILL_INSIGHT_HOST
|
|
37
|
+
const showTaskStats = parseBool(
|
|
38
|
+
config["SKILL_INSIGHT_SHOW_TASK_STATS"] ?? process.env.SKILL_INSIGHT_SHOW_TASK_STATS,
|
|
39
|
+
true,
|
|
40
|
+
)
|
|
41
|
+
|
|
42
|
+
return { apiKey, host, showTaskStats }
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
function normalizeHost(host: string) {
|
|
46
|
+
const raw = host.trim()
|
|
47
|
+
if (!raw) return null
|
|
48
|
+
try {
|
|
49
|
+
const urlStr = raw.match(/^https?:\/\//) ? raw : `http://${raw}`
|
|
50
|
+
const u = new URL(urlStr)
|
|
51
|
+
return u
|
|
52
|
+
} catch {
|
|
53
|
+
return null
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
function formatLatencySeconds(input: unknown) {
|
|
58
|
+
const n = typeof input === "number" ? input : Number(input)
|
|
59
|
+
if (!Number.isFinite(n) || n < 0) return "-"
|
|
60
|
+
if (n < 10) return `${n.toFixed(2)}s`
|
|
61
|
+
if (n < 60) return `${n.toFixed(1)}s`
|
|
62
|
+
return `${Math.round(n)}s`
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
function formatNumber(input: unknown) {
|
|
66
|
+
const n = typeof input === "number" ? input : Number(input)
|
|
67
|
+
if (!Number.isFinite(n)) return "-"
|
|
68
|
+
return new Intl.NumberFormat("en-US").format(n)
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
async function sleep(ms: number) {
|
|
72
|
+
await new Promise((r) => setTimeout(r, ms))
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
async function fetchTaskStats(base: URL, taskId: string, apiKey?: string) {
|
|
76
|
+
const url = new URL("/api/task-stats", base)
|
|
77
|
+
url.searchParams.set("taskId", taskId)
|
|
78
|
+
url.searchParams.set("framework", "opencode")
|
|
79
|
+
const headers: Record<string, string> = {}
|
|
80
|
+
if (apiKey) headers["x-witty-api-key"] = apiKey
|
|
81
|
+
|
|
82
|
+
const res = await fetch(url, { headers })
|
|
83
|
+
if (!res.ok) return null
|
|
84
|
+
const json = (await res.json()) as any
|
|
85
|
+
if (!json || json.found !== true) return null
|
|
86
|
+
return json
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
function buildDetailsUrl(base: URL, taskId: string) {
|
|
90
|
+
const u = new URL("/details", base)
|
|
91
|
+
u.searchParams.set("framework", "opencode")
|
|
92
|
+
u.searchParams.set("expandTaskId", taskId)
|
|
93
|
+
return u.toString()
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
function openUrl(url: string) {
|
|
97
|
+
try {
|
|
98
|
+
if (process.platform === "darwin") {
|
|
99
|
+
spawn("open", [url], { stdio: "ignore", detached: true }).unref()
|
|
100
|
+
return true
|
|
101
|
+
}
|
|
102
|
+
if (process.platform === "win32") {
|
|
103
|
+
spawn("cmd", ["/c", "start", "", url], { stdio: "ignore", detached: true, windowsHide: true }).unref()
|
|
104
|
+
return true
|
|
105
|
+
}
|
|
106
|
+
spawn("xdg-open", [url], { stdio: "ignore", detached: true }).unref()
|
|
107
|
+
return true
|
|
108
|
+
} catch {
|
|
109
|
+
return false
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
function formatStatsMessage(stats: any, detailsUrl: string) {
|
|
114
|
+
const latency = formatLatencySeconds(stats?.latency)
|
|
115
|
+
const tokens = formatNumber(stats?.tokens)
|
|
116
|
+
const inputTokens = formatNumber(stats?.input_tokens)
|
|
117
|
+
const outputTokens = formatNumber(stats?.output_tokens)
|
|
118
|
+
const toolCalls = formatNumber(stats?.tool_call_count)
|
|
119
|
+
const llmCalls = formatNumber(stats?.llm_call_count)
|
|
120
|
+
return [
|
|
121
|
+
`时延: ${latency}`,
|
|
122
|
+
`Token: ${tokens} (入: ${inputTokens}, 出: ${outputTokens})`,
|
|
123
|
+
`LLM: ${llmCalls} | 工具: ${toolCalls}`,
|
|
124
|
+
`详情: ${detailsUrl}`,
|
|
125
|
+
].join("\n")
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
function StatsFooter(props: {
|
|
129
|
+
api: any
|
|
130
|
+
sessionId: string
|
|
131
|
+
getEntry: (sid: string) => any
|
|
132
|
+
ensure: (sid: string) => void
|
|
133
|
+
config: { host?: string; apiKey?: string }
|
|
134
|
+
}) {
|
|
135
|
+
const theme = () => props.api.theme.current
|
|
136
|
+
|
|
137
|
+
createEffect(() => {
|
|
138
|
+
if (!props.sessionId) return
|
|
139
|
+
props.ensure(props.sessionId)
|
|
140
|
+
})
|
|
141
|
+
|
|
142
|
+
const entry = createMemo(() => {
|
|
143
|
+
if (!props.sessionId) return null
|
|
144
|
+
return props.getEntry(props.sessionId)
|
|
145
|
+
})
|
|
146
|
+
|
|
147
|
+
const title = createMemo(() => {
|
|
148
|
+
return "Skill Insight"
|
|
149
|
+
})
|
|
150
|
+
|
|
151
|
+
return (
|
|
152
|
+
<box gap={1}>
|
|
153
|
+
<Show when={!props.config.host}>
|
|
154
|
+
<box
|
|
155
|
+
backgroundColor={theme().backgroundElement}
|
|
156
|
+
paddingTop={1}
|
|
157
|
+
paddingBottom={1}
|
|
158
|
+
paddingLeft={2}
|
|
159
|
+
paddingRight={2}
|
|
160
|
+
flexDirection="column"
|
|
161
|
+
gap={0}
|
|
162
|
+
>
|
|
163
|
+
<text fg={theme().text}>
|
|
164
|
+
<b>Skill Insight</b>
|
|
165
|
+
</text>
|
|
166
|
+
<text fg={theme().textMuted}>未配置 SKILL_INSIGHT_HOST</text>
|
|
167
|
+
<text fg={theme().textMuted}>请在 ~/.skill-insight/.env 设置 SKILL_INSIGHT_HOST</text>
|
|
168
|
+
</box>
|
|
169
|
+
</Show>
|
|
170
|
+
<Show when={entry()}>
|
|
171
|
+
{(x: any) => (
|
|
172
|
+
<box
|
|
173
|
+
backgroundColor={theme().backgroundElement}
|
|
174
|
+
paddingTop={1}
|
|
175
|
+
paddingBottom={1}
|
|
176
|
+
paddingLeft={2}
|
|
177
|
+
paddingRight={2}
|
|
178
|
+
flexDirection="column"
|
|
179
|
+
gap={0}
|
|
180
|
+
>
|
|
181
|
+
<box flexDirection="row" justifyContent="space-between">
|
|
182
|
+
<text fg={theme().text}>
|
|
183
|
+
<b>{title()}</b>
|
|
184
|
+
</text>
|
|
185
|
+
</box>
|
|
186
|
+
<Show when={x().state === "loading"}>
|
|
187
|
+
<text fg={theme().textMuted}>等待任务执行完毕</text>
|
|
188
|
+
</Show>
|
|
189
|
+
<Show when={x().state === "error"}>
|
|
190
|
+
<text fg={theme().textMuted}>统计暂不可用</text>
|
|
191
|
+
</Show>
|
|
192
|
+
<Show when={x().state === "ready"}>
|
|
193
|
+
<text fg={theme().textMuted}>时延: {formatLatencySeconds(x().stats?.latency)}</text>
|
|
194
|
+
<text fg={theme().textMuted}>
|
|
195
|
+
Token: {formatNumber(x().stats?.tokens)} (入: {formatNumber(x().stats?.input_tokens)}, 出:{" "}
|
|
196
|
+
{formatNumber(x().stats?.output_tokens)})
|
|
197
|
+
</text>
|
|
198
|
+
<text fg={theme().textMuted}>
|
|
199
|
+
LLM: {formatNumber(x().stats?.llm_call_count)} | 工具: {formatNumber(x().stats?.tool_call_count)}
|
|
200
|
+
</text>
|
|
201
|
+
<text
|
|
202
|
+
fg={theme().primary}
|
|
203
|
+
onMouseDown={() => {
|
|
204
|
+
const ok = openUrl(x().detailsUrl)
|
|
205
|
+
if (!ok) props.api.ui.toast({ message: "打开失败(可复制链接到浏览器)", variant: "error" })
|
|
206
|
+
}}
|
|
207
|
+
>
|
|
208
|
+
<b>查看详情 ↗</b> <span style={{ fg: theme().textMuted }}>(点击打开)</span>
|
|
209
|
+
</text>
|
|
210
|
+
</Show>
|
|
211
|
+
</box>
|
|
212
|
+
)}
|
|
213
|
+
</Show>
|
|
214
|
+
<Show when={!entry()}>
|
|
215
|
+
<text fg={theme().textMuted}>Skill Insight:暂无任务统计</text>
|
|
216
|
+
</Show>
|
|
217
|
+
</box>
|
|
218
|
+
)
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
const tui = async (api: any) => {
|
|
222
|
+
const [entries, setEntries] = createSignal({})
|
|
223
|
+
|
|
224
|
+
const getEntry = (sid: string) => entries()[sid]
|
|
225
|
+
const setEntry = (sid: string, value: any) => {
|
|
226
|
+
const prev = entries()
|
|
227
|
+
setEntries({ ...prev, [sid]: value })
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
const ensure = async (sessionId: string, opts?: { force?: boolean }) => {
|
|
231
|
+
const existing = getEntry(sessionId)
|
|
232
|
+
if (existing?.state === "loading") return
|
|
233
|
+
if (!opts?.force && existing?.state === "ready") return
|
|
234
|
+
|
|
235
|
+
const cfg = loadSkillInsightConfig()
|
|
236
|
+
if (!cfg.showTaskStats) return
|
|
237
|
+
if (!cfg.host) return
|
|
238
|
+
const base = normalizeHost(cfg.host)
|
|
239
|
+
if (!base) return
|
|
240
|
+
|
|
241
|
+
const detailsUrl = buildDetailsUrl(base, sessionId)
|
|
242
|
+
setEntry(sessionId, {
|
|
243
|
+
sessionId,
|
|
244
|
+
state: "loading",
|
|
245
|
+
detailsUrl,
|
|
246
|
+
updatedAt: Date.now(),
|
|
247
|
+
prevTimestamp: existing?.stats?.timestamp,
|
|
248
|
+
})
|
|
249
|
+
|
|
250
|
+
let stats: any = null
|
|
251
|
+
const maxAttempts = 8
|
|
252
|
+
for (let i = 0; i < maxAttempts; i++) {
|
|
253
|
+
stats = await fetchTaskStats(base, sessionId, cfg.apiKey)
|
|
254
|
+
if (stats) {
|
|
255
|
+
if (opts?.force && existing?.stats?.timestamp && stats.timestamp) {
|
|
256
|
+
const prevMs = Date.parse(existing.stats.timestamp)
|
|
257
|
+
const curMs = Date.parse(stats.timestamp)
|
|
258
|
+
if (Number.isFinite(prevMs) && Number.isFinite(curMs) && curMs <= prevMs) {
|
|
259
|
+
stats = null
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
if (stats) break
|
|
264
|
+
await sleep(i < 2 ? 800 : 1200)
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
if (!stats) {
|
|
268
|
+
setEntry(sessionId, { sessionId, state: "error", detailsUrl, updatedAt: Date.now() })
|
|
269
|
+
return
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
setEntry(sessionId, { sessionId, state: "ready", detailsUrl, stats, updatedAt: Date.now() })
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
api.slots.register({
|
|
276
|
+
order: 80,
|
|
277
|
+
slots: {
|
|
278
|
+
sidebar_content(_ctx: any, props: any) {
|
|
279
|
+
const cfg = loadSkillInsightConfig()
|
|
280
|
+
if (!cfg.showTaskStats) return null
|
|
281
|
+
const sid = props?.session_id
|
|
282
|
+
if (!sid || typeof sid !== "string") return null
|
|
283
|
+
return <StatsFooter api={api} sessionId={sid} getEntry={getEntry} ensure={ensure} config={cfg} />
|
|
284
|
+
},
|
|
285
|
+
},
|
|
286
|
+
})
|
|
287
|
+
|
|
288
|
+
api.event.on("session.idle", async (evt: any) => {
|
|
289
|
+
const sessionId =
|
|
290
|
+
evt?.properties?.sessionId ||
|
|
291
|
+
evt?.properties?.sessionID ||
|
|
292
|
+
evt?.properties?.session_id ||
|
|
293
|
+
evt?.session_id ||
|
|
294
|
+
evt?.payload?.session_id
|
|
295
|
+
|
|
296
|
+
if (!sessionId || typeof sessionId !== "string") return
|
|
297
|
+
if (!sessionId.startsWith("ses")) return
|
|
298
|
+
api.kv.set("skill_insight_latest_session_id", sessionId)
|
|
299
|
+
ensure(sessionId, { force: true })
|
|
300
|
+
})
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
const plugin = {
|
|
304
|
+
id: "witty-skill-insight-task-stats",
|
|
305
|
+
tui,
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
export default plugin
|
package/scripts/utils.js
CHANGED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},54799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},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"))},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"))},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"))},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"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},66680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},98043,e=>e.a(async(t,r)=>{try{let l;var a,n=e.i(97289),i=e.i(63021),s=e.i(86414),o=t([s]);[s]=o.then?(await o)():o,(0,n.config)();let d=e.g.prisma||new i.PrismaClient,u=(0,s.getDatabaseAdapter)(),c=process.env.DB_HOST?(l=(a=u).getClient())instanceof i.PrismaClient?l:{user:{findUnique:async e=>e.where?.apiKey?a.findUserByApiKey(e.where.apiKey):e.where?.username?a.findUserByUsername(e.where.username):null,findFirst:async e=>e.where?.username?a.findUserByUsername(e.where.username):null},skill:{findFirst:async e=>{let t=e.where?.name,r=e.where?.OR?.[0]?.user??e.where?.OR?.[1]?.user;return a.findSkill(t,r)},findMany:async e=>a.findSkills(e.where||{}),findUnique:async e=>a.findSkill(e.where?.name,e.where?.user),delete:async e=>(console.warn("[OpenGaussAdapter] skill.delete not fully implemented"),null)},skillVersion:{findFirst:async e=>e.where?.skillId?a.findLatestSkillVersion(e.where.skillId):null},config:{findMany:async e=>a.findConfigs(e.where||{})},session:{findUnique:async e=>e.where?.taskId?a.findSessionByTaskId(e.where.taskId):null,update:async e=>e.where?.id?a.updateSession(e.where.id,e.data):null,upsert:async e=>{let t=e.where?.taskId;return t?a.upsertSession(t,e.create,e.update):null}},execution:{findUnique:async e=>e.where?.id?a.findExecutionById(e.where.id):null,upsert:async e=>a.upsertExecution(e),findMany:async e=>a.findExecutions(e.where,e.orderBy)}}:d;e.s(["db",0,u,"prisma",0,c]),r()}catch(e){r(e)}},!1),79832,e=>e.a(async(t,r)=>{try{var a=e.i(98043),n=t([a]);async function i(e,t){if(t)return{username:t,apiKey:null};let r=e.headers.get("x-witty-api-key");if(r)return{username:await s(r),apiKey:r};let a=new URL(e.url).searchParams.get("apiKey");return a?{username:await s(a),apiKey:a}:{username:null,apiKey:null}}async function s(e){try{let t=await a.db.findUserByApiKey(e);return t?.username||null}catch(e){return console.error("[Auth] Failed to lookup user by API Key:",e),null}}async function o(e,t){let r=await a.db.findSkillById(e);return r?"public"!==r.visibility&&r.user&&(!t||r.user!==t)&&t?{allowed:!1,skill:r}:{allowed:!0,skill:r}:{allowed:!1,skill:null}}[a]=n.then?(await n)():n,e.s(["canAccessSkill",()=>o,"resolveUser",()=>i]),r()}catch(e){r(e)}},!1),23412,e=>e.a(async(t,r)=>{try{var a=e.i(79832),n=e.i(98043),i=e.i(22734),s=e.i(89171),o=e.i(14747),l=t([a,n]);async function d(e){try{let{path:t,user:r}=await e.json();if(!t)return s.NextResponse.json({error:"Missing path"},{status:400});let l=(await (0,a.resolveUser)(e,r||void 0)).username;if(!i.default.existsSync(t))return s.NextResponse.json({error:"Path does not exist"},{status:404});let d=o.default.join(t,"SKILL.md");if(!i.default.existsSync(d))return s.NextResponse.json({error:"SKILL.md not found in path"},{status:400});let u=i.default.readFileSync(d,"utf8"),c=o.default.basename(t),p="Imported via automation",h=u.match(/^---\s*([\s\S]*?)\s*---/);if(h&&h[1]){let e=h[1],t=e.match(/^name:\s*(.+)$/m),r=e.match(/^description:\s*(.+)$/m);t&&t[1]&&(c=t[1].trim()),r&&r[1]&&(p=r[1].trim())}let f=await n.db.findSkill(c,l),y=0;if(f){let e=await n.db.findLatestSkillVersion(f.id);y=e?e.version+1:0}else f=await n.db.createSkill({name:c,user:l,description:p,visibility:"private",activeVersion:0,isUploaded:!1}),y=0;let m=o.default.join(process.cwd(),"data","storage","skills",f.id,`v${y}`);i.default.existsSync(m)||i.default.mkdirSync(m,{recursive:!0});let x=[];return!function e(t,r,a,n){for(let s of(i.default.existsSync(r)||i.default.mkdirSync(r,{recursive:!0}),i.default.readdirSync(t,{withFileTypes:!0}))){let l=o.default.join(t,s.name),d=o.default.join(r,s.name);s.isDirectory()?e(l,d,a,n):(i.default.copyFileSync(l,d),a.push(o.default.relative(n,d)))}}(t,m,x,m),await n.db.createSkillVersion({skillId:f.id,version:y,content:u,assetPath:`data/storage/skills/${f.id}/v${y}`,files:JSON.stringify(x),changeLog:`Auto-imported version ${y}`}),await n.db.updateSkill(f.id,{activeVersion:y}),s.NextResponse.json({success:!0,skill:{id:f.id,name:f.name},version:y,status:0===y?"created":"updated"})}catch(e){return console.error("Auto Import Error:",e),s.NextResponse.json({error:e.message},{status:500})}}[a,n]=l.then?(await l)():l,e.s(["POST",()=>d]),r()}catch(e){r(e)}},!1),14219,e=>e.a(async(t,r)=>{try{var a=e.i(47909),n=e.i(74017),i=e.i(60476),s=e.i(59756),o=e.i(61916),l=e.i(74677),d=e.i(69741),u=e.i(16795),c=e.i(87718),p=e.i(95169),h=e.i(47587),f=e.i(66012),y=e.i(70101),m=e.i(26937),x=e.i(10372),w=e.i(93695);e.i(52474);var v=e.i(220),R=e.i(23412),g=t([R]);[R]=g.then?(await g)():g;let E=new a.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/skills/automation/import/route",pathname:"/api/skills/automation/import",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/skills/automation/import/route.ts",nextConfigOutput:"standalone",userland:R}),{workAsyncStorage:b,workUnitAsyncStorage:C,serverHooks:A}=E;function k(){return(0,i.patchFetch)({workAsyncStorage:b,workUnitAsyncStorage:C})}async function S(e,t,r){E.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let a="/api/skills/automation/import/route";a=a.replace(/\/index$/,"")||"/";let i=await E.prepare(e,t,{srcPage:a,multiZoneDraftMode:!1});if(!i)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:R,params:g,nextConfig:k,parsedUrl:S,isDraftMode:b,prerenderManifest:C,routerServerContext:A,isOnDemandRevalidate:P,revalidateOnlyGenerated:U,resolvedPathname:q,clientReferenceManifest:I,serverActionsManifest:N}=i,T=(0,d.normalizeAppPath)(a),j=!!(C.dynamicRoutes[T]||C.routes[q]),O=async()=>((null==A?void 0:A.render404)?await A.render404(e,t,S,!1):t.end("This page could not be found"),null);if(j&&!b){let e=!!C.routes[q],t=C.dynamicRoutes[T];if(t&&!1===t.fallback&&!e){if(k.experimental.adapterPath)return await O();throw new w.NoFallbackError}}let _=null;!j||E.isDev||b||(_=q,_="/index"===_?"/":_);let K=!0===E.isDev||!j,H=j&&!K;N&&I&&(0,l.setManifestsSingleton)({page:a,clientReferenceManifest:I,serverActionsManifest:N});let D=e.method||"GET",M=(0,o.getTracer)(),F=M.getActiveScopeSpan(),$={params:g,prerenderManifest:C,renderOpts:{experimental:{authInterrupts:!!k.experimental.authInterrupts},cacheComponents:!!k.cacheComponents,supportsDynamicResponse:K,incrementalCache:(0,s.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:k.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>E.onRequestError(e,t,a,n,A)},sharedContext:{buildId:R}},B=new u.NodeNextRequest(e),L=new u.NodeNextResponse(t),V=c.NextRequestAdapter.fromNodeNextRequest(B,(0,c.signalFromNodeResponse)(t));try{let i=async e=>E.handle(V,$).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=M.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void 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");if(n){let t=`${D} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t)}else e.updateName(`${D} ${a}`)}),l=!!(0,s.getRequestMeta)(e,"minimalMode"),d=async s=>{var o,d;let u=async({previousCacheEntry:n})=>{try{if(!l&&P&&U&&!n)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await i(s);e.fetchMetrics=$.renderOpts.fetchMetrics;let o=$.renderOpts.pendingWaitUntil;o&&r.waitUntil&&(r.waitUntil(o),o=void 0);let d=$.renderOpts.collectedTags;if(!j)return await (0,f.sendResponse)(B,L,a,$.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,y.toNodeOutgoingHttpHeaders)(a.headers);d&&(t[x.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==$.renderOpts.collectedRevalidate&&!($.renderOpts.collectedRevalidate>=x.INFINITE_CACHE)&&$.renderOpts.collectedRevalidate,n=void 0===$.renderOpts.collectedExpire||$.renderOpts.collectedExpire>=x.INFINITE_CACHE?void 0:$.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==n?void 0:n.isStale)&&await E.onRequestError(e,t,{routerKind:"App Router",routePath:a,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:P})},!1,A),t}},c=await E.handleResponse({req:e,nextConfig:k,cacheKey:_,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:P,revalidateOnlyGenerated:U,responseGenerator:u,waitUntil:r.waitUntil,isMinimalMode:l});if(!j)return null;if((null==c||null==(o=c.value)?void 0:o.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(d=c.value)?void 0:d.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});l||t.setHeader("x-nextjs-cache",P?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),b&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let p=(0,y.fromNodeOutgoingHttpHeaders)(c.value.headers);return l&&j||p.delete(x.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||p.get("Cache-Control")||p.set("Cache-Control",(0,m.getCacheControlHeader)(c.cacheControl)),await (0,f.sendResponse)(B,L,new Response(c.value.body,{headers:p,status:c.value.status||200})),null};F?await d(F):await M.withPropagatedContext(e.headers,()=>M.trace(p.BaseServerSpan.handleRequest,{spanName:`${D} ${a}`,kind:o.SpanKind.SERVER,attributes:{"http.method":D,"http.target":e.url}},d))}catch(t){if(t instanceof w.NoFallbackError||await E.onRequestError(e,t,{routerKind:"App Router",routePath:T,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:P})},!1,A),j)throw t;return await (0,f.sendResponse)(B,L,new Response(null,{status:500})),null}}e.s(["handler",()=>S,"patchFetch",()=>k,"routeModule",()=>E,"serverHooks",()=>A,"workAsyncStorage",()=>b,"workUnitAsyncStorage",()=>C]),r()}catch(e){r(e)}},!1)];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__1013b265._.js.map
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[77800,e=>{"use strict";function t(){let e=[],t=1;for(;;){let r=process.env[`DEFAULT_MODEL_${t}_NAME`],n=process.env[`DEFAULT_MODEL_${t}_PROVIDER`],s=process.env[`DEFAULT_MODEL_${t}_API_KEY`];if(!r||!n||!s)break;e.push({id:`default_${t}`,name:r,provider:n,apiKey:s,baseUrl:process.env[`DEFAULT_MODEL_${t}_BASE_URL`],model:process.env[`DEFAULT_MODEL_${t}_MODEL`]}),t++}return e}e.s(["loadDefaultModelConfigs",()=>t])},22965,e=>e.a(async(t,r)=>{try{var n=e.i(98043),s=e.i(77800),a=t([n]);async function i(e){let t=await o(e);return t&&t.activeConfigId&&t.configs.find(e=>e.id===t.activeConfigId)||null}async function o(e){if(!e)return{activeConfigId:null,configs:[]};let t=(0,s.loadDefaultModelConfigs)(),r=[],a=null;try{let t=await n.db.findUserSettings(e);if(t?.settingsJson){let e=JSON.parse(t.settingsJson);r=e.configs.filter(e=>!e.id.startsWith("default_")),a=e.activeConfigId}}catch(e){console.error("Failed to load user settings:",e)}let i=[...t,...r];return a&&i.find(e=>e.id===a)||(a=t.length>0?t[0].id:null),{activeConfigId:a,configs:i}}async function l(e,t){let r=t.configs.filter(e=>!e.id.startsWith("default_")),s=JSON.stringify({activeConfigId:t.activeConfigId,configs:r});await n.db.upsertUserSettings(e,s)}[n]=a.then?(await a)():a,e.s(["getActiveConfig",()=>i,"getUserSettings",()=>o,"saveUserSettings",()=>l]),r()}catch(e){r(e)}},!1),46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},54799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},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"))},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"))},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"))},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"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},66680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},98043,e=>e.a(async(t,r)=>{try{let l;var n,s=e.i(97289),a=e.i(63021),i=e.i(86414),o=t([i]);[i]=o.then?(await o)():o,(0,s.config)();let d=e.g.prisma||new a.PrismaClient,u=(0,i.getDatabaseAdapter)(),c=process.env.DB_HOST?(l=(n=u).getClient())instanceof a.PrismaClient?l:{user:{findUnique:async e=>e.where?.apiKey?n.findUserByApiKey(e.where.apiKey):e.where?.username?n.findUserByUsername(e.where.username):null,findFirst:async e=>e.where?.username?n.findUserByUsername(e.where.username):null},skill:{findFirst:async e=>{let t=e.where?.name,r=e.where?.OR?.[0]?.user??e.where?.OR?.[1]?.user;return n.findSkill(t,r)},findMany:async e=>n.findSkills(e.where||{}),findUnique:async e=>n.findSkill(e.where?.name,e.where?.user),delete:async e=>(console.warn("[OpenGaussAdapter] skill.delete not fully implemented"),null)},skillVersion:{findFirst:async e=>e.where?.skillId?n.findLatestSkillVersion(e.where.skillId):null},config:{findMany:async e=>n.findConfigs(e.where||{})},session:{findUnique:async e=>e.where?.taskId?n.findSessionByTaskId(e.where.taskId):null,update:async e=>e.where?.id?n.updateSession(e.where.id,e.data):null,upsert:async e=>{let t=e.where?.taskId;return t?n.upsertSession(t,e.create,e.update):null}},execution:{findUnique:async e=>e.where?.id?n.findExecutionById(e.where.id):null,upsert:async e=>n.upsertExecution(e),findMany:async e=>n.findExecutions(e.where,e.orderBy)}}:d;e.s(["db",0,u,"prisma",0,c]),r()}catch(e){r(e)}},!1),81111,(e,t,r)=>{t.exports=e.x("node:stream",()=>require("node:stream"))},87769,(e,t,r)=>{t.exports=e.x("node:events",()=>require("node:events"))},57764,(e,t,r)=>{t.exports=e.x("node:url",()=>require("node:url"))},12714,(e,t,r)=>{t.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},50247,e=>e.a(async(t,r)=>{try{var n=e.i(31390),s=e.i(98043),a=e.i(89171),i=t([n,s]);async function o(e){let{searchParams:t}=new URL(e.url),r=t.get("taskId");if(!r)return a.NextResponse.json({error:"Missing taskId"},{status:400});try{let e=await s.db.findSessionByTaskId(r);if(!e)return a.NextResponse.json({error:"Session not found"},{status:404});let t=e.interactions?JSON.parse(e.interactions):[],i=e.query;if(!i&&t.length>0)try{let a=await (0,n.analyzeSession)(t,e.user);a.query&&(i=a.query,s.db.updateSession(r,{query:i}).catch(console.error))}catch(e){console.warn("Failed to extract query on the fly",e)}return a.NextResponse.json({taskId:e.taskId,label:e.label,query:i,user:e.user,startTime:e.startTime.getTime(),interactions:t})}catch(e){return console.error("Error reading session from DB:",e),a.NextResponse.json({error:"Failed to read session"},{status:500})}}[n,s]=i.then?(await i)():i,e.s(["GET",()=>o]),r()}catch(e){r(e)}},!1),36659,e=>e.a(async(t,r)=>{try{var n=e.i(47909),s=e.i(74017),a=e.i(60476),i=e.i(59756),o=e.i(61916),l=e.i(74677),d=e.i(69741),u=e.i(16795),c=e.i(87718),p=e.i(95169),f=e.i(47587),h=e.i(66012),x=e.i(70101),y=e.i(26937),g=e.i(10372),w=e.i(93695);e.i(52474);var v=e.i(220),R=e.i(50247),m=t([R]);[R]=m.then?(await m)():m;let A=new n.AppRouteRouteModule({definition:{kind:s.RouteKind.APP_ROUTE,page:"/api/session/route",pathname:"/api/session",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/session/route.ts",nextConfigOutput:"standalone",userland:R}),{workAsyncStorage:_,workUnitAsyncStorage:k,serverHooks:q}=A;function E(){return(0,a.patchFetch)({workAsyncStorage:_,workUnitAsyncStorage:k})}async function C(e,t,r){A.isDev&&(0,i.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let n="/api/session/route";n=n.replace(/\/index$/,"")||"/";let a=await A.prepare(e,t,{srcPage:n,multiZoneDraftMode:!1});if(!a)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:R,params:m,nextConfig:E,parsedUrl:C,isDraftMode:_,prerenderManifest:k,routerServerContext:q,isOnDemandRevalidate:S,revalidateOnlyGenerated:b,resolvedPathname:U,clientReferenceManifest:T,serverActionsManifest:I}=a,O=(0,d.normalizeAppPath)(n),N=!!(k.dynamicRoutes[O]||k.routes[U]),D=async()=>((null==q?void 0:q.render404)?await q.render404(e,t,C,!1):t.end("This page could not be found"),null);if(N&&!_){let e=!!k.routes[U],t=k.dynamicRoutes[O];if(t&&!1===t.fallback&&!e){if(E.experimental.adapterPath)return await D();throw new w.NoFallbackError}}let P=null;!N||A.isDev||_||(P=U,P="/index"===P?"/":P);let M=!0===A.isDev||!N,j=N&&!M;I&&T&&(0,l.setManifestsSingleton)({page:n,clientReferenceManifest:T,serverActionsManifest:I});let F=e.method||"GET",L=(0,o.getTracer)(),H=L.getActiveScopeSpan(),B={params:m,prerenderManifest:k,renderOpts:{experimental:{authInterrupts:!!E.experimental.authInterrupts},cacheComponents:!!E.cacheComponents,supportsDynamicResponse:M,incrementalCache:(0,i.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:E.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,s)=>A.onRequestError(e,t,n,s,q)},sharedContext:{buildId:R}},$=new u.NodeNextRequest(e),K=new u.NodeNextResponse(t),V=c.NextRequestAdapter.fromNodeNextRequest($,(0,c.signalFromNodeResponse)(t));try{let a=async e=>A.handle(V,B).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=L.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let s=r.get("next.route");if(s){let t=`${F} ${s}`;e.setAttributes({"next.route":s,"http.route":s,"next.span_name":t}),e.updateName(t)}else e.updateName(`${F} ${n}`)}),l=!!(0,i.getRequestMeta)(e,"minimalMode"),d=async i=>{var o,d;let u=async({previousCacheEntry:s})=>{try{if(!l&&S&&b&&!s)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await a(i);e.fetchMetrics=B.renderOpts.fetchMetrics;let o=B.renderOpts.pendingWaitUntil;o&&r.waitUntil&&(r.waitUntil(o),o=void 0);let d=B.renderOpts.collectedTags;if(!N)return await (0,h.sendResponse)($,K,n,B.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,x.toNodeOutgoingHttpHeaders)(n.headers);d&&(t[g.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==B.renderOpts.collectedRevalidate&&!(B.renderOpts.collectedRevalidate>=g.INFINITE_CACHE)&&B.renderOpts.collectedRevalidate,s=void 0===B.renderOpts.collectedExpire||B.renderOpts.collectedExpire>=g.INFINITE_CACHE?void 0:B.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:s}}}}catch(t){throw(null==s?void 0:s.isStale)&&await A.onRequestError(e,t,{routerKind:"App Router",routePath:n,routeType:"route",revalidateReason:(0,f.getRevalidateReason)({isStaticGeneration:j,isOnDemandRevalidate:S})},!1,q),t}},c=await A.handleResponse({req:e,nextConfig:E,cacheKey:P,routeKind:s.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:k,isRoutePPREnabled:!1,isOnDemandRevalidate:S,revalidateOnlyGenerated:b,responseGenerator:u,waitUntil:r.waitUntil,isMinimalMode:l});if(!N)return null;if((null==c||null==(o=c.value)?void 0:o.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(d=c.value)?void 0:d.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});l||t.setHeader("x-nextjs-cache",S?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),_&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let p=(0,x.fromNodeOutgoingHttpHeaders)(c.value.headers);return l&&N||p.delete(g.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||p.get("Cache-Control")||p.set("Cache-Control",(0,y.getCacheControlHeader)(c.cacheControl)),await (0,h.sendResponse)($,K,new Response(c.value.body,{headers:p,status:c.value.status||200})),null};H?await d(H):await L.withPropagatedContext(e.headers,()=>L.trace(p.BaseServerSpan.handleRequest,{spanName:`${F} ${n}`,kind:o.SpanKind.SERVER,attributes:{"http.method":F,"http.target":e.url}},d))}catch(t){if(t instanceof w.NoFallbackError||await A.onRequestError(e,t,{routerKind:"App Router",routePath:O,routeType:"route",revalidateReason:(0,f.getRevalidateReason)({isStaticGeneration:j,isOnDemandRevalidate:S})},!1,q),N)throw t;return await (0,h.sendResponse)($,K,new Response(null,{status:500})),null}}e.s(["handler",()=>C,"patchFetch",()=>E,"routeModule",()=>A,"serverHooks",()=>q,"workAsyncStorage",()=>_,"workUnitAsyncStorage",()=>k]),r()}catch(e){r(e)}},!1)];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__1ce5e3b8._.js.map
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},54799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},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"))},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"))},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"))},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"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},66680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},98043,e=>e.a(async(t,r)=>{try{let o;var a,n=e.i(97289),s=e.i(63021),i=e.i(86414),l=t([i]);[i]=l.then?(await l)():l,(0,n.config)();let d=e.g.prisma||new s.PrismaClient,u=(0,i.getDatabaseAdapter)(),p=process.env.DB_HOST?(o=(a=u).getClient())instanceof s.PrismaClient?o:{user:{findUnique:async e=>e.where?.apiKey?a.findUserByApiKey(e.where.apiKey):e.where?.username?a.findUserByUsername(e.where.username):null,findFirst:async e=>e.where?.username?a.findUserByUsername(e.where.username):null},skill:{findFirst:async e=>{let t=e.where?.name,r=e.where?.OR?.[0]?.user??e.where?.OR?.[1]?.user;return a.findSkill(t,r)},findMany:async e=>a.findSkills(e.where||{}),findUnique:async e=>a.findSkill(e.where?.name,e.where?.user),delete:async e=>(console.warn("[OpenGaussAdapter] skill.delete not fully implemented"),null)},skillVersion:{findFirst:async e=>e.where?.skillId?a.findLatestSkillVersion(e.where.skillId):null},config:{findMany:async e=>a.findConfigs(e.where||{})},session:{findUnique:async e=>e.where?.taskId?a.findSessionByTaskId(e.where.taskId):null,update:async e=>e.where?.id?a.updateSession(e.where.id,e.data):null,upsert:async e=>{let t=e.where?.taskId;return t?a.upsertSession(t,e.create,e.update):null}},execution:{findUnique:async e=>e.where?.id?a.findExecutionById(e.where.id):null,upsert:async e=>a.upsertExecution(e),findMany:async e=>a.findExecutions(e.where,e.orderBy)}}:d;e.s(["db",0,u,"prisma",0,p]),r()}catch(e){r(e)}},!1),79832,e=>e.a(async(t,r)=>{try{var a=e.i(98043),n=t([a]);async function s(e,t){if(t)return{username:t,apiKey:null};let r=e.headers.get("x-witty-api-key");if(r)return{username:await i(r),apiKey:r};let a=new URL(e.url).searchParams.get("apiKey");return a?{username:await i(a),apiKey:a}:{username:null,apiKey:null}}async function i(e){try{let t=await a.db.findUserByApiKey(e);return t?.username||null}catch(e){return console.error("[Auth] Failed to lookup user by API Key:",e),null}}async function l(e,t){let r=await a.db.findSkillById(e);return r?"public"!==r.visibility&&r.user&&(!t||r.user!==t)&&t?{allowed:!1,skill:r}:{allowed:!0,skill:r}:{allowed:!1,skill:null}}[a]=n.then?(await n)():n,e.s(["canAccessSkill",()=>l,"resolveUser",()=>s]),r()}catch(e){r(e)}},!1),54632,e=>e.a(async(t,r)=>{try{var a=e.i(79832),n=e.i(98043),s=e.i(22734),i=e.i(89171),l=e.i(14747),o=t([a,n]);function d(e){s.default.existsSync(e)||s.default.mkdirSync(e,{recursive:!0})}async function u(e){try{let t=await e.formData(),r=t.getAll("files"),o=t.getAll("paths");if(0===r.length)return i.NextResponse.json({error:"No files uploaded"},{status:400});let u=null,p=-1;for(let e=0;e<r.length;e++)if(o[e].endsWith("SKILL.md")){u=r[e],p=e;break}if(!u)return i.NextResponse.json({error:"SKILL.md is missing"},{status:400});let c=await u.text(),h=o[p],f=h.includes("/")?h.split("/")[0]:"uploaded-skill",y="Imported via upload",x=c.match(/^---\s*([\s\S]*?)\s*---/);if(x&&x[1]){let e=x[1],t=e.match(/^name:\s*(.+)$/m),r=e.match(/^description:\s*(.+)$/m);t&&t[1]&&(f=t[1].trim()),r&&r[1]&&(y=r[1].trim())}let m=null,w=t.get("targetSkillId"),v=t.get("user"),g=(await (0,a.resolveUser)(e,v||void 0)).username;if(w){if(!(m=await n.db.findSkillById(w)))return i.NextResponse.json({error:"Target skill not found"},{status:404});if(g&&m.user&&m.user!==g)return i.NextResponse.json({error:"Unauthorized to update this skill"},{status:403});if(f!==m.name)return i.NextResponse.json({error:`Folder name mismatch! Expected: "${m.name}", Found: "${f}". Version updates must use the exact same folder name.`},{status:400})}else{if(m=await n.db.findSkill(f,g||null))return i.NextResponse.json({error:`Skill '${f}' already exists. Please use the 'Version Management' (版本管理) -> 'Upload New Version' feature to update it.`},{status:400});m=await n.db.createSkill({name:f,description:y,visibility:"private",activeVersion:0,user:g||null})}let R=await n.db.findLatestSkillVersion(m.id),k=R?R.version+1:0,E=l.default.join(process.cwd(),"data","storage","skills",m.id,`v${k}`);d(E);let S=[];for(let e=0;e<r.length;e++){let t=r[e],a=o[e],n=a.split("/"),i=n.length>1?n.slice(1).join("/"):a;if(!i)continue;let u=l.default.join(E,i);d(l.default.dirname(u));let p=Buffer.from(await t.arrayBuffer());s.default.writeFileSync(u,p),S.push(i)}let b=await n.db.createSkillVersion({skillId:m.id,version:k,content:c,assetPath:`data/storage/skills/${m.id}/v${k}`,files:JSON.stringify(S),changeLog:`Uploaded version ${k}`});return await n.db.updateSkill(m.id,{activeVersion:k}),console.log(`[Upload] Set activeVersion to ${k} for skill ${m.name}`),i.NextResponse.json({success:!0,skill:m,version:b})}catch(e){return console.error("Upload Error:",e),i.NextResponse.json({error:e.message},{status:500})}}[a,n]=o.then?(await o)():o,e.s(["POST",()=>u]),r()}catch(e){r(e)}},!1),13917,e=>e.a(async(t,r)=>{try{var a=e.i(47909),n=e.i(74017),s=e.i(60476),i=e.i(59756),l=e.i(61916),o=e.i(74677),d=e.i(69741),u=e.i(16795),p=e.i(87718),c=e.i(95169),h=e.i(47587),f=e.i(66012),y=e.i(70101),x=e.i(26937),m=e.i(10372),w=e.i(93695);e.i(52474);var v=e.i(220),g=e.i(54632),R=t([g]);[g]=R.then?(await R)():R;let S=new a.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/skills/upload/route",pathname:"/api/skills/upload",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/skills/upload/route.ts",nextConfigOutput:"standalone",userland:g}),{workAsyncStorage:b,workUnitAsyncStorage:C,serverHooks:A}=S;function k(){return(0,s.patchFetch)({workAsyncStorage:b,workUnitAsyncStorage:C})}async function E(e,t,r){S.isDev&&(0,i.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let a="/api/skills/upload/route";a=a.replace(/\/index$/,"")||"/";let s=await S.prepare(e,t,{srcPage:a,multiZoneDraftMode:!1});if(!s)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:g,params:R,nextConfig:k,parsedUrl:E,isDraftMode:b,prerenderManifest:C,routerServerContext:A,isOnDemandRevalidate:N,revalidateOnlyGenerated:U,resolvedPathname:I,clientReferenceManifest:P,serverActionsManifest:q}=s,j=(0,d.normalizeAppPath)(a),T=!!(C.dynamicRoutes[j]||C.routes[I]),O=async()=>((null==A?void 0:A.render404)?await A.render404(e,t,E,!1):t.end("This page could not be found"),null);if(T&&!b){let e=!!C.routes[I],t=C.dynamicRoutes[j];if(t&&!1===t.fallback&&!e){if(k.experimental.adapterPath)return await O();throw new w.NoFallbackError}}let _=null;!T||S.isDev||b||(_=I,_="/index"===_?"/":_);let K=!0===S.isDev||!T,$=T&&!K;q&&P&&(0,o.setManifestsSingleton)({page:a,clientReferenceManifest:P,serverActionsManifest:q});let H=e.method||"GET",B=(0,l.getTracer)(),D=B.getActiveScopeSpan(),M={params:R,prerenderManifest:C,renderOpts:{experimental:{authInterrupts:!!k.experimental.authInterrupts},cacheComponents:!!k.cacheComponents,supportsDynamicResponse:K,incrementalCache:(0,i.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:k.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>S.onRequestError(e,t,a,n,A)},sharedContext:{buildId:g}},F=new u.NodeNextRequest(e),L=new u.NodeNextResponse(t),V=p.NextRequestAdapter.fromNodeNextRequest(F,(0,p.signalFromNodeResponse)(t));try{let s=async e=>S.handle(V,M).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=B.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==c.BaseServerSpan.handleRequest)return void 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");if(n){let t=`${H} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t)}else e.updateName(`${H} ${a}`)}),o=!!(0,i.getRequestMeta)(e,"minimalMode"),d=async i=>{var l,d;let u=async({previousCacheEntry:n})=>{try{if(!o&&N&&U&&!n)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await s(i);e.fetchMetrics=M.renderOpts.fetchMetrics;let l=M.renderOpts.pendingWaitUntil;l&&r.waitUntil&&(r.waitUntil(l),l=void 0);let d=M.renderOpts.collectedTags;if(!T)return await (0,f.sendResponse)(F,L,a,M.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,y.toNodeOutgoingHttpHeaders)(a.headers);d&&(t[m.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==M.renderOpts.collectedRevalidate&&!(M.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&M.renderOpts.collectedRevalidate,n=void 0===M.renderOpts.collectedExpire||M.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:M.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==n?void 0:n.isStale)&&await S.onRequestError(e,t,{routerKind:"App Router",routePath:a,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:N})},!1,A),t}},p=await S.handleResponse({req:e,nextConfig:k,cacheKey:_,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:N,revalidateOnlyGenerated:U,responseGenerator:u,waitUntil:r.waitUntil,isMinimalMode:o});if(!T)return null;if((null==p||null==(l=p.value)?void 0:l.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==p||null==(d=p.value)?void 0:d.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});o||t.setHeader("x-nextjs-cache",N?"REVALIDATED":p.isMiss?"MISS":p.isStale?"STALE":"HIT"),b&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let c=(0,y.fromNodeOutgoingHttpHeaders)(p.value.headers);return o&&T||c.delete(m.NEXT_CACHE_TAGS_HEADER),!p.cacheControl||t.getHeader("Cache-Control")||c.get("Cache-Control")||c.set("Cache-Control",(0,x.getCacheControlHeader)(p.cacheControl)),await (0,f.sendResponse)(F,L,new Response(p.value.body,{headers:c,status:p.value.status||200})),null};D?await d(D):await B.withPropagatedContext(e.headers,()=>B.trace(c.BaseServerSpan.handleRequest,{spanName:`${H} ${a}`,kind:l.SpanKind.SERVER,attributes:{"http.method":H,"http.target":e.url}},d))}catch(t){if(t instanceof w.NoFallbackError||await S.onRequestError(e,t,{routerKind:"App Router",routePath:j,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:N})},!1,A),T)throw t;return await (0,f.sendResponse)(F,L,new Response(null,{status:500})),null}}e.s(["handler",()=>E,"patchFetch",()=>k,"routeModule",()=>S,"serverHooks",()=>A,"workAsyncStorage",()=>b,"workUnitAsyncStorage",()=>C]),r()}catch(e){r(e)}},!1)];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__6d8053e2._.js.map
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},54799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},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"))},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"))},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"))},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"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},66680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},98043,e=>e.a(async(t,r)=>{try{let l;var n,a=e.i(97289),s=e.i(63021),i=e.i(86414),o=t([i]);[i]=o.then?(await o)():o,(0,a.config)();let d=e.g.prisma||new s.PrismaClient,u=(0,i.getDatabaseAdapter)(),c=process.env.DB_HOST?(l=(n=u).getClient())instanceof s.PrismaClient?l:{user:{findUnique:async e=>e.where?.apiKey?n.findUserByApiKey(e.where.apiKey):e.where?.username?n.findUserByUsername(e.where.username):null,findFirst:async e=>e.where?.username?n.findUserByUsername(e.where.username):null},skill:{findFirst:async e=>{let t=e.where?.name,r=e.where?.OR?.[0]?.user??e.where?.OR?.[1]?.user;return n.findSkill(t,r)},findMany:async e=>n.findSkills(e.where||{}),findUnique:async e=>n.findSkill(e.where?.name,e.where?.user),delete:async e=>(console.warn("[OpenGaussAdapter] skill.delete not fully implemented"),null)},skillVersion:{findFirst:async e=>e.where?.skillId?n.findLatestSkillVersion(e.where.skillId):null},config:{findMany:async e=>n.findConfigs(e.where||{})},session:{findUnique:async e=>e.where?.taskId?n.findSessionByTaskId(e.where.taskId):null,update:async e=>e.where?.id?n.updateSession(e.where.id,e.data):null,upsert:async e=>{let t=e.where?.taskId;return t?n.upsertSession(t,e.create,e.update):null}},execution:{findUnique:async e=>e.where?.id?n.findExecutionById(e.where.id):null,upsert:async e=>n.upsertExecution(e),findMany:async e=>n.findExecutions(e.where,e.orderBy)}}:d;e.s(["db",0,u,"prisma",0,c]),r()}catch(e){r(e)}},!1),79832,e=>e.a(async(t,r)=>{try{var n=e.i(98043),a=t([n]);async function s(e,t){if(t)return{username:t,apiKey:null};let r=e.headers.get("x-witty-api-key");if(r)return{username:await i(r),apiKey:r};let n=new URL(e.url).searchParams.get("apiKey");return n?{username:await i(n),apiKey:n}:{username:null,apiKey:null}}async function i(e){try{let t=await n.db.findUserByApiKey(e);return t?.username||null}catch(e){return console.error("[Auth] Failed to lookup user by API Key:",e),null}}async function o(e,t){let r=await n.db.findSkillById(e);return r?"public"!==r.visibility&&r.user&&(!t||r.user!==t)&&t?{allowed:!1,skill:r}:{allowed:!0,skill:r}:{allowed:!1,skill:null}}[n]=a.then?(await a)():a,e.s(["canAccessSkill",()=>o,"resolveUser",()=>s]),r()}catch(e){r(e)}},!1),53187,e=>e.a(async(t,r)=>{try{var n=e.i(79832),a=e.i(98043),s=e.i(89171),i=t([n,a]);async function o(e,{params:t}){try{let{id:r}=await t,{content:i,changeLog:o,user:l}=await e.json();if(!i)return s.NextResponse.json({error:"Content is required"},{status:400});let{username:d}=await (0,n.resolveUser)(e,l),{allowed:u,skill:c}=await (0,n.canAccessSkill)(r,d);if(!c)return s.NextResponse.json({error:"Skill not found"},{status:404});if(!u)return s.NextResponse.json({error:"Unauthorized: You do not own this skill"},{status:403});let p=await a.db.findLatestSkillVersion(r),h=(p?.version||0)+1,y=p?.assetPath||"",f=p?.files||"[]",x=await a.db.createSkillVersion({skillId:r,version:h,content:i,assetPath:y,files:f,changeLog:o||`Updated v${h} via Editor`});return s.NextResponse.json(x)}catch(e){return console.error("Create Version Error:",e),s.NextResponse.json({error:e.message},{status:500})}}async function l(e,{params:t}){try{let{id:e}=await t,r=await a.db.findSkillById(e);if(!r)return s.NextResponse.json({error:"Skill not found"},{status:404});let n=(r.versions||[]).map(e=>({id:e.id,version:e.version,changeLog:e.changeLog,createdAt:e.createdAt}));return s.NextResponse.json(n)}catch(e){return s.NextResponse.json({error:e.message},{status:500})}}[n,a]=i.then?(await i)():i,e.s(["GET",()=>l,"POST",()=>o]),r()}catch(e){r(e)}},!1),34854,e=>e.a(async(t,r)=>{try{var n=e.i(47909),a=e.i(74017),s=e.i(60476),i=e.i(59756),o=e.i(61916),l=e.i(74677),d=e.i(69741),u=e.i(16795),c=e.i(87718),p=e.i(95169),h=e.i(47587),y=e.i(66012),f=e.i(70101),x=e.i(26937),w=e.i(10372),v=e.i(93695);e.i(52474);var R=e.i(220),m=e.i(53187),g=t([m]);[m]=g.then?(await g)():g;let C=new n.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/skills/[id]/versions/route",pathname:"/api/skills/[id]/versions",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/skills/[id]/versions/route.ts",nextConfigOutput:"standalone",userland:m}),{workAsyncStorage:A,workUnitAsyncStorage:b,serverHooks:S}=C;function k(){return(0,s.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:b})}async function E(e,t,r){C.isDev&&(0,i.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let n="/api/skills/[id]/versions/route";n=n.replace(/\/index$/,"")||"/";let s=await C.prepare(e,t,{srcPage:n,multiZoneDraftMode:!1});if(!s)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:m,params:g,nextConfig:k,parsedUrl:E,isDraftMode:A,prerenderManifest:b,routerServerContext:S,isOnDemandRevalidate:N,revalidateOnlyGenerated:U,resolvedPathname:q,clientReferenceManifest:P,serverActionsManifest:T}=s,j=(0,d.normalizeAppPath)(n),I=!!(b.dynamicRoutes[j]||b.routes[q]),O=async()=>((null==S?void 0:S.render404)?await S.render404(e,t,E,!1):t.end("This page could not be found"),null);if(I&&!A){let e=!!b.routes[q],t=b.dynamicRoutes[j];if(t&&!1===t.fallback&&!e){if(k.experimental.adapterPath)return await O();throw new v.NoFallbackError}}let _=null;!I||C.isDev||A||(_=q,_="/index"===_?"/":_);let H=!0===C.isDev||!I,K=I&&!H;T&&P&&(0,l.setManifestsSingleton)({page:n,clientReferenceManifest:P,serverActionsManifest:T});let B=e.method||"GET",D=(0,o.getTracer)(),M=D.getActiveScopeSpan(),F={params:g,prerenderManifest:b,renderOpts:{experimental:{authInterrupts:!!k.experimental.authInterrupts},cacheComponents:!!k.cacheComponents,supportsDynamicResponse:H,incrementalCache:(0,i.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:k.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,a)=>C.onRequestError(e,t,n,a,S)},sharedContext:{buildId:m}},L=new u.NodeNextRequest(e),$=new u.NodeNextResponse(t),V=c.NextRequestAdapter.fromNodeNextRequest(L,(0,c.signalFromNodeResponse)(t));try{let s=async e=>C.handle(V,F).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=D.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void 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");if(a){let t=`${B} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t)}else e.updateName(`${B} ${n}`)}),l=!!(0,i.getRequestMeta)(e,"minimalMode"),d=async i=>{var o,d;let u=async({previousCacheEntry:a})=>{try{if(!l&&N&&U&&!a)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await s(i);e.fetchMetrics=F.renderOpts.fetchMetrics;let o=F.renderOpts.pendingWaitUntil;o&&r.waitUntil&&(r.waitUntil(o),o=void 0);let d=F.renderOpts.collectedTags;if(!I)return await (0,y.sendResponse)(L,$,n,F.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(n.headers);d&&(t[w.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==F.renderOpts.collectedRevalidate&&!(F.renderOpts.collectedRevalidate>=w.INFINITE_CACHE)&&F.renderOpts.collectedRevalidate,a=void 0===F.renderOpts.collectedExpire||F.renderOpts.collectedExpire>=w.INFINITE_CACHE?void 0:F.renderOpts.collectedExpire;return{value:{kind:R.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==a?void 0:a.isStale)&&await C.onRequestError(e,t,{routerKind:"App Router",routePath:n,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:K,isOnDemandRevalidate:N})},!1,S),t}},c=await C.handleResponse({req:e,nextConfig:k,cacheKey:_,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:b,isRoutePPREnabled:!1,isOnDemandRevalidate:N,revalidateOnlyGenerated:U,responseGenerator:u,waitUntil:r.waitUntil,isMinimalMode:l});if(!I)return null;if((null==c||null==(o=c.value)?void 0:o.kind)!==R.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(d=c.value)?void 0:d.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});l||t.setHeader("x-nextjs-cache",N?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),A&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let p=(0,f.fromNodeOutgoingHttpHeaders)(c.value.headers);return l&&I||p.delete(w.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||p.get("Cache-Control")||p.set("Cache-Control",(0,x.getCacheControlHeader)(c.cacheControl)),await (0,y.sendResponse)(L,$,new Response(c.value.body,{headers:p,status:c.value.status||200})),null};M?await d(M):await D.withPropagatedContext(e.headers,()=>D.trace(p.BaseServerSpan.handleRequest,{spanName:`${B} ${n}`,kind:o.SpanKind.SERVER,attributes:{"http.method":B,"http.target":e.url}},d))}catch(t){if(t instanceof v.NoFallbackError||await C.onRequestError(e,t,{routerKind:"App Router",routePath:j,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:K,isOnDemandRevalidate:N})},!1,S),I)throw t;return await (0,y.sendResponse)(L,$,new Response(null,{status:500})),null}}e.s(["handler",()=>E,"patchFetch",()=>k,"routeModule",()=>C,"serverHooks",()=>S,"workAsyncStorage",()=>A,"workUnitAsyncStorage",()=>b]),r()}catch(e){r(e)}},!1)];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__b835ea7f._.js.map
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},54799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},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"))},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"))},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"))},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"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},66680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},98043,e=>e.a(async(t,r)=>{try{let l;var n,a=e.i(97289),s=e.i(63021),i=e.i(86414),o=t([i]);[i]=o.then?(await o)():o,(0,a.config)();let d=e.g.prisma||new s.PrismaClient,u=(0,i.getDatabaseAdapter)(),c=process.env.DB_HOST?(l=(n=u).getClient())instanceof s.PrismaClient?l:{user:{findUnique:async e=>e.where?.apiKey?n.findUserByApiKey(e.where.apiKey):e.where?.username?n.findUserByUsername(e.where.username):null,findFirst:async e=>e.where?.username?n.findUserByUsername(e.where.username):null},skill:{findFirst:async e=>{let t=e.where?.name,r=e.where?.OR?.[0]?.user??e.where?.OR?.[1]?.user;return n.findSkill(t,r)},findMany:async e=>n.findSkills(e.where||{}),findUnique:async e=>n.findSkill(e.where?.name,e.where?.user),delete:async e=>(console.warn("[OpenGaussAdapter] skill.delete not fully implemented"),null)},skillVersion:{findFirst:async e=>e.where?.skillId?n.findLatestSkillVersion(e.where.skillId):null},config:{findMany:async e=>n.findConfigs(e.where||{})},session:{findUnique:async e=>e.where?.taskId?n.findSessionByTaskId(e.where.taskId):null,update:async e=>e.where?.id?n.updateSession(e.where.id,e.data):null,upsert:async e=>{let t=e.where?.taskId;return t?n.upsertSession(t,e.create,e.update):null}},execution:{findUnique:async e=>e.where?.id?n.findExecutionById(e.where.id):null,upsert:async e=>n.upsertExecution(e),findMany:async e=>n.findExecutions(e.where,e.orderBy)}}:d;e.s(["db",0,u,"prisma",0,c]),r()}catch(e){r(e)}},!1),79832,e=>e.a(async(t,r)=>{try{var n=e.i(98043),a=t([n]);async function s(e,t){if(t)return{username:t,apiKey:null};let r=e.headers.get("x-witty-api-key");if(r)return{username:await i(r),apiKey:r};let n=new URL(e.url).searchParams.get("apiKey");return n?{username:await i(n),apiKey:n}:{username:null,apiKey:null}}async function i(e){try{let t=await n.db.findUserByApiKey(e);return t?.username||null}catch(e){return console.error("[Auth] Failed to lookup user by API Key:",e),null}}async function o(e,t){let r=await n.db.findSkillById(e);return r?"public"!==r.visibility&&r.user&&(!t||r.user!==t)&&t?{allowed:!1,skill:r}:{allowed:!0,skill:r}:{allowed:!1,skill:null}}[n]=a.then?(await a)():a,e.s(["canAccessSkill",()=>o,"resolveUser",()=>s]),r()}catch(e){r(e)}},!1),56042,e=>e.a(async(t,r)=>{try{var n=e.i(79832),a=e.i(98043),s=e.i(22734),i=e.i(89171),o=e.i(14747),l=t([n,a]);async function d(e){try{let t=e.nextUrl.searchParams,r=t.get("query"),s=t.get("category"),o=t.get("user"),{username:l}=await (0,n.resolveUser)(e,o),d={};if(l&&(d.OR=[{user:l},{user:null},{visibility:"public"}]),r){let e={OR:[{name:{contains:r}},{description:{contains:r}}]};d.OR?(d.AND=[{OR:d.OR},e],delete d.OR):d.OR=e.OR}s&&"全部"!==s&&(d.category=s);let u=await a.db.findSkills(d);u.sort((e,t)=>{let r=e.versions?.find(e=>0===e.version),n=t.versions?.find(e=>0===e.version),a=r?new Date(r.createdAt).getTime():0;return(n?new Date(n.createdAt).getTime():0)-a});let c=u.map(e=>{let t=e.versions?.find(t=>t.version===(e.activeVersion||0)),r=t?.changeLog||e.description,n=t?.createdAt?new Date(t.createdAt).toISOString():e.updatedAt.toISOString();return{id:e.id,name:e.name,description:r,category:e.category,tags:e.tags?JSON.parse(e.tags):[],author:e.author,updatedAt:n,version:e.activeVersion||0,activeVersion:e.activeVersion||0,visibility:e.visibility,qualityScore:0,usageCount:0,successRate:0,isUploaded:e.isUploaded,versions:e.versions?.map(e=>({version:e.version,createdAt:e.createdAt?new Date(e.createdAt).toISOString():"",changeLog:e.changeLog}))||[]}});return i.NextResponse.json(c)}catch(e){return console.error("Fetch Skills Error:",e),i.NextResponse.json({error:"Failed to fetch skills"},{status:500})}}async function u(e){let t=e.nextUrl.searchParams,r=t.get("id"),l=t.get("user");if(!r)return i.NextResponse.json({error:"ID required"},{status:400});try{let{username:t}=await (0,n.resolveUser)(e,l),d=await a.db.findSkillById(r);if(!d)return i.NextResponse.json({error:"Skill not found"},{status:404});if(t&&d.user&&d.user!==t)return i.NextResponse.json({error:"Unauthorized delete"},{status:403});let u=o.default.join(process.cwd(),"data","storage","skills",r);return s.default.existsSync(u)&&s.default.rmSync(u,{recursive:!0,force:!0}),await a.db.deleteSkill(r),i.NextResponse.json({success:!0})}catch(e){return console.error("Delete Skill Error:",e),i.NextResponse.json({error:e.message},{status:500})}}[n,a]=l.then?(await l)():l,e.s(["DELETE",()=>u,"GET",()=>d,"dynamic",0,"force-dynamic"]),r()}catch(e){r(e)}},!1),87542,e=>e.a(async(t,r)=>{try{var n=e.i(47909),a=e.i(74017),s=e.i(60476),i=e.i(59756),o=e.i(61916),l=e.i(74677),d=e.i(69741),u=e.i(16795),c=e.i(87718),p=e.i(95169),h=e.i(47587),y=e.i(66012),f=e.i(70101),x=e.i(26937),w=e.i(10372),g=e.i(93695);e.i(52474);var v=e.i(220),m=e.i(56042),R=t([m]);[m]=R.then?(await R)():R;let A=new n.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/skills/route",pathname:"/api/skills",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/skills/route.ts",nextConfigOutput:"standalone",userland:m}),{workAsyncStorage:S,workUnitAsyncStorage:b,serverHooks:C}=A;function k(){return(0,s.patchFetch)({workAsyncStorage:S,workUnitAsyncStorage:b})}async function E(e,t,r){A.isDev&&(0,i.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let n="/api/skills/route";n=n.replace(/\/index$/,"")||"/";let s=await A.prepare(e,t,{srcPage:n,multiZoneDraftMode:!1});if(!s)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:m,params:R,nextConfig:k,parsedUrl:E,isDraftMode:S,prerenderManifest:b,routerServerContext:C,isOnDemandRevalidate:O,revalidateOnlyGenerated:U,resolvedPathname:q,clientReferenceManifest:N,serverActionsManifest:T}=s,I=(0,d.normalizeAppPath)(n),P=!!(b.dynamicRoutes[I]||b.routes[q]),j=async()=>((null==C?void 0:C.render404)?await C.render404(e,t,E,!1):t.end("This page could not be found"),null);if(P&&!S){let e=!!b.routes[q],t=b.dynamicRoutes[I];if(t&&!1===t.fallback&&!e){if(k.experimental.adapterPath)return await j();throw new g.NoFallbackError}}let D=null;!P||A.isDev||S||(D=q,D="/index"===D?"/":D);let _=!0===A.isDev||!P,H=P&&!_;T&&N&&(0,l.setManifestsSingleton)({page:n,clientReferenceManifest:N,serverActionsManifest:T});let K=e.method||"GET",B=(0,o.getTracer)(),M=B.getActiveScopeSpan(),F={params:R,prerenderManifest:b,renderOpts:{experimental:{authInterrupts:!!k.experimental.authInterrupts},cacheComponents:!!k.cacheComponents,supportsDynamicResponse:_,incrementalCache:(0,i.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:k.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,a)=>A.onRequestError(e,t,n,a,C)},sharedContext:{buildId:m}},L=new u.NodeNextRequest(e),V=new u.NodeNextResponse(t),$=c.NextRequestAdapter.fromNodeNextRequest(L,(0,c.signalFromNodeResponse)(t));try{let s=async e=>A.handle($,F).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=B.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void 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");if(a){let t=`${K} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t)}else e.updateName(`${K} ${n}`)}),l=!!(0,i.getRequestMeta)(e,"minimalMode"),d=async i=>{var o,d;let u=async({previousCacheEntry:a})=>{try{if(!l&&O&&U&&!a)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await s(i);e.fetchMetrics=F.renderOpts.fetchMetrics;let o=F.renderOpts.pendingWaitUntil;o&&r.waitUntil&&(r.waitUntil(o),o=void 0);let d=F.renderOpts.collectedTags;if(!P)return await (0,y.sendResponse)(L,V,n,F.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(n.headers);d&&(t[w.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==F.renderOpts.collectedRevalidate&&!(F.renderOpts.collectedRevalidate>=w.INFINITE_CACHE)&&F.renderOpts.collectedRevalidate,a=void 0===F.renderOpts.collectedExpire||F.renderOpts.collectedExpire>=w.INFINITE_CACHE?void 0:F.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==a?void 0:a.isStale)&&await A.onRequestError(e,t,{routerKind:"App Router",routePath:n,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:O})},!1,C),t}},c=await A.handleResponse({req:e,nextConfig:k,cacheKey:D,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:b,isRoutePPREnabled:!1,isOnDemandRevalidate:O,revalidateOnlyGenerated:U,responseGenerator:u,waitUntil:r.waitUntil,isMinimalMode:l});if(!P)return null;if((null==c||null==(o=c.value)?void 0:o.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(d=c.value)?void 0:d.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});l||t.setHeader("x-nextjs-cache",O?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),S&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let p=(0,f.fromNodeOutgoingHttpHeaders)(c.value.headers);return l&&P||p.delete(w.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||p.get("Cache-Control")||p.set("Cache-Control",(0,x.getCacheControlHeader)(c.cacheControl)),await (0,y.sendResponse)(L,V,new Response(c.value.body,{headers:p,status:c.value.status||200})),null};M?await d(M):await B.withPropagatedContext(e.headers,()=>B.trace(p.BaseServerSpan.handleRequest,{spanName:`${K} ${n}`,kind:o.SpanKind.SERVER,attributes:{"http.method":K,"http.target":e.url}},d))}catch(t){if(t instanceof g.NoFallbackError||await A.onRequestError(e,t,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:O})},!1,C),P)throw t;return await (0,y.sendResponse)(L,V,new Response(null,{status:500})),null}}e.s(["handler",()=>E,"patchFetch",()=>k,"routeModule",()=>A,"serverHooks",()=>C,"workAsyncStorage",()=>S,"workUnitAsyncStorage",()=>b]),r()}catch(e){r(e)}},!1)];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__e2f0baee._.js.map
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},54799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},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"))},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"))},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"))},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"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},66680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},98043,e=>e.a(async(t,r)=>{try{let l;var n,s=e.i(97289),a=e.i(63021),i=e.i(86414),o=t([i]);[i]=o.then?(await o)():o,(0,s.config)();let u=e.g.prisma||new a.PrismaClient,d=(0,i.getDatabaseAdapter)(),c=process.env.DB_HOST?(l=(n=d).getClient())instanceof a.PrismaClient?l:{user:{findUnique:async e=>e.where?.apiKey?n.findUserByApiKey(e.where.apiKey):e.where?.username?n.findUserByUsername(e.where.username):null,findFirst:async e=>e.where?.username?n.findUserByUsername(e.where.username):null},skill:{findFirst:async e=>{let t=e.where?.name,r=e.where?.OR?.[0]?.user??e.where?.OR?.[1]?.user;return n.findSkill(t,r)},findMany:async e=>n.findSkills(e.where||{}),findUnique:async e=>n.findSkill(e.where?.name,e.where?.user),delete:async e=>(console.warn("[OpenGaussAdapter] skill.delete not fully implemented"),null)},skillVersion:{findFirst:async e=>e.where?.skillId?n.findLatestSkillVersion(e.where.skillId):null},config:{findMany:async e=>n.findConfigs(e.where||{})},session:{findUnique:async e=>e.where?.taskId?n.findSessionByTaskId(e.where.taskId):null,update:async e=>e.where?.id?n.updateSession(e.where.id,e.data):null,upsert:async e=>{let t=e.where?.taskId;return t?n.upsertSession(t,e.create,e.update):null}},execution:{findUnique:async e=>e.where?.id?n.findExecutionById(e.where.id):null,upsert:async e=>n.upsertExecution(e),findMany:async e=>n.findExecutions(e.where,e.orderBy)}}:u;e.s(["db",0,d,"prisma",0,c]),r()}catch(e){r(e)}},!1),79832,e=>e.a(async(t,r)=>{try{var n=e.i(98043),s=t([n]);async function a(e,t){if(t)return{username:t,apiKey:null};let r=e.headers.get("x-witty-api-key");if(r)return{username:await i(r),apiKey:r};let n=new URL(e.url).searchParams.get("apiKey");return n?{username:await i(n),apiKey:n}:{username:null,apiKey:null}}async function i(e){try{let t=await n.db.findUserByApiKey(e);return t?.username||null}catch(e){return console.error("[Auth] Failed to lookup user by API Key:",e),null}}async function o(e,t){let r=await n.db.findSkillById(e);return r?"public"!==r.visibility&&r.user&&(!t||r.user!==t)&&t?{allowed:!1,skill:r}:{allowed:!0,skill:r}:{allowed:!1,skill:null}}[n]=s.then?(await s)():s,e.s(["canAccessSkill",()=>o,"resolveUser",()=>a]),r()}catch(e){r(e)}},!1),44076,e=>e.a(async(t,r)=>{try{var n=e.i(79832),s=e.i(98043),a=e.i(89171),i=t([n,s]);async function o(e,{params:t}){try{let{id:r,version:i}=await t,o=parseInt(i,10);if(isNaN(o))return a.NextResponse.json({error:"Invalid version number"},{status:400});let{username:l}=await (0,n.resolveUser)(e),{allowed:u,skill:d}=await (0,n.canAccessSkill)(r,l);if(!d)return a.NextResponse.json({error:"Skill not found"},{status:404});if(!u)return a.NextResponse.json({error:"Unauthorized: You do not own this skill"},{status:403});if(!await s.db.findSkillVersion(r,o))return a.NextResponse.json({error:`Version ${o} not found`},{status:404});if(d.versions&&1===d.versions.length)return a.NextResponse.json({error:"Cannot delete the last version. Delete the skill instead."},{status:400});if(await s.db.deleteSkillVersion(r,o),d.activeVersion===o){let e=(d.versions||[]).filter(e=>e.version!==o);if(e.length>0){let t=e[0].version;await s.db.updateSkill(r,{activeVersion:t}),console.log(`[Delete Version] Updated activeVersion from ${o} to ${t}`)}}return a.NextResponse.json({success:!0,message:`Version ${o} deleted successfully`,previousActiveVersion:d.activeVersion})}catch(e){return console.error("Delete Version Error:",e),a.NextResponse.json({error:e.message},{status:500})}}async function l(e,{params:t}){try{let{id:e,version:r}=await t,n=parseInt(r,10);if(isNaN(n))return a.NextResponse.json({error:"Invalid version number"},{status:400});let i=await s.db.findSkillVersion(e,n);if(!i)return a.NextResponse.json({error:`Version ${n} not found`},{status:404});return a.NextResponse.json(i)}catch(e){return console.error("Get Version Error:",e),a.NextResponse.json({error:e.message},{status:500})}}[n,s]=i.then?(await i)():i,e.s(["DELETE",()=>o,"GET",()=>l]),r()}catch(e){r(e)}},!1),97739,e=>e.a(async(t,r)=>{try{var n=e.i(47909),s=e.i(74017),a=e.i(60476),i=e.i(59756),o=e.i(61916),l=e.i(74677),u=e.i(69741),d=e.i(16795),c=e.i(87718),p=e.i(95169),h=e.i(47587),f=e.i(66012),y=e.i(70101),x=e.i(26937),w=e.i(10372),v=e.i(93695);e.i(52474);var R=e.i(220),m=e.i(44076),g=t([m]);[m]=g.then?(await g)():g;let b=new n.AppRouteRouteModule({definition:{kind:s.RouteKind.APP_ROUTE,page:"/api/skills/[id]/versions/[version]/route",pathname:"/api/skills/[id]/versions/[version]",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/skills/[id]/versions/[version]/route.ts",nextConfigOutput:"standalone",userland:m}),{workAsyncStorage:C,workUnitAsyncStorage:A,serverHooks:N}=b;function k(){return(0,a.patchFetch)({workAsyncStorage:C,workUnitAsyncStorage:A})}async function E(e,t,r){b.isDev&&(0,i.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let n="/api/skills/[id]/versions/[version]/route";n=n.replace(/\/index$/,"")||"/";let a=await b.prepare(e,t,{srcPage:n,multiZoneDraftMode:!1});if(!a)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:m,params:g,nextConfig:k,parsedUrl:E,isDraftMode:C,prerenderManifest:A,routerServerContext:N,isOnDemandRevalidate:S,revalidateOnlyGenerated:U,resolvedPathname:q,clientReferenceManifest:j,serverActionsManifest:I}=a,T=(0,u.normalizeAppPath)(n),P=!!(A.dynamicRoutes[T]||A.routes[q]),O=async()=>((null==N?void 0:N.render404)?await N.render404(e,t,E,!1):t.end("This page could not be found"),null);if(P&&!C){let e=!!A.routes[q],t=A.dynamicRoutes[T];if(t&&!1===t.fallback&&!e){if(k.experimental.adapterPath)return await O();throw new v.NoFallbackError}}let _=null;!P||b.isDev||C||(_=q,_="/index"===_?"/":_);let D=!0===b.isDev||!P,V=P&&!D;I&&j&&(0,l.setManifestsSingleton)({page:n,clientReferenceManifest:j,serverActionsManifest:I});let H=e.method||"GET",K=(0,o.getTracer)(),M=K.getActiveScopeSpan(),B={params:g,prerenderManifest:A,renderOpts:{experimental:{authInterrupts:!!k.experimental.authInterrupts},cacheComponents:!!k.cacheComponents,supportsDynamicResponse:D,incrementalCache:(0,i.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:k.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,s)=>b.onRequestError(e,t,n,s,N)},sharedContext:{buildId:m}},$=new d.NodeNextRequest(e),F=new d.NodeNextResponse(t),L=c.NextRequestAdapter.fromNodeNextRequest($,(0,c.signalFromNodeResponse)(t));try{let a=async e=>b.handle(L,B).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=K.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let s=r.get("next.route");if(s){let t=`${H} ${s}`;e.setAttributes({"next.route":s,"http.route":s,"next.span_name":t}),e.updateName(t)}else e.updateName(`${H} ${n}`)}),l=!!(0,i.getRequestMeta)(e,"minimalMode"),u=async i=>{var o,u;let d=async({previousCacheEntry:s})=>{try{if(!l&&S&&U&&!s)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await a(i);e.fetchMetrics=B.renderOpts.fetchMetrics;let o=B.renderOpts.pendingWaitUntil;o&&r.waitUntil&&(r.waitUntil(o),o=void 0);let u=B.renderOpts.collectedTags;if(!P)return await (0,f.sendResponse)($,F,n,B.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,y.toNodeOutgoingHttpHeaders)(n.headers);u&&(t[w.NEXT_CACHE_TAGS_HEADER]=u),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==B.renderOpts.collectedRevalidate&&!(B.renderOpts.collectedRevalidate>=w.INFINITE_CACHE)&&B.renderOpts.collectedRevalidate,s=void 0===B.renderOpts.collectedExpire||B.renderOpts.collectedExpire>=w.INFINITE_CACHE?void 0:B.renderOpts.collectedExpire;return{value:{kind:R.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:s}}}}catch(t){throw(null==s?void 0:s.isStale)&&await b.onRequestError(e,t,{routerKind:"App Router",routePath:n,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:V,isOnDemandRevalidate:S})},!1,N),t}},c=await b.handleResponse({req:e,nextConfig:k,cacheKey:_,routeKind:s.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:S,revalidateOnlyGenerated:U,responseGenerator:d,waitUntil:r.waitUntil,isMinimalMode:l});if(!P)return null;if((null==c||null==(o=c.value)?void 0:o.kind)!==R.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(u=c.value)?void 0:u.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});l||t.setHeader("x-nextjs-cache",S?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),C&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let p=(0,y.fromNodeOutgoingHttpHeaders)(c.value.headers);return l&&P||p.delete(w.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||p.get("Cache-Control")||p.set("Cache-Control",(0,x.getCacheControlHeader)(c.cacheControl)),await (0,f.sendResponse)($,F,new Response(c.value.body,{headers:p,status:c.value.status||200})),null};M?await u(M):await K.withPropagatedContext(e.headers,()=>K.trace(p.BaseServerSpan.handleRequest,{spanName:`${H} ${n}`,kind:o.SpanKind.SERVER,attributes:{"http.method":H,"http.target":e.url}},u))}catch(t){if(t instanceof v.NoFallbackError||await b.onRequestError(e,t,{routerKind:"App Router",routePath:T,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:V,isOnDemandRevalidate:S})},!1,N),P)throw t;return await (0,f.sendResponse)($,F,new Response(null,{status:500})),null}}e.s(["handler",()=>E,"patchFetch",()=>k,"routeModule",()=>b,"serverHooks",()=>N,"workAsyncStorage",()=>C,"workUnitAsyncStorage",()=>A]),r()}catch(e){r(e)}},!1)];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__fc05579d._.js.map
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[35932,e=>e.a(async(t,s)=>{try{var o=e.i(85765),n=e.i(31390),l=e.i(98043),r=e.i(89171),a=t([o,n,l]);async function i(e){try{let t,s,a=await e.text();try{t=JSON.parse(a)}catch(e){return console.error("JSON Parse Error:",e),console.error("Raw Body:",a),r.NextResponse.json({error:"Invalid JSON"},{status:400})}let i=e.headers.get("x-witty-api-key");if(i){let e=await l.db.findUserByApiKey(i);e?(s=e.username,t.user=s,console.log(`[Upload-API] User resolved via API Key: ${s}`)):console.warn("[Upload-API] API Key provided but no matching user found in DB")}if(!s&&t.user&&(s=t.user,console.log(`[Upload-API] Using user from request body: ${s}`)),!s)try{let e=l.db.getClient();if("query"in e){let o=await e.query('SELECT * FROM "UserSettings" WHERE "settingsJson" != \'{"activeConfigId":null,"configs":[]}\' LIMIT 1');o.rows[0]&&(s=o.rows[0].user,t.user=s,console.log(`[Upload-API] Fallback: Using user with active settings: ${s}`))}else{let o=await e.userSettings.findFirst({where:{settingsJson:{not:'{"activeConfigId":null,"configs":[]}'}}});o&&(s=o.user,t.user=s,console.log(`[Upload-API] Fallback: Using user with active settings: ${s}`))}}catch(e){console.warn("[Upload-API] Fallback user lookup failed:",e)}console.log(`[Upload-API] 📥 Received data from ${t.framework||"unknown"}: task_id=${t.task_id}, query=${t.query?.substring(0,50)}..., user=${s||"(none)"}`);let d=t.interactions||[],u=(0,n.normalizeInteractions)(d);u.forEach((e,t)=>{let s=!!e.responseMessage?.tool_calls?.length,o=e.requestMessages?.filter(e=>"assistant"===e.role&&e.tool_calls?.length).length||0;console.log(`[Upload-Debug] Turn ${t}: ReqMsgs=${e.requestMessages?.length}, RespRole=${e.responseMessage?.role}, RespTool=${s}, AssistantReqTools=${o}`)});let p=[];"opencode"===t.framework?p=(0,n.extractSkillsWithVersionsFromOpencodeSession)(u):"claudecode"===t.framework||"claude"===t.framework?p=(0,n.extractSkillsWithVersionsFromClaudeSession)(u):"openclaw"===t.framework&&(p=(0,n.extractSkillsWithVersionsFromOpenClawSession)(u)),console.log(`[Upload-API] Extracted skills: ${JSON.stringify(p)}`);let g=p.map(e=>e.name),v=p[0]?.version??t.skill_version;if(console.log(`[Upload-API] Initial quickSkillVersion: ${v} (from tool call: ${p[0]?.version}, from data: ${t.skill_version})`),null==v){let e=g.length>0?g[0]:t.skill;if(console.log(`[Upload-API] No version from tool call, querying database for skill: ${e}`),e)try{let t=await l.db.findSkill(e,s||null);if(console.log(`[Upload-API] Skill record found: ${t?t.name:"null"}, activeVersion: ${t?.activeVersion}, versions: ${t?.versions?.map(e=>e.version).join(",")}`),t&&t.versions&&t.versions.length>0){let s=t.activeVersion||0,o=t.versions.find(e=>e.version===s);o?(v=o.version,console.log(`[Upload-API] Quick save: using active version ${v} for skill ${e}`)):(v=t.versions[0].version,console.log(`[Upload-API] Quick save: using fallback version ${v} for skill ${e}`))}else console.log("[Upload-API] Skill record not found or no versions available")}catch(t){console.warn(`[Upload-API] Failed to fetch skill version for ${e}:`,t)}}console.log(`[Upload-API] Final quickSkillVersion: ${v}`);let f={...t,skip_evaluation:!0,skills:g.length>0?g:t.skills,invokedSkills:p.length>0?p:t.invokedSkills,skill:g.length>0?g[0]:t.skill,skill_version:v};try{await (0,o.saveExecutionRecord)(f),g.length>0&&console.log(`[Upload-API] Quick save with skills: ${JSON.stringify(p)}`)}catch(e){console.warn("[Upload-API] Quick initial save failed:",e)}return c(t,s,u,d).catch(e=>{console.error("[Upload-API] Async analysis failed:",e)}),r.NextResponse.json({success:!0,message:"Upload received and analyzing in background",upload_id:t.task_id},{status:200})}catch(e){return console.error("[Upload-API] ❌ Error:",e),r.NextResponse.json({error:"Failed to process data"},{status:500})}}async function c(e,t,s,r){let a;console.log(`[Upload-Async] Starting background analysis for ${e.task_id}`);let i=await (0,n.analyzeSession)(s,t);!e.query&&i.query&&(e.query=i.query),!e.final_result&&i.final_result&&(e.final_result=i.final_result);let c=[];"opencode"===e.framework?c=(0,n.extractSkillsWithVersionsFromOpencodeSession)(s):"claudecode"===e.framework||"claude"===e.framework?c=(0,n.extractSkillsWithVersionsFromClaudeSession)(s):"openclaw"===e.framework&&(c=(0,n.extractSkillsWithVersionsFromOpenClawSession)(s));let d=c.map(e=>e.name);if(0===d.length&&i.skill&&(d.push(i.skill),c.push({name:i.skill,version:null})),d.length>0?(e.skills=d,e.invokedSkills=c,e.skill||(e.skill=d[0]),console.log(`[Upload-Async] Extracted skills: ${JSON.stringify(c)}`),console.log(`[Upload-Async] Current data.skill_version: ${e.skill_version}`),c[0]?.version!=null&&(e.skill_version=c[0].version,console.log(`[Upload-Async] Updated skill_version from tool call: ${e.skill_version}`)),console.log(`[Upload-Async] 🛠️ Extracted Skills: ${JSON.stringify(c)} for task_id=${e.task_id}`)):console.log(`[Upload-Async] ⚠️ No skills extracted for task_id=${e.task_id}`),e.query&&(e.query=e.query.trim().replace(/^['"]+|['"]+$/g,"").trim()),e.skill&&(e.skill=e.skill.trim().replace(/^['"]+|['"]+$/g,"").trim()),!e.query)return void console.log(`[Upload-Async] Empty query after analysis, aborting task_id=${e.task_id}`);let u=e.skill;if(console.log(`[Upload-Async] Primary skill name: ${u}, current skill_version: ${e.skill_version}`),u){let s=await l.db.findSkill(u,t||null);if(console.log(`[Upload-Async] Skill record found: ${s?s.name:"null"}, activeVersion: ${s?.activeVersion}, versions: ${s?.versions?.map(e=>e.version).join(",")}`),s&&s.versions&&s.versions.length>0){let t=s.activeVersion||0,o=s.versions.find(e=>e.version===t);o&&o.content?(a=o.content,e.skill_version=o.version,console.log(`[Upload-Async] Using active version ${o.version} for skill ${u}`)):(a=s.versions[0].content,e.skill_version=s.versions[0].version,console.log(`[Upload-Async] Using fallback version ${s.versions[0].version} for skill ${u}`))}}if(e.query&&e.final_result){let s,l={skill_definition:a};try{(s=(await (0,o.readConfig)(t)).find(t=>t.query&&e.query&&t.query.trim()===e.query.trim()))&&(l.root_causes=s.root_causes,l.key_actions=s.key_actions,l.standard_answer_example=s.standard_answer)}catch(e){console.warn("Config load error",e)}if(s){let s=await (0,n.judgeAnswer)(e.query,l,e.final_result,t);e.is_answer_correct=s.is_correct,e.answer_score=s.score,e.judgment_reason=s.reason||"Judged by Evaluation Model"}else console.log(`[Upload-Async] No config match for query: "${e.query.substring(0,20)}...". Skipping judgment to preserve potential existing score.`)}let p=await (0,n.analyzeFailures)(r,u,a,e.answer_score,String(e.judgment_reason||""),e.query,e.final_result,t);e.failures=p.failures,e.skill_issues=p.skill_issues,e.skip_evaluation=!1,e.force_judgment=!0,await (0,o.saveExecutionRecord)(e),console.log(`[Upload-Async] ✅ Completed async analysis: task_id=${e.task_id}, score=${e.answer_score}, failures=${(e.failures||[]).length}`)}[o,n,l]=a.then?(await a)():a,e.s(["POST",()=>i]),s()}catch(e){s(e)}},!1),55739,e=>e.a(async(t,s)=>{try{var o=e.i(47909),n=e.i(74017),l=e.i(60476),r=e.i(59756),a=e.i(61916),i=e.i(74677),c=e.i(69741),d=e.i(16795),u=e.i(87718),p=e.i(95169),g=e.i(47587),v=e.i(66012),f=e.i(70101),k=e.i(26937),h=e.i(10372),y=e.i(93695);e.i(52474);var m=e.i(220),w=e.i(35932),_=t([w]);[w]=_.then?(await _)():_;let U=new o.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/upload/route",pathname:"/api/upload",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/upload/route.ts",nextConfigOutput:"standalone",userland:w}),{workAsyncStorage:$,workUnitAsyncStorage:S,serverHooks:E}=U;function R(){return(0,l.patchFetch)({workAsyncStorage:$,workUnitAsyncStorage:S})}async function A(e,t,s){U.isDev&&(0,r.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let o="/api/upload/route";o=o.replace(/\/index$/,"")||"/";let l=await U.prepare(e,t,{srcPage:o,multiZoneDraftMode:!1});if(!l)return t.statusCode=400,t.end("Bad Request"),null==s.waitUntil||s.waitUntil.call(s,Promise.resolve()),null;let{buildId:w,params:_,nextConfig:R,parsedUrl:A,isDraftMode:$,prerenderManifest:S,routerServerContext:E,isOnDemandRevalidate:x,revalidateOnlyGenerated:P,resolvedPathname:C,clientReferenceManifest:q,serverActionsManifest:I}=l,b=(0,c.normalizeAppPath)(o),N=!!(S.dynamicRoutes[b]||S.routes[C]),O=async()=>((null==E?void 0:E.render404)?await E.render404(e,t,A,!1):t.end("This page could not be found"),null);if(N&&!$){let e=!!S.routes[C],t=S.dynamicRoutes[b];if(t&&!1===t.fallback&&!e){if(R.experimental.adapterPath)return await O();throw new y.NoFallbackError}}let T=null;!N||U.isDev||$||(T=C,T="/index"===T?"/":T);let F=!0===U.isDev||!N,M=N&&!F;I&&q&&(0,i.setManifestsSingleton)({page:o,clientReferenceManifest:q,serverActionsManifest:I});let H=e.method||"GET",j=(0,a.getTracer)(),V=j.getActiveScopeSpan(),D={params:_,prerenderManifest:S,renderOpts:{experimental:{authInterrupts:!!R.experimental.authInterrupts},cacheComponents:!!R.cacheComponents,supportsDynamicResponse:F,incrementalCache:(0,r.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:R.cacheLife,waitUntil:s.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,s,o,n)=>U.onRequestError(e,t,o,n,E)},sharedContext:{buildId:w}},K=new d.NodeNextRequest(e),J=new d.NodeNextResponse(t),W=u.NextRequestAdapter.fromNodeNextRequest(K,(0,u.signalFromNodeResponse)(t));try{let l=async e=>U.handle(W,D).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let s=j.getRootSpanAttributes();if(!s)return;if(s.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${s.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=s.get("next.route");if(n){let t=`${H} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t)}else e.updateName(`${H} ${o}`)}),i=!!(0,r.getRequestMeta)(e,"minimalMode"),c=async r=>{var a,c;let d=async({previousCacheEntry:n})=>{try{if(!i&&x&&P&&!n)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let o=await l(r);e.fetchMetrics=D.renderOpts.fetchMetrics;let a=D.renderOpts.pendingWaitUntil;a&&s.waitUntil&&(s.waitUntil(a),a=void 0);let c=D.renderOpts.collectedTags;if(!N)return await (0,v.sendResponse)(K,J,o,D.renderOpts.pendingWaitUntil),null;{let e=await o.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(o.headers);c&&(t[h.NEXT_CACHE_TAGS_HEADER]=c),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let s=void 0!==D.renderOpts.collectedRevalidate&&!(D.renderOpts.collectedRevalidate>=h.INFINITE_CACHE)&&D.renderOpts.collectedRevalidate,n=void 0===D.renderOpts.collectedExpire||D.renderOpts.collectedExpire>=h.INFINITE_CACHE?void 0:D.renderOpts.collectedExpire;return{value:{kind:m.CachedRouteKind.APP_ROUTE,status:o.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:s,expire:n}}}}catch(t){throw(null==n?void 0:n.isStale)&&await U.onRequestError(e,t,{routerKind:"App Router",routePath:o,routeType:"route",revalidateReason:(0,g.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:x})},!1,E),t}},u=await U.handleResponse({req:e,nextConfig:R,cacheKey:T,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:S,isRoutePPREnabled:!1,isOnDemandRevalidate:x,revalidateOnlyGenerated:P,responseGenerator:d,waitUntil:s.waitUntil,isMinimalMode:i});if(!N)return null;if((null==u||null==(a=u.value)?void 0:a.kind)!==m.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(c=u.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});i||t.setHeader("x-nextjs-cache",x?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),$&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let p=(0,f.fromNodeOutgoingHttpHeaders)(u.value.headers);return i&&N||p.delete(h.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||p.get("Cache-Control")||p.set("Cache-Control",(0,k.getCacheControlHeader)(u.cacheControl)),await (0,v.sendResponse)(K,J,new Response(u.value.body,{headers:p,status:u.value.status||200})),null};V?await c(V):await j.withPropagatedContext(e.headers,()=>j.trace(p.BaseServerSpan.handleRequest,{spanName:`${H} ${o}`,kind:a.SpanKind.SERVER,attributes:{"http.method":H,"http.target":e.url}},c))}catch(t){if(t instanceof y.NoFallbackError||await U.onRequestError(e,t,{routerKind:"App Router",routePath:b,routeType:"route",revalidateReason:(0,g.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:x})},!1,E),N)throw t;return await (0,v.sendResponse)(K,J,new Response(null,{status:500})),null}}e.s(["handler",()=>A,"patchFetch",()=>R,"routeModule",()=>U,"serverHooks",()=>E,"workAsyncStorage",()=>$,"workUnitAsyncStorage",()=>S]),s()}catch(e){s(e)}},!1)];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=_41a98bd8._.js.map
|