@witty-ai/skill-insight 0.3.0-beta → 0.4.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 +1 -1
- package/.next/standalone/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/app-path-routes-manifest.json +1 -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 +6 -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.html +1 -1
- package/.next/standalone/.next/server/app/_not-found.rsc +2 -2
- package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
- 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 +1 -1
- 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 +1 -1
- package/.next/standalone/.next/server/app/api/auth/apikey/route.js +2 -2
- package/.next/standalone/.next/server/app/api/auth/apikey/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/config/create/route.js +4 -4
- 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/config/status/route.js +2 -2
- package/.next/standalone/.next/server/app/api/config/status/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/data/route.js +5 -4
- package/.next/standalone/.next/server/app/api/data/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/executions/[executionId]/analyze-match/route.js +4 -4
- package/.next/standalone/.next/server/app/api/executions/[executionId]/analyze-match/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/guide/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/guide/route/build-manifest.json +11 -0
- package/.next/standalone/.next/server/app/api/guide/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/guide/route.js +7 -0
- package/.next/standalone/.next/server/app/api/guide/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/guide/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/guide/route_client-reference-manifest.js +2 -0
- package/.next/standalone/.next/server/app/api/otel/v1/logs/route.js +5 -4
- 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 +5 -4
- 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 +3 -3
- package/.next/standalone/.next/server/app/api/proxy/[taskId]/[...path]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/proxy/[taskId]/end/route.js +6 -5
- package/.next/standalone/.next/server/app/api/proxy/[taskId]/end/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/proxy/[taskId]/start/route.js +2 -2
- package/.next/standalone/.next/server/app/api/proxy/[taskId]/start/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/rejudge/route.js +5 -4
- package/.next/standalone/.next/server/app/api/rejudge/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/session/route.js +3 -3
- package/.next/standalone/.next/server/app/api/session/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/settings/route.js +2 -2
- package/.next/standalone/.next/server/app/api/settings/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/settings/test/route.js +2 -2
- package/.next/standalone/.next/server/app/api/settings/test/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/skills/[id]/activate/route.js +2 -2
- package/.next/standalone/.next/server/app/api/skills/[id]/activate/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/skills/[id]/toggle/route.js +2 -2
- package/.next/standalone/.next/server/app/api/skills/[id]/toggle/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/download/route.js +3 -3
- 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]/parse-flow/route.js +4 -4
- package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/parse-flow/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/route.js +2 -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 +2 -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 +2 -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/automation/push/route.js +2 -2
- package/.next/standalone/.next/server/app/api/skills/automation/push/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/skills/by-name/route.js +2 -2
- package/.next/standalone/.next/server/app/api/skills/by-name/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/skills/logs/route.js +5 -4
- 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 +2 -2
- package/.next/standalone/.next/server/app/api/skills/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/skills/upload/route.js +2 -2
- package/.next/standalone/.next/server/app/api/skills/upload/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/sync/manifest/route.js +2 -2
- package/.next/standalone/.next/server/app/api/sync/manifest/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/sync/opencode/route.js +2 -2
- package/.next/standalone/.next/server/app/api/sync/opencode/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/upload/route.js +5 -3
- 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 +3 -3
- 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 +3 -3
- package/.next/standalone/.next/server/app/details.segments/_full.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/details.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/details.segments/_index.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/details.segments/_tree.segment.rsc +1 -1
- 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 +3 -3
- package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +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 +3 -3
- package/.next/standalone/.next/server/app/login.segments/_full.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/login.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/login.segments/_index.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/login.segments/_tree.segment.rsc +1 -1
- 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.html +1 -1
- package/.next/standalone/.next/server/app/skills.rsc +2 -2
- package/.next/standalone/.next/server/app/skills.segments/_full.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/skills.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/skills.segments/_index.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/skills.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/skills.segments/skills/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/skills.segments/skills.segment.rsc +1 -1
- package/.next/standalone/.next/server/app-paths-manifest.json +1 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__05e510f4._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0a140a5a._.js +122 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0fceba52._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1013b265._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__13132848._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1c95bcde._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__30769f6e._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__426bc4ab._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__591248f3._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__5d8178f6._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__610d08bc._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__6d8053e2._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__6fc12878._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__73ce6d21._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__75e3674c._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__761462f8._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__863cf6de._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__9aa700a4._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__9d551ea2._.js +3 -0
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__c6c98b22._.js → [root-of-the-server]__aa5c8858._.js} +3 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__b11acc79._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__b7ad2649._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__b835ea7f._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__ba01f286._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__c00180dd._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__d8c1808b._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__e280561d._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__e2f0baee._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__e550423c._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__ed8f9b78._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__fc05579d._.js +3 -0
- package/.next/standalone/.next/server/chunks/_33c0c729._.js +1 -1
- package/.next/standalone/.next/server/chunks/_41a98bd8._.js +3 -0
- package/.next/standalone/.next/server/chunks/_c48f7c66._.js +1 -1
- package/.next/standalone/.next/server/chunks/_c82df3e0._.js +3 -3
- package/.next/standalone/.next/server/chunks/_cd3d20ca._.js +1 -1
- package/.next/standalone/.next/server/chunks/_fa49adfa._.js +3 -3
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_guide_route_actions_6c188449.js +3 -0
- package/.next/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_c33286ed.js +79 -79
- package/.next/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_f42faeee.js +1 -400
- package/.next/standalone/.next/server/chunks/src_497d2ad2._.js +22 -22
- package/.next/standalone/.next/server/chunks/src_c8971a2d._.js +1 -1
- package/.next/standalone/.next/server/chunks/src_lib_12408140._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__72a7f3ed._.js → [root-of-the-server]__28978655._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__c9e3c893._.js → [root-of-the-server]__317833f9._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__42ba97b6._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__51073007._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__d0917d6e._.js → [root-of-the-server]__52851239._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__e5e3a145._.js → [root-of-the-server]__9630dedf._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__438a2c90._.js → [root-of-the-server]__a5ef0b61._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__1dfe61f8._.js → [root-of-the-server]__b9972e88._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__37bfda90._.js → [root-of-the-server]__cda1e286._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__8a82ef12._.js → [root-of-the-server]__d424fa04._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{_981cd263._.js → _72a74a0c._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_7688d7cd._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_c8c8c083._.js +18 -42
- package/.next/standalone/.next/server/chunks/ssr/_fd46f439._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_11d81adf._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_f56b62b0._.js → node_modules_2aaea4ea._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_be61cdef._.js → node_modules_2d9e03d1._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_abc9e5a6._.js → node_modules_2e206c58._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_c98dd942._.js → node_modules_2e38bc5c._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/node_modules_330b9e3c._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_28fef057._.js → node_modules_3964c298._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_60cf7de2._.js → node_modules_442994dc._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_205ce1c9._.js → node_modules_4ea9b27b._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/node_modules_4f41f172._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/node_modules_514c148b._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_2f215d2b._.js → node_modules_5b6dbbc3._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/node_modules_62621b34._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_4cd41088._.js → node_modules_6716e25d._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/node_modules_76d6c533._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_39a3e684._.js → node_modules_8301968d._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/node_modules_8d9e56b7._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_23d38260._.js → node_modules_ad69a9e4._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_0c2939c3._.js → node_modules_afb1ecef._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_df113a74._.js → node_modules_b8803ba6._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_5ab83f0a._.js → node_modules_c411d7df._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_6391b0cd._.js → node_modules_c657890f._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/node_modules_cc19e85c._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_a7a82280._.js → node_modules_da87f0e3._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_8633bac6._.js → node_modules_e20e8c2a._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/node_modules_e272ac31._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_d0af4cb2._.js → node_modules_ed1f1845._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_ee43cfd6._.js → node_modules_ed4150ad._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_a4a1f3c3._.js → node_modules_f2653232._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_776b68cf._.js → node_modules_fddab329._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/node_modules_katex_dist_katex_mjs_d037b3b1._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_chunk-7R4GIKGN_mjs_e5dda8cc._.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/{d60f0b3e2f4689ac.js → 01eddf501c574a44.js} +1 -1
- package/.next/{static/chunks/ec0de430276c8209.js → standalone/.next/static/chunks/078d76156083f265.js} +1 -1
- package/.next/standalone/.next/static/chunks/{6a17b619eed04f07.js → 07c9f28a269c701a.js} +2 -2
- package/.next/{static/chunks/55723b38de737547.js → standalone/.next/static/chunks/21105f8885631d60.js} +1 -1
- package/.next/standalone/.next/static/chunks/2a3dd49367e2c198.js +1 -0
- package/.next/standalone/.next/static/chunks/3e33f7adc10a38d3.js +109 -0
- package/.next/{static/chunks/052f178ab7519d8d.js → standalone/.next/static/chunks/5432ce4a494bc74d.js} +2 -2
- package/.next/standalone/.next/static/chunks/59cd76b8d89e776a.js +1 -0
- package/.next/standalone/.next/static/chunks/62129f27f303a5ba.js +1 -0
- package/.next/standalone/.next/static/chunks/6baf949fafec6be3.js +1 -0
- package/.next/standalone/.next/static/chunks/737b8cff3c6a4e30.js +1 -0
- package/.next/standalone/.next/static/chunks/7e35f4cf2e266022.js +1 -0
- package/.next/standalone/.next/static/chunks/b43afe7d924243d9.js +2 -0
- package/.next/{static/chunks/559e55a53f22f5d1.js → standalone/.next/static/chunks/c875bd2ff662b46f.js} +1 -1
- package/.next/standalone/.next/static/chunks/e09d9ee16fe90255.js +1 -0
- package/.next/{static/chunks/20337e5244416041.js → standalone/.next/static/chunks/e20b02ee30c11a26.js} +1 -1
- package/.next/standalone/.next/static/chunks/ff6357067630b168.js +1 -0
- package/.next/standalone/LICENSE +1 -1
- package/.next/standalone/bin/cli.js +1 -1
- package/.next/standalone/features/feature-skill-used-jump-link/design/2026-03-18-skill-used-jump-link-design.md +126 -0
- package/.next/standalone/features/feature-skill-used-jump-link/feature.json +32 -0
- package/.next/standalone/features/feature-skill-used-jump-link/issue.md +32 -0
- package/.next/standalone/features/feature-skill-used-jump-link/plans/2026-03-18-skill-used-jump-link.md +528 -0
- package/.next/standalone/node_modules/.prisma/client/edge.js +23 -5
- package/.next/standalone/node_modules/.prisma/client/index-browser.js +20 -2
- package/.next/standalone/node_modules/.prisma/client/index.js +23 -5
- package/.next/standalone/node_modules/.prisma/client/package.json +1 -1
- package/.next/standalone/node_modules/.prisma/client/schema.prisma +19 -2
- package/.next/standalone/node_modules/.prisma/client/wasm.js +20 -2
- package/.next/standalone/node_modules/@img/colour/color.cjs +11 -9
- package/.next/standalone/node_modules/@img/colour/package.json +21 -8
- package/.next/standalone/package.json +1 -1
- package/.next/standalone/prisma/schema.prisma +19 -2
- package/.next/standalone/scripts/activate_telemetry.sh +24 -24
- package/.next/standalone/scripts/claude_watcher_client.ts +9 -7
- package/.next/standalone/scripts/init_opengauss.py +15 -0
- package/.next/standalone/scripts/install.js +68 -35
- package/.next/standalone/scripts/logs.js +1 -1
- package/.next/standalone/scripts/openclaw_watcher_client.ts +9 -7
- package/.next/standalone/scripts/opencode_plugin.ts +21 -10
- package/.next/standalone/scripts/postinstall.js +80 -38
- package/.next/standalone/scripts/restart.js +1 -1
- package/.next/standalone/scripts/start.js +84 -60
- package/.next/standalone/scripts/status.js +1 -1
- package/.next/standalone/scripts/stop.js +38 -14
- package/.next/standalone/scripts/sync_skills.js +5 -5
- package/.next/standalone/scripts/utils.js +91 -23
- package/.next/standalone/tests/setup_skill_optimizer.sh +118 -0
- package/.next/static/chunks/{d60f0b3e2f4689ac.js → 01eddf501c574a44.js} +1 -1
- package/.next/{standalone/.next/static/chunks/ec0de430276c8209.js → static/chunks/078d76156083f265.js} +1 -1
- package/.next/static/chunks/{6a17b619eed04f07.js → 07c9f28a269c701a.js} +2 -2
- package/.next/{standalone/.next/static/chunks/55723b38de737547.js → static/chunks/21105f8885631d60.js} +1 -1
- package/.next/static/chunks/2a3dd49367e2c198.js +1 -0
- package/.next/static/chunks/3e33f7adc10a38d3.js +109 -0
- package/.next/{standalone/.next/static/chunks/052f178ab7519d8d.js → static/chunks/5432ce4a494bc74d.js} +2 -2
- package/.next/static/chunks/59cd76b8d89e776a.js +1 -0
- package/.next/static/chunks/62129f27f303a5ba.js +1 -0
- package/.next/static/chunks/6baf949fafec6be3.js +1 -0
- package/.next/static/chunks/737b8cff3c6a4e30.js +1 -0
- package/.next/static/chunks/7e35f4cf2e266022.js +1 -0
- package/.next/static/chunks/b43afe7d924243d9.js +2 -0
- package/.next/{standalone/.next/static/chunks/559e55a53f22f5d1.js → static/chunks/c875bd2ff662b46f.js} +1 -1
- package/.next/static/chunks/e09d9ee16fe90255.js +1 -0
- package/.next/{standalone/.next/static/chunks/20337e5244416041.js → static/chunks/e20b02ee30c11a26.js} +1 -1
- package/.next/static/chunks/ff6357067630b168.js +1 -0
- package/LICENSE +1 -1
- package/README.md +7 -6
- package/bin/cli.js +1 -1
- package/package.json +1 -1
- package/prisma/schema.prisma +19 -2
- package/scripts/activate_telemetry.sh +24 -24
- package/scripts/claude_watcher_client.ts +9 -7
- package/scripts/init_opengauss.py +15 -0
- package/scripts/install.js +68 -35
- package/scripts/logs.js +1 -1
- package/scripts/openclaw_watcher_client.ts +9 -7
- package/scripts/opencode_plugin.ts +21 -10
- package/scripts/postinstall.js +80 -38
- package/scripts/restart.js +1 -1
- package/scripts/start.js +84 -60
- package/scripts/status.js +1 -1
- package/scripts/stop.js +38 -14
- package/scripts/sync_skills.js +5 -5
- package/scripts/utils.js +91 -23
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1306e4eb._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1809fb2b._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__19594bdd._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__19db3d34._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__2b2e7f49._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__3c02de9b._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__3f3ad12b._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__4c1ad182._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__4dce0fe6._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__582cdc68._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__625e84f3._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__68b5a8b3._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__704b8533._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__78ea20f2._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__7f754db9._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__824c33e1._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__92449e6d._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__9465727f._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__9c3018b5._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__a12846e0._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__a637116a._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__a8f83ee4._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__a8ffc1b1._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__a9cb205c._.js +0 -122
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__ab7048b0._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__ac25e4ae._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__ae5ac9cd._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__bebf4267._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__c5ae3ebd._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__ebdafae4._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__eefd5f5b._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_b7889f85._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/node_modules_0b762d3e._.js +0 -3
- package/.next/standalone/.next/static/chunks/024c9acb4aa490c8.js +0 -1
- package/.next/standalone/.next/static/chunks/104f2c1fb93033c0.js +0 -1
- package/.next/standalone/.next/static/chunks/2e1b2125198a02c4.js +0 -1
- package/.next/standalone/.next/static/chunks/32b26ff1bbd034fd.js +0 -1
- package/.next/standalone/.next/static/chunks/62e251619a96dc26.js +0 -1
- package/.next/standalone/.next/static/chunks/65c652f23d2d68bd.js +0 -133
- package/.next/standalone/.next/static/chunks/876e2d70185fd438.js +0 -1
- package/.next/standalone/.next/static/chunks/c647b2e4532050e0.js +0 -1
- package/.next/standalone/.next/static/chunks/d2e574310159a10b.js +0 -1
- package/.next/standalone/.next/static/chunks/dab1749712763979.js +0 -2
- package/.next/static/chunks/024c9acb4aa490c8.js +0 -1
- package/.next/static/chunks/104f2c1fb93033c0.js +0 -1
- package/.next/static/chunks/2e1b2125198a02c4.js +0 -1
- package/.next/static/chunks/32b26ff1bbd034fd.js +0 -1
- package/.next/static/chunks/62e251619a96dc26.js +0 -1
- package/.next/static/chunks/65c652f23d2d68bd.js +0 -133
- package/.next/static/chunks/876e2d70185fd438.js +0 -1
- package/.next/static/chunks/c647b2e4532050e0.js +0 -1
- package/.next/static/chunks/d2e574310159a10b.js +0 -1
- package/.next/static/chunks/dab1749712763979.js +0 -2
- /package/.next/standalone/.next/static/{Zt2VD1Py2IilfVNJL-9Wm → Eytv_Fh4x2HPaupjXiAYj}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{Zt2VD1Py2IilfVNJL-9Wm → Eytv_Fh4x2HPaupjXiAYj}/_clientMiddlewareManifest.json +0 -0
- /package/.next/standalone/.next/static/{Zt2VD1Py2IilfVNJL-9Wm → Eytv_Fh4x2HPaupjXiAYj}/_ssgManifest.js +0 -0
- /package/.next/static/{Zt2VD1Py2IilfVNJL-9Wm → Eytv_Fh4x2HPaupjXiAYj}/_buildManifest.js +0 -0
- /package/.next/static/{Zt2VD1Py2IilfVNJL-9Wm → Eytv_Fh4x2HPaupjXiAYj}/_clientMiddlewareManifest.json +0 -0
- /package/.next/static/{Zt2VD1Py2IilfVNJL-9Wm → Eytv_Fh4x2HPaupjXiAYj}/_ssgManifest.js +0 -0
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[91120,e=>{"use strict";e.s(["SKILLS_EXTRACT_PROMPT",0,"请给出该次对话中激活的skills,以列表的形式返回,列表中仅含skill name。"])},33075,e=>e.a(async(t,r)=>{try{var n=e.i(85765),s=e.i(31390),a=e.i(98043),o=e.i(75054),i=e.i(22965),l=e.i(89171),u=e.i(91120),c=t([n,s,a,o,i]);[n,s,a,o,i]=c.then?(await c)():c;let m=u.SKILLS_EXTRACT_PROMPT;function d(e,t,r){if(!e||!Array.isArray(e))return;let n=/^[a-zA-Z0-9_\-\.]+$/;for(let s of e){if(s?.type!=="tool_use"||s?.name!=="Skill")continue;let e=s.input,a=e?.skill??e?.skill_name??e?.skillName??e?.name;if(null==a||!String(a).trim())continue;let o=String(a).trim().replace(/^['"]+|['"]+$/g,"");n.test(o)&&!t.has(o)&&(t.add(o),r.push(o))}}function p(e){return e?.content?"string"==typeof e.content?e.content:Array.isArray(e.content)?e.content.filter(e=>e?.type==="text"&&e?.text).map(e=>e.text).join("\n").trim():"":""}async function f(e,t){if(!t.length)return[];let r=[];for(let e of t){let t=e.requestMessages||[],n=[];for(let e of t){if("user"!==e.role)continue;let t=p(e);!t||t.startsWith("<system-reminder>")||t.includes("[SUGGESTION MODE:")||n.push(t)}n.length&&r.push({role:"user",content:n.join("\n\n")});let s=e.responseMessage;if(s?.content){let e=p(s);e&&r.push({role:"assistant",content:e})}}let n=[...r.length>30?r.slice(-30):r,{role:"user",content:m}],s=e.startsWith("claude")?"https://api.deepseek.com/anthropic":"https://api.deepseek.com",a=`${s}/v1/chat/completions`,o=await (0,i.getActiveConfig)(),l=o?.apiKey;if(!l)return console.warn("No model API Key configured in Settings, skipping skills extraction via model."),[];let u=new AbortController,c=setTimeout(()=>u.abort(),25e3);try{let e={model:s.includes("anthropic")?"claude-sonnet-4-20250514":"deepseek-chat",max_tokens:1024,stream:!1,messages:n},t=await fetch(a,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${l}`},body:JSON.stringify(e),signal:u.signal});if(clearTimeout(c),!t.ok){let e=await t.text();return console.error("Skills extraction error",t.status,e),[]}let r=await t.json(),o=r.choices?.[0]?.message?.content??r.content?.find(e=>"text"===e.type)?.text??r.content?.[0]?.text??"";return function(e){if(!e||"string"!=typeof e)return[];let t=e.trim().replace(/^```\w*\n?|```\s*$/g,"").trim(),r=[];try{let e=JSON.parse(t);Array.isArray(e)?r=e:e&&Array.isArray(e.skills)?r=e.skills:e&&"string"==typeof e.skills&&(r=[e.skills])}catch{r=t.split(/\n+/).map(e=>e.replace(/^[\s\-*•\d.)]+|[\s\-*•]+$/g,"").trim())}let n=r.filter(e=>null!=e&&""!==String(e).trim()).map(e=>String(e).trim().replace(/^['"]+|['"]+$/g,"")),s=/^[a-zA-Z0-9_\-\.]+$/;return n.filter(e=>s.test(e))}(String(o))}catch(e){return clearTimeout(c),(e instanceof Error?e.message:String(e)).includes("abort")?console.warn("fetchSkillsViaModel timeout, skipping skills"):console.error("fetchSkillsViaModel error",e),[]}}async function g(e,{params:t}){try{let r,i,u=(await t).taskId,c=await (0,o.endSession)(u);if(!c)return l.NextResponse.json({error:"Session not found or empty"},{status:404});let p=(Date.now()-c.startTime)/1e3,g=0;for(let e of c.interactions){let t=e.usage||e.responseMessage?.usage;if(t){let e=t;if("string"==typeof t)try{e=JSON.parse(t)}catch(e){}let r=e,n=r.total_tokens||r.total||0;g+=Number(n)}}let m=u.split("-")[0]||"unknown";"claude"===m&&(m="claudecode");let h=await (0,s.analyzeSession)(c.interactions,c.user);if(!c.query&&h.query)try{await a.db.updateSession(u,{query:h.query}),console.log(`[End] Updated session query for ${u}: ${h.query.substring(0,50)}...`)}catch(e){console.warn(`[End] Failed to update session query: ${e}`)}let y="deepagent(langgraph)"===m||"witty"===m||"witty(deepagents)"===m;"claude"===m?(r=function(e){let t=new Set,r=[];for(let n of e.interactions)for(let e of(d(n.responseMessage?.content,t,r),n.requestMessages??[]))e?.role==="assistant"&&d(e.content,t,r);return r}(c),0===r.length&&(console.log(`No Skill tool_use in Claude session for ${u}, falling back to model extraction...`),r=await f(u,c.interactions)),console.log(`Skills from Claude session for ${u}:`,r)):"opencode"===m?(r=function(e){let t=new Set,r=[],n=/^[a-zA-Z0-9_\-\.]+$/;for(let s of e.interactions)for(let e of s.toolCalls??s.responseMessage?.tool_calls??[]){let s=e?.function?.name??e?.name;if("skill"!==s)continue;let a=e?.function?.arguments??e?.arguments??"";if(a&&"string"==typeof a)try{let e="string"==typeof a?JSON.parse(a):a,s=e?.name??e?.skill_name??e?.skillName??e?.skill;if(null!=s&&String(s).trim()){let e=String(s).trim().replace(/^['"]+|['"]+$/g,"");n.test(e)&&!t.has(e)&&(t.add(e),r.push(e))}}catch{}}return r}(c),console.log(`Skills from OpenEncode session for ${u}:`,r)):y?(r=function(e){let t=new Set,r=[],n=/^[a-zA-Z0-9_\-\.]+$/;for(let s of e.interactions)for(let e of s.toolCalls??s.responseMessage?.tool_calls??[]){let s=e?.function?.name??e?.name;if("load_skill"!==s)continue;let a=e?.function?.arguments??e?.arguments??"";if(a&&"string"==typeof a)try{let e="string"==typeof a?JSON.parse(a):a,s=e?.skill_name??e?.skillName??e?.name;if(null!=s&&String(s).trim()){let e=String(s).trim().replace(/^['"]+|['"]+$/g,"");n.test(e)&&!t.has(e)&&(t.add(e),r.push(e))}}catch{}}return r}(c),console.log(`Skills from Witty session for ${u}:`,r)):(console.log(`Fetching skills via model for ${u}...`),r=await f(u,c.interactions),console.log(`Skills from model for ${u}:`,r));let w=r.length>0?r[0]:h.skill;if(console.log(`[End] Primary skill name for ${u}: ${w||"(none)"}`),w){let e=await a.db.findSkill(w,c.user||null);e&&e.versions&&e.versions.length>0?(i=e.versions[0].content,console.log(`[End] Skill definition found for ${w}, length: ${i?.length||0}`)):console.warn(`[End] Skill definition NOT FOUND for ${w}. Attribution will be skipped.`)}else console.warn("[End] No primarySkillName extracted. Attribution will be skipped.");let k={is_skill_correct:!1,is_answer_correct:!1,answer_score:0,judgment_reason:"Auto-eval skipped (missing query/result/skill)"};c.query&&(h.query=c.query),h.query&&(h.query=h.query.trim().replace(/^['"]+|['"]+$/g,"").trim()),w&&(h.skill=w);let _={skill_definition:i};try{let e=(await (0,n.readConfig)(c.user)).find(e=>e.query&&h.query&&e.query.trim()===h.query.trim());e&&(_.root_causes=e.root_causes,_.key_actions=e.key_actions,_.standard_answer_example=e.standard_answer)}catch(e){console.warn("Config load error",e)}if(h.query&&h.final_result){let e=await (0,s.judgeAnswer)(h.query,_,h.final_result,c.user);k={is_skill_correct:!1,is_answer_correct:e.is_correct,answer_score:e.score,judgment_reason:e.reason||"Judged by Evaluation Model"}}console.log(`[End] Calling analyzeFailures: skillName=${w||"none"}, skillDef=${i?"present":"absent"}, answerScore=${k.answer_score}`);let S=await (0,s.analyzeFailures)(c.interactions,w,i,k.answer_score,String(k.judgment_reason||""),h.query,h.final_result,c.user);console.log(`[End] analyzeFailures result: ${S.failures.length} failures, ${S.skill_issues?.length||0} skill issues`);let R={};try{R=await e.json()}catch(e){}let E=await (0,n.saveExecutionRecord)({task_id:u,framework:m,query:h.query,skills:r.length>0?r:w?[w]:void 0,skill:w,final_result:h.final_result,tokens:g,latency:p,timestamp:new Date(c.startTime).toISOString(),user:c.user,failures:S.failures,is_skill_correct:k.is_skill_correct,is_answer_correct:k.is_answer_correct,answer_score:k.answer_score,judgment_reason:k.judgment_reason,force_judgment:!1,...R}),v=l.NextResponse.json({status:"ok",summary:{task_id:u,framework:m,duration:p,tokens:g,skills:r,query_preview:h.query?.substring(0,50)},upload_result:E});return console.log(`[Proxy-End] ✅ Task completed: task_id=${u}, framework=${m}, score=${k.answer_score}, duration=${p.toFixed(1)}s`),v}catch(t){console.error("[Proxy-End] ❌ Error:",t);let e=t instanceof Error?t.message:"Internal server error";return l.NextResponse.json({error:"Failed to process end signal",details:e},{status:500})}}e.s(["POST",()=>g,"maxDuration",0,60]),r()}catch(e){r(e)}},!1),80362,e=>e.a(async(t,r)=>{try{var n=e.i(47909),s=e.i(74017),a=e.i(60476),o=e.i(59756),i=e.i(61916),l=e.i(74677),u=e.i(69741),c=e.i(16795),d=e.i(87718),p=e.i(95169),f=e.i(47587),g=e.i(66012),m=e.i(70101),h=e.i(26937),y=e.i(10372),w=e.i(93695);e.i(52474);var k=e.i(220),_=e.i(33075),S=t([_]);[_]=S.then?(await S)():S;let v=new n.AppRouteRouteModule({definition:{kind:s.RouteKind.APP_ROUTE,page:"/api/proxy/[taskId]/end/route",pathname:"/api/proxy/[taskId]/end",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/proxy/[taskId]/end/route.ts",nextConfigOutput:"standalone",userland:_}),{workAsyncStorage:x,workUnitAsyncStorage:A,serverHooks:C}=v;function R(){return(0,a.patchFetch)({workAsyncStorage:x,workUnitAsyncStorage:A})}async function E(e,t,r){v.isDev&&(0,o.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let n="/api/proxy/[taskId]/end/route";n=n.replace(/\/index$/,"")||"/";let a=await v.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:_,params:S,nextConfig:R,parsedUrl:E,isDraftMode:x,prerenderManifest:A,routerServerContext:C,isOnDemandRevalidate:$,revalidateOnlyGenerated:N,resolvedPathname:q,clientReferenceManifest:T,serverActionsManifest:b}=a,O=(0,u.normalizeAppPath)(n),P=!!(A.dynamicRoutes[O]||A.routes[q]),I=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&&!x){let e=!!A.routes[q],t=A.dynamicRoutes[O];if(t&&!1===t.fallback&&!e){if(R.experimental.adapterPath)return await I();throw new w.NoFallbackError}}let M=null;!P||v.isDev||x||(M=q,M="/index"===M?"/":M);let j=!0===v.isDev||!P,D=P&&!j;b&&T&&(0,l.setManifestsSingleton)({page:n,clientReferenceManifest:T,serverActionsManifest:b});let U=e.method||"GET",H=(0,i.getTracer)(),F=H.getActiveScopeSpan(),K={params:S,prerenderManifest:A,renderOpts:{experimental:{authInterrupts:!!R.experimental.authInterrupts},cacheComponents:!!R.cacheComponents,supportsDynamicResponse:j,incrementalCache:(0,o.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:R.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,s)=>v.onRequestError(e,t,n,s,C)},sharedContext:{buildId:_}},z=new c.NodeNextRequest(e),L=new c.NodeNextResponse(t),B=d.NextRequestAdapter.fromNodeNextRequest(z,(0,d.signalFromNodeResponse)(t));try{let a=async e=>v.handle(B,K).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=H.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=`${U} ${s}`;e.setAttributes({"next.route":s,"http.route":s,"next.span_name":t}),e.updateName(t)}else e.updateName(`${U} ${n}`)}),l=!!(0,o.getRequestMeta)(e,"minimalMode"),u=async o=>{var i,u;let c=async({previousCacheEntry:s})=>{try{if(!l&&$&&N&&!s)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await a(o);e.fetchMetrics=K.renderOpts.fetchMetrics;let i=K.renderOpts.pendingWaitUntil;i&&r.waitUntil&&(r.waitUntil(i),i=void 0);let u=K.renderOpts.collectedTags;if(!P)return await (0,g.sendResponse)(z,L,n,K.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,m.toNodeOutgoingHttpHeaders)(n.headers);u&&(t[y.NEXT_CACHE_TAGS_HEADER]=u),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==K.renderOpts.collectedRevalidate&&!(K.renderOpts.collectedRevalidate>=y.INFINITE_CACHE)&&K.renderOpts.collectedRevalidate,s=void 0===K.renderOpts.collectedExpire||K.renderOpts.collectedExpire>=y.INFINITE_CACHE?void 0:K.renderOpts.collectedExpire;return{value:{kind:k.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 v.onRequestError(e,t,{routerKind:"App Router",routePath:n,routeType:"route",revalidateReason:(0,f.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:$})},!1,C),t}},d=await v.handleResponse({req:e,nextConfig:R,cacheKey:M,routeKind:s.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:$,revalidateOnlyGenerated:N,responseGenerator:c,waitUntil:r.waitUntil,isMinimalMode:l});if(!P)return null;if((null==d||null==(i=d.value)?void 0:i.kind)!==k.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(u=d.value)?void 0:u.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});l||t.setHeader("x-nextjs-cache",$?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),x&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let p=(0,m.fromNodeOutgoingHttpHeaders)(d.value.headers);return l&&P||p.delete(y.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||p.get("Cache-Control")||p.set("Cache-Control",(0,h.getCacheControlHeader)(d.cacheControl)),await (0,g.sendResponse)(z,L,new Response(d.value.body,{headers:p,status:d.value.status||200})),null};F?await u(F):await H.withPropagatedContext(e.headers,()=>H.trace(p.BaseServerSpan.handleRequest,{spanName:`${U} ${n}`,kind:i.SpanKind.SERVER,attributes:{"http.method":U,"http.target":e.url}},u))}catch(t){if(t instanceof w.NoFallbackError||await v.onRequestError(e,t,{routerKind:"App Router",routePath:O,routeType:"route",revalidateReason:(0,f.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:$})},!1,C),P)throw t;return await (0,g.sendResponse)(z,L,new Response(null,{status:500})),null}}e.s(["handler",()=>E,"patchFetch",()=>R,"routeModule",()=>v,"serverHooks",()=>C,"workAsyncStorage",()=>x,"workUnitAsyncStorage",()=>A]),r()}catch(e){r(e)}},!1)];
|
|
1
|
+
module.exports=[91120,e=>{"use strict";e.s(["SKILLS_EXTRACT_PROMPT",0,"请给出该次对话中激活的skills,以列表的形式返回,列表中仅含skill name。"])},33075,e=>e.a(async(t,n)=>{try{var r=e.i(85765),s=e.i(31390),i=e.i(98043),o=e.i(75054),a=e.i(22965),l=e.i(89171),u=e.i(91120),c=t([r,s,i,o,a]);[r,s,i,o,a]=c.then?(await c)():c;let m=u.SKILLS_EXTRACT_PROMPT;function d(e,t,n){if(!e||!Array.isArray(e))return;let r=/^[a-zA-Z0-9_\-\.]+$/;for(let s of e){if(s?.type!=="tool_use"||s?.name!=="Skill")continue;let e=s.input,i=e?.skill??e?.skill_name??e?.skillName??e?.name;if(null==i||!String(i).trim())continue;let o=String(i).trim().replace(/^['"]+|['"]+$/g,"");if(r.test(o)&&!t.has(o)){t.add(o);let r=e?.version!=null?Number(e.version):null;n.push({name:o,version:null===r||isNaN(r)?null:r})}}}function p(e){return e?.content?"string"==typeof e.content?e.content:Array.isArray(e.content)?e.content.filter(e=>e?.type==="text"&&e?.text).map(e=>e.text).join("\n").trim():"":""}async function f(e,t){if(!t.length)return[];let n=[];for(let e of t){let t=e.requestMessages||[],r=[];for(let e of t){if("user"!==e.role)continue;let t=p(e);!t||t.startsWith("<system-reminder>")||t.includes("[SUGGESTION MODE:")||r.push(t)}r.length&&n.push({role:"user",content:r.join("\n\n")});let s=e.responseMessage;if(s?.content){let e=p(s);e&&n.push({role:"assistant",content:e})}}let r=[...n.length>30?n.slice(-30):n,{role:"user",content:m}],s=e.startsWith("claude")?"https://api.deepseek.com/anthropic":"https://api.deepseek.com",i=`${s}/v1/chat/completions`,o=await (0,a.getActiveConfig)(),l=o?.apiKey;if(!l)return console.warn("No model API Key configured in Settings, skipping skills extraction via model."),[];let u=new AbortController,c=setTimeout(()=>u.abort(),25e3);try{let e={model:s.includes("anthropic")?"claude-sonnet-4-20250514":"deepseek-chat",max_tokens:1024,stream:!1,messages:r},t=await fetch(i,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${l}`},body:JSON.stringify(e),signal:u.signal});if(clearTimeout(c),!t.ok){let e=await t.text();return console.error("Skills extraction error",t.status,e),[]}let n=await t.json(),o=n.choices?.[0]?.message?.content??n.content?.find(e=>"text"===e.type)?.text??n.content?.[0]?.text??"";return function(e){if(!e||"string"!=typeof e)return[];let t=e.trim().replace(/^```\w*\n?|```\s*$/g,"").trim(),n=[];try{let e=JSON.parse(t);Array.isArray(e)?n=e:e&&Array.isArray(e.skills)?n=e.skills:e&&"string"==typeof e.skills&&(n=[e.skills])}catch{n=t.split(/\n+/).map(e=>e.replace(/^[\s\-*•\d.)]+|[\s\-*•]+$/g,"").trim())}let r=n.filter(e=>null!=e&&""!==String(e).trim()).map(e=>String(e).trim().replace(/^['"]+|['"]+$/g,"")),s=/^[a-zA-Z0-9_\-\.]+$/;return r.filter(e=>s.test(e))}(String(o))}catch(e){return clearTimeout(c),(e instanceof Error?e.message:String(e)).includes("abort")?console.warn("fetchSkillsViaModel timeout, skipping skills"):console.error("fetchSkillsViaModel error",e),[]}}async function g(e,{params:t}){try{let n,a,u=(await t).taskId,c=await (0,o.endSession)(u);if(!c)return l.NextResponse.json({error:"Session not found or empty"},{status:404});let p=(Date.now()-c.startTime)/1e3,g=0;for(let e of c.interactions){let t=e.usage||e.responseMessage?.usage;if(t){let e=t;if("string"==typeof t)try{e=JSON.parse(t)}catch(e){console.warn(`[ProxyEnd] Failed to parse usage JSON for task ${u}:`,e)}let n=e,r=n.total_tokens||n.total||0;g+=Number(r)}}let m=u.split("-")[0]||"unknown";"claude"===m&&(m="claudecode");let y=await (0,s.analyzeSession)(c.interactions,c.user);if(!c.query&&y.query)try{await i.db.updateSession(u,{query:y.query}),console.log(`[End] Updated session query for ${u}: ${y.query.substring(0,50)}...`)}catch(e){console.warn(`[End] Failed to update session query: ${e}`)}let h="deepagent(langgraph)"===m||"witty"===m||"witty(deepagents)"===m;"claude"===m?(n=function(e){let t=new Set,n=[];for(let r of e.interactions)for(let e of(d(r.responseMessage?.content,t,n),r.requestMessages??[]))e?.role==="assistant"&&d(e.content,t,n);return n}(c),0===n.length&&(console.log(`No Skill tool_use in Claude session for ${u}, falling back to model extraction...`),n=(await f(u,c.interactions)).map(e=>({name:e,version:null}))),console.log(`Skills from Claude session for ${u}:`,JSON.stringify(n))):"opencode"===m?(n=function(e){let t=new Set,n=[],r=/^[a-zA-Z0-9_\-\.]+$/;for(let s of e.interactions)for(let e of s.toolCalls??s.responseMessage?.tool_calls??[]){let s=e?.function?.name??e?.name;if("skill"!==s)continue;let i=e?.function?.arguments??e?.arguments??"";if(i&&"string"==typeof i)try{let e="string"==typeof i?JSON.parse(i):i,s=e?.name??e?.skill_name??e?.skillName??e?.skill;if(null!=s&&String(s).trim()){let i=String(s).trim().replace(/^['"]+|['"]+$/g,"");if(r.test(i)&&!t.has(i)){t.add(i);let r=e?.version!=null?Number(e.version):null;n.push({name:i,version:null===r||isNaN(r)?null:r})}}}catch{}}return n}(c),console.log(`Skills from OpenEncode session for ${u}:`,JSON.stringify(n))):h?(n=function(e){let t=new Set,n=[],r=/^[a-zA-Z0-9_\-\.]+$/;for(let s of e.interactions)for(let e of s.toolCalls??s.responseMessage?.tool_calls??[]){let s=e?.function?.name??e?.name;if("load_skill"!==s)continue;let i=e?.function?.arguments??e?.arguments??"";if(i&&"string"==typeof i)try{let e="string"==typeof i?JSON.parse(i):i,s=e?.skill_name??e?.skillName??e?.name;if(null!=s&&String(s).trim()){let i=String(s).trim().replace(/^['"]+|['"]+$/g,"");if(r.test(i)&&!t.has(i)){t.add(i);let r=e?.version!=null?Number(e.version):null;n.push({name:i,version:null===r||isNaN(r)?null:r})}}}catch{}}return n}(c),console.log(`Skills from Witty session for ${u}:`,JSON.stringify(n))):(console.log(`Fetching skills via model for ${u}...`),n=(await f(u,c.interactions)).map(e=>({name:e,version:null})),console.log(`Skills from model for ${u}:`,JSON.stringify(n)));let k=n.length>0?n[0].name:y.skill;n.length>0&&n[0].version;let w=null;if(console.log(`[End] Primary skill name for ${u}: ${k||"(none)"}`),k){let e=await i.db.findSkill(k,c.user||null);if(e&&e.versions&&e.versions.length>0){let t=e.activeVersion||0,n=e.versions.find(e=>e.version===t);n&&n.content?(a=n.content,w=n.version,console.log(`[End] Skill definition found for ${k} v${w}, length: ${a?.length||0}`)):(a=e.versions[0].content,w=e.versions[0].version,console.log(`[End] Using fallback version ${w} for ${k}, length: ${a?.length||0}`))}else console.warn(`[End] Skill definition NOT FOUND for ${k}. Attribution will be skipped.`)}else console.warn("[End] No primarySkillName extracted. Attribution will be skipped.");let _={is_skill_correct:!1,is_answer_correct:!1,answer_score:0,judgment_reason:"Auto-eval skipped (missing query/result/skill)"};c.query&&(y.query=c.query),y.query&&(y.query=y.query.trim().replace(/^['"]+|['"]+$/g,"").trim()),k&&(y.skill=k);let v={skill_definition:a};try{let e=(await (0,r.readConfig)(c.user)).find(e=>e.query&&y.query&&e.query.trim()===y.query.trim());e&&(v.root_causes=e.root_causes,v.key_actions=e.key_actions,v.standard_answer_example=e.standard_answer)}catch(e){console.warn("Config load error",e)}if(y.query&&y.final_result){let e=await (0,s.judgeAnswer)(y.query,v,y.final_result,c.user);_={is_skill_correct:!1,is_answer_correct:e.is_correct,answer_score:e.score,judgment_reason:e.reason||"Judged by Evaluation Model"}}console.log(`[End] Calling analyzeFailures: skillName=${k||"none"}, skillDef=${a?"present":"absent"}, answerScore=${_.answer_score}`);let S=await (0,s.analyzeFailures)(c.interactions,k,a,_.answer_score,String(_.judgment_reason||""),y.query,y.final_result,c.user);console.log(`[End] analyzeFailures result: ${S.failures.length} failures, ${S.skill_issues?.length||0} skill issues`);let R={};try{R=await e.json()}catch(e){}let E=n.length>0?n.map(e=>e.name):k?[k]:void 0,x=await (0,r.saveExecutionRecord)({task_id:u,framework:m,query:y.query,skills:E,skill:k,skill_version:w,final_result:y.final_result,tokens:g,latency:p,timestamp:new Date(c.startTime).toISOString(),user:c.user,failures:S.failures,is_skill_correct:_.is_skill_correct,is_answer_correct:_.is_answer_correct,answer_score:_.answer_score,judgment_reason:_.judgment_reason,force_judgment:!1,...R}),N=l.NextResponse.json({status:"ok",summary:{task_id:u,framework:m,duration:p,tokens:g,skills:n,query_preview:y.query?.substring(0,50)},upload_result:x});return console.log(`[Proxy-End] ✅ Task completed: task_id=${u}, framework=${m}, score=${_.answer_score}, duration=${p.toFixed(1)}s`),N}catch(t){console.error("[Proxy-End] ❌ Error:",t);let e=t instanceof Error?t.message:"Internal server error";return l.NextResponse.json({error:"Failed to process end signal",details:e},{status:500})}}e.s(["POST",()=>g,"maxDuration",0,60]),n()}catch(e){n(e)}},!1),80362,e=>e.a(async(t,n)=>{try{var r=e.i(47909),s=e.i(74017),i=e.i(60476),o=e.i(59756),a=e.i(61916),l=e.i(74677),u=e.i(69741),c=e.i(16795),d=e.i(87718),p=e.i(95169),f=e.i(47587),g=e.i(66012),m=e.i(70101),y=e.i(26937),h=e.i(10372),k=e.i(93695);e.i(52474);var w=e.i(220),_=e.i(33075),v=t([_]);[_]=v.then?(await v)():v;let E=new r.AppRouteRouteModule({definition:{kind:s.RouteKind.APP_ROUTE,page:"/api/proxy/[taskId]/end/route",pathname:"/api/proxy/[taskId]/end",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/proxy/[taskId]/end/route.ts",nextConfigOutput:"standalone",userland:_}),{workAsyncStorage:x,workUnitAsyncStorage:N,serverHooks:A}=E;function S(){return(0,i.patchFetch)({workAsyncStorage:x,workUnitAsyncStorage:N})}async function R(e,t,n){E.isDev&&(0,o.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let r="/api/proxy/[taskId]/end/route";r=r.replace(/\/index$/,"")||"/";let i=await E.prepare(e,t,{srcPage:r,multiZoneDraftMode:!1});if(!i)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:_,params:v,nextConfig:S,parsedUrl:R,isDraftMode:x,prerenderManifest:N,routerServerContext:A,isOnDemandRevalidate:$,revalidateOnlyGenerated:C,resolvedPathname:b,clientReferenceManifest:q,serverActionsManifest:O}=i,T=(0,u.normalizeAppPath)(r),P=!!(N.dynamicRoutes[T]||N.routes[b]),I=async()=>((null==A?void 0:A.render404)?await A.render404(e,t,R,!1):t.end("This page could not be found"),null);if(P&&!x){let e=!!N.routes[b],t=N.dynamicRoutes[T];if(t&&!1===t.fallback&&!e){if(S.experimental.adapterPath)return await I();throw new k.NoFallbackError}}let M=null;!P||E.isDev||x||(M=b,M="/index"===M?"/":M);let j=!0===E.isDev||!P,U=P&&!j;O&&q&&(0,l.setManifestsSingleton)({page:r,clientReferenceManifest:q,serverActionsManifest:O});let D=e.method||"GET",F=(0,a.getTracer)(),H=F.getActiveScopeSpan(),K={params:v,prerenderManifest:N,renderOpts:{experimental:{authInterrupts:!!S.experimental.authInterrupts},cacheComponents:!!S.cacheComponents,supportsDynamicResponse:j,incrementalCache:(0,o.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:S.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,n,r,s)=>E.onRequestError(e,t,r,s,A)},sharedContext:{buildId:_}},J=new c.NodeNextRequest(e),z=new c.NodeNextResponse(t),L=d.NextRequestAdapter.fromNodeNextRequest(J,(0,d.signalFromNodeResponse)(t));try{let i=async e=>E.handle(L,K).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let n=F.getRootSpanAttributes();if(!n)return;if(n.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${n.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let s=n.get("next.route");if(s){let t=`${D} ${s}`;e.setAttributes({"next.route":s,"http.route":s,"next.span_name":t}),e.updateName(t)}else e.updateName(`${D} ${r}`)}),l=!!(0,o.getRequestMeta)(e,"minimalMode"),u=async o=>{var a,u;let c=async({previousCacheEntry:s})=>{try{if(!l&&$&&C&&!s)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let r=await i(o);e.fetchMetrics=K.renderOpts.fetchMetrics;let a=K.renderOpts.pendingWaitUntil;a&&n.waitUntil&&(n.waitUntil(a),a=void 0);let u=K.renderOpts.collectedTags;if(!P)return await (0,g.sendResponse)(J,z,r,K.renderOpts.pendingWaitUntil),null;{let e=await r.blob(),t=(0,m.toNodeOutgoingHttpHeaders)(r.headers);u&&(t[h.NEXT_CACHE_TAGS_HEADER]=u),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let n=void 0!==K.renderOpts.collectedRevalidate&&!(K.renderOpts.collectedRevalidate>=h.INFINITE_CACHE)&&K.renderOpts.collectedRevalidate,s=void 0===K.renderOpts.collectedExpire||K.renderOpts.collectedExpire>=h.INFINITE_CACHE?void 0:K.renderOpts.collectedExpire;return{value:{kind:w.CachedRouteKind.APP_ROUTE,status:r.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:n,expire:s}}}}catch(t){throw(null==s?void 0:s.isStale)&&await E.onRequestError(e,t,{routerKind:"App Router",routePath:r,routeType:"route",revalidateReason:(0,f.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:$})},!1,A),t}},d=await E.handleResponse({req:e,nextConfig:S,cacheKey:M,routeKind:s.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:N,isRoutePPREnabled:!1,isOnDemandRevalidate:$,revalidateOnlyGenerated:C,responseGenerator:c,waitUntil:n.waitUntil,isMinimalMode:l});if(!P)return null;if((null==d||null==(a=d.value)?void 0:a.kind)!==w.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(u=d.value)?void 0:u.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});l||t.setHeader("x-nextjs-cache",$?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),x&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let p=(0,m.fromNodeOutgoingHttpHeaders)(d.value.headers);return l&&P||p.delete(h.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||p.get("Cache-Control")||p.set("Cache-Control",(0,y.getCacheControlHeader)(d.cacheControl)),await (0,g.sendResponse)(J,z,new Response(d.value.body,{headers:p,status:d.value.status||200})),null};H?await u(H):await F.withPropagatedContext(e.headers,()=>F.trace(p.BaseServerSpan.handleRequest,{spanName:`${D} ${r}`,kind:a.SpanKind.SERVER,attributes:{"http.method":D,"http.target":e.url}},u))}catch(t){if(t instanceof k.NoFallbackError||await E.onRequestError(e,t,{routerKind:"App Router",routePath:T,routeType:"route",revalidateReason:(0,f.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:$})},!1,A),P)throw t;return await (0,g.sendResponse)(J,z,new Response(null,{status:500})),null}}e.s(["handler",()=>R,"patchFetch",()=>S,"routeModule",()=>E,"serverHooks",()=>A,"workAsyncStorage",()=>x,"workUnitAsyncStorage",()=>N]),n()}catch(e){n(e)}},!1)];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=_cd3d20ca._.js.map
|