@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.
Files changed (303) hide show
  1. package/.env.example +6 -0
  2. package/.next/standalone/.next/BUILD_ID +1 -1
  3. package/.next/standalone/.next/app-path-routes-manifest.json +4 -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 +24 -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 +4 -4
  18. package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +4 -4
  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/config/create/route.js +4 -3
  25. package/.next/standalone/.next/server/app/api/config/create/route.js.nft.json +1 -1
  26. package/.next/standalone/.next/server/app/api/config/route.js +5 -4
  27. package/.next/standalone/.next/server/app/api/config/route.js.nft.json +1 -1
  28. package/.next/standalone/.next/server/app/api/data/route.js +6 -5
  29. package/.next/standalone/.next/server/app/api/data/route.js.nft.json +1 -1
  30. package/.next/standalone/.next/server/app/api/evaluation/route.js.nft.json +1 -1
  31. package/.next/standalone/.next/server/app/api/otel/v1/logs/route.js +6 -5
  32. package/.next/standalone/.next/server/app/api/otel/v1/logs/route.js.nft.json +1 -1
  33. package/.next/standalone/.next/server/app/api/otel/v1/traces/route.js +4 -3
  34. package/.next/standalone/.next/server/app/api/otel/v1/traces/route.js.nft.json +1 -1
  35. package/.next/standalone/.next/server/app/api/proxy/[taskId]/[...path]/route.js +1 -1
  36. package/.next/standalone/.next/server/app/api/proxy/[taskId]/end/route.js +4 -3
  37. package/.next/standalone/.next/server/app/api/proxy/[taskId]/end/route.js.nft.json +1 -1
  38. package/.next/standalone/.next/server/app/api/rejudge/route.js +6 -5
  39. package/.next/standalone/.next/server/app/api/rejudge/route.js.nft.json +1 -1
  40. package/.next/standalone/.next/server/app/api/session/route.js +4 -4
  41. package/.next/standalone/.next/server/app/api/session/route.js.nft.json +1 -1
  42. package/.next/standalone/.next/server/app/api/setup/opencode-commands/si-optimizer/route/app-paths-manifest.json +3 -0
  43. package/.next/standalone/.next/server/app/api/setup/opencode-commands/si-optimizer/route/build-manifest.json +11 -0
  44. package/.next/standalone/.next/server/app/api/setup/opencode-commands/si-optimizer/route/server-reference-manifest.json +4 -0
  45. package/.next/standalone/.next/server/app/api/setup/opencode-commands/si-optimizer/route.js +6 -0
  46. package/.next/standalone/.next/server/app/api/setup/opencode-commands/si-optimizer/route.js.map +5 -0
  47. package/.next/standalone/.next/server/app/api/setup/opencode-commands/si-optimizer/route.js.nft.json +1 -0
  48. package/.next/standalone/.next/server/app/api/setup/opencode-commands/si-optimizer/route_client-reference-manifest.js +2 -0
  49. package/.next/standalone/.next/server/app/api/setup/opencode-tui/route/app-paths-manifest.json +3 -0
  50. package/.next/standalone/.next/server/app/api/setup/opencode-tui/route/build-manifest.json +11 -0
  51. package/.next/standalone/.next/server/app/api/setup/opencode-tui/route/server-reference-manifest.json +4 -0
  52. package/.next/standalone/.next/server/app/api/setup/opencode-tui/route.js +6 -0
  53. package/.next/standalone/.next/server/app/api/setup/opencode-tui/route.js.map +5 -0
  54. package/.next/standalone/.next/server/app/api/setup/opencode-tui/route.js.nft.json +1 -0
  55. package/.next/standalone/.next/server/app/api/setup/opencode-tui/route_client-reference-manifest.js +2 -0
  56. package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/download/route.js.nft.json +1 -1
  57. package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/route.js +3 -2
  58. package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/route.js.nft.json +1 -1
  59. package/.next/standalone/.next/server/app/api/skills/[id]/versions/route.js +5 -2
  60. package/.next/standalone/.next/server/app/api/skills/[id]/versions/route.js.nft.json +1 -1
  61. package/.next/standalone/.next/server/app/api/skills/automation/import/route.js +5 -2
  62. package/.next/standalone/.next/server/app/api/skills/automation/import/route.js.nft.json +1 -1
  63. package/.next/standalone/.next/server/app/api/skills/logs/route.js +6 -5
  64. package/.next/standalone/.next/server/app/api/skills/logs/route.js.nft.json +1 -1
  65. package/.next/standalone/.next/server/app/api/skills/route.js +3 -2
  66. package/.next/standalone/.next/server/app/api/skills/route.js.nft.json +1 -1
  67. package/.next/standalone/.next/server/app/api/skills/sync-enterprise/route/app-paths-manifest.json +3 -0
  68. package/.next/standalone/.next/server/app/api/skills/sync-enterprise/route/build-manifest.json +11 -0
  69. package/.next/standalone/.next/server/app/api/skills/sync-enterprise/route/server-reference-manifest.json +4 -0
  70. package/.next/standalone/.next/server/app/api/skills/sync-enterprise/route.js +8 -0
  71. package/.next/standalone/.next/server/app/api/skills/sync-enterprise/route.js.map +5 -0
  72. package/.next/standalone/.next/server/app/api/skills/sync-enterprise/route.js.nft.json +1 -0
  73. package/.next/standalone/.next/server/app/api/skills/sync-enterprise/route_client-reference-manifest.js +2 -0
  74. package/.next/standalone/.next/server/app/api/skills/upload/route.js +5 -2
  75. package/.next/standalone/.next/server/app/api/skills/upload/route.js.nft.json +1 -1
  76. package/.next/standalone/.next/server/app/api/task-stats/route/app-paths-manifest.json +3 -0
  77. package/.next/standalone/.next/server/app/api/task-stats/route/build-manifest.json +11 -0
  78. package/.next/standalone/.next/server/app/api/task-stats/route/server-reference-manifest.json +4 -0
  79. package/.next/standalone/.next/server/app/api/task-stats/route.js +12 -0
  80. package/.next/standalone/.next/server/app/api/task-stats/route.js.map +5 -0
  81. package/.next/standalone/.next/server/app/api/task-stats/route.js.nft.json +1 -0
  82. package/.next/standalone/.next/server/app/api/task-stats/route_client-reference-manifest.js +2 -0
  83. package/.next/standalone/.next/server/app/api/upload/route.js +5 -4
  84. package/.next/standalone/.next/server/app/api/upload/route.js.nft.json +1 -1
  85. package/.next/standalone/.next/server/app/details/page/react-loadable-manifest.json +2 -2
  86. package/.next/standalone/.next/server/app/details/page.js.nft.json +1 -1
  87. package/.next/standalone/.next/server/app/details/page_client-reference-manifest.js +1 -1
  88. package/.next/standalone/.next/server/app/details.html +1 -1
  89. package/.next/standalone/.next/server/app/details.rsc +5 -5
  90. package/.next/standalone/.next/server/app/details.segments/_full.segment.rsc +5 -5
  91. package/.next/standalone/.next/server/app/details.segments/_head.segment.rsc +1 -1
  92. package/.next/standalone/.next/server/app/details.segments/_index.segment.rsc +3 -3
  93. package/.next/standalone/.next/server/app/details.segments/_tree.segment.rsc +2 -2
  94. package/.next/standalone/.next/server/app/details.segments/details/__PAGE__.segment.rsc +2 -2
  95. package/.next/standalone/.next/server/app/details.segments/details.segment.rsc +1 -1
  96. package/.next/standalone/.next/server/app/index.html +1 -1
  97. package/.next/standalone/.next/server/app/index.rsc +5 -5
  98. package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  99. package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +5 -5
  100. package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
  101. package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +3 -3
  102. package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  103. package/.next/standalone/.next/server/app/login/page.js.nft.json +1 -1
  104. package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
  105. package/.next/standalone/.next/server/app/login.html +1 -1
  106. package/.next/standalone/.next/server/app/login.rsc +5 -5
  107. package/.next/standalone/.next/server/app/login.segments/_full.segment.rsc +5 -5
  108. package/.next/standalone/.next/server/app/login.segments/_head.segment.rsc +1 -1
  109. package/.next/standalone/.next/server/app/login.segments/_index.segment.rsc +3 -3
  110. package/.next/standalone/.next/server/app/login.segments/_tree.segment.rsc +2 -2
  111. package/.next/standalone/.next/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  112. package/.next/standalone/.next/server/app/login.segments/login.segment.rsc +1 -1
  113. package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
  114. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  115. package/.next/standalone/.next/server/app/skills/page.js.nft.json +1 -1
  116. package/.next/standalone/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  117. package/.next/standalone/.next/server/app/skills.html +1 -1
  118. package/.next/standalone/.next/server/app/skills.rsc +5 -5
  119. package/.next/standalone/.next/server/app/skills.segments/_full.segment.rsc +5 -5
  120. package/.next/standalone/.next/server/app/skills.segments/_head.segment.rsc +1 -1
  121. package/.next/standalone/.next/server/app/skills.segments/_index.segment.rsc +3 -3
  122. package/.next/standalone/.next/server/app/skills.segments/_tree.segment.rsc +2 -2
  123. package/.next/standalone/.next/server/app/skills.segments/skills/__PAGE__.segment.rsc +2 -2
  124. package/.next/standalone/.next/server/app/skills.segments/skills.segment.rsc +1 -1
  125. package/.next/standalone/.next/server/app-paths-manifest.json +4 -0
  126. package/.next/standalone/.next/server/chunks/[root-of-the-server]__02ddba88._.js +1 -1
  127. package/.next/standalone/.next/server/chunks/[root-of-the-server]__15dbd1f2._.js +3 -0
  128. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1c95bcde._.js +1 -1
  129. package/.next/standalone/.next/server/chunks/[root-of-the-server]__23efcd78._.js +3 -0
  130. package/.next/standalone/.next/server/chunks/[root-of-the-server]__4a6d443b._.js +1 -1
  131. package/.next/standalone/.next/server/chunks/[root-of-the-server]__53775b48._.js +1 -1
  132. package/.next/standalone/.next/server/chunks/[root-of-the-server]__5444db55._.js +1 -1
  133. package/.next/standalone/.next/server/chunks/[root-of-the-server]__591248f3._.js +1 -1
  134. package/.next/standalone/.next/server/chunks/[root-of-the-server]__5d8178f6._.js +1 -1
  135. package/.next/standalone/.next/server/chunks/[root-of-the-server]__6261d672._.js +3 -0
  136. package/.next/standalone/.next/server/chunks/[root-of-the-server]__6923eecf._.js +1 -1
  137. package/.next/standalone/.next/server/chunks/[root-of-the-server]__6fc12878._.js +1 -1
  138. package/.next/standalone/.next/server/chunks/[root-of-the-server]__8402dfd1._.js +3 -0
  139. package/.next/standalone/.next/server/chunks/[root-of-the-server]__863cf6de._.js +1 -1
  140. package/.next/standalone/.next/server/chunks/[root-of-the-server]__89404730._.js +3 -0
  141. package/.next/standalone/.next/server/chunks/[root-of-the-server]__98b3de5e._.js +1 -1
  142. package/.next/standalone/.next/server/chunks/[root-of-the-server]__9d551ea2._.js +1 -1
  143. package/.next/standalone/.next/server/chunks/[root-of-the-server]__a4d3d791._.js +1 -1
  144. package/.next/standalone/.next/server/chunks/[root-of-the-server]__aa3d72e3._.js +3 -0
  145. package/.next/standalone/.next/server/chunks/[root-of-the-server]__aa5c8858._.js +2 -2
  146. package/.next/standalone/.next/server/chunks/[root-of-the-server]__b11acc79._.js +1 -1
  147. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ba01f286._.js +1 -1
  148. package/.next/standalone/.next/server/chunks/[root-of-the-server]__bd91659b._.js +1 -1
  149. package/.next/standalone/.next/server/chunks/[root-of-the-server]__c200214a._.js +1 -1
  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]__c602c518._.js +3 -0
  152. package/.next/standalone/.next/server/chunks/[root-of-the-server]__d7fab946._.js +1 -1
  153. package/.next/standalone/.next/server/chunks/[root-of-the-server]__d8c1808b._.js +1 -1
  154. package/.next/standalone/.next/server/chunks/[root-of-the-server]__d9b9fecc._.js +1 -1
  155. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ddf63a21._.js +3 -0
  156. package/.next/standalone/.next/server/chunks/[root-of-the-server]__e280561d._.js +1 -1
  157. package/.next/standalone/.next/server/chunks/[root-of-the-server]__e550423c._.js +1 -1
  158. package/.next/standalone/.next/server/chunks/[root-of-the-server]__f9e66e02._.js +3 -0
  159. package/.next/standalone/.next/server/chunks/_33c0c729._.js +1 -1
  160. package/.next/standalone/.next/server/chunks/_3e8b4d8c._.js +1 -1
  161. package/.next/standalone/.next/server/chunks/_46f10554._.js +3 -0
  162. package/.next/standalone/.next/server/chunks/_4c806e26._.js +3 -0
  163. package/.next/standalone/.next/server/chunks/_cd3d20ca._.js +1 -1
  164. package/.next/standalone/.next/server/chunks/_ddffef3e._.js +1 -1
  165. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_setup_opencode-tui_route_actions_fc8ae29f.js +3 -0
  166. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_skills_sync-enterprise_route_actions_0ca45899.js +3 -0
  167. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_task-stats_route_actions_983505cd.js +3 -0
  168. package/.next/standalone/.next/server/chunks/ce889_server_app_api_setup_opencode-commands_si-optimizer_route_actions_fcde30ef.js +3 -0
  169. package/.next/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_c33286ed.js +47 -4
  170. package/.next/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_f42faeee.js +1 -1
  171. package/.next/standalone/.next/server/chunks/src_98433cb8._.js +237 -0
  172. package/.next/standalone/.next/server/chunks/src_c8971a2d._.js +57 -8
  173. package/.next/standalone/.next/server/chunks/src_lib_119f6c7b._.js +3 -0
  174. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__9ab7cc4a._.js → [root-of-the-server]__082c32a2._.js} +2 -2
  175. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__51073007._.js +1 -1
  176. package/.next/standalone/.next/server/chunks/ssr/_049876f0._.js +1 -1
  177. package/.next/standalone/.next/server/chunks/ssr/_09546b95._.js +1 -1
  178. package/.next/standalone/.next/server/chunks/ssr/_8f5379ab._.js +1 -1
  179. package/.next/standalone/.next/server/chunks/ssr/_c8c8c083._.js +9 -9
  180. package/.next/standalone/.next/server/chunks/ssr/{_b121f1ae._.js → _e2faf4f5._.js} +2 -2
  181. package/.next/standalone/.next/server/chunks/ssr/_fd46f439._.js +2 -1
  182. package/.next/standalone/.next/server/chunks/ssr/node_modules_dagre-d3-es_src_dagre_index_3582f3d0.js +1 -1
  183. package/.next/standalone/.next/server/chunks/ssr/node_modules_lodash-es_a1341fea._.js +1 -1
  184. package/.next/standalone/.next/server/chunks/ssr/node_modules_lodash-es_e1de6ed8._.js +1 -1
  185. package/.next/standalone/.next/server/chunks/ssr/src_66a70595._.js +1 -1
  186. package/.next/standalone/.next/server/chunks/ssr/src_app_login_page_tsx_72f58654._.js +1 -1
  187. package/.next/standalone/.next/server/pages/404.html +1 -1
  188. package/.next/standalone/.next/server/pages/500.html +2 -2
  189. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  190. package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
  191. package/.next/standalone/.next/static/chunks/{737b8cff3c6a4e30.js → 015467355d3866a3.js} +1 -1
  192. package/.next/standalone/.next/static/chunks/09f192c9b0609ad8.js +1 -0
  193. package/.next/standalone/.next/static/chunks/1945a5514fbc393c.css +1 -0
  194. package/.next/{static/chunks/07c9f28a269c701a.js → standalone/.next/static/chunks/361e4cf1e9a71ccb.js} +1 -1
  195. package/.next/{static/chunks/5432ce4a494bc74d.js → standalone/.next/static/chunks/60bc50374fd32f20.js} +3 -3
  196. package/.next/standalone/.next/static/chunks/{251551dcdf74a60d.js → 65bac0880a87bff3.js} +1 -1
  197. package/.next/standalone/.next/static/chunks/961f7fa606dd26a8.js +1 -0
  198. package/.next/standalone/.next/static/chunks/bab2ffd4f527acfb.js +1 -0
  199. package/.next/standalone/.next/static/chunks/c513373e5cfedd5b.js +2 -0
  200. package/.next/standalone/.next/static/chunks/ca3017e51e817855.js +1 -0
  201. package/.next/{static/chunks/7e35f4cf2e266022.js → standalone/.next/static/chunks/cb104c3cb4c52833.js} +1 -1
  202. package/.next/{static/chunks/ff6357067630b168.js → standalone/.next/static/chunks/e13d208072a48316.js} +1 -1
  203. package/.next/standalone/.next/static/chunks/{e09d9ee16fe90255.js → f786bb68e17b12b4.js} +1 -1
  204. package/.next/standalone/.next/static/chunks/fc61b990c5ec4ef4.js +109 -0
  205. package/.next/standalone/node_modules/.prisma/client/edge.js +7 -3
  206. package/.next/standalone/node_modules/.prisma/client/index-browser.js +4 -0
  207. package/.next/standalone/node_modules/.prisma/client/index.js +7 -3
  208. package/.next/standalone/node_modules/.prisma/client/package.json +1 -1
  209. package/.next/standalone/node_modules/.prisma/client/schema.prisma +26 -22
  210. package/.next/standalone/node_modules/.prisma/client/wasm.js +4 -0
  211. package/.next/standalone/node_modules/adm-zip/util/constants.js +142 -0
  212. package/.next/standalone/node_modules/adm-zip/util/decoder.js +5 -0
  213. package/.next/standalone/node_modules/adm-zip/util/errors.js +63 -0
  214. package/.next/standalone/node_modules/adm-zip/util/fattr.js +76 -0
  215. package/.next/standalone/node_modules/adm-zip/util/index.js +5 -0
  216. package/.next/standalone/node_modules/adm-zip/util/utils.js +339 -0
  217. package/.next/standalone/package.json +6 -2
  218. package/.next/standalone/prisma/schema.prisma +7 -3
  219. package/.next/standalone/scripts/opencode_plugin.ts +158 -50
  220. package/.next/standalone/scripts/opencode_tui_plugin.tsx +308 -0
  221. package/.next/standalone/scripts/si-optimizer.md +5 -0
  222. package/.next/static/chunks/{737b8cff3c6a4e30.js → 015467355d3866a3.js} +1 -1
  223. package/.next/static/chunks/09f192c9b0609ad8.js +1 -0
  224. package/.next/static/chunks/1945a5514fbc393c.css +1 -0
  225. package/.next/{standalone/.next/static/chunks/07c9f28a269c701a.js → static/chunks/361e4cf1e9a71ccb.js} +1 -1
  226. package/.next/{standalone/.next/static/chunks/5432ce4a494bc74d.js → static/chunks/60bc50374fd32f20.js} +3 -3
  227. package/.next/static/chunks/{251551dcdf74a60d.js → 65bac0880a87bff3.js} +1 -1
  228. package/.next/static/chunks/961f7fa606dd26a8.js +1 -0
  229. package/.next/static/chunks/bab2ffd4f527acfb.js +1 -0
  230. package/.next/static/chunks/c513373e5cfedd5b.js +2 -0
  231. package/.next/static/chunks/ca3017e51e817855.js +1 -0
  232. package/.next/{standalone/.next/static/chunks/7e35f4cf2e266022.js → static/chunks/cb104c3cb4c52833.js} +1 -1
  233. package/.next/{standalone/.next/static/chunks/ff6357067630b168.js → static/chunks/e13d208072a48316.js} +1 -1
  234. package/.next/static/chunks/{e09d9ee16fe90255.js → f786bb68e17b12b4.js} +1 -1
  235. package/.next/static/chunks/fc61b990c5ec4ef4.js +109 -0
  236. package/package.json +6 -2
  237. package/prisma/schema.prisma +7 -3
  238. package/scripts/activate_telemetry.sh +44 -1
  239. package/scripts/opencode_plugin.ts +158 -50
  240. package/scripts/opencode_tui_plugin.tsx +308 -0
  241. package/scripts/si-optimizer.md +5 -0
  242. package/scripts/utils.js +0 -1
  243. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1013b265._.js +0 -3
  244. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1ce5e3b8._.js +0 -3
  245. package/.next/standalone/.next/server/chunks/[root-of-the-server]__6d8053e2._.js +0 -3
  246. package/.next/standalone/.next/server/chunks/[root-of-the-server]__b835ea7f._.js +0 -3
  247. package/.next/standalone/.next/server/chunks/[root-of-the-server]__e2f0baee._.js +0 -3
  248. package/.next/standalone/.next/server/chunks/[root-of-the-server]__fc05579d._.js +0 -3
  249. package/.next/standalone/.next/server/chunks/_41a98bd8._.js +0 -3
  250. package/.next/standalone/.next/server/chunks/src_497d2ad2._.js +0 -175
  251. package/.next/standalone/.next/server/chunks/src_lib_12408140._.js +0 -3
  252. package/.next/standalone/.next/static/chunks/01eddf501c574a44.js +0 -1
  253. package/.next/standalone/.next/static/chunks/1e782a49beaf489c.js +0 -1
  254. package/.next/standalone/.next/static/chunks/4071dbec4cf7e72e.js +0 -109
  255. package/.next/standalone/.next/static/chunks/67bd1a5de2195779.js +0 -1
  256. package/.next/standalone/.next/static/chunks/a87b5e84254095a5.js +0 -1
  257. package/.next/standalone/.next/static/chunks/c6bd2818656b1f20.css +0 -1
  258. package/.next/standalone/.next/static/chunks/dc59a07a8f327b40.js +0 -1
  259. package/.next/standalone/LICENSE +0 -21
  260. package/.next/standalone/bin/cli.js +0 -106
  261. package/.next/standalone/custom-models.example.json +0 -21
  262. package/.next/standalone/eslint.config.mjs +0 -18
  263. package/.next/standalone/features/feature-skill-used-jump-link/design/2026-03-18-skill-used-jump-link-design.md +0 -126
  264. package/.next/standalone/features/feature-skill-used-jump-link/feature.json +0 -32
  265. package/.next/standalone/features/feature-skill-used-jump-link/issue.md +0 -32
  266. package/.next/standalone/features/feature-skill-used-jump-link/plans/2026-03-18-skill-used-jump-link.md +0 -528
  267. package/.next/standalone/next.config.ts +0 -41
  268. package/.next/standalone/scripts/activate_telemetry.sh +0 -159
  269. package/.next/standalone/scripts/create_migration_package.sh +0 -124
  270. package/.next/standalone/scripts/fix_models.js +0 -66
  271. package/.next/standalone/scripts/init_opengauss.py +0 -284
  272. package/.next/standalone/scripts/install.js +0 -273
  273. package/.next/standalone/scripts/logs.js +0 -38
  274. package/.next/standalone/scripts/otel_data/logs.jsonl +0 -12
  275. package/.next/standalone/scripts/otel_data/metrics.jsonl +0 -21
  276. package/.next/standalone/scripts/otel_data/raw_requests.jsonl +0 -8
  277. package/.next/standalone/scripts/otel_data/raw_requests.jsonl.bak +0 -6
  278. package/.next/standalone/scripts/otel_receiver.py +0 -580
  279. package/.next/standalone/scripts/postinstall.js +0 -192
  280. package/.next/standalone/scripts/publish-npm.js +0 -401
  281. package/.next/standalone/scripts/restart.js +0 -26
  282. package/.next/standalone/scripts/restart.sh +0 -138
  283. package/.next/standalone/scripts/restart_dev.sh +0 -132
  284. package/.next/standalone/scripts/start.js +0 -291
  285. package/.next/standalone/scripts/status.js +0 -41
  286. package/.next/standalone/scripts/stop.js +0 -90
  287. package/.next/standalone/scripts/sync_skills.js +0 -216
  288. package/.next/standalone/scripts/utils.js +0 -235
  289. package/.next/standalone/tests/setup_skill_optimizer.sh +0 -118
  290. package/.next/standalone/tsconfig.json +0 -34
  291. package/.next/static/chunks/01eddf501c574a44.js +0 -1
  292. package/.next/static/chunks/1e782a49beaf489c.js +0 -1
  293. package/.next/static/chunks/4071dbec4cf7e72e.js +0 -109
  294. package/.next/static/chunks/67bd1a5de2195779.js +0 -1
  295. package/.next/static/chunks/a87b5e84254095a5.js +0 -1
  296. package/.next/static/chunks/c6bd2818656b1f20.css +0 -1
  297. package/.next/static/chunks/dc59a07a8f327b40.js +0 -1
  298. /package/.next/standalone/.next/static/{H581Rok68JtPV4bAVVH3l → iKG72t8Hpebb09DcIpKUJ}/_buildManifest.js +0 -0
  299. /package/.next/standalone/.next/static/{H581Rok68JtPV4bAVVH3l → iKG72t8Hpebb09DcIpKUJ}/_clientMiddlewareManifest.json +0 -0
  300. /package/.next/standalone/.next/static/{H581Rok68JtPV4bAVVH3l → iKG72t8Hpebb09DcIpKUJ}/_ssgManifest.js +0 -0
  301. /package/.next/static/{H581Rok68JtPV4bAVVH3l → iKG72t8Hpebb09DcIpKUJ}/_buildManifest.js +0 -0
  302. /package/.next/static/{H581Rok68JtPV4bAVVH3l → iKG72t8Hpebb09DcIpKUJ}/_clientMiddlewareManifest.json +0 -0
  303. /package/.next/static/{H581Rok68JtPV4bAVVH3l → iKG72t8Hpebb09DcIpKUJ}/_ssgManifest.js +0 -0
@@ -1,528 +0,0 @@
1
- # Skill Used Jump Link Implementation Plan
2
-
3
- > **For agentic workers:** REQUIRED: Use superpowers:subagent-driven-development (if subagents available) or superpowers:executing-plans to implement this plan. Steps use checkbox (`- [ ]`) syntax for tracking.
4
-
5
- **Goal:** Add click-to-navigate functionality from skill names in execution records to a dedicated skill detail page.
6
-
7
- **Architecture:** Create SkillLink component for styled clickable skill names, skill detail page that can accept either skill ID or name, and modify execution record displays to use SkillLink component.
8
-
9
- **Tech Stack:** Next.js 16, React 19, TypeScript, Prisma
10
-
11
- ---
12
-
13
- ## File Structure
14
-
15
- | File | Action | Purpose |
16
- |------|--------|---------|
17
- | `src/components/SkillLink.tsx` | Create | Clickable skill name component |
18
- | `src/app/skills/page.tsx` | Create | Skill detail page (handles ID or name lookup) |
19
- | `src/app/api/skills/by-name/route.ts` | Create | API to find skill by exact name |
20
- | `src/app/details/page.tsx:1995-1998` | Modify | Replace skill text with SkillLink |
21
- | `src/components/Dashboard.tsx:2559-2561` | Modify | Replace skill text with SkillLink |
22
-
23
- ---
24
-
25
- ## Chunk 1: API for Skill Lookup by Name
26
-
27
- ### Task 1.1: Create API to find skill by name
28
-
29
- **Files:**
30
- - Create: `src/app/api/skills/by-name/route.ts`
31
-
32
- - [ ] **Step 1: Write the API endpoint**
33
-
34
- ```typescript
35
- import { resolveUser } from '@/lib/auth';
36
- import { db } from '@/lib/prisma';
37
- import { NextRequest, NextResponse } from 'next/server';
38
-
39
- export const dynamic = 'force-dynamic';
40
-
41
- export async function GET(request: NextRequest) {
42
- try {
43
- const searchParams = request.nextUrl.searchParams;
44
- const name = searchParams.get('name');
45
- const userParam = searchParams.get('user');
46
-
47
- if (!name) {
48
- return NextResponse.json({ error: 'Name parameter required' }, { status: 400 });
49
- }
50
-
51
- const { username: user } = await resolveUser(request, userParam);
52
-
53
- const where: any = {
54
- name: name
55
- };
56
-
57
- if (user) {
58
- where.OR = [
59
- { user: user },
60
- { user: null },
61
- { visibility: 'public' }
62
- ];
63
- }
64
-
65
- const skills = await db.findSkills(where);
66
- const skill = skills[0];
67
-
68
- if (!skill) {
69
- return NextResponse.json({ error: 'Skill not found' }, { status: 404 });
70
- }
71
-
72
- return NextResponse.json({
73
- id: skill.id,
74
- name: skill.name,
75
- description: skill.description,
76
- category: skill.category,
77
- activeVersion: skill.activeVersion || 0
78
- });
79
- } catch (error) {
80
- console.error('Find Skill By Name Error:', error);
81
- return NextResponse.json({ error: 'Failed to find skill' }, { status: 500 });
82
- }
83
- }
84
- ```
85
-
86
- - [ ] **Step 2: Test the API manually**
87
-
88
- Run: `curl "http://localhost:3000/api/skills/by-name?name=<existing_skill_name>"`
89
- Expected: Returns skill JSON with id, name, description
90
- Expected: Returns 404 for non-existent skill
91
-
92
- - [ ] **Step 3: Commit**
93
-
94
- ```bash
95
- git add src/app/api/skills/by-name/route.ts
96
- git commit -m "feat: add API to find skill by exact name"
97
- ```
98
-
99
- ---
100
-
101
- ## Chunk 2: SkillLink Component
102
-
103
- ### Task 2.1: Create SkillLink component
104
-
105
- **Files:**
106
- - Create: `src/components/SkillLink.tsx`
107
-
108
- - [ ] **Step 1: Write the SkillLink component**
109
-
110
- ```typescript
111
- 'use client';
112
-
113
- import { useRouter } from 'next/navigation';
114
- import React from 'react';
115
-
116
- interface SkillLinkProps {
117
- skillId?: string | null;
118
- skillName: string;
119
- version?: string | number | null;
120
- user?: string | null;
121
- }
122
-
123
- export function SkillLink({ skillId, skillName, version, user }: SkillLinkProps) {
124
- const router = useRouter();
125
-
126
- const handleClick = (e: React.MouseEvent) => {
127
- e.preventDefault();
128
-
129
- const params = new URLSearchParams();
130
- if (skillId) {
131
- params.set('id', skillId);
132
- } else {
133
- params.set('name', skillName);
134
- if (user) params.set('user', user);
135
- }
136
- if (version !== null && version !== undefined) {
137
- params.set('version', String(version));
138
- }
139
-
140
- router.push(`/skills?${params.toString()}`);
141
- };
142
-
143
- if (!skillId && !skillName) {
144
- return <span style={{ color: '#64748b' }}>(None)</span>;
145
- }
146
-
147
- return (
148
- <span
149
- onClick={handleClick}
150
- style={{
151
- color: '#60a5fa',
152
- cursor: 'pointer',
153
- textDecoration: 'none',
154
- transition: 'color 0.2s',
155
- }}
156
- onMouseEnter={(e) => {
157
- e.currentTarget.style.textDecoration = 'underline';
158
- e.currentTarget.style.color = '#93c5fd';
159
- }}
160
- onMouseLeave={(e) => {
161
- e.currentTarget.style.textDecoration = 'none';
162
- e.currentTarget.style.color = '#60a5fa';
163
- }}
164
- >
165
- {skillName}{version ? ` (v${version})` : ''}
166
- </span>
167
- );
168
- }
169
-
170
- interface SkillLinksProps {
171
- skills?: string[];
172
- skill?: string;
173
- skillId?: string | null;
174
- skillIds?: string[];
175
- skillVersion?: number | null;
176
- user?: string | null;
177
- }
178
-
179
- export function SkillLinks({
180
- skills,
181
- skill,
182
- skillId,
183
- skillIds,
184
- skillVersion,
185
- user
186
- }: SkillLinksProps) {
187
- if (!skills?.length && !skill) {
188
- return <span style={{ color: '#64748b' }}>(None)</span>;
189
- }
190
-
191
- if (skills?.length) {
192
- return (
193
- <>
194
- {skills.map((s, index) => {
195
- const sId = skillIds?.[index] || null;
196
- return (
197
- <React.Fragment key={index}>
198
- {index > 0 && <span style={{ color: '#e2e8f0' }}>, </span>}
199
- <SkillLink
200
- skillId={sId}
201
- skillName={s}
202
- version={skillVersion}
203
- user={user}
204
- />
205
- </React.Fragment>
206
- );
207
- })}
208
- </>
209
- );
210
- }
211
-
212
- return (
213
- <SkillLink
214
- skillId={skillId}
215
- skillName={skill!}
216
- version={skillVersion}
217
- user={user}
218
- />
219
- );
220
- }
221
- ```
222
-
223
- - [ ] **Step 2: Commit**
224
-
225
- ```bash
226
- git add src/components/SkillLink.tsx
227
- git commit -m "feat: add SkillLink component for clickable skill names"
228
- ```
229
-
230
- ---
231
-
232
- ## Chunk 3: Skill Detail Page
233
-
234
- ### Task 3.1: Create skill detail page
235
-
236
- **Files:**
237
- - Create: `src/app/skills/page.tsx`
238
-
239
- - [ ] **Step 1: Write the skill detail page**
240
-
241
- ```typescript
242
- 'use client';
243
-
244
- import { useSearchParams } from 'next/navigation';
245
- import { useEffect, useState } from 'react';
246
- import Link from 'next/link';
247
-
248
- interface SkillData {
249
- id: string;
250
- name: string;
251
- description?: string;
252
- category?: string;
253
- activeVersion: number;
254
- }
255
-
256
- interface SkillVersionData {
257
- version: number;
258
- content: string;
259
- changeLog?: string;
260
- createdAt: string;
261
- }
262
-
263
- export default function SkillDetailPage() {
264
- const searchParams = useSearchParams();
265
- const skillId = searchParams.get('id');
266
- const skillName = searchParams.get('name');
267
- const user = searchParams.get('user') || undefined;
268
- const version = searchParams.get('version');
269
-
270
- const [skill, setSkill] = useState<SkillData | null>(null);
271
- const [skillVersion, setSkillVersion] = useState<SkillVersionData | null>(null);
272
- const [loading, setLoading] = useState(true);
273
- const [error, setError] = useState<string | null>(null);
274
-
275
- useEffect(() => {
276
- async function fetchSkill() {
277
- setLoading(true);
278
- setError(null);
279
-
280
- try {
281
- let skillData: SkillData | null = null;
282
-
283
- if (skillId) {
284
- const res = await fetch(`/api/skills/${skillId}`);
285
- if (res.ok) {
286
- skillData = await res.json();
287
- }
288
- } else if (skillName) {
289
- const params = new URLSearchParams({ name: skillName });
290
- if (user) params.set('user', user);
291
- const res = await fetch(`/api/skills/by-name?${params}`);
292
- if (res.ok) {
293
- skillData = await res.json();
294
- }
295
- }
296
-
297
- if (!skillData) {
298
- setError('Skill not found');
299
- setLoading(false);
300
- return;
301
- }
302
-
303
- setSkill(skillData);
304
-
305
- const versionNum = version ? parseInt(version, 10) : skillData.activeVersion;
306
- const verRes = await fetch(`/api/skills/${skillData.id}/versions/${versionNum}`);
307
- if (verRes.ok) {
308
- setSkillVersion(await verRes.json());
309
- }
310
- } catch (err) {
311
- setError('Failed to load skill');
312
- }
313
-
314
- setLoading(false);
315
- }
316
-
317
- fetchSkill();
318
- }, [skillId, skillName, user, version]);
319
-
320
- if (loading) {
321
- return (
322
- <div style={{ padding: '2rem', color: '#e2e8f0' }}>
323
- <p>Loading skill...</p>
324
- </div>
325
- );
326
- }
327
-
328
- if (error || !skill) {
329
- return (
330
- <div style={{ padding: '2rem', color: '#e2e8f0' }}>
331
- <Link href="/" style={{ color: '#60a5fa', marginBottom: '1rem', display: 'inline-block' }}>
332
- ← Back to Dashboard
333
- </Link>
334
- <h1 style={{ color: '#f87171' }}>Skill Not Found</h1>
335
- <p style={{ color: '#94a3b8' }}>
336
- {error || 'The requested skill could not be found. It may have been deleted.'}
337
- </p>
338
- </div>
339
- );
340
- }
341
-
342
- return (
343
- <div style={{ padding: '2rem', color: '#e2e8f0', maxWidth: '1200px', margin: '0 auto' }}>
344
- <Link href="/" style={{ color: '#60a5fa', marginBottom: '1rem', display: 'inline-block' }}>
345
- ← Back to Dashboard
346
- </Link>
347
-
348
- <div style={{ marginBottom: '2rem' }}>
349
- <h1 style={{ fontSize: '2rem', fontWeight: 'bold', marginBottom: '0.5rem' }}>
350
- {skill.name}
351
- </h1>
352
- <p style={{ color: '#94a3b8', fontSize: '0.9rem' }}>
353
- Category: {skill.category || 'Other'} | Version: {version || skill.activeVersion}
354
- </p>
355
- </div>
356
-
357
- {skill.description && (
358
- <div style={{ marginBottom: '2rem', padding: '1rem', background: '#1e293b', borderRadius: '8px' }}>
359
- <h3 style={{ color: '#94a3b8', marginBottom: '0.5rem' }}>Description</h3>
360
- <p>{skill.description}</p>
361
- </div>
362
- )}
363
-
364
- {skillVersion?.changeLog && (
365
- <div style={{ marginBottom: '2rem', padding: '1rem', background: '#1e293b', borderRadius: '8px' }}>
366
- <h3 style={{ color: '#94a3b8', marginBottom: '0.5rem' }}>Change Log</h3>
367
- <p>{skillVersion.changeLog}</p>
368
- </div>
369
- )}
370
-
371
- {skillVersion?.content && (
372
- <div style={{ marginBottom: '2rem' }}>
373
- <h3 style={{ color: '#94a3b8', marginBottom: '0.5rem' }}>Skill Content</h3>
374
- <pre style={{
375
- padding: '1rem',
376
- background: '#0f172a',
377
- borderRadius: '8px',
378
- overflow: 'auto',
379
- fontSize: '0.85rem',
380
- whiteSpace: 'pre-wrap'
381
- }}>
382
- {skillVersion.content}
383
- </pre>
384
- </div>
385
- )}
386
- </div>
387
- );
388
- }
389
- ```
390
-
391
- - [ ] **Step 2: Commit**
392
-
393
- ```bash
394
- git add src/app/skills/page.tsx
395
- git commit -m "feat: add skill detail page with name/ID lookup support"
396
- ```
397
-
398
- ---
399
-
400
- ## Chunk 4: Update Details Page
401
-
402
- ### Task 4.1: Modify details page to use SkillLink
403
-
404
- **Files:**
405
- - Modify: `src/app/details/page.tsx:1991-1999`
406
-
407
- - [ ] **Step 1: Add import for SkillLinks**
408
-
409
- Find the imports section and add:
410
- ```typescript
411
- import { SkillLinks } from '@/components/SkillLink';
412
- ```
413
-
414
- - [ ] **Step 2: Replace skill used display**
415
-
416
- Find lines 1991-1999 and replace with:
417
- ```tsx
418
- {/* 1. Skills Used */}
419
- <div style={{ marginBottom: '2rem' }}>
420
- <h4 style={sectionHeader}>Skills Used</h4>
421
- <div style={{ ...codeBlock, padding: '0.5rem', background: '#1e293b', borderRadius: '4px', border: '1px solid #334155' }}>
422
- <SkillLinks
423
- skills={item.skills}
424
- skill={item.skill}
425
- skillVersion={item.skill_version}
426
- user={item.user}
427
- />
428
- </div>
429
- </div>
430
- ```
431
-
432
- - [ ] **Step 3: Verify changes compile**
433
-
434
- Run: `npm run build`
435
- Expected: Build succeeds without errors
436
-
437
- - [ ] **Step 4: Commit**
438
-
439
- ```bash
440
- git add src/app/details/page.tsx
441
- git commit -m "feat: use SkillLinks in details page for clickable skills"
442
- ```
443
-
444
- ---
445
-
446
- ## Chunk 5: Update Dashboard
447
-
448
- ### Task 5.1: Modify Dashboard to use SkillLink
449
-
450
- **Files:**
451
- - Modify: `src/components/Dashboard.tsx:2556-2563`
452
-
453
- - [ ] **Step 1: Add import for SkillLinks**
454
-
455
- Find the imports section and add:
456
- ```typescript
457
- import { SkillLinks } from './SkillLink';
458
- ```
459
-
460
- - [ ] **Step 2: Replace skill used display**
461
-
462
- Find lines 2556-2563 and replace with:
463
- ```tsx
464
- <div className="detail-row">
465
- <strong style={{ display: 'block', marginBottom: '0.2rem', color: '#94a3b8' }}>Skills Used:</strong>
466
- <div className="code-block">
467
- <SkillLinks
468
- skills={selectedRecord.skills}
469
- skill={selectedRecord.skill}
470
- skillVersion={selectedRecord.skill_version}
471
- user={selectedRecord.user}
472
- />
473
- </div>
474
- </div>
475
- ```
476
-
477
- - [ ] **Step 3: Verify changes compile**
478
-
479
- Run: `npm run build`
480
- Expected: Build succeeds without errors
481
-
482
- - [ ] **Step 4: Commit**
483
-
484
- ```bash
485
- git add src/components/Dashboard.tsx
486
- git commit -m "feat: use SkillLinks in Dashboard for clickable skills"
487
- ```
488
-
489
- ---
490
-
491
- ## Chunk 6: Verification
492
-
493
- ### Task 6.1: Verify all functionality works
494
-
495
- - [ ] **Step 1: Run development server**
496
-
497
- Run: `npm run dev`
498
- Expected: Server starts without errors
499
-
500
- - [ ] **Step 2: Manual verification checklist**
501
-
502
- 1. Navigate to execution details page - verify skill names are blue and clickable
503
- 2. Click a skill name - verify navigation to skill detail page
504
- 3. Verify skill detail page shows correct skill info
505
- 4. Verify back navigation works
506
- 5. Test with execution that has multiple skills
507
- 6. Test with execution that has no skill (should show "(None)")
508
- 7. Test with deleted skill (should show "Skill Not Found")
509
-
510
- - [ ] **Step 3: Commit any fixes if needed**
511
-
512
- ```bash
513
- git add -A
514
- git commit -m "fix: any issues found during verification"
515
- ```
516
-
517
- ---
518
-
519
- ## Summary
520
-
521
- | Task | Description | Status |
522
- |------|-------------|--------|
523
- | 1.1 | Create API for skill lookup by name | [ ] |
524
- | 2.1 | Create SkillLink component | [ ] |
525
- | 3.1 | Create skill detail page | [ ] |
526
- | 4.1 | Update details page | [ ] |
527
- | 5.1 | Update Dashboard | [ ] |
528
- | 6.1 | Verify all functionality | [ ] |
@@ -1,41 +0,0 @@
1
- import type { NextConfig } from "next";
2
-
3
- const nextConfig: NextConfig = {
4
- basePath: process.env.NEXT_PUBLIC_URL_PREFIX || '',
5
- output: 'standalone',
6
- serverExternalPackages: ["node-fetch", "pg"],
7
- experimental: {
8
- serverActions: {
9
- allowedOrigins: ["*"] //
10
- }
11
- },
12
- async rewrites() {
13
- const urlPrefix = process.env.NEXT_PUBLIC_URL_PREFIX || '';
14
-
15
- const rewrites = [
16
- {
17
- source: '/v1/traces',
18
- destination: '/api/otel/v1/traces',
19
- },
20
- {
21
- source: '/v1/logs',
22
- destination: '/api/otel/v1/logs',
23
- },
24
- {
25
- source: '/v1/metrics',
26
- destination: '/api/otel/v1/metrics',
27
- },
28
- ];
29
-
30
- if (urlPrefix) {
31
- rewrites.push({
32
- source: `${urlPrefix}/api/:path*`,
33
- destination: '/api/:path*',
34
- });
35
- }
36
-
37
- return rewrites;
38
- },
39
- };
40
-
41
- export default nextConfig;