@witty-ai/skill-insight 0.3.0-beta → 0.5.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 (412) hide show
  1. package/.env.example +51 -6
  2. package/.next/standalone/.next/BUILD_ID +1 -1
  3. package/.next/standalone/.next/app-path-routes-manifest.json +2 -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 +12 -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/auth/apikey/route.js +2 -2
  25. package/.next/standalone/.next/server/app/api/auth/apikey/route.js.nft.json +1 -1
  26. package/.next/standalone/.next/server/app/api/auth/organization/route/app-paths-manifest.json +3 -0
  27. package/.next/standalone/.next/server/app/api/auth/organization/route/build-manifest.json +11 -0
  28. package/.next/standalone/.next/server/app/api/auth/organization/route/server-reference-manifest.json +4 -0
  29. package/.next/standalone/.next/server/app/api/auth/organization/route.js +7 -0
  30. package/.next/standalone/.next/server/app/api/auth/organization/route.js.map +5 -0
  31. package/.next/standalone/.next/server/app/api/auth/organization/route.js.nft.json +1 -0
  32. package/.next/standalone/.next/server/app/api/auth/organization/route_client-reference-manifest.js +2 -0
  33. package/.next/standalone/.next/server/app/api/config/create/route.js +5 -5
  34. package/.next/standalone/.next/server/app/api/config/create/route.js.nft.json +1 -1
  35. package/.next/standalone/.next/server/app/api/config/route.js +5 -4
  36. package/.next/standalone/.next/server/app/api/config/route.js.nft.json +1 -1
  37. package/.next/standalone/.next/server/app/api/config/status/route.js +2 -2
  38. package/.next/standalone/.next/server/app/api/config/status/route.js.nft.json +1 -1
  39. package/.next/standalone/.next/server/app/api/data/route.js +5 -4
  40. package/.next/standalone/.next/server/app/api/data/route.js.nft.json +1 -1
  41. package/.next/standalone/.next/server/app/api/executions/[executionId]/analyze-match/route.js +4 -4
  42. package/.next/standalone/.next/server/app/api/executions/[executionId]/analyze-match/route.js.nft.json +1 -1
  43. package/.next/standalone/.next/server/app/api/guide/route/app-paths-manifest.json +3 -0
  44. package/.next/standalone/.next/server/app/api/guide/route/build-manifest.json +11 -0
  45. package/.next/standalone/.next/server/app/api/guide/route/server-reference-manifest.json +4 -0
  46. package/.next/standalone/.next/server/app/api/guide/route.js +7 -0
  47. package/.next/standalone/.next/server/app/api/guide/route.js.map +5 -0
  48. package/.next/standalone/.next/server/app/api/guide/route.js.nft.json +1 -0
  49. package/.next/standalone/.next/server/app/api/guide/route_client-reference-manifest.js +2 -0
  50. package/.next/standalone/.next/server/app/api/otel/v1/logs/route.js +5 -4
  51. package/.next/standalone/.next/server/app/api/otel/v1/logs/route.js.nft.json +1 -1
  52. package/.next/standalone/.next/server/app/api/otel/v1/traces/route.js +5 -4
  53. package/.next/standalone/.next/server/app/api/otel/v1/traces/route.js.nft.json +1 -1
  54. package/.next/standalone/.next/server/app/api/proxy/[taskId]/[...path]/route.js +3 -3
  55. package/.next/standalone/.next/server/app/api/proxy/[taskId]/[...path]/route.js.nft.json +1 -1
  56. package/.next/standalone/.next/server/app/api/proxy/[taskId]/end/route.js +5 -4
  57. package/.next/standalone/.next/server/app/api/proxy/[taskId]/end/route.js.nft.json +1 -1
  58. package/.next/standalone/.next/server/app/api/proxy/[taskId]/start/route.js +2 -2
  59. package/.next/standalone/.next/server/app/api/proxy/[taskId]/start/route.js.nft.json +1 -1
  60. package/.next/standalone/.next/server/app/api/rejudge/route.js +5 -4
  61. package/.next/standalone/.next/server/app/api/rejudge/route.js.nft.json +1 -1
  62. package/.next/standalone/.next/server/app/api/session/route.js +5 -5
  63. package/.next/standalone/.next/server/app/api/session/route.js.nft.json +1 -1
  64. package/.next/standalone/.next/server/app/api/settings/route.js +2 -2
  65. package/.next/standalone/.next/server/app/api/settings/route.js.nft.json +1 -1
  66. package/.next/standalone/.next/server/app/api/settings/test/route.js +2 -2
  67. package/.next/standalone/.next/server/app/api/settings/test/route.js.nft.json +1 -1
  68. package/.next/standalone/.next/server/app/api/skills/[id]/activate/route.js +2 -2
  69. package/.next/standalone/.next/server/app/api/skills/[id]/activate/route.js.nft.json +1 -1
  70. package/.next/standalone/.next/server/app/api/skills/[id]/toggle/route.js +2 -2
  71. package/.next/standalone/.next/server/app/api/skills/[id]/toggle/route.js.nft.json +1 -1
  72. package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/download/route.js +3 -3
  73. package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/download/route.js.nft.json +1 -1
  74. package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/parse-flow/route.js +4 -4
  75. package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/parse-flow/route.js.nft.json +1 -1
  76. package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/route.js +2 -2
  77. package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/route.js.nft.json +1 -1
  78. package/.next/standalone/.next/server/app/api/skills/[id]/versions/route.js +2 -2
  79. package/.next/standalone/.next/server/app/api/skills/[id]/versions/route.js.nft.json +1 -1
  80. package/.next/standalone/.next/server/app/api/skills/automation/import/route.js +2 -2
  81. package/.next/standalone/.next/server/app/api/skills/automation/import/route.js.nft.json +1 -1
  82. package/.next/standalone/.next/server/app/api/skills/automation/push/route.js +2 -2
  83. package/.next/standalone/.next/server/app/api/skills/automation/push/route.js.nft.json +1 -1
  84. package/.next/standalone/.next/server/app/api/skills/by-name/route.js +2 -2
  85. package/.next/standalone/.next/server/app/api/skills/by-name/route.js.nft.json +1 -1
  86. package/.next/standalone/.next/server/app/api/skills/logs/route.js +5 -4
  87. package/.next/standalone/.next/server/app/api/skills/logs/route.js.nft.json +1 -1
  88. package/.next/standalone/.next/server/app/api/skills/route.js +2 -2
  89. package/.next/standalone/.next/server/app/api/skills/route.js.nft.json +1 -1
  90. package/.next/standalone/.next/server/app/api/skills/upload/route.js +2 -2
  91. package/.next/standalone/.next/server/app/api/skills/upload/route.js.nft.json +1 -1
  92. package/.next/standalone/.next/server/app/api/sync/manifest/route.js +2 -2
  93. package/.next/standalone/.next/server/app/api/sync/manifest/route.js.nft.json +1 -1
  94. package/.next/standalone/.next/server/app/api/sync/opencode/route.js +2 -2
  95. package/.next/standalone/.next/server/app/api/sync/opencode/route.js.nft.json +1 -1
  96. package/.next/standalone/.next/server/app/api/upload/route.js +5 -3
  97. package/.next/standalone/.next/server/app/api/upload/route.js.nft.json +1 -1
  98. package/.next/standalone/.next/server/app/details/page/react-loadable-manifest.json +3 -3
  99. package/.next/standalone/.next/server/app/details/page.js.nft.json +1 -1
  100. package/.next/standalone/.next/server/app/details/page_client-reference-manifest.js +1 -1
  101. package/.next/standalone/.next/server/app/details.html +1 -1
  102. package/.next/standalone/.next/server/app/details.rsc +5 -5
  103. package/.next/standalone/.next/server/app/details.segments/_full.segment.rsc +5 -5
  104. package/.next/standalone/.next/server/app/details.segments/_head.segment.rsc +1 -1
  105. package/.next/standalone/.next/server/app/details.segments/_index.segment.rsc +3 -3
  106. package/.next/standalone/.next/server/app/details.segments/_tree.segment.rsc +2 -2
  107. package/.next/standalone/.next/server/app/details.segments/details/__PAGE__.segment.rsc +2 -2
  108. package/.next/standalone/.next/server/app/details.segments/details.segment.rsc +1 -1
  109. package/.next/standalone/.next/server/app/index.html +1 -1
  110. package/.next/standalone/.next/server/app/index.rsc +5 -5
  111. package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  112. package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +5 -5
  113. package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
  114. package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +3 -3
  115. package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  116. package/.next/standalone/.next/server/app/login/page.js.nft.json +1 -1
  117. package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
  118. package/.next/standalone/.next/server/app/login.html +1 -1
  119. package/.next/standalone/.next/server/app/login.rsc +5 -5
  120. package/.next/standalone/.next/server/app/login.segments/_full.segment.rsc +5 -5
  121. package/.next/standalone/.next/server/app/login.segments/_head.segment.rsc +1 -1
  122. package/.next/standalone/.next/server/app/login.segments/_index.segment.rsc +3 -3
  123. package/.next/standalone/.next/server/app/login.segments/_tree.segment.rsc +2 -2
  124. package/.next/standalone/.next/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  125. package/.next/standalone/.next/server/app/login.segments/login.segment.rsc +1 -1
  126. package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
  127. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  128. package/.next/standalone/.next/server/app/skills/page.js.nft.json +1 -1
  129. package/.next/standalone/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  130. package/.next/standalone/.next/server/app/skills.html +1 -1
  131. package/.next/standalone/.next/server/app/skills.rsc +5 -5
  132. package/.next/standalone/.next/server/app/skills.segments/_full.segment.rsc +5 -5
  133. package/.next/standalone/.next/server/app/skills.segments/_head.segment.rsc +1 -1
  134. package/.next/standalone/.next/server/app/skills.segments/_index.segment.rsc +3 -3
  135. package/.next/standalone/.next/server/app/skills.segments/_tree.segment.rsc +2 -2
  136. package/.next/standalone/.next/server/app/skills.segments/skills/__PAGE__.segment.rsc +2 -2
  137. package/.next/standalone/.next/server/app/skills.segments/skills.segment.rsc +1 -1
  138. package/.next/standalone/.next/server/app-paths-manifest.json +2 -0
  139. package/.next/standalone/.next/server/chunks/[root-of-the-server]__02ddba88._.js +3 -0
  140. package/.next/standalone/.next/server/chunks/[root-of-the-server]__05e510f4._.js +3 -0
  141. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0a140a5a._.js +122 -0
  142. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1013b265._.js +3 -0
  143. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1c95bcde._.js +3 -0
  144. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1ce5e3b8._.js +3 -0
  145. package/.next/standalone/.next/server/chunks/[root-of-the-server]__4a6d443b._.js +3 -0
  146. package/.next/standalone/.next/server/chunks/[root-of-the-server]__53775b48._.js +3 -0
  147. package/.next/standalone/.next/server/chunks/[root-of-the-server]__5444db55._.js +3 -0
  148. package/.next/standalone/.next/server/chunks/[root-of-the-server]__591248f3._.js +3 -0
  149. package/.next/standalone/.next/server/chunks/[root-of-the-server]__5d8178f6._.js +3 -0
  150. package/.next/standalone/.next/server/chunks/[root-of-the-server]__6923eecf._.js +3 -0
  151. package/.next/standalone/.next/server/chunks/[root-of-the-server]__6d8053e2._.js +3 -0
  152. package/.next/standalone/.next/server/chunks/[root-of-the-server]__6fc12878._.js +3 -0
  153. package/.next/standalone/.next/server/chunks/[root-of-the-server]__73ce6d21._.js +3 -0
  154. package/.next/standalone/.next/server/chunks/[root-of-the-server]__863cf6de._.js +3 -0
  155. package/.next/standalone/.next/server/chunks/[root-of-the-server]__98b3de5e._.js +3 -0
  156. package/.next/standalone/.next/server/chunks/[root-of-the-server]__9d551ea2._.js +3 -0
  157. package/.next/standalone/.next/server/chunks/[root-of-the-server]__a4d3d791._.js +3 -0
  158. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__c6c98b22._.js → [root-of-the-server]__aa5c8858._.js} +3 -3
  159. package/.next/standalone/.next/server/chunks/[root-of-the-server]__b11acc79._.js +3 -0
  160. package/.next/standalone/.next/server/chunks/[root-of-the-server]__b835ea7f._.js +3 -0
  161. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ba01f286._.js +3 -0
  162. package/.next/standalone/.next/server/chunks/[root-of-the-server]__bd91659b._.js +3 -0
  163. package/.next/standalone/.next/server/chunks/[root-of-the-server]__c200214a._.js +3 -0
  164. package/.next/standalone/.next/server/chunks/[root-of-the-server]__d7fab946._.js +3 -0
  165. package/.next/standalone/.next/server/chunks/[root-of-the-server]__d8c1808b._.js +3 -0
  166. package/.next/standalone/.next/server/chunks/[root-of-the-server]__d9b9fecc._.js +3 -0
  167. package/.next/standalone/.next/server/chunks/[root-of-the-server]__e280561d._.js +3 -0
  168. package/.next/standalone/.next/server/chunks/[root-of-the-server]__e2f0baee._.js +3 -0
  169. package/.next/standalone/.next/server/chunks/[root-of-the-server]__e550423c._.js +3 -0
  170. package/.next/standalone/.next/server/chunks/[root-of-the-server]__fc05579d._.js +3 -0
  171. package/.next/standalone/.next/server/chunks/_33c0c729._.js +1 -1
  172. package/.next/standalone/.next/server/chunks/_41a98bd8._.js +3 -0
  173. package/.next/standalone/.next/server/chunks/_c48f7c66._.js +1 -1
  174. package/.next/standalone/.next/server/chunks/_c82df3e0._.js +3 -3
  175. package/.next/standalone/.next/server/chunks/_cd3d20ca._.js +1 -1
  176. package/.next/standalone/.next/server/chunks/_fa49adfa._.js +3 -3
  177. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_auth_organization_route_actions_f58710b7.js +3 -0
  178. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_guide_route_actions_6c188449.js +3 -0
  179. package/.next/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_c33286ed.js +71 -110
  180. package/.next/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_f42faeee.js +1 -400
  181. package/.next/standalone/.next/server/chunks/src_497d2ad2._.js +22 -22
  182. package/.next/standalone/.next/server/chunks/src_c8971a2d._.js +1 -1
  183. package/.next/standalone/.next/server/chunks/src_lib_12408140._.js +3 -0
  184. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__5d576168._.js → [root-of-the-server]__40353d98._.js} +1 -1
  185. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__89851212._.js → [root-of-the-server]__480fcd92._.js} +1 -1
  186. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__72a7f3ed._.js → [root-of-the-server]__48f8fbcb._.js} +1 -1
  187. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__438a2c90._.js → [root-of-the-server]__49921b2a._.js} +1 -1
  188. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__51073007._.js +1 -1
  189. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__c9e3c893._.js → [root-of-the-server]__593be3d6._.js} +1 -1
  190. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__ca101543._.js → [root-of-the-server]__5e9ff641._.js} +1 -1
  191. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__90641614._.js → [root-of-the-server]__66cc6ff2._.js} +1 -1
  192. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__37bfda90._.js → [root-of-the-server]__9889bdc8._.js} +1 -1
  193. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__42ba97b6._.js → [root-of-the-server]__9905ca7a._.js} +2 -2
  194. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__9ab7cc4a._.js +3 -0
  195. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__7bb97139._.js → [root-of-the-server]__9d6b7d48._.js} +1 -1
  196. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__6b8b9bb9._.js → [root-of-the-server]__b8edc8c6._.js} +1 -1
  197. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__1dfe61f8._.js → [root-of-the-server]__d691ecb0._.js} +1 -1
  198. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__d0917d6e._.js → [root-of-the-server]__e5ddfd15._.js} +1 -1
  199. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__e5e3a145._.js → [root-of-the-server]__f72f330e._.js} +1 -1
  200. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__99ab66d7._.js → [root-of-the-server]__f843e085._.js} +1 -1
  201. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__8a82ef12._.js → [root-of-the-server]__fd69d276._.js} +2 -2
  202. package/.next/standalone/.next/server/chunks/ssr/{_7688d7cd._.js → _049876f0._.js} +2 -2
  203. package/.next/standalone/.next/server/chunks/ssr/{_981cd263._.js → _09546b95._.js} +2 -2
  204. package/.next/standalone/.next/server/chunks/ssr/_8f5379ab._.js +1 -1
  205. package/.next/standalone/.next/server/chunks/ssr/{node_modules_cf1f3d2c._.js → _b121f1ae._.js} +2 -2
  206. package/.next/standalone/.next/server/chunks/ssr/_c8c8c083._.js +18 -42
  207. package/.next/standalone/.next/server/chunks/ssr/_fd46f439._.js +3 -0
  208. package/.next/standalone/.next/server/chunks/ssr/{node_modules_a4a1f3c3._.js → node_modules_039c6a11._.js} +1 -1
  209. package/.next/standalone/.next/server/chunks/ssr/{node_modules_a7a82280._.js → node_modules_0d3530cd._.js} +2 -2
  210. package/.next/standalone/.next/server/chunks/ssr/{node_modules_0c2939c3._.js → node_modules_0e883565._.js} +1 -1
  211. package/.next/standalone/.next/server/chunks/ssr/{node_modules_8d9e56b7._.js → node_modules_11dbf165._.js} +2 -2
  212. package/.next/standalone/.next/server/chunks/ssr/{node_modules_76d6c533._.js → node_modules_2041c122._.js} +2 -2
  213. package/.next/standalone/.next/server/chunks/ssr/{node_modules_b007145b._.js → node_modules_235267bb._.js} +1 -1
  214. package/.next/standalone/.next/server/chunks/ssr/{node_modules_11d81adf._.js → node_modules_25dfb0ba._.js} +2 -2
  215. package/.next/standalone/.next/server/chunks/ssr/{node_modules_205ce1c9._.js → node_modules_2b12c669._.js} +2 -2
  216. package/.next/standalone/.next/server/chunks/ssr/{node_modules_cc19e85c._.js → node_modules_32996880._.js} +2 -2
  217. package/.next/standalone/.next/server/chunks/ssr/{node_modules_62621b34._.js → node_modules_35885fe9._.js} +2 -2
  218. package/.next/standalone/.next/server/chunks/ssr/{node_modules_ee43cfd6._.js → node_modules_38a95353._.js} +2 -2
  219. package/.next/standalone/.next/server/chunks/ssr/{node_modules_f596a14c._.js → node_modules_3a317c51._.js} +1 -1
  220. package/.next/standalone/.next/server/chunks/ssr/{node_modules_776b68cf._.js → node_modules_44966ab2._.js} +1 -1
  221. package/.next/standalone/.next/server/chunks/ssr/node_modules_514c148b._.js +3 -0
  222. package/.next/standalone/.next/server/chunks/ssr/{node_modules_e272ac31._.js → node_modules_53af751a._.js} +2 -2
  223. package/.next/standalone/.next/server/chunks/ssr/{node_modules_23d38260._.js → node_modules_5f539891._.js} +1 -1
  224. package/.next/standalone/.next/server/chunks/ssr/{node_modules_86b6ffa4._.js → node_modules_60402210._.js} +1 -1
  225. package/.next/standalone/.next/server/chunks/ssr/{node_modules_3769cd60._.js → node_modules_60eccfb6._.js} +1 -1
  226. package/.next/standalone/.next/server/chunks/ssr/{node_modules_fdf808cf._.js → node_modules_632c098c._.js} +1 -1
  227. package/.next/standalone/.next/server/chunks/ssr/{node_modules_60cf7de2._.js → node_modules_6c42f75c._.js} +1 -1
  228. package/.next/standalone/.next/server/chunks/ssr/{node_modules_2f215d2b._.js → node_modules_6fbe276d._.js} +2 -2
  229. package/.next/standalone/.next/server/chunks/ssr/{node_modules_4cd41088._.js → node_modules_740e9d59._.js} +2 -2
  230. package/.next/standalone/.next/server/chunks/ssr/{node_modules_d0af4cb2._.js → node_modules_7a3d551c._.js} +1 -1
  231. package/.next/standalone/.next/server/chunks/ssr/{node_modules_4f41f172._.js → node_modules_861cb9cf._.js} +2 -2
  232. package/.next/standalone/.next/server/chunks/ssr/{node_modules_db8af6e3._.js → node_modules_8a892761._.js} +1 -1
  233. package/.next/standalone/.next/server/chunks/ssr/{node_modules_28fef057._.js → node_modules_a5a4946e._.js} +1 -1
  234. package/.next/standalone/.next/server/chunks/ssr/{node_modules_3d9afa91._.js → node_modules_a712c937._.js} +1 -1
  235. package/.next/standalone/.next/server/chunks/ssr/{node_modules_330b9e3c._.js → node_modules_a8c276dd._.js} +2 -2
  236. package/.next/standalone/.next/server/chunks/ssr/{node_modules_abf4f826._.js → node_modules_acc9d529._.js} +1 -1
  237. package/.next/standalone/.next/server/chunks/ssr/{node_modules_39a3e684._.js → node_modules_ad07ab39._.js} +1 -1
  238. package/.next/standalone/.next/server/chunks/ssr/{node_modules_1d88c7cc._.js → node_modules_b38efa22._.js} +1 -1
  239. package/.next/standalone/.next/server/chunks/ssr/{node_modules_8633bac6._.js → node_modules_b4ef036d._.js} +2 -2
  240. package/.next/standalone/.next/server/chunks/ssr/{node_modules_abc9e5a6._.js → node_modules_b6bad701._.js} +2 -2
  241. package/.next/standalone/.next/server/chunks/ssr/{node_modules_c90fa812._.js → node_modules_b9810024._.js} +1 -1
  242. package/.next/standalone/.next/server/chunks/ssr/{node_modules_f56b62b0._.js → node_modules_b9ad808d._.js} +1 -1
  243. package/.next/standalone/.next/server/chunks/ssr/{node_modules_7287189a._.js → node_modules_bc287d9f._.js} +1 -1
  244. package/.next/standalone/.next/server/chunks/ssr/{node_modules_5ab83f0a._.js → node_modules_c411d7df._.js} +2 -2
  245. package/.next/standalone/.next/server/chunks/ssr/{node_modules_c98dd942._.js → node_modules_c6469d93._.js} +1 -1
  246. package/.next/standalone/.next/server/chunks/ssr/{node_modules_6391b0cd._.js → node_modules_c704e802._.js} +1 -1
  247. package/.next/standalone/.next/server/chunks/ssr/{node_modules_df113a74._.js → node_modules_cda46cfc._.js} +2 -2
  248. package/.next/standalone/.next/server/chunks/ssr/{node_modules_aa6da06c._.js → node_modules_cf171d0c._.js} +1 -1
  249. package/.next/standalone/.next/server/chunks/ssr/{node_modules_be61cdef._.js → node_modules_e8927fc2._.js} +1 -1
  250. package/.next/standalone/.next/server/chunks/ssr/node_modules_katex_dist_katex_mjs_d037b3b1._.js +1 -1
  251. package/.next/standalone/.next/server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_chunk-7R4GIKGN_mjs_e5dda8cc._.js +1 -1
  252. package/.next/standalone/.next/server/chunks/ssr/src_66a70595._.js +1 -1
  253. package/.next/standalone/.next/server/chunks/ssr/src_app_login_page_tsx_72f58654._.js +1 -1
  254. package/.next/standalone/.next/server/pages/404.html +1 -1
  255. package/.next/standalone/.next/server/pages/500.html +2 -2
  256. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  257. package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
  258. package/.next/standalone/.next/static/chunks/{d60f0b3e2f4689ac.js → 01eddf501c574a44.js} +1 -1
  259. package/.next/{static/chunks/ec0de430276c8209.js → standalone/.next/static/chunks/078d76156083f265.js} +1 -1
  260. package/.next/standalone/.next/static/chunks/{6a17b619eed04f07.js → 07c9f28a269c701a.js} +2 -2
  261. package/.next/standalone/.next/static/chunks/1e782a49beaf489c.js +1 -0
  262. package/.next/{static/chunks/55723b38de737547.js → standalone/.next/static/chunks/21105f8885631d60.js} +1 -1
  263. package/.next/standalone/.next/static/chunks/4071dbec4cf7e72e.js +109 -0
  264. package/.next/{static/chunks/052f178ab7519d8d.js → standalone/.next/static/chunks/5432ce4a494bc74d.js} +2 -2
  265. package/.next/standalone/.next/static/chunks/59cd76b8d89e776a.js +1 -0
  266. package/.next/standalone/.next/static/chunks/67bd1a5de2195779.js +1 -0
  267. package/.next/standalone/.next/static/chunks/6baf949fafec6be3.js +1 -0
  268. package/.next/standalone/.next/static/chunks/737b8cff3c6a4e30.js +1 -0
  269. package/.next/standalone/.next/static/chunks/7e35f4cf2e266022.js +1 -0
  270. package/.next/standalone/.next/static/chunks/a87b5e84254095a5.js +1 -0
  271. package/.next/standalone/.next/static/chunks/b43afe7d924243d9.js +2 -0
  272. package/.next/standalone/.next/static/chunks/c6bd2818656b1f20.css +1 -0
  273. package/.next/{static/chunks/559e55a53f22f5d1.js → standalone/.next/static/chunks/c875bd2ff662b46f.js} +1 -1
  274. package/.next/{static/chunks/6d12c79948c7e0ac.js → standalone/.next/static/chunks/dc59a07a8f327b40.js} +1 -1
  275. package/.next/standalone/.next/static/chunks/e09d9ee16fe90255.js +1 -0
  276. package/.next/standalone/.next/static/chunks/{20337e5244416041.js → e20b02ee30c11a26.js} +1 -1
  277. package/.next/standalone/.next/static/chunks/ff6357067630b168.js +1 -0
  278. package/.next/standalone/LICENSE +1 -1
  279. package/.next/standalone/bin/cli.js +1 -1
  280. package/.next/standalone/features/feature-skill-used-jump-link/design/2026-03-18-skill-used-jump-link-design.md +126 -0
  281. package/.next/standalone/features/feature-skill-used-jump-link/feature.json +32 -0
  282. package/.next/standalone/features/feature-skill-used-jump-link/issue.md +32 -0
  283. package/.next/standalone/features/feature-skill-used-jump-link/plans/2026-03-18-skill-used-jump-link.md +528 -0
  284. package/.next/standalone/next.config.ts +14 -2
  285. package/.next/standalone/node_modules/.prisma/client/edge.js +23 -5
  286. package/.next/standalone/node_modules/.prisma/client/index-browser.js +20 -2
  287. package/.next/standalone/node_modules/.prisma/client/index.js +23 -5
  288. package/.next/standalone/node_modules/.prisma/client/package.json +1 -1
  289. package/.next/standalone/node_modules/.prisma/client/schema.prisma +19 -2
  290. package/.next/standalone/node_modules/.prisma/client/wasm.js +20 -2
  291. package/.next/standalone/node_modules/@img/colour/color.cjs +11 -9
  292. package/.next/standalone/node_modules/@img/colour/package.json +21 -8
  293. package/.next/standalone/package.json +1 -1
  294. package/.next/standalone/prisma/schema.prisma +19 -2
  295. package/.next/standalone/scripts/activate_telemetry.sh +24 -24
  296. package/.next/standalone/scripts/claude_watcher_client.ts +9 -7
  297. package/.next/standalone/scripts/init_opengauss.py +15 -0
  298. package/.next/standalone/scripts/install.js +68 -35
  299. package/.next/standalone/scripts/logs.js +1 -1
  300. package/.next/standalone/scripts/openclaw_watcher_client.ts +9 -7
  301. package/.next/standalone/scripts/opencode_plugin.ts +278 -46
  302. package/.next/standalone/scripts/postinstall.js +80 -38
  303. package/.next/standalone/scripts/restart.js +1 -1
  304. package/.next/standalone/scripts/start.js +84 -60
  305. package/.next/standalone/scripts/status.js +1 -1
  306. package/.next/standalone/scripts/stop.js +38 -14
  307. package/.next/standalone/scripts/sync_skills.js +5 -5
  308. package/.next/standalone/scripts/utils.js +91 -23
  309. package/.next/standalone/tests/setup_skill_optimizer.sh +118 -0
  310. package/.next/static/chunks/{d60f0b3e2f4689ac.js → 01eddf501c574a44.js} +1 -1
  311. package/.next/{standalone/.next/static/chunks/ec0de430276c8209.js → static/chunks/078d76156083f265.js} +1 -1
  312. package/.next/static/chunks/{6a17b619eed04f07.js → 07c9f28a269c701a.js} +2 -2
  313. package/.next/static/chunks/1e782a49beaf489c.js +1 -0
  314. package/.next/{standalone/.next/static/chunks/55723b38de737547.js → static/chunks/21105f8885631d60.js} +1 -1
  315. package/.next/static/chunks/4071dbec4cf7e72e.js +109 -0
  316. package/.next/{standalone/.next/static/chunks/052f178ab7519d8d.js → static/chunks/5432ce4a494bc74d.js} +2 -2
  317. package/.next/static/chunks/59cd76b8d89e776a.js +1 -0
  318. package/.next/static/chunks/67bd1a5de2195779.js +1 -0
  319. package/.next/static/chunks/6baf949fafec6be3.js +1 -0
  320. package/.next/static/chunks/737b8cff3c6a4e30.js +1 -0
  321. package/.next/static/chunks/7e35f4cf2e266022.js +1 -0
  322. package/.next/static/chunks/a87b5e84254095a5.js +1 -0
  323. package/.next/static/chunks/b43afe7d924243d9.js +2 -0
  324. package/.next/static/chunks/c6bd2818656b1f20.css +1 -0
  325. package/.next/{standalone/.next/static/chunks/559e55a53f22f5d1.js → static/chunks/c875bd2ff662b46f.js} +1 -1
  326. package/.next/{standalone/.next/static/chunks/6d12c79948c7e0ac.js → static/chunks/dc59a07a8f327b40.js} +1 -1
  327. package/.next/static/chunks/e09d9ee16fe90255.js +1 -0
  328. package/.next/static/chunks/{20337e5244416041.js → e20b02ee30c11a26.js} +1 -1
  329. package/.next/static/chunks/ff6357067630b168.js +1 -0
  330. package/LICENSE +1 -1
  331. package/README.md +7 -6
  332. package/bin/cli.js +1 -1
  333. package/package.json +1 -1
  334. package/prisma/schema.prisma +19 -2
  335. package/scripts/activate_telemetry.sh +24 -24
  336. package/scripts/claude_watcher_client.ts +9 -7
  337. package/scripts/init_opengauss.py +15 -0
  338. package/scripts/install.js +68 -35
  339. package/scripts/logs.js +1 -1
  340. package/scripts/openclaw_watcher_client.ts +9 -7
  341. package/scripts/opencode_plugin.ts +278 -46
  342. package/scripts/postinstall.js +80 -38
  343. package/scripts/restart.js +1 -1
  344. package/scripts/start.js +84 -60
  345. package/scripts/status.js +1 -1
  346. package/scripts/stop.js +38 -14
  347. package/scripts/sync_skills.js +5 -5
  348. package/scripts/utils.js +91 -23
  349. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1306e4eb._.js +0 -3
  350. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1809fb2b._.js +0 -3
  351. package/.next/standalone/.next/server/chunks/[root-of-the-server]__19594bdd._.js +0 -3
  352. package/.next/standalone/.next/server/chunks/[root-of-the-server]__19db3d34._.js +0 -3
  353. package/.next/standalone/.next/server/chunks/[root-of-the-server]__2b2e7f49._.js +0 -3
  354. package/.next/standalone/.next/server/chunks/[root-of-the-server]__3c02de9b._.js +0 -3
  355. package/.next/standalone/.next/server/chunks/[root-of-the-server]__3f3ad12b._.js +0 -3
  356. package/.next/standalone/.next/server/chunks/[root-of-the-server]__4c1ad182._.js +0 -3
  357. package/.next/standalone/.next/server/chunks/[root-of-the-server]__4dce0fe6._.js +0 -3
  358. package/.next/standalone/.next/server/chunks/[root-of-the-server]__582cdc68._.js +0 -3
  359. package/.next/standalone/.next/server/chunks/[root-of-the-server]__625e84f3._.js +0 -3
  360. package/.next/standalone/.next/server/chunks/[root-of-the-server]__68b5a8b3._.js +0 -3
  361. package/.next/standalone/.next/server/chunks/[root-of-the-server]__704b8533._.js +0 -3
  362. package/.next/standalone/.next/server/chunks/[root-of-the-server]__78ea20f2._.js +0 -3
  363. package/.next/standalone/.next/server/chunks/[root-of-the-server]__7f754db9._.js +0 -3
  364. package/.next/standalone/.next/server/chunks/[root-of-the-server]__824c33e1._.js +0 -3
  365. package/.next/standalone/.next/server/chunks/[root-of-the-server]__92449e6d._.js +0 -3
  366. package/.next/standalone/.next/server/chunks/[root-of-the-server]__9465727f._.js +0 -3
  367. package/.next/standalone/.next/server/chunks/[root-of-the-server]__9c3018b5._.js +0 -3
  368. package/.next/standalone/.next/server/chunks/[root-of-the-server]__a12846e0._.js +0 -3
  369. package/.next/standalone/.next/server/chunks/[root-of-the-server]__a637116a._.js +0 -3
  370. package/.next/standalone/.next/server/chunks/[root-of-the-server]__a8f83ee4._.js +0 -3
  371. package/.next/standalone/.next/server/chunks/[root-of-the-server]__a8ffc1b1._.js +0 -3
  372. package/.next/standalone/.next/server/chunks/[root-of-the-server]__a9cb205c._.js +0 -122
  373. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ab7048b0._.js +0 -3
  374. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ac25e4ae._.js +0 -3
  375. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ae5ac9cd._.js +0 -3
  376. package/.next/standalone/.next/server/chunks/[root-of-the-server]__bebf4267._.js +0 -3
  377. package/.next/standalone/.next/server/chunks/[root-of-the-server]__c5ae3ebd._.js +0 -3
  378. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ebdafae4._.js +0 -3
  379. package/.next/standalone/.next/server/chunks/[root-of-the-server]__eefd5f5b._.js +0 -3
  380. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__082c32a2._.js +0 -3
  381. package/.next/standalone/.next/server/chunks/ssr/_b7889f85._.js +0 -3
  382. package/.next/standalone/.next/server/chunks/ssr/node_modules_0b762d3e._.js +0 -3
  383. package/.next/standalone/.next/static/chunks/024c9acb4aa490c8.js +0 -1
  384. package/.next/standalone/.next/static/chunks/104f2c1fb93033c0.js +0 -1
  385. package/.next/standalone/.next/static/chunks/222a937a6c859036.js +0 -1
  386. package/.next/standalone/.next/static/chunks/2e1b2125198a02c4.js +0 -1
  387. package/.next/standalone/.next/static/chunks/32b26ff1bbd034fd.js +0 -1
  388. package/.next/standalone/.next/static/chunks/428e6cf64b115e9d.css +0 -1
  389. package/.next/standalone/.next/static/chunks/62e251619a96dc26.js +0 -1
  390. package/.next/standalone/.next/static/chunks/65c652f23d2d68bd.js +0 -133
  391. package/.next/standalone/.next/static/chunks/876e2d70185fd438.js +0 -1
  392. package/.next/standalone/.next/static/chunks/c647b2e4532050e0.js +0 -1
  393. package/.next/standalone/.next/static/chunks/d2e574310159a10b.js +0 -1
  394. package/.next/standalone/.next/static/chunks/dab1749712763979.js +0 -2
  395. package/.next/static/chunks/024c9acb4aa490c8.js +0 -1
  396. package/.next/static/chunks/104f2c1fb93033c0.js +0 -1
  397. package/.next/static/chunks/222a937a6c859036.js +0 -1
  398. package/.next/static/chunks/2e1b2125198a02c4.js +0 -1
  399. package/.next/static/chunks/32b26ff1bbd034fd.js +0 -1
  400. package/.next/static/chunks/428e6cf64b115e9d.css +0 -1
  401. package/.next/static/chunks/62e251619a96dc26.js +0 -1
  402. package/.next/static/chunks/65c652f23d2d68bd.js +0 -133
  403. package/.next/static/chunks/876e2d70185fd438.js +0 -1
  404. package/.next/static/chunks/c647b2e4532050e0.js +0 -1
  405. package/.next/static/chunks/d2e574310159a10b.js +0 -1
  406. package/.next/static/chunks/dab1749712763979.js +0 -2
  407. /package/.next/standalone/.next/static/{Zt2VD1Py2IilfVNJL-9Wm → H581Rok68JtPV4bAVVH3l}/_buildManifest.js +0 -0
  408. /package/.next/standalone/.next/static/{Zt2VD1Py2IilfVNJL-9Wm → H581Rok68JtPV4bAVVH3l}/_clientMiddlewareManifest.json +0 -0
  409. /package/.next/standalone/.next/static/{Zt2VD1Py2IilfVNJL-9Wm → H581Rok68JtPV4bAVVH3l}/_ssgManifest.js +0 -0
  410. /package/.next/static/{Zt2VD1Py2IilfVNJL-9Wm → H581Rok68JtPV4bAVVH3l}/_buildManifest.js +0 -0
  411. /package/.next/static/{Zt2VD1Py2IilfVNJL-9Wm → H581Rok68JtPV4bAVVH3l}/_clientMiddlewareManifest.json +0 -0
  412. /package/.next/static/{Zt2VD1Py2IilfVNJL-9Wm → H581Rok68JtPV4bAVVH3l}/_ssgManifest.js +0 -0
@@ -1,17 +1,17 @@
1
- module.exports=[81176,e=>{"use strict";var t=e.i(47909),a=e.i(74017),n=e.i(60476),o=e.i(59756),i=e.i(61916),r=e.i(74677),s=e.i(69741),c=e.i(16795),l=e.i(87718),h=e.i(95169),d=e.i(47587),p=e.i(66012),u=e.i(70101),E=e.i(26937),_=e.i(10372),w=e.i(93695);e.i(52474);var f=e.i(220),S=e.i(89171);async function T(e){let{searchParams:t}=new URL(e.url),a=t.get("apiKey"),n=t.get("host");if(!a||!n)return new S.NextResponse("Missing required parameters: apiKey and host",{status:400,headers:{"Content-Type":"text/plain"}});let o=e.headers.get("host")||"127.0.0.1:3000",i=e.headers.get("x-forwarded-proto")||"http",r=`${i}://${o}`,s=`#!/bin/bash
1
+ module.exports=[81176,e=>{"use strict";var t=e.i(47909),n=e.i(74017),i=e.i(60476),s=e.i(59756),o=e.i(61916),r=e.i(74677),l=e.i(69741),a=e.i(16795),c=e.i(87718),h=e.i(95169),p=e.i(47587),S=e.i(66012),d=e.i(70101),_=e.i(26937),u=e.i(10372),E=e.i(93695);e.i(52474);var L=e.i(220),I=e.i(89171);async function w(e){var t,n,i;let s,o,r,l,{searchParams:a}=new URL(e.url),c=a.get("apiKey"),h=a.get("host");if(!c||!h)return new I.NextResponse("Missing required parameters: apiKey and host",{status:400,headers:{"Content-Type":"text/plain"}});let p=e.headers.get("host")||"127.0.0.1:3000",S=e.headers.get("x-forwarded-proto")||"http",d=new URL(e.url).pathname.replace(/\/api\/setup\/auto\/?$/,""),_=`${S}://${p}${d}`;return"windows"==(r=e.headers.get("user-agent")||"",(l=e.headers.get("x-platform")||"")?"windows"===l.toLowerCase()?"windows":"unix":/windows|win32|win64/i.test(r)?"windows":"unix")?(s=["# =============================================================================\n# Skill-insight Auto Setup (Non-Interactive) - PowerShell\n# =============================================================================\n",'$SKILL_INSIGHT_HOST = "'+h+'"','$SKILL_INSIGHT_BASE_URL = "'+_+'"','$SKILL_INSIGHT_API_KEY = "'+c+'"','\nWrite-Host "🚀 Fetching Skill-insight telemetry components from $SKILL_INSIGHT_BASE_URL..."\n\n# 1. Setup Directories\n$skillInsightDir = Join-Path $env:USERPROFILE ".skill-insight"\n$skillInsightLogsDir = Join-Path $skillInsightDir "logs"\n$opencodePluginsDir = Join-Path $env:USERPROFILE ".opencode\\plugins"\n$opencodeSkillsDir = Join-Path $env:USERPROFILE ".opencode\\skills"\n$claudeProjectsDir = Join-Path $env:USERPROFILE ".claude\\projects"\n$openclawAgentsDir = Join-Path $env:USERPROFILE ".openclaw\\agents"\n\nNew-Item -ItemType Directory -Force -Path $skillInsightDir | Out-Null\nNew-Item -ItemType Directory -Force -Path $skillInsightLogsDir | Out-Null\nNew-Item -ItemType Directory -Force -Path $opencodePluginsDir | Out-Null\nNew-Item -ItemType Directory -Force -Path $opencodeSkillsDir | Out-Null\nNew-Item -ItemType Directory -Force -Path $claudeProjectsDir | Out-Null\nNew-Item -ItemType Directory -Force -Path $openclawAgentsDir | Out-Null\nNew-Item -ItemType Directory -Force -Path ".opencode\\skills" | Out-Null\nWrite-Host "📂 Created necessary directories"\n\n# 2. Interactive Framework Selection with inquirer\nWrite-Host ""\n\n$SELECTOR_SCRIPT = Join-Path $skillInsightDir "framework_selector.mjs"\n$SELECTOR_RESULT = Join-Path $skillInsightDir ".selector_result"\n\n# Install inquirer if not already installed\nSet-Location $skillInsightDir\nif (-not (Test-Path "node_modules\\inquirer")) {\n Write-Host "📦 Installing inquirer for interactive selection..."\n npm install inquirer --save 2>$null\n}\n\n$selectorLines = @(\n "import inquirer from \'inquirer\';"\n "import fs from \'fs\';"\n ""\n "const frameworks = ["\n " { name: \'OpenCode\', value: \'opencode\' },"\n " { name: \'Claude Code\', value: \'claude\' },"\n " { name: \'OpenClaw\', value: \'openclaw\' }"\n "];"\n ""\n "async function select() {"\n " console.log(\'\');"\n " console.log(\'\\x1b[36m%s\\x1b[0m\', \'╔══════════════════════════════════════════════════════════╗\');"\n " console.log(\'\\x1b[36m%s\\x1b[0m\', \'║ ║\');"\n " console.log(\'\\x1b[1m\\x1b[36m%s\\x1b[0m\', \'║ ✨ Skill-insight ✨ ║\');"\n " console.log(\'\\x1b[36m%s\\x1b[0m\', \'║ ║\');"\n " console.log(\'\\x1b[36m%s\\x1b[0m\', \'╚══════════════════════════════════════════════════════════╝\');"\n " console.log(\'\');"\n " console.log(\'\\x1b[90m%s\\x1b[0m\', \' 提示: ↑↓ 移动 | 空格 选择 | a 全选 | i 反选 | Enter 确认\');"\n " console.log(\'\');"\n ""\n " const answers = await inquirer.prompt(["\n " {"\n " type: \'checkbox\',"\n " name: \'frameworks\',"\n " message: \'集成到:\',"\n " choices: frameworks,"\n " pageSize: 10,"\n " loop: false"\n " }"\n " ]);"\n ""\n " const selected = answers.frameworks;"\n " "\n " if (selected.length > 0) {"\n " console.log(\'\');"\n " console.log(\'\\x1b[32m%s\\x1b[0m\', \'✅ 将安装以下组件:\');"\n " selected.forEach(fw => {"\n " const name = frameworks.find(f => f.value === fw)?.name || fw;"\n " console.log(\'\\x1b[32m%s\\x1b[0m\', \' • \' + name);"\n " });"\n " console.log(\'\');"\n " } else {"\n " console.log(\'\');"\n " console.log(\'\\x1b[33m%s\\x1b[0m\', \'⚠️ 未选择任何组件,将不进行安装。\');"\n " console.log(\'\');"\n " }"\n ""\n " // Write result to file for PowerShell to read"\n " const resultFile = process.env.SELECTOR_RESULT_FILE || process.env.USERPROFILE + \'\\\\.skill-insight\\\\.selector_result\';"\n " fs.writeFileSync(resultFile, selected.join(\',\'));"\n "}"\n ""\n "select().catch(err => {"\n " console.error(\'Error:\', err);"\n " process.exit(1);"\n "});"\n)\n$selectorContent = $selectorLines -join [char]10\nSet-Content -Path $SELECTOR_SCRIPT -Value $selectorContent -Encoding UTF8\n\n# Run the selector interactively\n$env:SELECTOR_RESULT_FILE = $SELECTOR_RESULT\nSet-Location $skillInsightDir\nnpx -y tsx $SELECTOR_SCRIPT\n\n# Read the selection result from file\nif (Test-Path $SELECTOR_RESULT) {\n $SELECTED_FRAMEWORKS = Get-Content $SELECTOR_RESULT\n Remove-Item $SELECTOR_RESULT -Force\n} else {\n $SELECTED_FRAMEWORKS = ""\n}\n\n# Set installation flags based on selection\n$INSTALL_OPENCODE = $false\n$INSTALL_CLAUDE = $false\n$INSTALL_OPENCLAW = $false\n\nif ($SELECTED_FRAMEWORKS -match "opencode") {\n $INSTALL_OPENCODE = $true\n}\nif ($SELECTED_FRAMEWORKS -match "claude") {\n $INSTALL_CLAUDE = $true\n}\nif ($SELECTED_FRAMEWORKS -match "openclaw") {\n $INSTALL_OPENCLAW = $true\n}\n\n# Exit if nothing selected\nif (-not $INSTALL_OPENCODE -and -not $INSTALL_CLAUDE -and -not $INSTALL_OPENCLAW) {\n Write-Host "⚠️ 未选择任何框架组件,将跳过插件安装。"\n Write-Host " 继续执行配置步骤..."\n Write-Host ""\n}\n\n# 3. Download Components\nif ($INSTALL_OPENCODE) {\n Write-Host "⏬ Downloading OpenCode Plugin..."\n Invoke-WebRequest -Uri "$SKILL_INSIGHT_BASE_URL/api/setup/opencode" -OutFile (Join-Path $opencodePluginsDir "Witty-Skill-Insight.ts")\n}\n\nif ($INSTALL_CLAUDE) {\n Write-Host "⏬ Downloading Claude Code Watcher..."\n Invoke-WebRequest -Uri "$SKILL_INSIGHT_BASE_URL/api/setup/claude-watcher" -OutFile (Join-Path $skillInsightDir "claude_watcher_client.ts")\n}\n\nif ($INSTALL_OPENCLAW) {\n Write-Host "⏬ Downloading OpenClaw Watcher..."\n Invoke-WebRequest -Uri "$SKILL_INSIGHT_BASE_URL/api/setup/openclaw-watcher" -OutFile (Join-Path $skillInsightDir "openclaw_watcher_client.ts")\n}\n\n# 4. Configure ~/.skill-insight/.env (Auto mode - no interaction)\n$SKILL_INSIGHT_CONFIG_FILE = Join-Path $skillInsightDir ".env"\n\nWrite-Host "⚙️ Updating configuration..."\nif (Test-Path $SKILL_INSIGHT_CONFIG_FILE) {\n $existingContent = Get-Content $SKILL_INSIGHT_CONFIG_FILE\n $filteredContent = $existingContent | Where-Object { $_ -notmatch "^SKILL_INSIGHT_HOST=" -and $_ -notmatch "^SKILL_INSIGHT_API_KEY=" }\n Set-Content -Path $SKILL_INSIGHT_CONFIG_FILE -Value $filteredContent\n} else {\n New-Item -ItemType File -Path $SKILL_INSIGHT_CONFIG_FILE -Force | Out-Null\n}\nAdd-Content -Path $SKILL_INSIGHT_CONFIG_FILE -Value "SKILL_INSIGHT_HOST=$SKILL_INSIGHT_HOST"\nAdd-Content -Path $SKILL_INSIGHT_CONFIG_FILE -Value "SKILL_INSIGHT_API_KEY=$SKILL_INSIGHT_API_KEY"\nWrite-Host "✅ Configuration updated at $SKILL_INSIGHT_CONFIG_FILE"\nWrite-Host " SKILL_INSIGHT_HOST=$SKILL_INSIGHT_HOST"\nWrite-Host " SKILL_INSIGHT_API_KEY=********"\n\n# 6. Install Watcher Dependencies (only if any watcher is selected)\nif ($INSTALL_CLAUDE -or $INSTALL_OPENCLAW) {\n Write-Host ""\n Write-Host "📦 Installing watcher dependencies..."\n if (Get-Command npm -ErrorAction SilentlyContinue) {\n Set-Location $skillInsightDir\n if (-not (Test-Path "package.json")) {\n \'{"name": "skill-insight-watcher", "version": "1.0.0", "type": "module", "dependencies": {}}\' | Out-File -FilePath "package.json" -Encoding utf8\n }\n npm install chokidar --save 2>$null\n Write-Host "✅ Dependencies installed"\n } else {\n Write-Host "⚠️ npm not found. Skipping dependency installation."\n }\n}\n\n# 7. Create Watcher Startup/Stop Scripts\n$NEEDS_WATCHER_SCRIPTS = $INSTALL_CLAUDE -or $INSTALL_OPENCLAW\n\nif ($NEEDS_WATCHER_SCRIPTS) {\n Write-Host ""\n Write-Host "📝 Creating watcher management scripts..."\n\n # Claude Watcher Start Script\n if ($INSTALL_CLAUDE) {\n $startClaudeScript = @\'\n# Stop existing watcher if running\nGet-Process | Where-Object { $_.CommandLine -like "*claude_watcher_client.ts*" } | Stop-Process -Force -ErrorAction SilentlyContinue\n\n# Start watcher in background\n$skillInsightDir = Join-Path $env:USERPROFILE ".skill-insight"\n$logFile = Join-Path $skillInsightDir "logs\\claude_watcher.log"\n$scriptPath = Join-Path $skillInsightDir "claude_watcher_client.ts"\n\nStart-Process -FilePath "npx" -ArgumentList "-y", "tsx", $scriptPath -NoNewWindow -RedirectStandardOutput $logFile -RedirectStandardError $logFile\nWrite-Host "Claude watcher started"\n\'@\n $startClaudePath = Join-Path $skillInsightDir "start_claude_watcher.ps1"\n Set-Content -Path $startClaudePath -Value $startClaudeScript -Encoding UTF8\n Write-Host "✅ Claude watcher start script created"\n\n # Claude Watcher Stop Script\n $stopClaudeScript = @\'\nWrite-Host "Stopping Claude watcher..."\nGet-Process | Where-Object { $_.CommandLine -like "*claude_watcher_client.ts*" } | Stop-Process -Force -ErrorAction SilentlyContinue\nWrite-Host "Claude watcher stopped"\n\'@\n $stopClaudePath = Join-Path $skillInsightDir "stop_claude_watcher.ps1"\n Set-Content -Path $stopClaudePath -Value $stopClaudeScript -Encoding UTF8\n Write-Host "✅ Claude watcher stop script created"\n }\n\n # OpenClaw Watcher Start Script\n if ($INSTALL_OPENCLAW) {\n $startOpenclawScript = @\'\n# Stop existing watcher if running\nGet-Process | Where-Object { $_.CommandLine -like "*openclaw_watcher_client.ts*" } | Stop-Process -Force -ErrorAction SilentlyContinue\n\n# Start watcher in background\n$skillInsightDir = Join-Path $env:USERPROFILE ".skill-insight"\n$logFile = Join-Path $skillInsightDir "logs\\openclaw_watcher.log"\n$scriptPath = Join-Path $skillInsightDir "openclaw_watcher_client.ts"\n\nStart-Process -FilePath "npx" -ArgumentList "-y", "tsx", $scriptPath -NoNewWindow -RedirectStandardOutput $logFile -RedirectStandardError $logFile\nWrite-Host "OpenClaw watcher started"\n\'@\n $startOpenclawPath = Join-Path $skillInsightDir "start_openclaw_watcher.ps1"\n Set-Content -Path $startOpenclawPath -Value $startOpenclawScript -Encoding UTF8\n Write-Host "✅ OpenClaw watcher start script created"\n\n # OpenClaw Watcher Stop Script\n $stopOpenclawScript = @\'\nWrite-Host "Stopping OpenClaw watcher..."\nGet-Process | Where-Object { $_.CommandLine -like "*openclaw_watcher_client.ts*" } | Stop-Process -Force -ErrorAction SilentlyContinue\nWrite-Host "OpenClaw watcher stopped"\n\'@\n $stopOpenclawPath = Join-Path $skillInsightDir "stop_openclaw_watcher.ps1"\n Set-Content -Path $stopOpenclawPath -Value $stopOpenclawScript -Encoding UTF8\n Write-Host "✅ OpenClaw watcher stop script created"\n }\n\n # Combined Start Script\n $startLines = @()\n $startLines += \'Write-Host "Starting Skill-Insight watchers..."\'\n if ($INSTALL_CLAUDE) {\n $startLines += \'powershell -File "\' + $skillInsightDir + \'\\start_claude_watcher.ps1"\'\n }\n if ($INSTALL_OPENCLAW) {\n $startLines += \'powershell -File "\' + $skillInsightDir + \'\\start_openclaw_watcher.ps1"\'\n }\n $startLines += \'Write-Host "All watchers started!"\'\n $startLines -join [char]10 | Set-Content -Path (Join-Path $skillInsightDir "start_watchers.ps1") -Encoding UTF8\n Write-Host "✅ Combined start script created"\n\n # Combined Stop Script\n $stopLines = @()\n $stopLines += \'Write-Host "Stopping Skill-Insight watchers..."\'\n if ($INSTALL_CLAUDE) {\n $stopLines += \'powershell -File "\' + $skillInsightDir + \'\\stop_claude_watcher.ps1"\'\n }\n if ($INSTALL_OPENCLAW) {\n $stopLines += \'powershell -File "\' + $skillInsightDir + \'\\stop_openclaw_watcher.ps1"\'\n }\n $stopLines += \'Write-Host "All watchers stopped!"\'\n $stopLines -join [char]10 | Set-Content -Path (Join-Path $skillInsightDir "stop_watchers.ps1") -Encoding UTF8\n Write-Host "✅ Combined stop script created"\n}\n\n# 8. Start Watchers Now\nif ($NEEDS_WATCHER_SCRIPTS) {\n Write-Host ""\n Write-Host "🚀 Starting telemetry watchers..."\n if (Get-Command npx -ErrorAction SilentlyContinue) {\n & (Join-Path $skillInsightDir "start_watchers.ps1")\n } else {\n Write-Host "⚠️ Node.js (npx) not found. Skipping watcher startup."\n }\n}\n\n# 10. Final Summary\nWrite-Host ""\nWrite-Host "🌟 Skill-Insight Telemetry: READY"\nWrite-Host "------------------------------------------------"\nWrite-Host "Installed Components:"\nif ($INSTALL_OPENCODE) {\n Write-Host " ✅ OpenCode Plugin: ~/.opencode/plugins/Witty-Skill-Insight.ts"\n}\nif ($INSTALL_CLAUDE) {\n Write-Host " ✅ Claude Watcher: ~/.skill-insight/claude_watcher_client.ts"\n}\nif ($INSTALL_OPENCLAW) {\n Write-Host " ✅ OpenClaw Watcher: ~/.skill-insight/openclaw_watcher_client.ts"\n}\n\nif ($NEEDS_WATCHER_SCRIPTS) {\n Write-Host ""\n Write-Host "Watcher Management:"\n Write-Host " Start all: ~/.skill-insight/start_watchers.ps1"\n Write-Host " Stop all: ~/.skill-insight/stop_watchers.ps1"\n if ($INSTALL_CLAUDE) {\n Write-Host " Start Claude: ~/.skill-insight/start_claude_watcher.ps1"\n Write-Host " Stop Claude: ~/.skill-insight/stop_claude_watcher.ps1"\n }\n if ($INSTALL_OPENCLAW) {\n Write-Host " Start OpenClaw: ~/.skill-insight/start_openclaw_watcher.ps1"\n Write-Host " Stop OpenClaw: ~/.skill-insight/stop_openclaw_watcher.ps1"\n }\n Write-Host " Logs: ~/.skill-insight/logs/"\n}\n\nWrite-Host ""\nWrite-Host "Usage:"\nif ($INSTALL_OPENCODE) {\n Write-Host " 1. Run: opencode run \'hello\'"\n}\nif ($INSTALL_CLAUDE) {\n Write-Host " 2. Run: claude (restart terminal first)"\n}\nif ($INSTALL_OPENCLAW) {\n Write-Host " 3. OpenClaw will automatically monitor and upload telemetry"\n}\nWrite-Host "------------------------------------------------"'].join("\n"),new I.NextResponse("\uFEFF"+s,{headers:{"Content-Type":"application/x-powershell; charset=utf-8"}})):(t=_,n=h,i=c,o=`#!/bin/bash
2
2
  # =============================================================================
3
- # Witty-Skill-Insight Auto Setup (Non-Interactive)
3
+ # Skill-insight Auto Setup (Non-Interactive)
4
4
  # =============================================================================
5
5
 
6
- WITTY_HOST="${n}"
7
- WITTY_BASE_URL="${r}"
8
- WITTY_API_KEY="${a}"
6
+ SKILL_INSIGHT_HOST="${n}"
7
+ SKILL_INSIGHT_BASE_URL="${t}"
8
+ SKILL_INSIGHT_API_KEY="${i}"
9
9
 
10
- echo "🚀 Fetching Witty-Skill-Insight telemetry components from $WITTY_BASE_URL..."
10
+ echo "🚀 Fetching Skill-insight telemetry components from $SKILL_INSIGHT_BASE_URL..."
11
11
 
12
12
  # 1. Setup Directories
13
- mkdir -p "$HOME/.witty"
14
- mkdir -p "$HOME/.witty/logs"
13
+ mkdir -p "$HOME/.skill-insight"
14
+ mkdir -p "$HOME/.skill-insight/logs"
15
15
  mkdir -p "$HOME/.opencode/plugins"
16
16
  mkdir -p "$HOME/.opencode/skills"
17
17
  mkdir -p "$HOME/.claude/projects"
@@ -22,11 +22,11 @@ echo "📂 Created necessary directories"
22
22
  # 2. Interactive Framework Selection with inquirer
23
23
  echo ""
24
24
 
25
- SELECTOR_SCRIPT="$HOME/.witty/framework_selector.mjs"
26
- SELECTOR_RESULT="$HOME/.witty/.selector_result"
25
+ SELECTOR_SCRIPT="$HOME/.skill-insight/framework_selector.mjs"
26
+ SELECTOR_RESULT="$HOME/.skill-insight/.selector_result"
27
27
 
28
28
  # Install inquirer if not already installed
29
- cd "$HOME/.witty"
29
+ cd "$HOME/.skill-insight"
30
30
  if [ ! -d "node_modules/inquirer" ]; then
31
31
  echo "📦 Installing inquirer for interactive selection..."
32
32
  npm install inquirer --save 2>/dev/null
@@ -46,7 +46,7 @@ async function select() {
46
46
  console.log('');
47
47
  console.log('\\x1b[36m%s\\x1b[0m', '╔══════════════════════════════════════════════════════════╗');
48
48
  console.log('\\x1b[36m%s\\x1b[0m', '║ ║');
49
- console.log('\\x1b[1m\\x1b[36m%s\\x1b[0m', '║ ✨ skill-insight ✨ ║');
49
+ console.log('\\x1b[1m\\x1b[36m%s\\x1b[0m', '║ ✨ Skill-insight ✨ ║');
50
50
  console.log('\\x1b[36m%s\\x1b[0m', '║ ║');
51
51
  console.log('\\x1b[36m%s\\x1b[0m', '╚══════════════════════════════════════════════════════════╝');
52
52
  console.log('');
@@ -81,7 +81,7 @@ async function select() {
81
81
  }
82
82
 
83
83
  // Write result to file for bash to read
84
- const resultFile = process.env.SELECTOR_RESULT_FILE || process.env.HOME + '/.witty/.selector_result';
84
+ const resultFile = process.env.SELECTOR_RESULT_FILE || process.env.HOME + '/.skill-insight/.selector_result';
85
85
  fs.writeFileSync(resultFile, selected.join(','));
86
86
  }
87
87
 
@@ -94,7 +94,7 @@ SELECTOR_EOF
94
94
  # Run the selector interactively from /dev/tty
95
95
  # Export the result file path so the selector knows where to write
96
96
  export SELECTOR_RESULT_FILE="$SELECTOR_RESULT"
97
- cd "$HOME/.witty" && npx -y tsx "$SELECTOR_SCRIPT" < /dev/tty
97
+ cd "$HOME/.skill-insight" && npx -y tsx "$SELECTOR_SCRIPT" < /dev/tty
98
98
 
99
99
  # Read the selection result from file
100
100
  if [ -f "$SELECTOR_RESULT" ]; then
@@ -129,57 +129,43 @@ fi
129
129
  # 3. Download Components
130
130
  if [ "$INSTALL_OPENCODE" = "true" ]; then
131
131
  echo "⏬ Downloading OpenCode Plugin..."
132
- curl -sSf "$WITTY_BASE_URL/api/setup/opencode" -o "$HOME/.opencode/plugins/Witty-Skill-Insight.ts"
133
-
134
- echo "⏬ Downloading Skill Sync Tool..."
135
- curl -sSf "$WITTY_BASE_URL/sync_skills.ts" -o "$HOME/.witty/sync_skills.ts"
132
+ curl -sSf "$SKILL_INSIGHT_BASE_URL/api/setup/opencode" -o "$HOME/.opencode/plugins/Witty-Skill-Insight.ts"
136
133
  fi
137
134
 
138
135
  if [ "$INSTALL_CLAUDE" = "true" ]; then
139
136
  echo "⏬ Downloading Claude Code Watcher..."
140
- curl -sSf "$WITTY_BASE_URL/api/setup/claude-watcher" -o "$HOME/.witty/claude_watcher_client.ts"
137
+ curl -sSf "$SKILL_INSIGHT_BASE_URL/api/setup/claude-watcher" -o "$HOME/.skill-insight/claude_watcher_client.ts"
141
138
  fi
142
139
 
143
140
  if [ "$INSTALL_OPENCLAW" = "true" ]; then
144
141
  echo "⏬ Downloading OpenClaw Watcher..."
145
- curl -sSf "$WITTY_BASE_URL/api/setup/openclaw-watcher" -o "$HOME/.witty/openclaw_watcher_client.ts"
142
+ curl -sSf "$SKILL_INSIGHT_BASE_URL/api/setup/openclaw-watcher" -o "$HOME/.skill-insight/openclaw_watcher_client.ts"
146
143
  fi
147
144
 
148
- # 4. Configure ~/.witty/.env (Auto mode - no interaction)
149
- WITTY_CONFIG_FILE="$HOME/.witty/.env"
145
+ # 4. Configure ~/.skill-insight/.env (Auto mode - no interaction)
146
+ SKILL_INSIGHT_CONFIG_FILE="$HOME/.skill-insight/.env"
150
147
 
151
148
  echo "⚙️ Updating configuration..."
152
- touch "$WITTY_CONFIG_FILE"
153
- if [ -f "$WITTY_CONFIG_FILE" ]; then
154
- cp "$WITTY_CONFIG_FILE" "\${WITTY_CONFIG_FILE}.bak"
155
- grep -v "^WITTY_INSIGHT_HOST=" "\${WITTY_CONFIG_FILE}.bak" | grep -v "^WITTY_INSIGHT_API_KEY=" > "$WITTY_CONFIG_FILE"
156
- rm "\${WITTY_CONFIG_FILE}.bak"
157
- fi
158
- echo "WITTY_INSIGHT_HOST=$WITTY_HOST" >> "$WITTY_CONFIG_FILE"
159
- echo "WITTY_INSIGHT_API_KEY=$WITTY_API_KEY" >> "$WITTY_CONFIG_FILE"
160
- echo "✅ Configuration updated at $WITTY_CONFIG_FILE"
161
- echo " WITTY_INSIGHT_HOST=$WITTY_HOST"
162
- echo " WITTY_INSIGHT_API_KEY=********"
163
-
164
- # 5. Sync Opencode Skills
165
- if [ "$INSTALL_OPENCODE" = "true" ]; then
166
- echo ""
167
- echo "🚀 Syncing Opencode Skills..."
168
- if command -v npx &> /dev/null; then
169
- npx -y tsx "$HOME/.witty/sync_skills.ts" --agent opencode
170
- else
171
- echo "⚠️ Node.js (npx) not found. Skipping skill sync."
172
- fi
149
+ touch "$SKILL_INSIGHT_CONFIG_FILE"
150
+ if [ -f "$SKILL_INSIGHT_CONFIG_FILE" ]; then
151
+ cp "$SKILL_INSIGHT_CONFIG_FILE" "\${SKILL_INSIGHT_CONFIG_FILE}.bak"
152
+ grep -v "^SKILL_INSIGHT_HOST=" "\${SKILL_INSIGHT_CONFIG_FILE}.bak" | grep -v "^SKILL_INSIGHT_API_KEY=" > "$SKILL_INSIGHT_CONFIG_FILE"
153
+ rm "\${SKILL_INSIGHT_CONFIG_FILE}.bak"
173
154
  fi
155
+ echo "SKILL_INSIGHT_HOST=$SKILL_INSIGHT_HOST" >> "$SKILL_INSIGHT_CONFIG_FILE"
156
+ echo "SKILL_INSIGHT_API_KEY=$SKILL_INSIGHT_API_KEY" >> "$SKILL_INSIGHT_CONFIG_FILE"
157
+ echo "✅ Configuration updated at $SKILL_INSIGHT_CONFIG_FILE"
158
+ echo " SKILL_INSIGHT_HOST=$SKILL_INSIGHT_HOST"
159
+ echo " SKILL_INSIGHT_API_KEY=********"
174
160
 
175
161
  # 6. Install Watcher Dependencies (only if any watcher is selected)
176
162
  if [ "$INSTALL_CLAUDE" = "true" ] || [ "$INSTALL_OPENCLAW" = "true" ]; then
177
163
  echo ""
178
164
  echo "📦 Installing watcher dependencies..."
179
165
  if command -v npm &> /dev/null; then
180
- cd "$HOME/.witty"
166
+ cd "$HOME/.skill-insight"
181
167
  if [ ! -f "package.json" ]; then
182
- echo '{"name": "witty-watcher", "version": "1.0.0", "type": "module", "dependencies": {}}' > package.json
168
+ echo '{"name": "skill-insight-watcher", "version": "1.0.0", "type": "module", "dependencies": {}}' > package.json
183
169
  fi
184
170
  npm install chokidar --save 2>/dev/null
185
171
  echo "✅ Dependencies installed"
@@ -200,90 +186,90 @@ if [ "$NEEDS_WATCHER_SCRIPTS" = "true" ]; then
200
186
 
201
187
  # Claude Watcher Start Script
202
188
  if [ "$INSTALL_CLAUDE" = "true" ]; then
203
- cat > "$HOME/.witty/start_claude_watcher.sh" << 'WATCHER_EOF'
189
+ cat > "$HOME/.skill-insight/start_claude_watcher.sh" << 'WATCHER_EOF'
204
190
  #!/bin/bash
205
191
  # Stop existing watcher if running
206
192
  pkill -f "claude_watcher_client.ts" 2>/dev/null
207
193
 
208
194
  # Start watcher in background
209
- cd "$HOME/.witty" && nohup npx -y tsx "$HOME/.witty/claude_watcher_client.ts" > "$HOME/.witty/logs/claude_watcher.log" 2>&1 &
210
- echo $! > "$HOME/.witty/claude_watcher.pid"
211
- echo "Claude watcher started with PID $(cat $HOME/.witty/claude_watcher.pid)"
195
+ cd "$HOME/.skill-insight" && nohup npx -y tsx "$HOME/.skill-insight/claude_watcher_client.ts" > "$HOME/.skill-insight/logs/claude_watcher.log" 2>&1 &
196
+ echo $! > "$HOME/.skill-insight/claude_watcher.pid"
197
+ echo "Claude watcher started with PID $(cat $HOME/.skill-insight/claude_watcher.pid)"
212
198
  WATCHER_EOF
213
- chmod +x "$HOME/.witty/start_claude_watcher.sh"
199
+ chmod +x "$HOME/.skill-insight/start_claude_watcher.sh"
214
200
  echo "✅ Claude watcher start script created"
215
201
 
216
202
  # Claude Watcher Stop Script
217
- cat > "$HOME/.witty/stop_claude_watcher.sh" << 'STOP_CLAUDE_EOF'
203
+ cat > "$HOME/.skill-insight/stop_claude_watcher.sh" << 'STOP_CLAUDE_EOF'
218
204
  #!/bin/bash
219
205
  echo "Stopping Claude watcher..."
220
206
  pkill -f "claude_watcher_client.ts" 2>/dev/null
221
- rm -f "$HOME/.witty/claude_watcher.pid"
207
+ rm -f "$HOME/.skill-insight/claude_watcher.pid"
222
208
  echo "Claude watcher stopped"
223
209
  STOP_CLAUDE_EOF
224
- chmod +x "$HOME/.witty/stop_claude_watcher.sh"
210
+ chmod +x "$HOME/.skill-insight/stop_claude_watcher.sh"
225
211
  echo "✅ Claude watcher stop script created"
226
212
  fi
227
213
 
228
214
  # OpenClaw Watcher Start Script
229
215
  if [ "$INSTALL_OPENCLAW" = "true" ]; then
230
- cat > "$HOME/.witty/start_openclaw_watcher.sh" << 'WATCHER_EOF'
216
+ cat > "$HOME/.skill-insight/start_openclaw_watcher.sh" << 'WATCHER_EOF'
231
217
  #!/bin/bash
232
218
  # Stop existing watcher if running
233
219
  pkill -f "openclaw_watcher_client.ts" 2>/dev/null
234
220
 
235
221
  # Start watcher in background
236
- cd "$HOME/.witty" && nohup npx -y tsx "$HOME/.witty/openclaw_watcher_client.ts" > "$HOME/.witty/logs/openclaw_watcher.log" 2>&1 &
237
- echo $! > "$HOME/.witty/openclaw_watcher.pid"
238
- echo "OpenClaw watcher started with PID $(cat $HOME/.witty/openclaw_watcher.pid)"
222
+ cd "$HOME/.skill-insight" && nohup npx -y tsx "$HOME/.skill-insight/openclaw_watcher_client.ts" > "$HOME/.skill-insight/logs/openclaw_watcher.log" 2>&1 &
223
+ echo $! > "$HOME/.skill-insight/openclaw_watcher.pid"
224
+ echo "OpenClaw watcher started with PID $(cat $HOME/.skill-insight/openclaw_watcher.pid)"
239
225
  WATCHER_EOF
240
- chmod +x "$HOME/.witty/start_openclaw_watcher.sh"
226
+ chmod +x "$HOME/.skill-insight/start_openclaw_watcher.sh"
241
227
  echo "✅ OpenClaw watcher start script created"
242
228
 
243
229
  # OpenClaw Watcher Stop Script
244
- cat > "$HOME/.witty/stop_openclaw_watcher.sh" << 'STOP_OPENCLAW_EOF'
230
+ cat > "$HOME/.skill-insight/stop_openclaw_watcher.sh" << 'STOP_OPENCLAW_EOF'
245
231
  #!/bin/bash
246
232
  echo "Stopping OpenClaw watcher..."
247
233
  pkill -f "openclaw_watcher_client.ts" 2>/dev/null
248
- rm -f "$HOME/.witty/openclaw_watcher.pid"
234
+ rm -f "$HOME/.skill-insight/openclaw_watcher.pid"
249
235
  echo "OpenClaw watcher stopped"
250
236
  STOP_OPENCLAW_EOF
251
- chmod +x "$HOME/.witty/stop_openclaw_watcher.sh"
237
+ chmod +x "$HOME/.skill-insight/stop_openclaw_watcher.sh"
252
238
  echo "✅ OpenClaw watcher stop script created"
253
239
  fi
254
240
 
255
241
  # Combined Start Script - Dynamic generation
256
- cat > "$HOME/.witty/start_watchers.sh" << 'WATCHER_HEADER'
242
+ cat > "$HOME/.skill-insight/start_watchers.sh" << 'WATCHER_HEADER'
257
243
  #!/bin/bash
258
- echo "Starting Witty-Skill-Insight watchers..."
244
+ echo "Starting Skill-Insight watchers..."
259
245
  WATCHER_HEADER
260
246
 
261
247
  if [ "$INSTALL_CLAUDE" = "true" ]; then
262
- echo '"$HOME/.witty/start_claude_watcher.sh"' >> "$HOME/.witty/start_watchers.sh"
248
+ echo '"$HOME/.skill-insight/start_claude_watcher.sh"' >> "$HOME/.skill-insight/start_watchers.sh"
263
249
  fi
264
250
  if [ "$INSTALL_OPENCLAW" = "true" ]; then
265
- echo '"$HOME/.witty/start_openclaw_watcher.sh"' >> "$HOME/.witty/start_watchers.sh"
251
+ echo '"$HOME/.skill-insight/start_openclaw_watcher.sh"' >> "$HOME/.skill-insight/start_watchers.sh"
266
252
  fi
267
253
 
268
- echo 'echo "All watchers started!"' >> "$HOME/.witty/start_watchers.sh"
269
- chmod +x "$HOME/.witty/start_watchers.sh"
254
+ echo 'echo "All watchers started!"' >> "$HOME/.skill-insight/start_watchers.sh"
255
+ chmod +x "$HOME/.skill-insight/start_watchers.sh"
270
256
  echo "✅ Combined start script created"
271
257
 
272
258
  # Combined Stop Script - Dynamic generation
273
- cat > "$HOME/.witty/stop_watchers.sh" << 'STOP_HEADER'
259
+ cat > "$HOME/.skill-insight/stop_watchers.sh" << 'STOP_HEADER'
274
260
  #!/bin/bash
275
- echo "Stopping Witty-Skill-Insight watchers..."
261
+ echo "Stopping Skill-Insight watchers..."
276
262
  STOP_HEADER
277
263
 
278
264
  if [ "$INSTALL_CLAUDE" = "true" ]; then
279
- echo '"$HOME/.witty/stop_claude_watcher.sh"' >> "$HOME/.witty/stop_watchers.sh"
265
+ echo '"$HOME/.skill-insight/stop_claude_watcher.sh"' >> "$HOME/.skill-insight/stop_watchers.sh"
280
266
  fi
281
267
  if [ "$INSTALL_OPENCLAW" = "true" ]; then
282
- echo '"$HOME/.witty/stop_openclaw_watcher.sh"' >> "$HOME/.witty/stop_watchers.sh"
268
+ echo '"$HOME/.skill-insight/stop_openclaw_watcher.sh"' >> "$HOME/.skill-insight/stop_watchers.sh"
283
269
  fi
284
270
 
285
- echo 'echo "All watchers stopped!"' >> "$HOME/.witty/stop_watchers.sh"
286
- chmod +x "$HOME/.witty/stop_watchers.sh"
271
+ echo 'echo "All watchers stopped!"' >> "$HOME/.skill-insight/stop_watchers.sh"
272
+ chmod +x "$HOME/.skill-insight/stop_watchers.sh"
287
273
  echo "✅ Combined stop script created"
288
274
  fi
289
275
 
@@ -292,66 +278,41 @@ if [ "$NEEDS_WATCHER_SCRIPTS" = "true" ]; then
292
278
  echo ""
293
279
  echo "🚀 Starting telemetry watchers..."
294
280
  if command -v npx &> /dev/null; then
295
- "$HOME/.witty/start_watchers.sh"
281
+ "$HOME/.skill-insight/start_watchers.sh"
296
282
  else
297
283
  echo "⚠️ Node.js (npx) not found. Skipping watcher startup."
298
284
  fi
299
285
  fi
300
286
 
301
- # 9. Configure Claude Code Auto-Sync Wrapper
302
- if [ "$INSTALL_CLAUDE" = "true" ]; then
303
- echo ""
304
- echo "🔄 Configuring Claude Code Auto-Sync Wrapper..."
305
- CLAUDE_WRAPPER='
306
- # Witty Insight Claude Alliance
307
- witty-claude() {
308
- if command -v npx &> /dev/null; then
309
- npx -y tsx "$HOME/.witty/sync_skills.ts" --agent claude >/dev/null 2>&1
310
- fi
311
- command claude "$@"
312
- }
313
- alias claude="witty-claude"
314
- '
315
-
316
- for rc_file in "$HOME/.bashrc" "$HOME/.zshrc"; do
317
- if [ -f "$rc_file" ]; then
318
- if ! grep -q "witty-claude()" "$rc_file" 2>/dev/null; then
319
- echo "$CLAUDE_WRAPPER" >> "$rc_file"
320
- echo "✅ Installed Claude wrapper to $rc_file"
321
- fi
322
- fi
323
- done
324
- fi
325
-
326
287
  # 10. Final Summary
327
288
  echo ""
328
- echo "🌟 Witty-Skill-Insight Telemetry: READY"
289
+ echo "🌟 Skill-Insight Telemetry: READY"
329
290
  echo "------------------------------------------------"
330
291
  echo "Installed Components:"
331
292
  if [ "$INSTALL_OPENCODE" = "true" ]; then
332
293
  echo " ✅ OpenCode Plugin: ~/.opencode/plugins/Witty-Skill-Insight.ts"
333
294
  fi
334
295
  if [ "$INSTALL_CLAUDE" = "true" ]; then
335
- echo " ✅ Claude Watcher: ~/.witty/claude_watcher_client.ts"
296
+ echo " ✅ Claude Watcher: ~/.skill-insight/claude_watcher_client.ts"
336
297
  fi
337
298
  if [ "$INSTALL_OPENCLAW" = "true" ]; then
338
- echo " ✅ OpenClaw Watcher: ~/.witty/openclaw_watcher_client.ts"
299
+ echo " ✅ OpenClaw Watcher: ~/.skill-insight/openclaw_watcher_client.ts"
339
300
  fi
340
301
 
341
302
  if [ "$NEEDS_WATCHER_SCRIPTS" = "true" ]; then
342
303
  echo ""
343
304
  echo "Watcher Management:"
344
- echo " Start all: ~/.witty/start_watchers.sh"
345
- echo " Stop all: ~/.witty/stop_watchers.sh"
305
+ echo " Start all: ~/.skill-insight/start_watchers.sh"
306
+ echo " Stop all: ~/.skill-insight/stop_watchers.sh"
346
307
  if [ "$INSTALL_CLAUDE" = "true" ]; then
347
- echo " Start Claude: ~/.witty/start_claude_watcher.sh"
348
- echo " Stop Claude: ~/.witty/stop_claude_watcher.sh"
308
+ echo " Start Claude: ~/.skill-insight/start_claude_watcher.sh"
309
+ echo " Stop Claude: ~/.skill-insight/stop_claude_watcher.sh"
349
310
  fi
350
311
  if [ "$INSTALL_OPENCLAW" = "true" ]; then
351
- echo " Start OpenClaw: ~/.witty/start_openclaw_watcher.sh"
352
- echo " Stop OpenClaw: ~/.witty/stop_openclaw_watcher.sh"
312
+ echo " Start OpenClaw: ~/.skill-insight/start_openclaw_watcher.sh"
313
+ echo " Stop OpenClaw: ~/.skill-insight/stop_openclaw_watcher.sh"
353
314
  fi
354
- echo " Logs: ~/.witty/logs/"
315
+ echo " Logs: ~/.skill-insight/logs/"
355
316
  fi
356
317
 
357
318
  echo ""
@@ -366,6 +327,6 @@ if [ "$INSTALL_OPENCLAW" = "true" ]; then
366
327
  echo " 3. OpenClaw will automatically monitor and upload telemetry"
367
328
  fi
368
329
  echo "------------------------------------------------"
369
- `;return new S.NextResponse(s,{headers:{"Content-Type":"text/x-shellscript"}})}e.s(["GET",()=>T],87745);var O=e.i(87745);let C=new t.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/setup/auto/route",pathname:"/api/setup/auto",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/setup/auto/route.ts",nextConfigOutput:"standalone",userland:O}),{workAsyncStorage:L,workUnitAsyncStorage:I,serverHooks:y}=C;function $(){return(0,n.patchFetch)({workAsyncStorage:L,workUnitAsyncStorage:I})}async function m(e,t,n){C.isDev&&(0,o.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let S="/api/setup/auto/route";S=S.replace(/\/index$/,"")||"/";let T=await C.prepare(e,t,{srcPage:S,multiZoneDraftMode:!1});if(!T)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:O,params:L,nextConfig:I,parsedUrl:y,isDraftMode:$,prerenderManifest:m,routerServerContext:A,isOnDemandRevalidate:g,revalidateOnlyGenerated:R,resolvedPathname:N,clientReferenceManifest:H,serverActionsManifest:W}=T,x=(0,s.normalizeAppPath)(S),v=!!(m.dynamicRoutes[x]||m.routes[N]),M=async()=>((null==A?void 0:A.render404)?await A.render404(e,t,y,!1):t.end("This page could not be found"),null);if(v&&!$){let e=!!m.routes[N],t=m.dynamicRoutes[x];if(t&&!1===t.fallback&&!e){if(I.experimental.adapterPath)return await M();throw new w.NoFallbackError}}let P=null;!v||C.isDev||$||(P="/index"===(P=N)?"/":P);let b=!0===C.isDev||!v,D=v&&!b;W&&H&&(0,r.setManifestsSingleton)({page:S,clientReferenceManifest:H,serverActionsManifest:W});let k=e.method||"GET",F=(0,i.getTracer)(),U=F.getActiveScopeSpan(),Y={params:L,prerenderManifest:m,renderOpts:{experimental:{authInterrupts:!!I.experimental.authInterrupts},cacheComponents:!!I.cacheComponents,supportsDynamicResponse:b,incrementalCache:(0,o.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:I.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,n,o)=>C.onRequestError(e,t,n,o,A)},sharedContext:{buildId:O}},q=new c.NodeNextRequest(e),G=new c.NodeNextResponse(t),K=l.NextRequestAdapter.fromNodeNextRequest(q,(0,l.signalFromNodeResponse)(t));try{let r=async e=>C.handle(K,Y).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=F.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==h.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=a.get("next.route");if(n){let t=`${k} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t)}else e.updateName(`${k} ${S}`)}),s=!!(0,o.getRequestMeta)(e,"minimalMode"),c=async o=>{var i,c;let l=async({previousCacheEntry:a})=>{try{if(!s&&g&&R&&!a)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let i=await r(o);e.fetchMetrics=Y.renderOpts.fetchMetrics;let c=Y.renderOpts.pendingWaitUntil;c&&n.waitUntil&&(n.waitUntil(c),c=void 0);let l=Y.renderOpts.collectedTags;if(!v)return await (0,p.sendResponse)(q,G,i,Y.renderOpts.pendingWaitUntil),null;{let e=await i.blob(),t=(0,u.toNodeOutgoingHttpHeaders)(i.headers);l&&(t[_.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==Y.renderOpts.collectedRevalidate&&!(Y.renderOpts.collectedRevalidate>=_.INFINITE_CACHE)&&Y.renderOpts.collectedRevalidate,n=void 0===Y.renderOpts.collectedExpire||Y.renderOpts.collectedExpire>=_.INFINITE_CACHE?void 0:Y.renderOpts.collectedExpire;return{value:{kind:f.CachedRouteKind.APP_ROUTE,status:i.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:n}}}}catch(t){throw(null==a?void 0:a.isStale)&&await C.onRequestError(e,t,{routerKind:"App Router",routePath:S,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:g})},!1,A),t}},h=await C.handleResponse({req:e,nextConfig:I,cacheKey:P,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:m,isRoutePPREnabled:!1,isOnDemandRevalidate:g,revalidateOnlyGenerated:R,responseGenerator:l,waitUntil:n.waitUntil,isMinimalMode:s});if(!v)return null;if((null==h||null==(i=h.value)?void 0:i.kind)!==f.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==h||null==(c=h.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});s||t.setHeader("x-nextjs-cache",g?"REVALIDATED":h.isMiss?"MISS":h.isStale?"STALE":"HIT"),$&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let w=(0,u.fromNodeOutgoingHttpHeaders)(h.value.headers);return s&&v||w.delete(_.NEXT_CACHE_TAGS_HEADER),!h.cacheControl||t.getHeader("Cache-Control")||w.get("Cache-Control")||w.set("Cache-Control",(0,E.getCacheControlHeader)(h.cacheControl)),await (0,p.sendResponse)(q,G,new Response(h.value.body,{headers:w,status:h.value.status||200})),null};U?await c(U):await F.withPropagatedContext(e.headers,()=>F.trace(h.BaseServerSpan.handleRequest,{spanName:`${k} ${S}`,kind:i.SpanKind.SERVER,attributes:{"http.method":k,"http.target":e.url}},c))}catch(t){if(t instanceof w.NoFallbackError||await C.onRequestError(e,t,{routerKind:"App Router",routePath:x,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:g})},!1,A),v)throw t;return await (0,p.sendResponse)(q,G,new Response(null,{status:500})),null}}e.s(["handler",()=>m,"patchFetch",()=>$,"routeModule",()=>C,"serverHooks",()=>y,"workAsyncStorage",()=>L,"workUnitAsyncStorage",()=>I],81176)}];
330
+ `,new I.NextResponse(o,{headers:{"Content-Type":"text/x-shellscript"}}))}e.s(["GET",()=>w],87745);var g=e.i(87745);let C=new t.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/setup/auto/route",pathname:"/api/setup/auto",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/setup/auto/route.ts",nextConfigOutput:"standalone",userland:g}),{workAsyncStorage:$,workUnitAsyncStorage:O,serverHooks:T}=C;function f(){return(0,i.patchFetch)({workAsyncStorage:$,workUnitAsyncStorage:O})}async function m(e,t,i){C.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let I="/api/setup/auto/route";I=I.replace(/\/index$/,"")||"/";let w=await C.prepare(e,t,{srcPage:I,multiZoneDraftMode:!1});if(!w)return t.statusCode=400,t.end("Bad Request"),null==i.waitUntil||i.waitUntil.call(i,Promise.resolve()),null;let{buildId:g,params:$,nextConfig:O,parsedUrl:T,isDraftMode:f,prerenderManifest:m,routerServerContext:N,isOnDemandRevalidate:A,revalidateOnlyGenerated:H,resolvedPathname:R,clientReferenceManifest:k,serverActionsManifest:P}=w,W=(0,l.normalizeAppPath)(I),D=!!(m.dynamicRoutes[W]||m.routes[R]),F=async()=>((null==N?void 0:N.render404)?await N.render404(e,t,T,!1):t.end("This page could not be found"),null);if(D&&!f){let e=!!m.routes[R],t=m.dynamicRoutes[W];if(t&&!1===t.fallback&&!e){if(O.experimental.adapterPath)return await F();throw new E.NoFallbackError}}let x=null;!D||C.isDev||f||(x="/index"===(x=R)?"/":x);let v=!0===C.isDev||!D,b=D&&!v;P&&k&&(0,r.setManifestsSingleton)({page:I,clientReferenceManifest:k,serverActionsManifest:P});let y=e.method||"GET",U=(0,o.getTracer)(),G=U.getActiveScopeSpan(),K={params:$,prerenderManifest:m,renderOpts:{experimental:{authInterrupts:!!O.experimental.authInterrupts},cacheComponents:!!O.cacheComponents,supportsDynamicResponse:v,incrementalCache:(0,s.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:O.cacheLife,waitUntil:i.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,n,i,s)=>C.onRequestError(e,t,i,s,N)},sharedContext:{buildId:g}},M=new a.NodeNextRequest(e),q=new a.NodeNextResponse(t),j=c.NextRequestAdapter.fromNodeNextRequest(M,(0,c.signalFromNodeResponse)(t));try{let r=async e=>C.handle(j,K).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let n=U.getRootSpanAttributes();if(!n)return;if(n.get("next.span_type")!==h.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${n.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let i=n.get("next.route");if(i){let t=`${y} ${i}`;e.setAttributes({"next.route":i,"http.route":i,"next.span_name":t}),e.updateName(t)}else e.updateName(`${y} ${I}`)}),l=!!(0,s.getRequestMeta)(e,"minimalMode"),a=async s=>{var o,a;let c=async({previousCacheEntry:n})=>{try{if(!l&&A&&H&&!n)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let o=await r(s);e.fetchMetrics=K.renderOpts.fetchMetrics;let a=K.renderOpts.pendingWaitUntil;a&&i.waitUntil&&(i.waitUntil(a),a=void 0);let c=K.renderOpts.collectedTags;if(!D)return await (0,S.sendResponse)(M,q,o,K.renderOpts.pendingWaitUntil),null;{let e=await o.blob(),t=(0,d.toNodeOutgoingHttpHeaders)(o.headers);c&&(t[u.NEXT_CACHE_TAGS_HEADER]=c),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let n=void 0!==K.renderOpts.collectedRevalidate&&!(K.renderOpts.collectedRevalidate>=u.INFINITE_CACHE)&&K.renderOpts.collectedRevalidate,i=void 0===K.renderOpts.collectedExpire||K.renderOpts.collectedExpire>=u.INFINITE_CACHE?void 0:K.renderOpts.collectedExpire;return{value:{kind:L.CachedRouteKind.APP_ROUTE,status:o.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:n,expire:i}}}}catch(t){throw(null==n?void 0:n.isStale)&&await C.onRequestError(e,t,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:b,isOnDemandRevalidate:A})},!1,N),t}},h=await C.handleResponse({req:e,nextConfig:O,cacheKey:x,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:m,isRoutePPREnabled:!1,isOnDemandRevalidate:A,revalidateOnlyGenerated:H,responseGenerator:c,waitUntil:i.waitUntil,isMinimalMode:l});if(!D)return null;if((null==h||null==(o=h.value)?void 0:o.kind)!==L.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==h||null==(a=h.value)?void 0:a.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});l||t.setHeader("x-nextjs-cache",A?"REVALIDATED":h.isMiss?"MISS":h.isStale?"STALE":"HIT"),f&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let E=(0,d.fromNodeOutgoingHttpHeaders)(h.value.headers);return l&&D||E.delete(u.NEXT_CACHE_TAGS_HEADER),!h.cacheControl||t.getHeader("Cache-Control")||E.get("Cache-Control")||E.set("Cache-Control",(0,_.getCacheControlHeader)(h.cacheControl)),await (0,S.sendResponse)(M,q,new Response(h.value.body,{headers:E,status:h.value.status||200})),null};G?await a(G):await U.withPropagatedContext(e.headers,()=>U.trace(h.BaseServerSpan.handleRequest,{spanName:`${y} ${I}`,kind:o.SpanKind.SERVER,attributes:{"http.method":y,"http.target":e.url}},a))}catch(t){if(t instanceof E.NoFallbackError||await C.onRequestError(e,t,{routerKind:"App Router",routePath:W,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:b,isOnDemandRevalidate:A})},!1,N),D)throw t;return await (0,S.sendResponse)(M,q,new Response(null,{status:500})),null}}e.s(["handler",()=>m,"patchFetch",()=>f,"routeModule",()=>C,"serverHooks",()=>T,"workAsyncStorage",()=>$,"workUnitAsyncStorage",()=>O],81176)}];
370
331
 
371
332
  //# sourceMappingURL=node_modules_next_dist_esm_build_templates_app-route_c33286ed.js.map