@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
|
@@ -22,6 +22,9 @@ let uploadedSessions = new Map(); // sessionId -> uploaded message count
|
|
|
22
22
|
let sessionGraph = new Map(); // parent_id -> [child_ids]
|
|
23
23
|
let pendingChildSessions = new Map(); // child_id -> {parent_id, data}
|
|
24
24
|
let lastDeltaByPartField = new Map();
|
|
25
|
+
let sessionParentById = new Map();
|
|
26
|
+
let sessionAgentById = new Map();
|
|
27
|
+
let subagentTypeBySessionId = new Map();
|
|
25
28
|
|
|
26
29
|
const STORE_PATH = path.join(os.homedir(), '.opencode', 'witty_plugin_session_store.json');
|
|
27
30
|
|
|
@@ -131,6 +134,27 @@ function loadStore() {
|
|
|
131
134
|
}
|
|
132
135
|
}
|
|
133
136
|
}
|
|
137
|
+
|
|
138
|
+
if (data.sessionParentById) {
|
|
139
|
+
const diskParents = new Map(data.sessionParentById);
|
|
140
|
+
for (const [sid, pid] of diskParents.entries()) {
|
|
141
|
+
if (!sessionParentById.has(sid) && pid) sessionParentById.set(sid, pid);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
if (data.sessionAgentById) {
|
|
146
|
+
const diskAgents = new Map(data.sessionAgentById);
|
|
147
|
+
for (const [sid, agentName] of diskAgents.entries()) {
|
|
148
|
+
if (!sessionAgentById.has(sid) && agentName) sessionAgentById.set(sid, agentName);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
if (data.subagentTypeBySessionId) {
|
|
153
|
+
const diskTypes = new Map(data.subagentTypeBySessionId);
|
|
154
|
+
for (const [sid, t] of diskTypes.entries()) {
|
|
155
|
+
if (!subagentTypeBySessionId.has(sid) && t) subagentTypeBySessionId.set(sid, t);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
134
158
|
|
|
135
159
|
logDebug(`Loaded store (merged): ${sessionStore.size} messages`);
|
|
136
160
|
}
|
|
@@ -156,6 +180,9 @@ function saveStore() {
|
|
|
156
180
|
uploadedSessions: Array.from(uploadedSessions.entries()),
|
|
157
181
|
sessionGraph: Array.from(sessionGraph.entries()),
|
|
158
182
|
pendingChildSessions: Array.from(pendingChildSessions.entries()),
|
|
183
|
+
sessionParentById: Array.from(sessionParentById.entries()),
|
|
184
|
+
sessionAgentById: Array.from(sessionAgentById.entries()),
|
|
185
|
+
subagentTypeBySessionId: Array.from(subagentTypeBySessionId.entries()),
|
|
159
186
|
timestamp: new Date().toISOString()
|
|
160
187
|
};
|
|
161
188
|
fs.writeFileSync(STORE_PATH, JSON.stringify(data, null, 2), 'utf8');
|
|
@@ -290,7 +317,8 @@ function collectSessionMessages(sessionId) {
|
|
|
290
317
|
timeInfo: entry.info.time,
|
|
291
318
|
partBasedDuration: partBasedDuration,
|
|
292
319
|
modelID: entry.info.modelID,
|
|
293
|
-
model: entry.info.model
|
|
320
|
+
model: entry.info.model,
|
|
321
|
+
agent: entry.info.agent
|
|
294
322
|
});
|
|
295
323
|
}
|
|
296
324
|
}
|
|
@@ -315,32 +343,53 @@ function cleanupOrphanedSessions() {
|
|
|
315
343
|
}
|
|
316
344
|
}
|
|
317
345
|
|
|
318
|
-
function
|
|
319
|
-
|
|
320
|
-
const
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
346
|
+
function findRootSessionId(sessionId) {
|
|
347
|
+
let cur = sessionId;
|
|
348
|
+
const visited = new Set();
|
|
349
|
+
while (cur && cur.startsWith('ses') && !visited.has(cur)) {
|
|
350
|
+
visited.add(cur);
|
|
351
|
+
const p = sessionParentById.get(cur);
|
|
352
|
+
if (!p || !p.startsWith('ses')) break;
|
|
353
|
+
cur = p;
|
|
354
|
+
}
|
|
355
|
+
return cur;
|
|
356
|
+
}
|
|
357
|
+
|
|
358
|
+
function collectSessionWithDescendants(rootSessionId) {
|
|
359
|
+
const messages = collectSessionMessages(rootSessionId);
|
|
360
|
+
const mergedSessionIds = [];
|
|
361
|
+
const visited = new Set();
|
|
362
|
+
const stack = Array.isArray(sessionGraph.get(rootSessionId)) ? [...sessionGraph.get(rootSessionId)] : [];
|
|
363
|
+
|
|
364
|
+
while (stack.length > 0) {
|
|
365
|
+
const sid = stack.pop();
|
|
366
|
+
if (!sid || visited.has(sid)) continue;
|
|
367
|
+
visited.add(sid);
|
|
368
|
+
|
|
369
|
+
const childData = pendingChildSessions.get(sid);
|
|
326
370
|
if (childData && childData.messages) {
|
|
327
|
-
logDebug(`Merging ${childData.messages.length} messages from child ${
|
|
328
|
-
|
|
329
|
-
|
|
371
|
+
logDebug(`Merging ${childData.messages.length} messages from child ${sid}`);
|
|
372
|
+
const name =
|
|
373
|
+
sessionAgentById.get(sid) ||
|
|
374
|
+
subagentTypeBySessionId.get(sid) ||
|
|
375
|
+
null;
|
|
330
376
|
const subagentMessages = childData.messages.map(msg => {
|
|
331
377
|
if (msg.role === 'assistant') {
|
|
332
|
-
return { ...msg, role: 'subagent' };
|
|
378
|
+
return { ...msg, role: 'subagent', subagent_name: name || msg.agent, subagent_session_id: sid };
|
|
333
379
|
} else if (msg.role === 'user') {
|
|
334
380
|
return { ...msg, role: 'opencode' };
|
|
335
381
|
}
|
|
336
382
|
return msg;
|
|
337
383
|
});
|
|
338
|
-
|
|
339
384
|
messages.push(...subagentMessages);
|
|
385
|
+
mergedSessionIds.push(sid);
|
|
340
386
|
}
|
|
387
|
+
|
|
388
|
+
const next = sessionGraph.get(sid) || [];
|
|
389
|
+
for (const x of next) stack.push(x);
|
|
341
390
|
}
|
|
342
|
-
|
|
343
|
-
return { messages,
|
|
391
|
+
|
|
392
|
+
return { messages, mergedSessionIds };
|
|
344
393
|
}
|
|
345
394
|
|
|
346
395
|
export default async function WittySkillInsightPlugin(input) {
|
|
@@ -399,9 +448,26 @@ export default async function WittySkillInsightPlugin(input) {
|
|
|
399
448
|
|
|
400
449
|
// logDebug(`Event: ${event.type}`);
|
|
401
450
|
|
|
402
|
-
|
|
451
|
+
try {
|
|
403
452
|
// Attempt to find session ID in various places
|
|
404
|
-
|
|
453
|
+
let sessionId = event.session_id || event.properties?.sessionID || event.payload?.session_id;
|
|
454
|
+
let eagerFlush = false;
|
|
455
|
+
|
|
456
|
+
if (event.type === 'session.created' || event.type === 'session.updated') {
|
|
457
|
+
const sessionInfo = event.properties?.info || event.payload?.info;
|
|
458
|
+
if (sessionInfo && sessionInfo.id) {
|
|
459
|
+
const sid = sessionInfo.id;
|
|
460
|
+
const pid = sessionInfo.parentID || sessionInfo.parentId || sessionInfo.parent_id;
|
|
461
|
+
if (pid && pid.startsWith('ses')) {
|
|
462
|
+
sessionParentById.set(sid, pid);
|
|
463
|
+
if (!sessionGraph.has(pid)) sessionGraph.set(pid, []);
|
|
464
|
+
if (!sessionGraph.get(pid).includes(sid)) {
|
|
465
|
+
sessionGraph.get(pid).push(sid);
|
|
466
|
+
logDebug(`Session created: ${sid} is child of ${pid}`);
|
|
467
|
+
}
|
|
468
|
+
}
|
|
469
|
+
}
|
|
470
|
+
}
|
|
405
471
|
|
|
406
472
|
// 1. Accumulate Message Metadata
|
|
407
473
|
if (event.type === 'message.created' || event.type === 'message.updated') {
|
|
@@ -416,11 +482,22 @@ export default async function WittySkillInsightPlugin(input) {
|
|
|
416
482
|
});
|
|
417
483
|
}
|
|
418
484
|
const entry = sessionStore.get(msgId);
|
|
485
|
+
if (!sessionId) sessionId = info.sessionID || info.sessionId || entry.info?.sessionID;
|
|
419
486
|
if (sessionId) entry.info.sessionID = sessionId;
|
|
420
487
|
// Merge info
|
|
421
488
|
Object.assign(entry.info, info);
|
|
422
489
|
if (info.tool_calls || info.toolCalls) entry.info.tool_calls = info.tool_calls || info.toolCalls;
|
|
423
490
|
if (info.function_call || info.functionCall) entry.info.function_call = info.function_call || info.functionCall;
|
|
491
|
+
|
|
492
|
+
if (entry.info?.sessionID && entry.info?.agent) {
|
|
493
|
+
if (!sessionAgentById.has(entry.info.sessionID)) {
|
|
494
|
+
sessionAgentById.set(entry.info.sessionID, entry.info.agent);
|
|
495
|
+
}
|
|
496
|
+
}
|
|
497
|
+
|
|
498
|
+
if (entry.info?.role === 'assistant' && (entry.info.finish || entry.info.time?.completed != null)) {
|
|
499
|
+
eagerFlush = true;
|
|
500
|
+
}
|
|
424
501
|
}
|
|
425
502
|
}
|
|
426
503
|
|
|
@@ -441,6 +518,7 @@ export default async function WittySkillInsightPlugin(input) {
|
|
|
441
518
|
});
|
|
442
519
|
}
|
|
443
520
|
const entry = sessionStore.get(msgId);
|
|
521
|
+
if (!sessionId) sessionId = entry.info?.sessionID || part.sessionID || part.session_id;
|
|
444
522
|
if (!(entry.parts instanceof Map)) entry.parts = new Map(Array.isArray(entry.parts) ? entry.parts : []);
|
|
445
523
|
if (entry.toolParts && !(entry.toolParts instanceof Map)) entry.toolParts = new Map(Array.isArray(entry.toolParts) ? entry.toolParts : []);
|
|
446
524
|
|
|
@@ -515,21 +593,30 @@ export default async function WittySkillInsightPlugin(input) {
|
|
|
515
593
|
if (tp.tool === 'task' && tp.state.output) {
|
|
516
594
|
try {
|
|
517
595
|
const taskOutput = tp.state.output;
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
596
|
+
let subagentSessionId = null;
|
|
597
|
+
const m1 = taskOutput.match(/<task_metadata>[\s\S]*?session_id:\s*(ses_[A-Za-z0-9]+)[\s\S]*?<\/task_metadata>/i);
|
|
598
|
+
const m2 = taskOutput.match(/session_id:\s*(ses_[A-Za-z0-9]+)/i);
|
|
599
|
+
const m3 = taskOutput.match(/task\(\s*session_id\s*=\s*\"(ses_[A-Za-z0-9]+)\"/i);
|
|
600
|
+
const m4 = taskOutput.match(/task_id:\s*(\w+)/i);
|
|
601
|
+
const candidate = (m1 && m1[1]) || (m2 && m2[1]) || (m3 && m3[1]) || (m4 && m4[1]) || null;
|
|
602
|
+
if (candidate && String(candidate).startsWith('ses')) subagentSessionId = String(candidate);
|
|
603
|
+
|
|
604
|
+
if (subagentSessionId) {
|
|
605
|
+
const parentSessionId = entry.info.sessionID || sessionId;
|
|
606
|
+
if (parentSessionId) {
|
|
607
|
+
if (!sessionGraph.has(parentSessionId)) sessionGraph.set(parentSessionId, []);
|
|
608
|
+
if (!sessionGraph.get(parentSessionId).includes(subagentSessionId)) {
|
|
609
|
+
sessionGraph.get(parentSessionId).push(subagentSessionId);
|
|
610
|
+
logDebug(`Task detected: ${subagentSessionId} is child of ${parentSessionId}`);
|
|
532
611
|
}
|
|
612
|
+
if (!sessionParentById.has(subagentSessionId)) {
|
|
613
|
+
sessionParentById.set(subagentSessionId, parentSessionId);
|
|
614
|
+
}
|
|
615
|
+
}
|
|
616
|
+
|
|
617
|
+
const t = tp.state?.input?.subagent_type;
|
|
618
|
+
if (t && !subagentTypeBySessionId.has(subagentSessionId)) {
|
|
619
|
+
subagentTypeBySessionId.set(subagentSessionId, t);
|
|
533
620
|
}
|
|
534
621
|
}
|
|
535
622
|
} catch (e) {
|
|
@@ -566,6 +653,7 @@ export default async function WittySkillInsightPlugin(input) {
|
|
|
566
653
|
}
|
|
567
654
|
|
|
568
655
|
const entry = sessionStore.get(msgId);
|
|
656
|
+
if (!sessionId) sessionId = entry.info?.sessionID;
|
|
569
657
|
if (!(entry.parts instanceof Map)) entry.parts = new Map(Array.isArray(entry.parts) ? entry.parts : []);
|
|
570
658
|
|
|
571
659
|
const dedupeKey = `${msgId}:${partId}:${field}`;
|
|
@@ -606,7 +694,7 @@ export default async function WittySkillInsightPlugin(input) {
|
|
|
606
694
|
}
|
|
607
695
|
|
|
608
696
|
// 3. Upload on Session Idle
|
|
609
|
-
if (event.type === "session.idle") {
|
|
697
|
+
if (event.type === "session.idle" || eagerFlush) {
|
|
610
698
|
if (!sessionId || !sessionId.startsWith("ses")) return;
|
|
611
699
|
|
|
612
700
|
// Reload store from disk to pick up any data written by
|
|
@@ -614,15 +702,18 @@ export default async function WittySkillInsightPlugin(input) {
|
|
|
614
702
|
// from within the opencode interactive interface).
|
|
615
703
|
loadStore();
|
|
616
704
|
|
|
617
|
-
// Only treat a session as "child" when it was detected via Task tool
|
|
618
|
-
// (i.e. registered in sessionGraph). Do NOT rely on event.parentID because
|
|
619
|
-
// nested `opencode run ...` can also set parentID and we want both sessions uploaded.
|
|
620
705
|
let foundParentId = null;
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
706
|
+
const directParent = sessionParentById.get(sessionId);
|
|
707
|
+
if (directParent && Array.isArray(sessionGraph.get(directParent)) && sessionGraph.get(directParent).includes(sessionId)) {
|
|
708
|
+
foundParentId = directParent;
|
|
709
|
+
logDebug(`Found parent ${foundParentId} for for child ${sessionId} from sessionParentById`);
|
|
710
|
+
} else {
|
|
711
|
+
for (const [potentialParent, childIds] of sessionGraph.entries()) {
|
|
712
|
+
if (childIds.includes(sessionId)) {
|
|
713
|
+
foundParentId = potentialParent;
|
|
714
|
+
logDebug(`Found parent ${foundParentId} for for child ${sessionId} from sessionGraph`);
|
|
715
|
+
break;
|
|
716
|
+
}
|
|
626
717
|
}
|
|
627
718
|
}
|
|
628
719
|
|
|
@@ -647,14 +738,16 @@ export default async function WittySkillInsightPlugin(input) {
|
|
|
647
738
|
});
|
|
648
739
|
logDebug(`Stored ${childMessages.length} messages for child session ${sessionId}`);
|
|
649
740
|
}
|
|
650
|
-
|
|
651
|
-
|
|
741
|
+
|
|
742
|
+
const rootId = findRootSessionId(foundParentId) || foundParentId;
|
|
743
|
+
if (!rootId || rootId === sessionId) return;
|
|
744
|
+
sessionId = rootId;
|
|
652
745
|
}
|
|
653
746
|
|
|
654
747
|
logDebug(`Session Idle: ${sessionId}. Messages in store: ${sessionStore.size}`);
|
|
655
748
|
|
|
656
749
|
// This is a parent session, collect all messages including children
|
|
657
|
-
const { messages,
|
|
750
|
+
const { messages, mergedSessionIds } = collectSessionWithDescendants(sessionId);
|
|
658
751
|
|
|
659
752
|
if (messages.length === 0) {
|
|
660
753
|
logDebug(`No messages found for session ${sessionId}, skipping upload.`);
|
|
@@ -662,11 +755,10 @@ export default async function WittySkillInsightPlugin(input) {
|
|
|
662
755
|
}
|
|
663
756
|
|
|
664
757
|
// Cleanup child session data after successful upload
|
|
665
|
-
for (const childId of
|
|
758
|
+
for (const childId of mergedSessionIds) {
|
|
666
759
|
pendingChildSessions.delete(childId);
|
|
667
760
|
logDebug(`Cleaned up child session ${childId}`);
|
|
668
761
|
}
|
|
669
|
-
sessionGraph.delete(sessionId);
|
|
670
762
|
|
|
671
763
|
// Cleanup orphaned child sessions (older than 1 hour)
|
|
672
764
|
cleanupOrphanedSessions();
|
|
@@ -688,6 +780,7 @@ export default async function WittySkillInsightPlugin(input) {
|
|
|
688
780
|
let totalOutputTokens = 0;
|
|
689
781
|
let totalCacheReadInputTokens = 0;
|
|
690
782
|
let totalCacheCreationInputTokens = 0;
|
|
783
|
+
let totalReasoningTokens = 0;
|
|
691
784
|
let llmCallCount = 0;
|
|
692
785
|
let toolCallCount = 0;
|
|
693
786
|
let toolCallErrorCount = 0;
|
|
@@ -695,11 +788,14 @@ export default async function WittySkillInsightPlugin(input) {
|
|
|
695
788
|
|
|
696
789
|
for (const m of messages) {
|
|
697
790
|
if (m.role === 'user' && !firstUserQuery) firstUserQuery = m.content;
|
|
791
|
+
const isCompletion = m.role === 'assistant' || m.role === 'subagent';
|
|
698
792
|
if (m.role === 'assistant') {
|
|
699
|
-
llmCallCount++;
|
|
700
793
|
lastAssistantContent = m.content;
|
|
701
794
|
if (m.model) model = m.model;
|
|
702
795
|
else if (m.modelID) model = m.modelID;
|
|
796
|
+
}
|
|
797
|
+
if (isCompletion) {
|
|
798
|
+
llmCallCount++;
|
|
703
799
|
|
|
704
800
|
// Token logic
|
|
705
801
|
const u = m.usage;
|
|
@@ -717,11 +813,18 @@ export default async function WittySkillInsightPlugin(input) {
|
|
|
717
813
|
const cacheReadToks = Number(u.cache?.read || u.cache_read_input_tokens || 0);
|
|
718
814
|
const cacheCreateToks = Number(u.cache?.write || u.cache_creation_input_tokens || 0);
|
|
719
815
|
const inputToks = Number(u.input_tokens || u.input || 0); // base input only (excludes cache)
|
|
720
|
-
const
|
|
816
|
+
const rawOutputToks = Number(u.output_tokens || u.output || 0);
|
|
817
|
+
const reasoningToks = Number(u.reasoning || u.reasoning_tokens || u.completion_tokens_details?.reasoning_tokens || 0);
|
|
818
|
+
// OpenCode reports reasoning separately from output; DeepSeek API includes it in output.
|
|
819
|
+
// Normalize: output_tokens should always include reasoning tokens.
|
|
820
|
+
const outputToks = (u.reasoning !== undefined && reasoningToks > 0 && rawOutputToks < reasoningToks)
|
|
821
|
+
? rawOutputToks + reasoningToks
|
|
822
|
+
: rawOutputToks;
|
|
721
823
|
totalInputTokens += inputToks;
|
|
722
824
|
totalOutputTokens += outputToks;
|
|
723
825
|
totalCacheReadInputTokens += cacheReadToks;
|
|
724
826
|
totalCacheCreationInputTokens += cacheCreateToks;
|
|
827
|
+
totalReasoningTokens += reasoningToks;
|
|
725
828
|
const callTotal = inputToks + cacheReadToks + cacheCreateToks + outputToks;
|
|
726
829
|
if (callTotal > maxSingleCallTokens) maxSingleCallTokens = callTotal;
|
|
727
830
|
}
|
|
@@ -767,6 +870,7 @@ export default async function WittySkillInsightPlugin(input) {
|
|
|
767
870
|
cache_read_input_tokens: totalCacheReadInputTokens,
|
|
768
871
|
cache_creation_input_tokens: totalCacheCreationInputTokens,
|
|
769
872
|
max_single_call_tokens: maxSingleCallTokens,
|
|
873
|
+
reasoning_tokens: totalReasoningTokens,
|
|
770
874
|
final_result: lastAssistantContent,
|
|
771
875
|
interactions: messages.map(m => ({
|
|
772
876
|
role: m.role,
|
|
@@ -775,7 +879,10 @@ export default async function WittySkillInsightPlugin(input) {
|
|
|
775
879
|
function_call: m.function_call || m.functionCall,
|
|
776
880
|
usage: m.usage,
|
|
777
881
|
timestamp: m.timestamp,
|
|
778
|
-
timeInfo: m.timeInfo
|
|
882
|
+
timeInfo: m.timeInfo,
|
|
883
|
+
agent: m.agent,
|
|
884
|
+
subagent_name: m.subagent_name,
|
|
885
|
+
subagent_session_id: m.subagent_session_id
|
|
779
886
|
})),
|
|
780
887
|
timestamp: new Date().toISOString()
|
|
781
888
|
};
|
|
@@ -911,8 +1018,9 @@ try {
|
|
|
911
1018
|
}
|
|
912
1019
|
} catch (err) {
|
|
913
1020
|
logDebug(`Plugin Exception: ${err.message}`);
|
|
1021
|
+
} finally {
|
|
1022
|
+
saveStore();
|
|
914
1023
|
}
|
|
915
|
-
saveStore();
|
|
916
1024
|
}
|
|
917
1025
|
};
|
|
918
1026
|
}
|