@witty-ai/skill-insight 0.4.0-beta → 0.6.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.
Files changed (347) hide show
  1. package/.env.example +55 -5
  2. package/.next/standalone/.next/BUILD_ID +1 -1
  3. package/.next/standalone/.next/app-path-routes-manifest.json +5 -0
  4. package/.next/standalone/.next/build-manifest.json +2 -2
  5. package/.next/standalone/.next/prerender-manifest.json +3 -3
  6. package/.next/standalone/.next/routes-manifest.json +30 -0
  7. package/.next/standalone/.next/server/app/_global-error.html +2 -2
  8. package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
  9. package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  10. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  11. package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  12. package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  13. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  14. package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
  15. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  16. package/.next/standalone/.next/server/app/_not-found.html +1 -1
  17. package/.next/standalone/.next/server/app/_not-found.rsc +3 -3
  18. package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +3 -3
  19. package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  20. package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +3 -3
  21. package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  22. package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  23. package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  24. package/.next/standalone/.next/server/app/api/auth/organization/route/app-paths-manifest.json +3 -0
  25. package/.next/standalone/.next/server/app/api/auth/organization/route/build-manifest.json +11 -0
  26. package/.next/standalone/.next/server/app/api/auth/organization/route/server-reference-manifest.json +4 -0
  27. package/.next/standalone/.next/server/app/api/auth/organization/route.js +7 -0
  28. package/.next/standalone/.next/server/app/api/auth/organization/route.js.map +5 -0
  29. package/.next/standalone/.next/server/app/api/auth/organization/route.js.nft.json +1 -0
  30. package/.next/standalone/.next/server/app/api/auth/organization/route_client-reference-manifest.js +2 -0
  31. package/.next/standalone/.next/server/app/api/config/create/route.js +2 -2
  32. package/.next/standalone/.next/server/app/api/config/create/route.js.nft.json +1 -1
  33. package/.next/standalone/.next/server/app/api/config/route.js +4 -4
  34. package/.next/standalone/.next/server/app/api/config/route.js.nft.json +1 -1
  35. package/.next/standalone/.next/server/app/api/data/route.js +3 -3
  36. package/.next/standalone/.next/server/app/api/data/route.js.nft.json +1 -1
  37. package/.next/standalone/.next/server/app/api/executions/[executionId]/analyze-match/route.js +1 -1
  38. package/.next/standalone/.next/server/app/api/executions/[executionId]/analyze-match/route.js.nft.json +1 -1
  39. package/.next/standalone/.next/server/app/api/otel/v1/logs/route.js +3 -3
  40. package/.next/standalone/.next/server/app/api/otel/v1/logs/route.js.nft.json +1 -1
  41. package/.next/standalone/.next/server/app/api/otel/v1/traces/route.js +2 -2
  42. package/.next/standalone/.next/server/app/api/otel/v1/traces/route.js.nft.json +1 -1
  43. package/.next/standalone/.next/server/app/api/proxy/[taskId]/[...path]/route.js +1 -1
  44. package/.next/standalone/.next/server/app/api/proxy/[taskId]/[...path]/route.js.nft.json +1 -1
  45. package/.next/standalone/.next/server/app/api/proxy/[taskId]/end/route.js +5 -5
  46. package/.next/standalone/.next/server/app/api/proxy/[taskId]/end/route.js.nft.json +1 -1
  47. package/.next/standalone/.next/server/app/api/rejudge/route.js +3 -3
  48. package/.next/standalone/.next/server/app/api/rejudge/route.js.nft.json +1 -1
  49. package/.next/standalone/.next/server/app/api/session/route.js +3 -3
  50. package/.next/standalone/.next/server/app/api/session/route.js.nft.json +1 -1
  51. package/.next/standalone/.next/server/app/api/settings/route.js +1 -1
  52. package/.next/standalone/.next/server/app/api/settings/route.js.nft.json +1 -1
  53. package/.next/standalone/.next/server/app/api/setup/opencode-commands/si-optimizer/route/app-paths-manifest.json +3 -0
  54. package/.next/standalone/.next/server/app/api/setup/opencode-commands/si-optimizer/route/build-manifest.json +11 -0
  55. package/.next/standalone/.next/server/app/api/setup/opencode-commands/si-optimizer/route/server-reference-manifest.json +4 -0
  56. package/.next/standalone/.next/server/app/api/setup/opencode-commands/si-optimizer/route.js +6 -0
  57. package/.next/standalone/.next/server/app/api/setup/opencode-commands/si-optimizer/route.js.map +5 -0
  58. package/.next/standalone/.next/server/app/api/setup/opencode-commands/si-optimizer/route.js.nft.json +1 -0
  59. package/.next/standalone/.next/server/app/api/setup/opencode-commands/si-optimizer/route_client-reference-manifest.js +2 -0
  60. package/.next/standalone/.next/server/app/api/setup/opencode-tui/route/app-paths-manifest.json +3 -0
  61. package/.next/standalone/.next/server/app/api/setup/opencode-tui/route/build-manifest.json +11 -0
  62. package/.next/standalone/.next/server/app/api/setup/opencode-tui/route/server-reference-manifest.json +4 -0
  63. package/.next/standalone/.next/server/app/api/setup/opencode-tui/route.js +6 -0
  64. package/.next/standalone/.next/server/app/api/setup/opencode-tui/route.js.map +5 -0
  65. package/.next/standalone/.next/server/app/api/setup/opencode-tui/route.js.nft.json +1 -0
  66. package/.next/standalone/.next/server/app/api/setup/opencode-tui/route_client-reference-manifest.js +2 -0
  67. package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/download/route.js.nft.json +1 -1
  68. package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/parse-flow/route.js +1 -1
  69. package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/parse-flow/route.js.nft.json +1 -1
  70. package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/route.js +3 -2
  71. package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/route.js.nft.json +1 -1
  72. package/.next/standalone/.next/server/app/api/skills/automation/import/route.js.nft.json +1 -1
  73. package/.next/standalone/.next/server/app/api/skills/logs/route.js +2 -2
  74. package/.next/standalone/.next/server/app/api/skills/logs/route.js.nft.json +1 -1
  75. package/.next/standalone/.next/server/app/api/skills/route.js +3 -2
  76. package/.next/standalone/.next/server/app/api/skills/route.js.nft.json +1 -1
  77. package/.next/standalone/.next/server/app/api/skills/sync-enterprise/route/app-paths-manifest.json +3 -0
  78. package/.next/standalone/.next/server/app/api/skills/sync-enterprise/route/build-manifest.json +11 -0
  79. package/.next/standalone/.next/server/app/api/skills/sync-enterprise/route/server-reference-manifest.json +4 -0
  80. package/.next/standalone/.next/server/app/api/skills/sync-enterprise/route.js +8 -0
  81. package/.next/standalone/.next/server/app/api/skills/sync-enterprise/route.js.map +5 -0
  82. package/.next/standalone/.next/server/app/api/skills/sync-enterprise/route.js.nft.json +1 -0
  83. package/.next/standalone/.next/server/app/api/skills/sync-enterprise/route_client-reference-manifest.js +2 -0
  84. package/.next/standalone/.next/server/app/api/task-stats/route/app-paths-manifest.json +3 -0
  85. package/.next/standalone/.next/server/app/api/task-stats/route/build-manifest.json +11 -0
  86. package/.next/standalone/.next/server/app/api/task-stats/route/server-reference-manifest.json +4 -0
  87. package/.next/standalone/.next/server/app/api/task-stats/route.js +11 -0
  88. package/.next/standalone/.next/server/app/api/task-stats/route.js.map +5 -0
  89. package/.next/standalone/.next/server/app/api/task-stats/route.js.nft.json +1 -0
  90. package/.next/standalone/.next/server/app/api/task-stats/route_client-reference-manifest.js +2 -0
  91. package/.next/standalone/.next/server/app/api/upload/route.js +2 -2
  92. package/.next/standalone/.next/server/app/api/upload/route.js.nft.json +1 -1
  93. package/.next/standalone/.next/server/app/details/page/react-loadable-manifest.json +2 -2
  94. package/.next/standalone/.next/server/app/details/page.js.nft.json +1 -1
  95. package/.next/standalone/.next/server/app/details/page_client-reference-manifest.js +1 -1
  96. package/.next/standalone/.next/server/app/details.html +1 -1
  97. package/.next/standalone/.next/server/app/details.rsc +4 -4
  98. package/.next/standalone/.next/server/app/details.segments/_full.segment.rsc +4 -4
  99. package/.next/standalone/.next/server/app/details.segments/_head.segment.rsc +1 -1
  100. package/.next/standalone/.next/server/app/details.segments/_index.segment.rsc +3 -3
  101. package/.next/standalone/.next/server/app/details.segments/_tree.segment.rsc +2 -2
  102. package/.next/standalone/.next/server/app/details.segments/details/__PAGE__.segment.rsc +2 -2
  103. package/.next/standalone/.next/server/app/details.segments/details.segment.rsc +1 -1
  104. package/.next/standalone/.next/server/app/index.html +1 -1
  105. package/.next/standalone/.next/server/app/index.rsc +4 -4
  106. package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  107. package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +4 -4
  108. package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
  109. package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +3 -3
  110. package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  111. package/.next/standalone/.next/server/app/login/page.js.nft.json +1 -1
  112. package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
  113. package/.next/standalone/.next/server/app/login.html +1 -1
  114. package/.next/standalone/.next/server/app/login.rsc +4 -4
  115. package/.next/standalone/.next/server/app/login.segments/_full.segment.rsc +4 -4
  116. package/.next/standalone/.next/server/app/login.segments/_head.segment.rsc +1 -1
  117. package/.next/standalone/.next/server/app/login.segments/_index.segment.rsc +3 -3
  118. package/.next/standalone/.next/server/app/login.segments/_tree.segment.rsc +2 -2
  119. package/.next/standalone/.next/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  120. package/.next/standalone/.next/server/app/login.segments/login.segment.rsc +1 -1
  121. package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
  122. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  123. package/.next/standalone/.next/server/app/skills/page.js.nft.json +1 -1
  124. package/.next/standalone/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  125. package/.next/standalone/.next/server/app/skills.html +1 -1
  126. package/.next/standalone/.next/server/app/skills.rsc +4 -4
  127. package/.next/standalone/.next/server/app/skills.segments/_full.segment.rsc +4 -4
  128. package/.next/standalone/.next/server/app/skills.segments/_head.segment.rsc +1 -1
  129. package/.next/standalone/.next/server/app/skills.segments/_index.segment.rsc +3 -3
  130. package/.next/standalone/.next/server/app/skills.segments/_tree.segment.rsc +2 -2
  131. package/.next/standalone/.next/server/app/skills.segments/skills/__PAGE__.segment.rsc +2 -2
  132. package/.next/standalone/.next/server/app/skills.segments/skills.segment.rsc +1 -1
  133. package/.next/standalone/.next/server/app-paths-manifest.json +5 -0
  134. package/.next/standalone/.next/server/chunks/[root-of-the-server]__02ddba88._.js +3 -0
  135. package/.next/standalone/.next/server/chunks/[root-of-the-server]__15dbd1f2._.js +3 -0
  136. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1ce5e3b8._.js +3 -0
  137. package/.next/standalone/.next/server/chunks/[root-of-the-server]__4a6d443b._.js +3 -0
  138. package/.next/standalone/.next/server/chunks/[root-of-the-server]__53775b48._.js +3 -0
  139. package/.next/standalone/.next/server/chunks/[root-of-the-server]__5444db55._.js +3 -0
  140. package/.next/standalone/.next/server/chunks/[root-of-the-server]__6923eecf._.js +3 -0
  141. package/.next/standalone/.next/server/chunks/[root-of-the-server]__6d8053e2._.js +1 -1
  142. package/.next/standalone/.next/server/chunks/[root-of-the-server]__8402dfd1._.js +3 -0
  143. package/.next/standalone/.next/server/chunks/[root-of-the-server]__863cf6de._.js +1 -1
  144. package/.next/standalone/.next/server/chunks/[root-of-the-server]__89404730._.js +3 -0
  145. package/.next/standalone/.next/server/chunks/[root-of-the-server]__98b3de5e._.js +3 -0
  146. package/.next/standalone/.next/server/chunks/[root-of-the-server]__a4d3d791._.js +3 -0
  147. package/.next/standalone/.next/server/chunks/[root-of-the-server]__aa5c8858._.js +2 -2
  148. package/.next/standalone/.next/server/chunks/[root-of-the-server]__bd91659b._.js +3 -0
  149. package/.next/standalone/.next/server/chunks/[root-of-the-server]__c200214a._.js +3 -0
  150. package/.next/standalone/.next/server/chunks/[root-of-the-server]__c20da96a._.js +3 -0
  151. package/.next/standalone/.next/server/chunks/[root-of-the-server]__d7fab946._.js +3 -0
  152. package/.next/standalone/.next/server/chunks/[root-of-the-server]__d8c1808b._.js +1 -1
  153. package/.next/standalone/.next/server/chunks/[root-of-the-server]__d9b9fecc._.js +3 -0
  154. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ddf63a21._.js +3 -0
  155. package/.next/standalone/.next/server/chunks/[root-of-the-server]__f9e66e02._.js +3 -0
  156. package/.next/standalone/.next/server/chunks/_3e8b4d8c._.js +1 -1
  157. package/.next/standalone/.next/server/chunks/_41a98bd8._.js +1 -1
  158. package/.next/standalone/.next/server/chunks/_4c806e26._.js +3 -0
  159. package/.next/standalone/.next/server/chunks/_cd3d20ca._.js +1 -1
  160. package/.next/standalone/.next/server/chunks/_ddffef3e._.js +1 -1
  161. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_auth_organization_route_actions_f58710b7.js +3 -0
  162. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_setup_opencode-tui_route_actions_fc8ae29f.js +3 -0
  163. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_skills_sync-enterprise_route_actions_0ca45899.js +3 -0
  164. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_task-stats_route_actions_983505cd.js +3 -0
  165. package/.next/standalone/.next/server/chunks/ce889_server_app_api_setup_opencode-commands_si-optimizer_route_actions_fcde30ef.js +3 -0
  166. package/.next/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_c33286ed.js +47 -43
  167. package/.next/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_f42faeee.js +1 -1
  168. package/.next/standalone/.next/server/chunks/src_98433cb8._.js +175 -0
  169. package/.next/standalone/.next/server/chunks/src_lib_12408140._.js +1 -1
  170. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__5d576168._.js → [root-of-the-server]__40353d98._.js} +1 -1
  171. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__89851212._.js → [root-of-the-server]__480fcd92._.js} +1 -1
  172. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__28978655._.js → [root-of-the-server]__48f8fbcb._.js} +1 -1
  173. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__a5ef0b61._.js → [root-of-the-server]__49921b2a._.js} +1 -1
  174. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__317833f9._.js → [root-of-the-server]__593be3d6._.js} +1 -1
  175. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__ca101543._.js → [root-of-the-server]__5e9ff641._.js} +1 -1
  176. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__90641614._.js → [root-of-the-server]__66cc6ff2._.js} +1 -1
  177. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__cda1e286._.js → [root-of-the-server]__9889bdc8._.js} +1 -1
  178. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__42ba97b6._.js → [root-of-the-server]__9905ca7a._.js} +2 -2
  179. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__9ab7cc4a._.js +3 -0
  180. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__7bb97139._.js → [root-of-the-server]__9d6b7d48._.js} +1 -1
  181. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__6b8b9bb9._.js → [root-of-the-server]__b8edc8c6._.js} +1 -1
  182. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__b9972e88._.js → [root-of-the-server]__d691ecb0._.js} +1 -1
  183. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__52851239._.js → [root-of-the-server]__e5ddfd15._.js} +1 -1
  184. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__9630dedf._.js → [root-of-the-server]__f72f330e._.js} +1 -1
  185. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__99ab66d7._.js → [root-of-the-server]__f843e085._.js} +1 -1
  186. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__d424fa04._.js → [root-of-the-server]__fd69d276._.js} +2 -2
  187. package/.next/standalone/.next/server/chunks/ssr/{_7688d7cd._.js → _049876f0._.js} +2 -2
  188. package/.next/standalone/.next/server/chunks/ssr/{_72a74a0c._.js → _09546b95._.js} +2 -2
  189. package/.next/standalone/.next/server/chunks/ssr/_8f5379ab._.js +1 -1
  190. package/.next/standalone/.next/server/chunks/ssr/{node_modules_cf1f3d2c._.js → _b121f1ae._.js} +2 -2
  191. package/.next/standalone/.next/server/chunks/ssr/_c8c8c083._.js +2 -2
  192. package/.next/standalone/.next/server/chunks/ssr/_fd46f439._.js +2 -1
  193. package/.next/standalone/.next/server/chunks/ssr/{node_modules_f2653232._.js → node_modules_039c6a11._.js} +1 -1
  194. package/.next/standalone/.next/server/chunks/ssr/{node_modules_da87f0e3._.js → node_modules_0d3530cd._.js} +2 -2
  195. package/.next/standalone/.next/server/chunks/ssr/{node_modules_afb1ecef._.js → node_modules_0e883565._.js} +1 -1
  196. package/.next/standalone/.next/server/chunks/ssr/{node_modules_8d9e56b7._.js → node_modules_11dbf165._.js} +2 -2
  197. package/.next/standalone/.next/server/chunks/ssr/{node_modules_76d6c533._.js → node_modules_2041c122._.js} +2 -2
  198. package/.next/standalone/.next/server/chunks/ssr/{node_modules_b007145b._.js → node_modules_235267bb._.js} +1 -1
  199. package/.next/standalone/.next/server/chunks/ssr/{node_modules_11d81adf._.js → node_modules_25dfb0ba._.js} +2 -2
  200. package/.next/standalone/.next/server/chunks/ssr/{node_modules_4ea9b27b._.js → node_modules_2b12c669._.js} +2 -2
  201. package/.next/standalone/.next/server/chunks/ssr/{node_modules_cc19e85c._.js → node_modules_32996880._.js} +2 -2
  202. package/.next/standalone/.next/server/chunks/ssr/{node_modules_62621b34._.js → node_modules_35885fe9._.js} +2 -2
  203. package/.next/standalone/.next/server/chunks/ssr/{node_modules_ed4150ad._.js → node_modules_38a95353._.js} +2 -2
  204. package/.next/standalone/.next/server/chunks/ssr/{node_modules_f596a14c._.js → node_modules_3a317c51._.js} +1 -1
  205. package/.next/standalone/.next/server/chunks/ssr/{node_modules_fddab329._.js → node_modules_44966ab2._.js} +1 -1
  206. package/.next/standalone/.next/server/chunks/ssr/{node_modules_e272ac31._.js → node_modules_53af751a._.js} +2 -2
  207. package/.next/standalone/.next/server/chunks/ssr/{node_modules_abf4f826._.js → node_modules_5f539891._.js} +1 -1
  208. package/.next/standalone/.next/server/chunks/ssr/{node_modules_86b6ffa4._.js → node_modules_60402210._.js} +1 -1
  209. package/.next/standalone/.next/server/chunks/ssr/{node_modules_3769cd60._.js → node_modules_60eccfb6._.js} +1 -1
  210. package/.next/standalone/.next/server/chunks/ssr/{node_modules_fdf808cf._.js → node_modules_632c098c._.js} +1 -1
  211. package/.next/standalone/.next/server/chunks/ssr/{node_modules_442994dc._.js → node_modules_6c42f75c._.js} +1 -1
  212. package/.next/standalone/.next/server/chunks/ssr/{node_modules_5b6dbbc3._.js → node_modules_6fbe276d._.js} +2 -2
  213. package/.next/standalone/.next/server/chunks/ssr/{node_modules_6716e25d._.js → node_modules_740e9d59._.js} +2 -2
  214. package/.next/standalone/.next/server/chunks/ssr/{node_modules_ed1f1845._.js → node_modules_7a3d551c._.js} +1 -1
  215. package/.next/standalone/.next/server/chunks/ssr/{node_modules_4f41f172._.js → node_modules_861cb9cf._.js} +2 -2
  216. package/.next/standalone/.next/server/chunks/ssr/{node_modules_2aaea4ea._.js → node_modules_8a892761._.js} +1 -1
  217. package/.next/standalone/.next/server/chunks/ssr/{node_modules_3964c298._.js → node_modules_a5a4946e._.js} +1 -1
  218. package/.next/standalone/.next/server/chunks/ssr/{node_modules_3d9afa91._.js → node_modules_a712c937._.js} +1 -1
  219. package/.next/standalone/.next/server/chunks/ssr/{node_modules_330b9e3c._.js → node_modules_a8c276dd._.js} +2 -2
  220. package/.next/standalone/.next/server/chunks/ssr/{node_modules_ad69a9e4._.js → node_modules_acc9d529._.js} +1 -1
  221. package/.next/standalone/.next/server/chunks/ssr/{node_modules_8301968d._.js → node_modules_ad07ab39._.js} +1 -1
  222. package/.next/standalone/.next/server/chunks/ssr/{node_modules_1d88c7cc._.js → node_modules_b38efa22._.js} +1 -1
  223. package/.next/standalone/.next/server/chunks/ssr/{node_modules_e20e8c2a._.js → node_modules_b4ef036d._.js} +2 -2
  224. package/.next/standalone/.next/server/chunks/ssr/{node_modules_2e206c58._.js → node_modules_b6bad701._.js} +2 -2
  225. package/.next/standalone/.next/server/chunks/ssr/{node_modules_c90fa812._.js → node_modules_b9810024._.js} +1 -1
  226. package/.next/standalone/.next/server/chunks/ssr/{node_modules_db8af6e3._.js → node_modules_b9ad808d._.js} +1 -1
  227. package/.next/standalone/.next/server/chunks/ssr/{node_modules_7287189a._.js → node_modules_bc287d9f._.js} +1 -1
  228. package/.next/standalone/.next/server/chunks/ssr/{node_modules_2e38bc5c._.js → node_modules_c6469d93._.js} +1 -1
  229. package/.next/standalone/.next/server/chunks/ssr/{node_modules_c657890f._.js → node_modules_c704e802._.js} +1 -1
  230. package/.next/standalone/.next/server/chunks/ssr/{node_modules_b8803ba6._.js → node_modules_cda46cfc._.js} +2 -2
  231. package/.next/standalone/.next/server/chunks/ssr/{node_modules_aa6da06c._.js → node_modules_cf171d0c._.js} +1 -1
  232. package/.next/standalone/.next/server/chunks/ssr/node_modules_dagre-d3-es_src_dagre_index_3582f3d0.js +1 -1
  233. package/.next/standalone/.next/server/chunks/ssr/{node_modules_2d9e03d1._.js → node_modules_e8927fc2._.js} +1 -1
  234. package/.next/standalone/.next/server/chunks/ssr/node_modules_lodash-es_a1341fea._.js +1 -1
  235. package/.next/standalone/.next/server/chunks/ssr/node_modules_lodash-es_e1de6ed8._.js +1 -1
  236. package/.next/standalone/.next/server/chunks/ssr/src_app_login_page_tsx_72f58654._.js +1 -1
  237. package/.next/standalone/.next/server/pages/404.html +1 -1
  238. package/.next/standalone/.next/server/pages/500.html +2 -2
  239. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  240. package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
  241. package/.next/standalone/.next/static/chunks/1e782a49beaf489c.js +1 -0
  242. package/.next/standalone/.next/static/chunks/{01eddf501c574a44.js → 4ee8dc41c9f15b7b.js} +1 -1
  243. package/.next/standalone/.next/static/chunks/67bd1a5de2195779.js +1 -0
  244. package/.next/standalone/.next/static/chunks/{737b8cff3c6a4e30.js → 9445b2873a413c58.js} +1 -1
  245. package/.next/standalone/.next/static/chunks/94dfb15df65ef720.js +2 -0
  246. package/.next/standalone/.next/static/chunks/9d1c5c3494fa53de.js +109 -0
  247. package/.next/standalone/.next/static/chunks/c6bd2818656b1f20.css +1 -0
  248. package/.next/standalone/.next/static/chunks/{e09d9ee16fe90255.js → cd0fde15dc0dfcca.js} +1 -1
  249. package/.next/standalone/.next/static/chunks/{6d12c79948c7e0ac.js → dc59a07a8f327b40.js} +1 -1
  250. package/.next/standalone/.next/static/chunks/{ff6357067630b168.js → e13d208072a48316.js} +1 -1
  251. package/.next/standalone/node_modules/.prisma/client/edge.js +6 -3
  252. package/.next/standalone/node_modules/.prisma/client/index-browser.js +3 -0
  253. package/.next/standalone/node_modules/.prisma/client/index.js +6 -3
  254. package/.next/standalone/node_modules/.prisma/client/package.json +1 -1
  255. package/.next/standalone/node_modules/.prisma/client/schema.prisma +12 -9
  256. package/.next/standalone/node_modules/.prisma/client/wasm.js +3 -0
  257. package/.next/standalone/node_modules/adm-zip/util/constants.js +142 -0
  258. package/.next/standalone/node_modules/adm-zip/util/decoder.js +5 -0
  259. package/.next/standalone/node_modules/adm-zip/util/errors.js +63 -0
  260. package/.next/standalone/node_modules/adm-zip/util/fattr.js +76 -0
  261. package/.next/standalone/node_modules/adm-zip/util/index.js +5 -0
  262. package/.next/standalone/node_modules/adm-zip/util/utils.js +339 -0
  263. package/.next/standalone/package.json +6 -2
  264. package/.next/standalone/prisma/schema.prisma +3 -0
  265. package/.next/standalone/scripts/opencode_plugin.ts +279 -40
  266. package/.next/standalone/scripts/opencode_tui_plugin.tsx +308 -0
  267. package/.next/standalone/scripts/si-optimizer.md +5 -0
  268. package/.next/static/chunks/1e782a49beaf489c.js +1 -0
  269. package/.next/static/chunks/{01eddf501c574a44.js → 4ee8dc41c9f15b7b.js} +1 -1
  270. package/.next/static/chunks/67bd1a5de2195779.js +1 -0
  271. package/.next/static/chunks/{737b8cff3c6a4e30.js → 9445b2873a413c58.js} +1 -1
  272. package/.next/static/chunks/94dfb15df65ef720.js +2 -0
  273. package/.next/static/chunks/9d1c5c3494fa53de.js +109 -0
  274. package/.next/static/chunks/c6bd2818656b1f20.css +1 -0
  275. package/.next/static/chunks/{e09d9ee16fe90255.js → cd0fde15dc0dfcca.js} +1 -1
  276. package/.next/static/chunks/{6d12c79948c7e0ac.js → dc59a07a8f327b40.js} +1 -1
  277. package/.next/static/chunks/{ff6357067630b168.js → e13d208072a48316.js} +1 -1
  278. package/package.json +6 -2
  279. package/prisma/schema.prisma +3 -0
  280. package/scripts/activate_telemetry.sh +44 -1
  281. package/scripts/opencode_plugin.ts +279 -40
  282. package/scripts/opencode_tui_plugin.tsx +308 -0
  283. package/scripts/si-optimizer.md +5 -0
  284. package/scripts/utils.js +0 -1
  285. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0fceba52._.js +0 -3
  286. package/.next/standalone/.next/server/chunks/[root-of-the-server]__13132848._.js +0 -3
  287. package/.next/standalone/.next/server/chunks/[root-of-the-server]__30769f6e._.js +0 -3
  288. package/.next/standalone/.next/server/chunks/[root-of-the-server]__426bc4ab._.js +0 -3
  289. package/.next/standalone/.next/server/chunks/[root-of-the-server]__610d08bc._.js +0 -3
  290. package/.next/standalone/.next/server/chunks/[root-of-the-server]__75e3674c._.js +0 -3
  291. package/.next/standalone/.next/server/chunks/[root-of-the-server]__761462f8._.js +0 -3
  292. package/.next/standalone/.next/server/chunks/[root-of-the-server]__9aa700a4._.js +0 -3
  293. package/.next/standalone/.next/server/chunks/[root-of-the-server]__b7ad2649._.js +0 -3
  294. package/.next/standalone/.next/server/chunks/[root-of-the-server]__c00180dd._.js +0 -3
  295. package/.next/standalone/.next/server/chunks/[root-of-the-server]__e2f0baee._.js +0 -3
  296. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ed8f9b78._.js +0 -3
  297. package/.next/standalone/.next/server/chunks/[root-of-the-server]__fc05579d._.js +0 -3
  298. package/.next/standalone/.next/server/chunks/src_497d2ad2._.js +0 -175
  299. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__082c32a2._.js +0 -3
  300. package/.next/standalone/.next/static/chunks/222a937a6c859036.js +0 -1
  301. package/.next/standalone/.next/static/chunks/2a3dd49367e2c198.js +0 -1
  302. package/.next/standalone/.next/static/chunks/3e33f7adc10a38d3.js +0 -109
  303. package/.next/standalone/.next/static/chunks/428e6cf64b115e9d.css +0 -1
  304. package/.next/standalone/.next/static/chunks/62129f27f303a5ba.js +0 -1
  305. package/.next/standalone/LICENSE +0 -21
  306. package/.next/standalone/bin/cli.js +0 -106
  307. package/.next/standalone/custom-models.example.json +0 -21
  308. package/.next/standalone/eslint.config.mjs +0 -18
  309. package/.next/standalone/features/feature-skill-used-jump-link/design/2026-03-18-skill-used-jump-link-design.md +0 -126
  310. package/.next/standalone/features/feature-skill-used-jump-link/feature.json +0 -32
  311. package/.next/standalone/features/feature-skill-used-jump-link/issue.md +0 -32
  312. package/.next/standalone/features/feature-skill-used-jump-link/plans/2026-03-18-skill-used-jump-link.md +0 -528
  313. package/.next/standalone/next.config.ts +0 -29
  314. package/.next/standalone/scripts/activate_telemetry.sh +0 -159
  315. package/.next/standalone/scripts/create_migration_package.sh +0 -124
  316. package/.next/standalone/scripts/fix_models.js +0 -66
  317. package/.next/standalone/scripts/init_opengauss.py +0 -284
  318. package/.next/standalone/scripts/install.js +0 -273
  319. package/.next/standalone/scripts/logs.js +0 -38
  320. package/.next/standalone/scripts/otel_data/logs.jsonl +0 -12
  321. package/.next/standalone/scripts/otel_data/metrics.jsonl +0 -21
  322. package/.next/standalone/scripts/otel_data/raw_requests.jsonl +0 -8
  323. package/.next/standalone/scripts/otel_data/raw_requests.jsonl.bak +0 -6
  324. package/.next/standalone/scripts/otel_receiver.py +0 -580
  325. package/.next/standalone/scripts/postinstall.js +0 -192
  326. package/.next/standalone/scripts/publish-npm.js +0 -401
  327. package/.next/standalone/scripts/restart.js +0 -26
  328. package/.next/standalone/scripts/restart.sh +0 -138
  329. package/.next/standalone/scripts/restart_dev.sh +0 -132
  330. package/.next/standalone/scripts/start.js +0 -291
  331. package/.next/standalone/scripts/status.js +0 -41
  332. package/.next/standalone/scripts/stop.js +0 -90
  333. package/.next/standalone/scripts/sync_skills.js +0 -216
  334. package/.next/standalone/scripts/utils.js +0 -235
  335. package/.next/standalone/tests/setup_skill_optimizer.sh +0 -118
  336. package/.next/standalone/tsconfig.json +0 -34
  337. package/.next/static/chunks/222a937a6c859036.js +0 -1
  338. package/.next/static/chunks/2a3dd49367e2c198.js +0 -1
  339. package/.next/static/chunks/3e33f7adc10a38d3.js +0 -109
  340. package/.next/static/chunks/428e6cf64b115e9d.css +0 -1
  341. package/.next/static/chunks/62129f27f303a5ba.js +0 -1
  342. /package/.next/standalone/.next/static/{Eytv_Fh4x2HPaupjXiAYj → 0uvhCJooDO_gMNlKOaHwB}/_buildManifest.js +0 -0
  343. /package/.next/standalone/.next/static/{Eytv_Fh4x2HPaupjXiAYj → 0uvhCJooDO_gMNlKOaHwB}/_clientMiddlewareManifest.json +0 -0
  344. /package/.next/standalone/.next/static/{Eytv_Fh4x2HPaupjXiAYj → 0uvhCJooDO_gMNlKOaHwB}/_ssgManifest.js +0 -0
  345. /package/.next/static/{Eytv_Fh4x2HPaupjXiAYj → 0uvhCJooDO_gMNlKOaHwB}/_buildManifest.js +0 -0
  346. /package/.next/static/{Eytv_Fh4x2HPaupjXiAYj → 0uvhCJooDO_gMNlKOaHwB}/_clientMiddlewareManifest.json +0 -0
  347. /package/.next/static/{Eytv_Fh4x2HPaupjXiAYj → 0uvhCJooDO_gMNlKOaHwB}/_ssgManifest.js +0 -0
@@ -0,0 +1,308 @@
1
+ // @ts-nocheck
2
+ /** @jsxImportSource @opentui/solid */
3
+ import { Show, createEffect, createMemo, createSignal } from "solid-js"
4
+ import fs from "fs"
5
+ import os from "os"
6
+ import path from "path"
7
+ import { spawn } from "child_process"
8
+
9
+ function parseBool(input: unknown, defaultValue: boolean) {
10
+ if (input === undefined || input === null) return defaultValue
11
+ const value = String(input).trim().toLowerCase()
12
+ if (!value) return defaultValue
13
+ if (value === "1" || value === "true" || value === "yes" || value === "y" || value === "on") return true
14
+ if (value === "0" || value === "false" || value === "no" || value === "n" || value === "off") return false
15
+ return defaultValue
16
+ }
17
+
18
+ function loadSkillInsightConfig() {
19
+ const config: Record<string, string> = {}
20
+ try {
21
+ const envPath = path.join(os.homedir(), ".skill-insight", ".env")
22
+ if (fs.existsSync(envPath)) {
23
+ const content = fs.readFileSync(envPath, "utf8")
24
+ for (const line of content.split("\n")) {
25
+ const match = line.match(/^\s*([\w_]+)\s*=\s*(.*)?\s*$/)
26
+ if (!match) continue
27
+ const key = match[1]
28
+ const raw = (match[2] || "").trim()
29
+ const value = raw.replace(/^['"](.*)['"]$/, "$1")
30
+ config[key] = value
31
+ }
32
+ }
33
+ } catch {}
34
+
35
+ const apiKey = config["SKILL_INSIGHT_API_KEY"] || process.env.SKILL_INSIGHT_API_KEY
36
+ const host = config["SKILL_INSIGHT_HOST"] || process.env.SKILL_INSIGHT_HOST
37
+ const showTaskStats = parseBool(
38
+ config["SKILL_INSIGHT_SHOW_TASK_STATS"] ?? process.env.SKILL_INSIGHT_SHOW_TASK_STATS,
39
+ true,
40
+ )
41
+
42
+ return { apiKey, host, showTaskStats }
43
+ }
44
+
45
+ function normalizeHost(host: string) {
46
+ const raw = host.trim()
47
+ if (!raw) return null
48
+ try {
49
+ const urlStr = raw.match(/^https?:\/\//) ? raw : `http://${raw}`
50
+ const u = new URL(urlStr)
51
+ return u
52
+ } catch {
53
+ return null
54
+ }
55
+ }
56
+
57
+ function formatLatencySeconds(input: unknown) {
58
+ const n = typeof input === "number" ? input : Number(input)
59
+ if (!Number.isFinite(n) || n < 0) return "-"
60
+ if (n < 10) return `${n.toFixed(2)}s`
61
+ if (n < 60) return `${n.toFixed(1)}s`
62
+ return `${Math.round(n)}s`
63
+ }
64
+
65
+ function formatNumber(input: unknown) {
66
+ const n = typeof input === "number" ? input : Number(input)
67
+ if (!Number.isFinite(n)) return "-"
68
+ return new Intl.NumberFormat("en-US").format(n)
69
+ }
70
+
71
+ async function sleep(ms: number) {
72
+ await new Promise((r) => setTimeout(r, ms))
73
+ }
74
+
75
+ async function fetchTaskStats(base: URL, taskId: string, apiKey?: string) {
76
+ const url = new URL("/api/task-stats", base)
77
+ url.searchParams.set("taskId", taskId)
78
+ url.searchParams.set("framework", "opencode")
79
+ const headers: Record<string, string> = {}
80
+ if (apiKey) headers["x-witty-api-key"] = apiKey
81
+
82
+ const res = await fetch(url, { headers })
83
+ if (!res.ok) return null
84
+ const json = (await res.json()) as any
85
+ if (!json || json.found !== true) return null
86
+ return json
87
+ }
88
+
89
+ function buildDetailsUrl(base: URL, taskId: string) {
90
+ const u = new URL("/details", base)
91
+ u.searchParams.set("framework", "opencode")
92
+ u.searchParams.set("expandTaskId", taskId)
93
+ return u.toString()
94
+ }
95
+
96
+ function openUrl(url: string) {
97
+ try {
98
+ if (process.platform === "darwin") {
99
+ spawn("open", [url], { stdio: "ignore", detached: true }).unref()
100
+ return true
101
+ }
102
+ if (process.platform === "win32") {
103
+ spawn("cmd", ["/c", "start", "", url], { stdio: "ignore", detached: true, windowsHide: true }).unref()
104
+ return true
105
+ }
106
+ spawn("xdg-open", [url], { stdio: "ignore", detached: true }).unref()
107
+ return true
108
+ } catch {
109
+ return false
110
+ }
111
+ }
112
+
113
+ function formatStatsMessage(stats: any, detailsUrl: string) {
114
+ const latency = formatLatencySeconds(stats?.latency)
115
+ const tokens = formatNumber(stats?.tokens)
116
+ const inputTokens = formatNumber(stats?.input_tokens)
117
+ const outputTokens = formatNumber(stats?.output_tokens)
118
+ const toolCalls = formatNumber(stats?.tool_call_count)
119
+ const llmCalls = formatNumber(stats?.llm_call_count)
120
+ return [
121
+ `时延: ${latency}`,
122
+ `Token: ${tokens} (入: ${inputTokens}, 出: ${outputTokens})`,
123
+ `LLM: ${llmCalls} | 工具: ${toolCalls}`,
124
+ `详情: ${detailsUrl}`,
125
+ ].join("\n")
126
+ }
127
+
128
+ function StatsFooter(props: {
129
+ api: any
130
+ sessionId: string
131
+ getEntry: (sid: string) => any
132
+ ensure: (sid: string) => void
133
+ config: { host?: string; apiKey?: string }
134
+ }) {
135
+ const theme = () => props.api.theme.current
136
+
137
+ createEffect(() => {
138
+ if (!props.sessionId) return
139
+ props.ensure(props.sessionId)
140
+ })
141
+
142
+ const entry = createMemo(() => {
143
+ if (!props.sessionId) return null
144
+ return props.getEntry(props.sessionId)
145
+ })
146
+
147
+ const title = createMemo(() => {
148
+ return "Skill Insight"
149
+ })
150
+
151
+ return (
152
+ <box gap={1}>
153
+ <Show when={!props.config.host}>
154
+ <box
155
+ backgroundColor={theme().backgroundElement}
156
+ paddingTop={1}
157
+ paddingBottom={1}
158
+ paddingLeft={2}
159
+ paddingRight={2}
160
+ flexDirection="column"
161
+ gap={0}
162
+ >
163
+ <text fg={theme().text}>
164
+ <b>Skill Insight</b>
165
+ </text>
166
+ <text fg={theme().textMuted}>未配置 SKILL_INSIGHT_HOST</text>
167
+ <text fg={theme().textMuted}>请在 ~/.skill-insight/.env 设置 SKILL_INSIGHT_HOST</text>
168
+ </box>
169
+ </Show>
170
+ <Show when={entry()}>
171
+ {(x: any) => (
172
+ <box
173
+ backgroundColor={theme().backgroundElement}
174
+ paddingTop={1}
175
+ paddingBottom={1}
176
+ paddingLeft={2}
177
+ paddingRight={2}
178
+ flexDirection="column"
179
+ gap={0}
180
+ >
181
+ <box flexDirection="row" justifyContent="space-between">
182
+ <text fg={theme().text}>
183
+ <b>{title()}</b>
184
+ </text>
185
+ </box>
186
+ <Show when={x().state === "loading"}>
187
+ <text fg={theme().textMuted}>等待任务执行完毕</text>
188
+ </Show>
189
+ <Show when={x().state === "error"}>
190
+ <text fg={theme().textMuted}>统计暂不可用</text>
191
+ </Show>
192
+ <Show when={x().state === "ready"}>
193
+ <text fg={theme().textMuted}>时延: {formatLatencySeconds(x().stats?.latency)}</text>
194
+ <text fg={theme().textMuted}>
195
+ Token: {formatNumber(x().stats?.tokens)} (入: {formatNumber(x().stats?.input_tokens)}, 出:{" "}
196
+ {formatNumber(x().stats?.output_tokens)})
197
+ </text>
198
+ <text fg={theme().textMuted}>
199
+ LLM: {formatNumber(x().stats?.llm_call_count)} | 工具: {formatNumber(x().stats?.tool_call_count)}
200
+ </text>
201
+ <text
202
+ fg={theme().primary}
203
+ onMouseDown={() => {
204
+ const ok = openUrl(x().detailsUrl)
205
+ if (!ok) props.api.ui.toast({ message: "打开失败(可复制链接到浏览器)", variant: "error" })
206
+ }}
207
+ >
208
+ <b>查看详情 ↗</b> <span style={{ fg: theme().textMuted }}>(点击打开)</span>
209
+ </text>
210
+ </Show>
211
+ </box>
212
+ )}
213
+ </Show>
214
+ <Show when={!entry()}>
215
+ <text fg={theme().textMuted}>Skill Insight:暂无任务统计</text>
216
+ </Show>
217
+ </box>
218
+ )
219
+ }
220
+
221
+ const tui = async (api: any) => {
222
+ const [entries, setEntries] = createSignal({})
223
+
224
+ const getEntry = (sid: string) => entries()[sid]
225
+ const setEntry = (sid: string, value: any) => {
226
+ const prev = entries()
227
+ setEntries({ ...prev, [sid]: value })
228
+ }
229
+
230
+ const ensure = async (sessionId: string, opts?: { force?: boolean }) => {
231
+ const existing = getEntry(sessionId)
232
+ if (existing?.state === "loading") return
233
+ if (!opts?.force && existing?.state === "ready") return
234
+
235
+ const cfg = loadSkillInsightConfig()
236
+ if (!cfg.showTaskStats) return
237
+ if (!cfg.host) return
238
+ const base = normalizeHost(cfg.host)
239
+ if (!base) return
240
+
241
+ const detailsUrl = buildDetailsUrl(base, sessionId)
242
+ setEntry(sessionId, {
243
+ sessionId,
244
+ state: "loading",
245
+ detailsUrl,
246
+ updatedAt: Date.now(),
247
+ prevTimestamp: existing?.stats?.timestamp,
248
+ })
249
+
250
+ let stats: any = null
251
+ const maxAttempts = 8
252
+ for (let i = 0; i < maxAttempts; i++) {
253
+ stats = await fetchTaskStats(base, sessionId, cfg.apiKey)
254
+ if (stats) {
255
+ if (opts?.force && existing?.stats?.timestamp && stats.timestamp) {
256
+ const prevMs = Date.parse(existing.stats.timestamp)
257
+ const curMs = Date.parse(stats.timestamp)
258
+ if (Number.isFinite(prevMs) && Number.isFinite(curMs) && curMs <= prevMs) {
259
+ stats = null
260
+ }
261
+ }
262
+ }
263
+ if (stats) break
264
+ await sleep(i < 2 ? 800 : 1200)
265
+ }
266
+
267
+ if (!stats) {
268
+ setEntry(sessionId, { sessionId, state: "error", detailsUrl, updatedAt: Date.now() })
269
+ return
270
+ }
271
+
272
+ setEntry(sessionId, { sessionId, state: "ready", detailsUrl, stats, updatedAt: Date.now() })
273
+ }
274
+
275
+ api.slots.register({
276
+ order: 80,
277
+ slots: {
278
+ sidebar_content(_ctx: any, props: any) {
279
+ const cfg = loadSkillInsightConfig()
280
+ if (!cfg.showTaskStats) return null
281
+ const sid = props?.session_id
282
+ if (!sid || typeof sid !== "string") return null
283
+ return <StatsFooter api={api} sessionId={sid} getEntry={getEntry} ensure={ensure} config={cfg} />
284
+ },
285
+ },
286
+ })
287
+
288
+ api.event.on("session.idle", async (evt: any) => {
289
+ const sessionId =
290
+ evt?.properties?.sessionId ||
291
+ evt?.properties?.sessionID ||
292
+ evt?.properties?.session_id ||
293
+ evt?.session_id ||
294
+ evt?.payload?.session_id
295
+
296
+ if (!sessionId || typeof sessionId !== "string") return
297
+ if (!sessionId.startsWith("ses")) return
298
+ api.kv.set("skill_insight_latest_session_id", sessionId)
299
+ ensure(sessionId, { force: true })
300
+ })
301
+ }
302
+
303
+ const plugin = {
304
+ id: "witty-skill-insight-task-stats",
305
+ tui,
306
+ }
307
+
308
+ export default plugin
@@ -0,0 +1,5 @@
1
+ ---
2
+ description: 优化技能或执行迭代优化
3
+ ---
4
+
5
+ !`if [ -n "$1" ]; then echo "使用skill-optimizer技能优化$1这个skill"; else echo "基于当前目录下的iter-config.yaml配置,使用iterative-optimizer技能进行迭代优化"; fi`
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,18566,(e,t,r)=>{t.exports=e.r(76562)},9165,e=>{"use strict";async function t(e,t){return fetch(""+e,t)}function r(e){return""+e}e.s(["apiFetch",()=>t,"getApiUrl",()=>r])},94690,e=>{"use strict";var t=e.i(43476),r=e.i(18566),i=e.i(71645),o=e.i(9165);let a=(0,i.createContext)(void 0);function u({children:e}){let[u,s]=(0,i.useState)(null),[n,l]=(0,i.useState)(null),[c,h]=(0,i.useState)(!1),[g,d]=(0,i.useState)(!1),[m,f]=(0,i.useState)(!1),v=(0,r.useRouter)(),p=(0,r.usePathname)();return(0,i.useEffect)(()=>{(0,o.apiFetch)("/api/config/status?check_org=true").then(e=>e.json()).then(e=>h(e.org_mode||!1)).catch(()=>{}).finally(()=>f(!0))},[]),(0,i.useEffect)(()=>{if(!m)return;let e=localStorage.getItem("user_id"),t=localStorage.getItem("api_key");e?(s(e),t&&l(t)):c&&!g?(d(!0),(0,o.apiFetch)("/api/auth/organization").then(async e=>{let t=await e.json().catch(()=>({}));if(!e.ok)throw Error(t?.error||`Organization auth failed: ${e.status}`);return t}).then(e=>{let t=e?.displayName||e?.username,r=e?.apiKey;if(!t)throw Error("Organization auth response missing username");localStorage.setItem("user_id",t),r&&localStorage.setItem("api_key",r),s(t),r&&l(r)}).catch(e=>console.error("Organization auth failed:",e)).finally(()=>d(!1))):"/login"!==p&&v.push("/login")},[p,v,c,g,m]),(0,t.jsx)(a.Provider,{value:{user:u,apiKey:n,login:(e,t)=>{localStorage.setItem("user_id",e),s(e),t&&(localStorage.setItem("api_key",t),l(t)),v.replace("/")},logout:()=>{localStorage.removeItem("user_id"),localStorage.removeItem("api_key"),s(null),l(null),v.push("/login")}},children:e})}function s(){let e=(0,i.useContext)(a);if(void 0===e)throw Error("useAuth must be used within an AuthProvider");return e}e.s(["AuthProvider",()=>u,"useAuth",()=>s])},97703,e=>{"use strict";var t=e.i(43476),r=e.i(71645);let i=(0,r.createContext)(void 0);function o({children:e}){let[o,a]=(0,r.useState)("light"),[u,s]=(0,r.useState)(!1);return((0,r.useEffect)(()=>{s(!0);let e=localStorage.getItem("skill-insight-theme");e&&a(e)},[]),(0,r.useEffect)(()=>{u&&(localStorage.setItem("skill-insight-theme",o),document.documentElement.setAttribute("data-theme",o))},[o,u]),u)?(0,t.jsx)(i.Provider,{value:{theme:o,toggleTheme:()=>{a(e=>"light"===e?"dark":"light")},isDark:"dark"===o},children:e}):null}function a(){let e=(0,r.useContext)(i);if(void 0===e)throw Error("useTheme must be used within a ThemeProvider");return e}e.s(["ThemeProvider",()=>o,"useTheme",()=>a])},1661,e=>{"use strict";var t=e.i(43476),r=e.i(94690),i=e.i(97703);function o({children:e}){return(0,t.jsx)(i.ThemeProvider,{children:(0,t.jsx)(r.AuthProvider,{children:e})})}e.s(["Providers",()=>o])}]);
@@ -1 +1 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,9665,e=>{"use strict";var s=e.i(43476),t=e.i(18566),n=e.i(71645);function c({skillId:e,skillName:n,version:c,user:a}){let r=(0,t.useRouter)();return e||n?(0,s.jsxs)("span",{onClick:s=>{s.preventDefault();let t=new URLSearchParams;e?t.set("id",e):(t.set("name",n),a&&t.set("user",a)),null!=c&&t.set("version",String(c)),r.push(`/skills?${t.toString()}`)},style:{color:"#60a5fa",cursor:"pointer",textDecoration:"none",transition:"color 0.2s"},onMouseEnter:e=>{e.currentTarget.style.textDecoration="underline",e.currentTarget.style.color="#93c5fd"},onMouseLeave:e=>{e.currentTarget.style.textDecoration="none",e.currentTarget.style.color="#60a5fa"},children:[n,c?` (v${c})`:""]}):(0,s.jsx)("span",{style:{color:"#64748b"},children:"(None)"})}function a({skills:e,skill:t,skillId:a,skillIds:r,skillVersion:l,user:i}){return e?.length||t?e?.length?(0,s.jsx)(s.Fragment,{children:e.map((e,t)=>{let a=r?.[t]||null;return(0,s.jsxs)(n.default.Fragment,{children:[t>0&&(0,s.jsx)("span",{style:{color:"#e2e8f0"},children:", "}),(0,s.jsx)(c,{skillId:a,skillName:e,version:l,user:i})]},t)})}):(0,s.jsx)(c,{skillId:a,skillName:t,version:l,user:i}):(0,s.jsx)("span",{style:{color:"#64748b"},children:"(None)"})}e.s(["SkillLinks",()=>a])},95802,e=>{e.v(s=>Promise.all(["static/chunks/f7a6fed60fb079dd.js","static/chunks/5432ce4a494bc74d.js","static/chunks/b43afe7d924243d9.js","static/chunks/68e4bccbce97556a.js","static/chunks/21105f8885631d60.js","static/chunks/7a95be670a5c981c.js","static/chunks/aa21d65228612e46.js","static/chunks/07668c4577ece2d3.js","static/chunks/78fd227efc628935.js"].map(s=>e.l(s))).then(()=>s(76913)))},34486,e=>{e.v(s=>Promise.all(["static/chunks/6baf949fafec6be3.js","static/chunks/e09d9ee16fe90255.js","static/chunks/ff6357067630b168.js"].map(s=>e.l(s))).then(()=>s(13143)))},14524,e=>{e.v(s=>Promise.all(["static/chunks/fec58f85bfaa3c39.js"].map(s=>e.l(s))).then(()=>s(17847)))}]);
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,9665,e=>{"use strict";var s=e.i(43476),t=e.i(18566),c=e.i(71645);function n({skillId:e,skillName:c,version:n,user:a}){let r=(0,t.useRouter)();return e||c?(0,s.jsxs)("span",{onClick:s=>{s.preventDefault();let t=new URLSearchParams;e?t.set("id",e):(t.set("name",c),a&&t.set("user",a)),null!=n&&t.set("version",String(n)),r.push(`/skills?${t.toString()}`)},style:{color:"#60a5fa",cursor:"pointer",textDecoration:"none",transition:"color 0.2s"},onMouseEnter:e=>{e.currentTarget.style.textDecoration="underline",e.currentTarget.style.color="#93c5fd"},onMouseLeave:e=>{e.currentTarget.style.textDecoration="none",e.currentTarget.style.color="#60a5fa"},children:[c,n?` (v${n})`:""]}):(0,s.jsx)("span",{style:{color:"#64748b"},children:"(None)"})}function a({skills:e,skill:t,skillId:a,skillIds:r,skillVersion:l,user:i}){return e?.length||t?e?.length?(0,s.jsx)(s.Fragment,{children:e.map((e,t)=>{let a=r?.[t]||null;return(0,s.jsxs)(c.default.Fragment,{children:[t>0&&(0,s.jsx)("span",{style:{color:"#e2e8f0"},children:", "}),(0,s.jsx)(n,{skillId:a,skillName:e,version:l,user:i})]},t)})}):(0,s.jsx)(n,{skillId:a,skillName:t,version:l,user:i}):(0,s.jsx)("span",{style:{color:"#64748b"},children:"(None)"})}e.s(["SkillLinks",()=>a])},95802,e=>{e.v(s=>Promise.all(["static/chunks/f7a6fed60fb079dd.js","static/chunks/5432ce4a494bc74d.js","static/chunks/b43afe7d924243d9.js","static/chunks/68e4bccbce97556a.js","static/chunks/21105f8885631d60.js","static/chunks/7a95be670a5c981c.js","static/chunks/aa21d65228612e46.js","static/chunks/07668c4577ece2d3.js","static/chunks/78fd227efc628935.js"].map(s=>e.l(s))).then(()=>s(76913)))},34486,e=>{e.v(s=>Promise.all(["static/chunks/6baf949fafec6be3.js","static/chunks/cd0fde15dc0dfcca.js","static/chunks/e13d208072a48316.js"].map(s=>e.l(s))).then(()=>s(13143)))},14524,e=>{e.v(s=>Promise.all(["static/chunks/fec58f85bfaa3c39.js"].map(s=>e.l(s))).then(()=>s(17847)))}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,94542,e=>{"use strict";var t=e.i(43476),r=e.i(94690),i=e.i(18566),a=e.i(71645),n=e.i(9165);function o(){let[e,o]=(0,a.useState)(""),[s,l]=(0,a.useState)(""),[c,d]=(0,a.useState)(!1),[m,u]=(0,a.useState)(""),{login:p}=(0,r.useAuth)(),h=(0,i.useRouter)();(0,a.useEffect)(()=>{(0,n.apiFetch)("/api/config/status?check_org=true").then(e=>e.json()).then(e=>{d(e.org_mode||!1),u(e.org_login_redirect_url||"")}).catch(()=>{})},[]),(0,a.useEffect)(()=>{if(!c||!m)return;let e=!1;return(async()=>{try{let t=await (0,n.apiFetch)("/api/auth/organization",{cache:"no-store"});if(!t.ok){e||401!==t.status&&403!==t.status||(window.location.href=m);return}let r=await t.json();!e&&r?.username&&(p(r.username,r.apiKey),h.replace("/"))}catch(t){e||(window.location.href=m)}})(),()=>{e=!0}},[c,m,p,h]);let g=async t=>{if(t.preventDefault(),l(""),!e.trim())return void l("请输入邮箱地址");try{let t=await (0,n.apiFetch)("/api/auth/apikey",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({username:e.trim()})}),r=await t.json();t.ok?p(r.username,r.apiKey):l(r.error||"登录失败,请重试")}catch(e){console.error(e),l("网络错误,请检查连接")}};return c?(0,t.jsx)("div",{className:"login-container",children:(0,t.jsx)("div",{className:"login-box",children:(0,t.jsx)("p",{style:{color:"#94a3b8",textAlign:"center"},children:"正在跳转到企业登录页..."})})}):(0,t.jsx)("div",{className:"login-container",children:(0,t.jsxs)("div",{className:"login-box",children:[(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",gap:"1.5rem",marginBottom:"2.5rem"},children:[(0,t.jsx)("div",{style:{background:"linear-gradient(135deg, #38bdf8, #818cf8)",color:"white",fontWeight:"bold",fontSize:"1.8rem",padding:"0.8rem 1.2rem",borderRadius:"0.75rem",whiteSpace:"nowrap",boxShadow:"0 10px 15px -3px rgba(56, 189, 248, 0.4), 0 4px 6px -2px rgba(56, 189, 248, 0.2)"},children:"Skill"}),(0,t.jsxs)("div",{style:{display:"flex",flexDirection:"column"},children:[(0,t.jsx)("h1",{style:{fontSize:"3rem",fontWeight:"800",color:"#f8fafc",margin:0,lineHeight:1,letterSpacing:"-0.02em",textShadow:"0 2px 4px rgba(0,0,0,0.3)"},children:"Insight"}),(0,t.jsx)("span",{style:{fontSize:"1rem",color:"#94a3b8",letterSpacing:"0.1em",textTransform:"uppercase",marginTop:"0.25rem"},children:"智能体技能评估、分析与优化"})]})]}),(0,t.jsxs)("form",{className:"login-form",children:[(0,t.jsxs)("div",{style:{marginBottom:"1rem"},children:[(0,t.jsx)("label",{className:"login-label",htmlFor:"username",children:"邮箱地址"}),(0,t.jsx)("input",{className:"login-input",id:"username",type:"email",placeholder:"your.email@example.com",value:e,onChange:e=>{o(e.target.value),l("")},style:s?{borderColor:"#ef4444"}:{}}),s&&(0,t.jsxs)("div",{style:{color:"#ef4444",fontSize:"0.875rem",marginTop:"0.5rem",padding:"0.5rem 0.75rem",background:"rgba(239, 68, 68, 0.1)",borderRadius:"0.375rem",border:"1px solid rgba(239, 68, 68, 0.3)"},children:["⚠️ ",s]})]}),(0,t.jsx)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:(0,t.jsx)("button",{className:"login-btn",type:"button",onClick:g,children:"Sign In"})})]})]})})}e.s(["default",()=>o])}]);