@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,3 +1,3 @@
1
- module.exports=[46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},54799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},66680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},98043,e=>e.a(async(t,r)=>{try{let o;var n,a=e.i(97289),s=e.i(63021),i=e.i(86414),l=t([i]);[i]=l.then?(await l)():l,(0,a.config)();let d=e.g.prisma||new s.PrismaClient,u=(0,i.getDatabaseAdapter)(),c=process.env.DB_HOST?(o=(n=u).getClient())instanceof s.PrismaClient?o:{user:{findUnique:async e=>e.where?.apiKey?n.findUserByApiKey(e.where.apiKey):e.where?.username?n.findUserByUsername(e.where.username):null,findFirst:async e=>e.where?.username?n.findUserByUsername(e.where.username):null},skill:{findFirst:async e=>{let t=e.where?.name,r=e.where?.OR?.[0]?.user??e.where?.OR?.[1]?.user;return n.findSkill(t,r)},findMany:async e=>n.findSkills(e.where||{}),findUnique:async e=>n.findSkill(e.where?.name,e.where?.user),delete:async e=>(console.warn("[OpenGaussAdapter] skill.delete not fully implemented"),null)},skillVersion:{findFirst:async e=>e.where?.skillId?n.findLatestSkillVersion(e.where.skillId):null},config:{findMany:async e=>n.findConfigs(e.where||{})},session:{findUnique:async e=>e.where?.taskId?n.findSessionByTaskId(e.where.taskId):null,update:async e=>e.where?.id?n.updateSession(e.where.id,e.data):null,upsert:async e=>{let t=e.where?.taskId;return t?n.upsertSession(t,e.create,e.update):null}},execution:{findUnique:async e=>e.where?.id?n.findExecutionById(e.where.id):null,upsert:async e=>n.upsertExecution(e),findMany:async e=>n.findExecutions(e.where,e.orderBy)}}:d;e.s(["db",0,u,"prisma",0,c]),r()}catch(e){r(e)}},!1),79832,e=>e.a(async(t,r)=>{try{var n=e.i(98043),a=t([n]);async function s(e,t){if(t)return{username:t,apiKey:null};let r=e.headers.get("x-witty-api-key");if(r)return{username:await i(r),apiKey:r};let n=new URL(e.url).searchParams.get("apiKey");return n?{username:await i(n),apiKey:n}:{username:null,apiKey:null}}async function i(e){try{let t=await n.db.findUserByApiKey(e);return t?.username||null}catch(e){return console.error("[Auth] Failed to lookup user by API Key:",e),null}}async function l(e,t){let r=await n.db.findSkillById(e);return r?"public"!==r.visibility&&r.user&&(!t||r.user!==t)&&t?{allowed:!1,skill:r}:{allowed:!0,skill:r}:{allowed:!1,skill:null}}[n]=a.then?(await a)():a,e.s(["canAccessSkill",()=>l,"resolveUser",()=>s]),r()}catch(e){r(e)}},!1),21248,e=>e.a(async(t,r)=>{try{var n=e.i(79832),a=e.i(98043),s=e.i(89171),i=t([n,a]);async function l(e){try{let t=e.nextUrl.searchParams,r=t.get("name"),i=t.get("user");if(!r)return s.NextResponse.json({error:"Name parameter required"},{status:400});let{username:l}=await (0,n.resolveUser)(e,i),o={name:r};l&&(o.OR=[{user:l},{user:null},{visibility:"public"}]);let d=(await a.db.findSkills(o))[0];if(!d)return s.NextResponse.json({error:"Skill not found"},{status:404});return s.NextResponse.json({id:d.id,name:d.name,description:d.description,category:d.category,activeVersion:d.activeVersion||0})}catch(e){return console.error("Find Skill By Name Error:",e),s.NextResponse.json({error:"Failed to find skill"},{status:500})}}[n,a]=i.then?(await i)():i,e.s(["GET",()=>l,"dynamic",0,"force-dynamic"]),r()}catch(e){r(e)}},!1),32313,e=>e.a(async(t,r)=>{try{var n=e.i(47909),a=e.i(74017),s=e.i(60476),i=e.i(59756),l=e.i(61916),o=e.i(74677),d=e.i(69741),u=e.i(16795),c=e.i(87718),p=e.i(95169),h=e.i(47587),y=e.i(66012),f=e.i(70101),x=e.i(26937),w=e.i(10372),m=e.i(93695);e.i(52474);var R=e.i(220),v=e.i(21248),g=t([v]);[v]=g.then?(await g)():g;let b=new n.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/skills/by-name/route",pathname:"/api/skills/by-name",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/skills/by-name/route.ts",nextConfigOutput:"standalone",userland:v}),{workAsyncStorage:C,workUnitAsyncStorage:A,serverHooks:S}=b;function k(){return(0,s.patchFetch)({workAsyncStorage:C,workUnitAsyncStorage:A})}async function E(e,t,r){b.isDev&&(0,i.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let n="/api/skills/by-name/route";n=n.replace(/\/index$/,"")||"/";let s=await b.prepare(e,t,{srcPage:n,multiZoneDraftMode:!1});if(!s)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:v,params:g,nextConfig:k,parsedUrl:E,isDraftMode:C,prerenderManifest:A,routerServerContext:S,isOnDemandRevalidate:q,revalidateOnlyGenerated:U,resolvedPathname:N,clientReferenceManifest:P,serverActionsManifest:T}=s,O=(0,d.normalizeAppPath)(n),I=!!(A.dynamicRoutes[O]||A.routes[N]),j=async()=>((null==S?void 0:S.render404)?await S.render404(e,t,E,!1):t.end("This page could not be found"),null);if(I&&!C){let e=!!A.routes[N],t=A.dynamicRoutes[O];if(t&&!1===t.fallback&&!e){if(k.experimental.adapterPath)return await j();throw new m.NoFallbackError}}let _=null;!I||b.isDev||C||(_=N,_="/index"===_?"/":_);let H=!0===b.isDev||!I,K=I&&!H;T&&P&&(0,o.setManifestsSingleton)({page:n,clientReferenceManifest:P,serverActionsManifest:T});let B=e.method||"GET",D=(0,l.getTracer)(),M=D.getActiveScopeSpan(),F={params:g,prerenderManifest:A,renderOpts:{experimental:{authInterrupts:!!k.experimental.authInterrupts},cacheComponents:!!k.cacheComponents,supportsDynamicResponse:H,incrementalCache:(0,i.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:k.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,a)=>b.onRequestError(e,t,n,a,S)},sharedContext:{buildId:v}},$=new u.NodeNextRequest(e),L=new u.NodeNextResponse(t),V=c.NextRequestAdapter.fromNodeNextRequest($,(0,c.signalFromNodeResponse)(t));try{let s=async e=>b.handle(V,F).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=D.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${B} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t)}else e.updateName(`${B} ${n}`)}),o=!!(0,i.getRequestMeta)(e,"minimalMode"),d=async i=>{var l,d;let u=async({previousCacheEntry:a})=>{try{if(!o&&q&&U&&!a)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await s(i);e.fetchMetrics=F.renderOpts.fetchMetrics;let l=F.renderOpts.pendingWaitUntil;l&&r.waitUntil&&(r.waitUntil(l),l=void 0);let d=F.renderOpts.collectedTags;if(!I)return await (0,y.sendResponse)($,L,n,F.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(n.headers);d&&(t[w.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==F.renderOpts.collectedRevalidate&&!(F.renderOpts.collectedRevalidate>=w.INFINITE_CACHE)&&F.renderOpts.collectedRevalidate,a=void 0===F.renderOpts.collectedExpire||F.renderOpts.collectedExpire>=w.INFINITE_CACHE?void 0:F.renderOpts.collectedExpire;return{value:{kind:R.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==a?void 0:a.isStale)&&await b.onRequestError(e,t,{routerKind:"App Router",routePath:n,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:K,isOnDemandRevalidate:q})},!1,S),t}},c=await b.handleResponse({req:e,nextConfig:k,cacheKey:_,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:q,revalidateOnlyGenerated:U,responseGenerator:u,waitUntil:r.waitUntil,isMinimalMode:o});if(!I)return null;if((null==c||null==(l=c.value)?void 0:l.kind)!==R.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(d=c.value)?void 0:d.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});o||t.setHeader("x-nextjs-cache",q?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),C&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let p=(0,f.fromNodeOutgoingHttpHeaders)(c.value.headers);return o&&I||p.delete(w.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||p.get("Cache-Control")||p.set("Cache-Control",(0,x.getCacheControlHeader)(c.cacheControl)),await (0,y.sendResponse)($,L,new Response(c.value.body,{headers:p,status:c.value.status||200})),null};M?await d(M):await D.withPropagatedContext(e.headers,()=>D.trace(p.BaseServerSpan.handleRequest,{spanName:`${B} ${n}`,kind:l.SpanKind.SERVER,attributes:{"http.method":B,"http.target":e.url}},d))}catch(t){if(t instanceof m.NoFallbackError||await b.onRequestError(e,t,{routerKind:"App Router",routePath:O,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:K,isOnDemandRevalidate:q})},!1,S),I)throw t;return await (0,y.sendResponse)($,L,new Response(null,{status:500})),null}}e.s(["handler",()=>E,"patchFetch",()=>k,"routeModule",()=>b,"serverHooks",()=>S,"workAsyncStorage",()=>C,"workUnitAsyncStorage",()=>A]),r()}catch(e){r(e)}},!1)];
1
+ module.exports=[46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},54799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},66680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},98043,e=>e.a(async(t,r)=>{try{let o;var n,a=e.i(97289),s=e.i(63021),i=e.i(86414),l=t([i]);[i]=l.then?(await l)():l,(0,a.config)();let d=e.g.prisma||new s.PrismaClient,u=(0,i.getDatabaseAdapter)(),c=process.env.DB_HOST?(o=(n=u).getClient())instanceof s.PrismaClient?o:{user:{findUnique:async e=>e.where?.apiKey?n.findUserByApiKey(e.where.apiKey):e.where?.username?n.findUserByUsername(e.where.username):null,findFirst:async e=>e.where?.username?n.findUserByUsername(e.where.username):null},skill:{findFirst:async e=>{let t=e.where?.name,r=e.where?.OR?.[0]?.user??e.where?.OR?.[1]?.user;return n.findSkill(t,r)},findMany:async e=>n.findSkills(e.where||{}),findUnique:async e=>n.findSkill(e.where?.name,e.where?.user),delete:async e=>(console.warn("[OpenGaussAdapter] skill.delete not fully implemented"),null)},skillVersion:{findFirst:async e=>e.where?.skillId?n.findLatestSkillVersion(e.where.skillId):null},config:{findMany:async e=>n.findConfigs(e.where||{})},session:{findUnique:async e=>e.where?.taskId?n.findSessionByTaskId(e.where.taskId):null,update:async e=>e.where?.id?n.updateSession(e.where.id,e.data):null,upsert:async e=>{let t=e.where?.taskId;return t?n.upsertSession(t,e.create,e.update):null}},execution:{findUnique:async e=>e.where?.id?n.findExecutionById(e.where.id):null,upsert:async e=>n.upsertExecution(e),findMany:async e=>n.findExecutions(e.where,e.orderBy),update:async e=>e.where?.id?n.updateExecution(e.where.id,e.data):null}}:d;e.s(["db",0,u,"prisma",0,c]),r()}catch(e){r(e)}},!1),79832,e=>e.a(async(t,r)=>{try{var n=e.i(98043),a=t([n]);async function s(e,t){if(t)return{username:t,apiKey:null};let r=e.headers.get("x-witty-api-key");if(r)return{username:await i(r),apiKey:r};let n=new URL(e.url).searchParams.get("apiKey");return n?{username:await i(n),apiKey:n}:{username:null,apiKey:null}}async function i(e){try{let t=await n.db.findUserByApiKey(e);return t?.username||null}catch(e){return console.error("[Auth] Failed to lookup user by API Key:",e),null}}async function l(e,t){let r=await n.db.findSkillById(e);return r?"public"!==r.visibility&&r.user&&(!t||r.user!==t)&&t?{allowed:!1,skill:r}:{allowed:!0,skill:r}:{allowed:!1,skill:null}}[n]=a.then?(await a)():a,e.s(["canAccessSkill",()=>l,"resolveUser",()=>s]),r()}catch(e){r(e)}},!1),21248,e=>e.a(async(t,r)=>{try{var n=e.i(79832),a=e.i(98043),s=e.i(89171),i=t([n,a]);async function l(e){try{let t=e.nextUrl.searchParams,r=t.get("name"),i=t.get("user");if(!r)return s.NextResponse.json({error:"Name parameter required"},{status:400});let{username:l}=await (0,n.resolveUser)(e,i),o={name:r};l&&(o.OR=[{user:l},{user:null},{visibility:"public"}]);let d=(await a.db.findSkills(o))[0];if(!d)return s.NextResponse.json({error:"Skill not found"},{status:404});return s.NextResponse.json({id:d.id,name:d.name,description:d.description,category:d.category,activeVersion:d.activeVersion||0})}catch(e){return console.error("Find Skill By Name Error:",e),s.NextResponse.json({error:"Failed to find skill"},{status:500})}}[n,a]=i.then?(await i)():i,e.s(["GET",()=>l,"dynamic",0,"force-dynamic"]),r()}catch(e){r(e)}},!1),32313,e=>e.a(async(t,r)=>{try{var n=e.i(47909),a=e.i(74017),s=e.i(60476),i=e.i(59756),l=e.i(61916),o=e.i(74677),d=e.i(69741),u=e.i(16795),c=e.i(87718),p=e.i(95169),h=e.i(47587),y=e.i(66012),f=e.i(70101),x=e.i(26937),w=e.i(10372),m=e.i(93695);e.i(52474);var R=e.i(220),v=e.i(21248),g=t([v]);[v]=g.then?(await g)():g;let b=new n.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/skills/by-name/route",pathname:"/api/skills/by-name",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/skills/by-name/route.ts",nextConfigOutput:"standalone",userland:v}),{workAsyncStorage:C,workUnitAsyncStorage:A,serverHooks:S}=b;function k(){return(0,s.patchFetch)({workAsyncStorage:C,workUnitAsyncStorage:A})}async function E(e,t,r){b.isDev&&(0,i.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let n="/api/skills/by-name/route";n=n.replace(/\/index$/,"")||"/";let s=await b.prepare(e,t,{srcPage:n,multiZoneDraftMode:!1});if(!s)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:v,params:g,nextConfig:k,parsedUrl:E,isDraftMode:C,prerenderManifest:A,routerServerContext:S,isOnDemandRevalidate:q,revalidateOnlyGenerated:U,resolvedPathname:N,clientReferenceManifest:P,serverActionsManifest:T}=s,O=(0,d.normalizeAppPath)(n),I=!!(A.dynamicRoutes[O]||A.routes[N]),j=async()=>((null==S?void 0:S.render404)?await S.render404(e,t,E,!1):t.end("This page could not be found"),null);if(I&&!C){let e=!!A.routes[N],t=A.dynamicRoutes[O];if(t&&!1===t.fallback&&!e){if(k.experimental.adapterPath)return await j();throw new m.NoFallbackError}}let _=null;!I||b.isDev||C||(_=N,_="/index"===_?"/":_);let H=!0===b.isDev||!I,K=I&&!H;T&&P&&(0,o.setManifestsSingleton)({page:n,clientReferenceManifest:P,serverActionsManifest:T});let B=e.method||"GET",D=(0,l.getTracer)(),M=D.getActiveScopeSpan(),F={params:g,prerenderManifest:A,renderOpts:{experimental:{authInterrupts:!!k.experimental.authInterrupts},cacheComponents:!!k.cacheComponents,supportsDynamicResponse:H,incrementalCache:(0,i.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:k.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,a)=>b.onRequestError(e,t,n,a,S)},sharedContext:{buildId:v}},$=new u.NodeNextRequest(e),L=new u.NodeNextResponse(t),V=c.NextRequestAdapter.fromNodeNextRequest($,(0,c.signalFromNodeResponse)(t));try{let s=async e=>b.handle(V,F).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=D.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${B} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t)}else e.updateName(`${B} ${n}`)}),o=!!(0,i.getRequestMeta)(e,"minimalMode"),d=async i=>{var l,d;let u=async({previousCacheEntry:a})=>{try{if(!o&&q&&U&&!a)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await s(i);e.fetchMetrics=F.renderOpts.fetchMetrics;let l=F.renderOpts.pendingWaitUntil;l&&r.waitUntil&&(r.waitUntil(l),l=void 0);let d=F.renderOpts.collectedTags;if(!I)return await (0,y.sendResponse)($,L,n,F.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(n.headers);d&&(t[w.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==F.renderOpts.collectedRevalidate&&!(F.renderOpts.collectedRevalidate>=w.INFINITE_CACHE)&&F.renderOpts.collectedRevalidate,a=void 0===F.renderOpts.collectedExpire||F.renderOpts.collectedExpire>=w.INFINITE_CACHE?void 0:F.renderOpts.collectedExpire;return{value:{kind:R.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==a?void 0:a.isStale)&&await b.onRequestError(e,t,{routerKind:"App Router",routePath:n,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:K,isOnDemandRevalidate:q})},!1,S),t}},c=await b.handleResponse({req:e,nextConfig:k,cacheKey:_,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:q,revalidateOnlyGenerated:U,responseGenerator:u,waitUntil:r.waitUntil,isMinimalMode:o});if(!I)return null;if((null==c||null==(l=c.value)?void 0:l.kind)!==R.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(d=c.value)?void 0:d.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});o||t.setHeader("x-nextjs-cache",q?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),C&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let p=(0,f.fromNodeOutgoingHttpHeaders)(c.value.headers);return o&&I||p.delete(w.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||p.get("Cache-Control")||p.set("Cache-Control",(0,x.getCacheControlHeader)(c.cacheControl)),await (0,y.sendResponse)($,L,new Response(c.value.body,{headers:p,status:c.value.status||200})),null};M?await d(M):await D.withPropagatedContext(e.headers,()=>D.trace(p.BaseServerSpan.handleRequest,{spanName:`${B} ${n}`,kind:l.SpanKind.SERVER,attributes:{"http.method":B,"http.target":e.url}},d))}catch(t){if(t instanceof m.NoFallbackError||await b.onRequestError(e,t,{routerKind:"App Router",routePath:O,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:K,isOnDemandRevalidate:q})},!1,S),I)throw t;return await (0,y.sendResponse)($,L,new Response(null,{status:500})),null}}e.s(["handler",()=>E,"patchFetch",()=>k,"routeModule",()=>b,"serverHooks",()=>S,"workAsyncStorage",()=>C,"workUnitAsyncStorage",()=>A]),r()}catch(e){r(e)}},!1)];
2
2
 
3
3
  //# sourceMappingURL=%5Broot-of-the-server%5D__e550423c._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},19754,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(60476),n=e.i(59756),s=e.i(61916),o=e.i(74677),i=e.i(69741),l=e.i(16795),d=e.i(87718),p=e.i(95169),u=e.i(47587),c=e.i(66012),x=e.i(70101),h=e.i(26937),m=e.i(10372),R=e.i(93695);e.i(52474);var f=e.i(220),v=e.i(22734),g=e.i(14747),w=e.i(89171);async function E(){let e=g.default.join(process.cwd(),"scripts","si-optimizer.md");if(!v.default.existsSync(e))return w.NextResponse.json({error:"Command not found"},{status:404});let t=v.default.readFileSync(e,"utf-8");return new w.NextResponse(t,{headers:{"Content-Type":"text/markdown; charset=utf-8"}})}e.s(["GET",()=>E],70787);var y=e.i(70787);let C=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/setup/opencode-commands/si-optimizer/route",pathname:"/api/setup/opencode-commands/si-optimizer",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/setup/opencode-commands/si-optimizer/route.ts",nextConfigOutput:"standalone",userland:y}),{workAsyncStorage:A,workUnitAsyncStorage:b,serverHooks:T}=C;function N(){return(0,a.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:b})}async function P(e,t,a){C.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/setup/opencode-commands/si-optimizer/route";v=v.replace(/\/index$/,"")||"/";let g=await C.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!g)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:w,params:E,nextConfig:y,parsedUrl:A,isDraftMode:b,prerenderManifest:T,routerServerContext:N,isOnDemandRevalidate:P,revalidateOnlyGenerated:k,resolvedPathname:q,clientReferenceManifest:O,serverActionsManifest:S}=g,_=(0,i.normalizeAppPath)(v),j=!!(T.dynamicRoutes[_]||T.routes[q]),H=async()=>((null==N?void 0:N.render404)?await N.render404(e,t,A,!1):t.end("This page could not be found"),null);if(j&&!b){let e=!!T.routes[q],t=T.dynamicRoutes[_];if(t&&!1===t.fallback&&!e){if(y.experimental.adapterPath)return await H();throw new R.NoFallbackError}}let U=null;!j||C.isDev||b||(U="/index"===(U=q)?"/":U);let I=!0===C.isDev||!j,D=j&&!I;S&&O&&(0,o.setManifestsSingleton)({page:v,clientReferenceManifest:O,serverActionsManifest:S});let M=e.method||"GET",F=(0,s.getTracer)(),$=F.getActiveScopeSpan(),K={params:E,prerenderManifest:T,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts},cacheComponents:!!y.cacheComponents,supportsDynamicResponse:I,incrementalCache:(0,n.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:y.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>C.onRequestError(e,t,a,n,N)},sharedContext:{buildId:w}},z=new l.NodeNextRequest(e),B=new l.NodeNextResponse(t),L=d.NextRequestAdapter.fromNodeNextRequest(z,(0,d.signalFromNodeResponse)(t));try{let o=async e=>C.handle(L,K).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=F.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${M} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t)}else e.updateName(`${M} ${v}`)}),i=!!(0,n.getRequestMeta)(e,"minimalMode"),l=async n=>{var s,l;let d=async({previousCacheEntry:r})=>{try{if(!i&&P&&k&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await o(n);e.fetchMetrics=K.renderOpts.fetchMetrics;let l=K.renderOpts.pendingWaitUntil;l&&a.waitUntil&&(a.waitUntil(l),l=void 0);let d=K.renderOpts.collectedTags;if(!j)return await (0,c.sendResponse)(z,B,s,K.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,x.toNodeOutgoingHttpHeaders)(s.headers);d&&(t[m.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==K.renderOpts.collectedRevalidate&&!(K.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&K.renderOpts.collectedRevalidate,a=void 0===K.renderOpts.collectedExpire||K.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:K.renderOpts.collectedExpire;return{value:{kind:f.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await C.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:P})},!1,N),t}},p=await C.handleResponse({req:e,nextConfig:y,cacheKey:U,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:T,isRoutePPREnabled:!1,isOnDemandRevalidate:P,revalidateOnlyGenerated:k,responseGenerator:d,waitUntil:a.waitUntil,isMinimalMode:i});if(!j)return null;if((null==p||null==(s=p.value)?void 0:s.kind)!==f.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==p||null==(l=p.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});i||t.setHeader("x-nextjs-cache",P?"REVALIDATED":p.isMiss?"MISS":p.isStale?"STALE":"HIT"),b&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let R=(0,x.fromNodeOutgoingHttpHeaders)(p.value.headers);return i&&j||R.delete(m.NEXT_CACHE_TAGS_HEADER),!p.cacheControl||t.getHeader("Cache-Control")||R.get("Cache-Control")||R.set("Cache-Control",(0,h.getCacheControlHeader)(p.cacheControl)),await (0,c.sendResponse)(z,B,new Response(p.value.body,{headers:R,status:p.value.status||200})),null};$?await l($):await F.withPropagatedContext(e.headers,()=>F.trace(p.BaseServerSpan.handleRequest,{spanName:`${M} ${v}`,kind:s.SpanKind.SERVER,attributes:{"http.method":M,"http.target":e.url}},l))}catch(t){if(t instanceof R.NoFallbackError||await C.onRequestError(e,t,{routerKind:"App Router",routePath:_,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:P})},!1,N),j)throw t;return await (0,c.sendResponse)(z,B,new Response(null,{status:500})),null}}e.s(["handler",()=>P,"patchFetch",()=>N,"routeModule",()=>C,"serverHooks",()=>T,"workAsyncStorage",()=>A,"workUnitAsyncStorage",()=>b],19754)}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__f9e66e02._.js.map
@@ -105,6 +105,6 @@ Guidelines:
105
105
  - If the Standard Answer describes specific commands, tools, or operations, they MUST appear in Key Actions.
106
106
  - If the Standard Answer contains specific conclusions or diagnostic results, they MUST appear in Key Points.
107
107
  - **LANGUAGE RULE**: The "content" field of each Key Point and Key Action MUST be written in the SAME language as the User Query. If the query is in Chinese, write content in Chinese. If the query is in English, write content in English. Match the query language exactly.
108
- `])},69656,e=>e.a(async(t,n)=>{try{var r=e.i(98043),a=e.i(74008),s=e.i(22965),i=e.i(2316),o=e.i(89171);e.i(89228);var l=e.i(88045),c=t([r,s]);[r,s]=c.then?(await c)():c;let p=e.r(86843);async function u(e,t,n,o,c){try{let u=await (0,s.getActiveConfig)(c);if(!u){console.error(`[ConfigCreate] No model configuration for user: ${c}`),await r.db.updateConfig(e,{parseStatus:"failed"});return}let{customFetch:d}=(0,a.getProxyConfig)(),p=new l.OpenAI({apiKey:u.apiKey||"no-api-key-required",baseURL:u.baseUrl||"https://api.deepseek.com",fetch:d}),h=u.model||"deepseek-chat";if(o&&!n)try{let a=(0,i.generateAnswerExtractionPrompt)(t,o),s=(await p.chat.completions.create({messages:[{role:"user",content:a}],model:h})).choices[0].message.content;if(!s)throw Error("No content returned from LLM for document extraction");let l=s.trim(),c=l.match(/```(?:json)?\\s*([\\s\\S]*?)\\s*```/i);if(c)l=c[1];else{let e=l.indexOf("{"),t=l.lastIndexOf("}");-1!==e&&-1!==t&&t>=e&&(l=l.substring(e,t+1))}if(!(n=JSON.parse(l).standard_answer||""))throw Error("Extracted standard answer is empty");await r.db.updateConfig(e,{standardAnswer:n}),console.log(`[ConfigCreate] Successfully extracted standard answer for config ${e}`)}catch(t){console.error(`[ConfigCreate] Failed to extract standard answer for config ${e}:`,t.message),await r.db.updateConfig(e,{parseStatus:"failed"}).catch(()=>{});return}let f=(0,i.generateConfigExtractionPrompt)(t,n),g=(await p.chat.completions.create({messages:[{role:"user",content:f}],model:h})).choices[0].message.content;if(!g)throw Error("No content returned from LLM");let m=g.trim(),y=m.match(/```(?:json)?\\s*([\\s\\S]*?)\\s*```/i);if(y)m=y[1];else{let e=m.indexOf("{"),t=m.lastIndexOf("}");-1!==e&&-1!==t&&t>=e&&(m=m.substring(e,t+1))}let w=JSON.parse(m),x=w.root_causes||[],C=w.key_actions||[];await r.db.updateConfig(e,{rootCauses:JSON.stringify(x),keyActions:JSON.stringify(C),parseStatus:"completed"}),console.log(`[ConfigCreate] Successfully extracted key points for config ${e}`)}catch(t){console.error(`[ConfigCreate] Failed to process config ${e}:`,t.message),await r.db.updateConfig(e,{parseStatus:"failed"}).catch(()=>{})}}async function d(e){try{let t=e.headers.get("content-type")||"",n="",a="",s=null,i=null,l=null,c=null,d=null;if(t.includes("multipart/form-data")){let t=await e.formData();n=t.get("query")||"",a=t.get("standardAnswer")||"",s=t.get("user")||null,l=t.get("skill")||null;let r=t.get("skillVersion")||null;if(r){let e=parseInt(r,10);!isNaN(e)&&e>=1&&(c=e)}let u=t.get("expectedSkills")||null;if(u)try{if((d=JSON.parse(u))&&Array.isArray(d)){for(let e of d){if(!e||"object"!=typeof e)return o.NextResponse.json({error:"expectedSkills 数组中的每个元素必须是对象"},{status:400});if(!e.skill||"string"!=typeof e.skill||!e.skill.trim())return o.NextResponse.json({error:"expectedSkills 中的每个技能必须包含 skill 名称"},{status:400})}d=d.map(e=>({...e,version:e.version&&e.version>=1?e.version:null}))}else if(null!==d)return o.NextResponse.json({error:"expectedSkills 必须是 JSON 数组"},{status:400})}catch(e){return console.error("Failed to parse expectedSkills:",e),o.NextResponse.json({error:"expectedSkills JSON 格式无效"},{status:400})}let h=t.get("document");if(h)if(h.name.toLowerCase().endsWith(".pdf")){let e=await h.arrayBuffer(),t=Buffer.from(e);i=(await p(t)).text}else i=await h.text()}else{let t=await e.json();n=t.query||"",a=t.standardAnswer||"",s=t.user||null,i=t.documentContent||null,l=t.skill||null,c=t.skillVersion&&t.skillVersion>=1?t.skillVersion:null,(d=t.expectedSkills||null)&&Array.isArray(d)&&(d=d.map(e=>({...e,version:e.version&&e.version>=1?e.version:null})))}if(!n)return o.NextResponse.json({error:"问题 (Query) 不能为空"},{status:400});if(!a&&!i)return o.NextResponse.json({error:"请提供标准答案或上传案例文档"},{status:400});if((await r.db.findConfigs({OR:[{user:s||null}]})).find(e=>e.query===n))return o.NextResponse.json({error:"该问题已存在于数据集中"},{status:409});let h=await r.db.createConfig({query:n,skill:l||"",skillVersion:c||null,expectedSkills:d?JSON.stringify(d):null,standardAnswer:a||"",rootCauses:null,keyActions:null,user:s||null,parseStatus:"parsing"}),f={id:h.id,query:h.query,skill:h.skill,skillVersion:h.skillVersion,expectedSkills:d,standard_answer:a||(i?"正在从文档中提取...":""),root_causes:[],key_actions:[],parse_status:"parsing"};return u(h.id,n,a,i,s),o.NextResponse.json(f)}catch(e){return console.error("Config Create Error:",e),o.NextResponse.json({error:e.message||"Internal Server Error"},{status:500})}}e.s(["POST",()=>d,"dynamic",0,"force-dynamic"]),n()}catch(e){n(e)}},!1),17128,e=>e.a(async(t,n)=>{try{var r=e.i(47909),a=e.i(74017),s=e.i(60476),i=e.i(59756),o=e.i(61916),l=e.i(74677),c=e.i(69741),u=e.i(16795),d=e.i(87718),p=e.i(95169),h=e.i(47587),f=e.i(66012),g=e.i(70101),m=e.i(26937),y=e.i(10372),w=e.i(93695);e.i(52474);var x=e.i(220),C=e.i(69656),R=t([C]);[C]=R.then?(await R)():R;let E=new r.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/config/create/route",pathname:"/api/config/create",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/config/create/route.ts",nextConfigOutput:"standalone",userland:C}),{workAsyncStorage:A,workUnitAsyncStorage:k,serverHooks:N}=E;function v(){return(0,s.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:k})}async function S(e,t,n){E.isDev&&(0,i.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let r="/api/config/create/route";r=r.replace(/\/index$/,"")||"/";let s=await E.prepare(e,t,{srcPage:r,multiZoneDraftMode:!1});if(!s)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:C,params:R,nextConfig:v,parsedUrl:S,isDraftMode:A,prerenderManifest:k,routerServerContext:N,isOnDemandRevalidate:b,revalidateOnlyGenerated:O,resolvedPathname:T,clientReferenceManifest:P,serverActionsManifest:I}=s,_=(0,c.normalizeAppPath)(r),U=!!(k.dynamicRoutes[_]||k.routes[T]),q=async()=>((null==N?void 0:N.render404)?await N.render404(e,t,S,!1):t.end("This page could not be found"),null);if(U&&!A){let e=!!k.routes[T],t=k.dynamicRoutes[_];if(t&&!1===t.fallback&&!e){if(v.experimental.adapterPath)return await q();throw new w.NoFallbackError}}let M=null;!U||E.isDev||A||(M=T,M="/index"===M?"/":M);let j=!0===E.isDev||!U,K=U&&!j;I&&P&&(0,l.setManifestsSingleton)({page:r,clientReferenceManifest:P,serverActionsManifest:I});let D=e.method||"GET",$=(0,o.getTracer)(),H=$.getActiveScopeSpan(),L={params:R,prerenderManifest:k,renderOpts:{experimental:{authInterrupts:!!v.experimental.authInterrupts},cacheComponents:!!v.cacheComponents,supportsDynamicResponse:j,incrementalCache:(0,i.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:v.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,n,r,a)=>E.onRequestError(e,t,r,a,N)},sharedContext:{buildId:C}},F=new u.NodeNextRequest(e),J=new u.NodeNextResponse(t),V=d.NextRequestAdapter.fromNodeNextRequest(F,(0,d.signalFromNodeResponse)(t));try{let s=async e=>E.handle(V,L).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let n=$.getRootSpanAttributes();if(!n)return;if(n.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${n.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=n.get("next.route");if(a){let t=`${D} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t)}else e.updateName(`${D} ${r}`)}),l=!!(0,i.getRequestMeta)(e,"minimalMode"),c=async i=>{var o,c;let u=async({previousCacheEntry:a})=>{try{if(!l&&b&&O&&!a)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let r=await s(i);e.fetchMetrics=L.renderOpts.fetchMetrics;let o=L.renderOpts.pendingWaitUntil;o&&n.waitUntil&&(n.waitUntil(o),o=void 0);let c=L.renderOpts.collectedTags;if(!U)return await (0,f.sendResponse)(F,J,r,L.renderOpts.pendingWaitUntil),null;{let e=await r.blob(),t=(0,g.toNodeOutgoingHttpHeaders)(r.headers);c&&(t[y.NEXT_CACHE_TAGS_HEADER]=c),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let n=void 0!==L.renderOpts.collectedRevalidate&&!(L.renderOpts.collectedRevalidate>=y.INFINITE_CACHE)&&L.renderOpts.collectedRevalidate,a=void 0===L.renderOpts.collectedExpire||L.renderOpts.collectedExpire>=y.INFINITE_CACHE?void 0:L.renderOpts.collectedExpire;return{value:{kind:x.CachedRouteKind.APP_ROUTE,status:r.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:n,expire:a}}}}catch(t){throw(null==a?void 0:a.isStale)&&await E.onRequestError(e,t,{routerKind:"App Router",routePath:r,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:K,isOnDemandRevalidate:b})},!1,N),t}},d=await E.handleResponse({req:e,nextConfig:v,cacheKey:M,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:k,isRoutePPREnabled:!1,isOnDemandRevalidate:b,revalidateOnlyGenerated:O,responseGenerator:u,waitUntil:n.waitUntil,isMinimalMode:l});if(!U)return null;if((null==d||null==(o=d.value)?void 0:o.kind)!==x.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(c=d.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});l||t.setHeader("x-nextjs-cache",b?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),A&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let p=(0,g.fromNodeOutgoingHttpHeaders)(d.value.headers);return l&&U||p.delete(y.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||p.get("Cache-Control")||p.set("Cache-Control",(0,m.getCacheControlHeader)(d.cacheControl)),await (0,f.sendResponse)(F,J,new Response(d.value.body,{headers:p,status:d.value.status||200})),null};H?await c(H):await $.withPropagatedContext(e.headers,()=>$.trace(p.BaseServerSpan.handleRequest,{spanName:`${D} ${r}`,kind:o.SpanKind.SERVER,attributes:{"http.method":D,"http.target":e.url}},c))}catch(t){if(t instanceof w.NoFallbackError||await E.onRequestError(e,t,{routerKind:"App Router",routePath:_,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:K,isOnDemandRevalidate:b})},!1,N),U)throw t;return await (0,f.sendResponse)(F,J,new Response(null,{status:500})),null}}e.s(["handler",()=>S,"patchFetch",()=>v,"routeModule",()=>E,"serverHooks",()=>N,"workAsyncStorage",()=>A,"workUnitAsyncStorage",()=>k]),n()}catch(e){n(e)}},!1)];
108
+ `])},69656,e=>e.a(async(t,n)=>{try{var r=e.i(98043),a=e.i(74008),o=e.i(22965),i=e.i(2316),s=e.i(2988),l=e.i(89171);e.i(89228);var c=e.i(88045),d=t([r,o,s]);[r,o,s]=d.then?(await d)():d;let h=e.r(86843);async function u(e,t,n,l,d,u){try{let p=await (0,o.getActiveConfig)(u);if(!p){console.error(`[ConfigCreate] No model configuration for user: ${u}`),await r.db.updateConfig(e,{parseStatus:"failed"});return}let{customFetch:h}=(0,a.getProxyConfig)(),f=new c.OpenAI({apiKey:p.apiKey||"no-api-key-required",baseURL:p.baseUrl||"https://api.deepseek.com",fetch:h}),g=p.model||"deepseek-chat";if(l&&!n)try{let a=(0,i.generateAnswerExtractionPrompt)(t,l),o=(await f.chat.completions.create({messages:[{role:"user",content:a}],model:g})).choices[0].message.content;if(!o)throw Error("No content returned from LLM for document extraction");let s=o.trim(),c=s.match(/```(?:json)?\\s*([\\s\\S]*?)\\s*```/i);if(c)s=c[1];else{let e=s.indexOf("{"),t=s.lastIndexOf("}");-1!==e&&-1!==t&&t>=e&&(s=s.substring(e,t+1))}if(!(n=JSON.parse(s).standard_answer||""))throw Error("Extracted standard answer is empty");await r.db.updateConfig(e,{standardAnswer:n}),console.log(`[ConfigCreate] Successfully extracted standard answer for config ${e}`)}catch(t){console.error(`[ConfigCreate] Failed to extract standard answer for config ${e}:`,t.message),await r.db.updateConfig(e,{parseStatus:"failed"}).catch(()=>{});return}let m=(0,i.generateConfigExtractionPrompt)(t,n),y=(await f.chat.completions.create({messages:[{role:"user",content:m}],model:g})).choices[0].message.content;if(!y)throw Error("No content returned from LLM");let w=y.trim(),C=w.match(/```(?:json)?\\s*([\\s\\S]*?)\\s*```/i);if(C)w=C[1];else{let e=w.indexOf("{"),t=w.lastIndexOf("}");-1!==e&&-1!==t&&t>=e&&(w=w.substring(e,t+1))}let x=JSON.parse(w),v=x.root_causes||[],R=x.key_actions||[],S=null,k=d&&d.length>0?d.map(e=>e.skill.trim()).filter(Boolean):[];if(k.length>0)try{let e=[];for(let t of k){let n=await r.db.findSkill(t,u||null);if(!n){console.warn(`[ConfigCreate] Skill "${t}" not found, skipping extraction`);continue}let a=n.activeVersion||0,o=n.versions?.find(e=>e.version===a)||n.versions?.[0];if(!o?.content)continue;let i=await r.db.findParsedFlow(n.id,o.version,u||null);if(i){let n=JSON.parse(i.flowJson),r=(0,s.extractKeyActionsFromFlow)(n);e.push({name:t,actions:r})}else console.warn(`[ConfigCreate] No parsed flow for skill "${t}" v${o.version}, skipping`)}if(e.length>0){let t;R=(t=1===e.length?e[0].actions:(0,s.mergeKeyActionsFromMultipleSkills)(e)).map(e=>({content:e.content,weight:e.weight,..."required"!==e.controlFlowType?{controlFlowType:e.controlFlowType}:{},...e.condition?{condition:e.condition}:{},...e.branchLabel?{branchLabel:e.branchLabel}:{},...e.loopCondition?{loopCondition:e.loopCondition}:{},...void 0!==e.expectedMinCount?{expectedMinCount:e.expectedMinCount}:{},...void 0!==e.expectedMaxCount?{expectedMaxCount:e.expectedMaxCount}:{},...e.groupId?{groupId:e.groupId}:{}})),S=t,console.log(`[ConfigCreate] Extracted ${t.length} key actions from Skill(s): ${k.join(", ")}`)}}catch(e){console.error("[ConfigCreate] Error extracting key actions from Skill:",e)}let E={rootCauses:JSON.stringify(v),keyActions:JSON.stringify(R),parseStatus:"completed"};S&&(E.extractedKeyActions=JSON.stringify(S)),await r.db.updateConfig(e,E),console.log(`[ConfigCreate] Successfully extracted key points for config ${e}`)}catch(t){console.error(`[ConfigCreate] Failed to process config ${e}:`,t.message),await r.db.updateConfig(e,{parseStatus:"failed"}).catch(()=>{})}}async function p(e){try{let t=e.headers.get("content-type")||"",n="",a="",o=null,i=null,s=null,c=null,d=null;if(t.includes("multipart/form-data")){let t=await e.formData();n=t.get("query")||"",a=t.get("standardAnswer")||"",o=t.get("user")||null,s=t.get("skill")||null;let r=t.get("skillVersion")||null;if(r){let e=parseInt(r,10);!isNaN(e)&&e>=1&&(c=e)}let u=t.get("expectedSkills")||null;if(u)try{if((d=JSON.parse(u))&&Array.isArray(d)){for(let e of d){if(!e||"object"!=typeof e)return l.NextResponse.json({error:"expectedSkills 数组中的每个元素必须是对象"},{status:400});if(!e.skill||"string"!=typeof e.skill||!e.skill.trim())return l.NextResponse.json({error:"expectedSkills 中的每个技能必须包含 skill 名称"},{status:400})}d=d.map(e=>({...e,version:e.version&&e.version>=1?e.version:null}))}else if(null!==d)return l.NextResponse.json({error:"expectedSkills 必须是 JSON 数组"},{status:400})}catch(e){return console.error("Failed to parse expectedSkills:",e),l.NextResponse.json({error:"expectedSkills JSON 格式无效"},{status:400})}let p=t.get("document");if(p)if(p.name.toLowerCase().endsWith(".pdf")){let e=await p.arrayBuffer(),t=Buffer.from(e);i=(await h(t)).text}else i=await p.text()}else{let t=await e.json();n=t.query||"",a=t.standardAnswer||"",o=t.user||null,i=t.documentContent||null,s=t.skill||null,c=t.skillVersion&&t.skillVersion>=1?t.skillVersion:null,(d=t.expectedSkills||null)&&Array.isArray(d)&&(d=d.map(e=>({...e,version:e.version&&e.version>=1?e.version:null})))}if(!n)return l.NextResponse.json({error:"问题 (Query) 不能为空"},{status:400});if(!a&&!i)return l.NextResponse.json({error:"请提供标准答案或上传案例文档"},{status:400});if((await r.db.findConfigs({OR:[{user:o||null}]})).find(e=>e.query===n))return l.NextResponse.json({error:"该问题已存在于数据集中"},{status:409});let p=await r.db.createConfig({query:n,skill:s||"",skillVersion:c||null,expectedSkills:d?JSON.stringify(d):null,standardAnswer:a||"",rootCauses:null,keyActions:null,user:o||null,parseStatus:"parsing"}),f={id:p.id,query:p.query,skill:p.skill,skillVersion:p.skillVersion,expectedSkills:d,standard_answer:a||(i?"正在从文档中提取...":""),root_causes:[],key_actions:[],parse_status:"parsing"};return u(p.id,n,a,i,d,o),l.NextResponse.json(f)}catch(e){return console.error("Config Create Error:",e),l.NextResponse.json({error:e.message||"Internal Server Error"},{status:500})}}e.s(["POST",()=>p,"dynamic",0,"force-dynamic"]),n()}catch(e){n(e)}},!1),17128,e=>e.a(async(t,n)=>{try{var r=e.i(47909),a=e.i(74017),o=e.i(60476),i=e.i(59756),s=e.i(61916),l=e.i(74677),c=e.i(69741),d=e.i(16795),u=e.i(87718),p=e.i(95169),h=e.i(47587),f=e.i(66012),g=e.i(70101),m=e.i(26937),y=e.i(10372),w=e.i(93695);e.i(52474);var C=e.i(220),x=e.i(69656),v=t([x]);[x]=v.then?(await v)():v;let k=new r.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/config/create/route",pathname:"/api/config/create",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/config/create/route.ts",nextConfigOutput:"standalone",userland:x}),{workAsyncStorage:E,workUnitAsyncStorage:A,serverHooks:N}=k;function R(){return(0,o.patchFetch)({workAsyncStorage:E,workUnitAsyncStorage:A})}async function S(e,t,n){k.isDev&&(0,i.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let r="/api/config/create/route";r=r.replace(/\/index$/,"")||"/";let o=await k.prepare(e,t,{srcPage:r,multiZoneDraftMode:!1});if(!o)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:x,params:v,nextConfig:R,parsedUrl:S,isDraftMode:E,prerenderManifest:A,routerServerContext:N,isOnDemandRevalidate:b,revalidateOnlyGenerated:O,resolvedPathname:T,clientReferenceManifest:P,serverActionsManifest:I}=o,_=(0,c.normalizeAppPath)(r),M=!!(A.dynamicRoutes[_]||A.routes[T]),U=async()=>((null==N?void 0:N.render404)?await N.render404(e,t,S,!1):t.end("This page could not be found"),null);if(M&&!E){let e=!!A.routes[T],t=A.dynamicRoutes[_];if(t&&!1===t.fallback&&!e){if(R.experimental.adapterPath)return await U();throw new w.NoFallbackError}}let q=null;!M||k.isDev||E||(q=T,q="/index"===q?"/":q);let j=!0===k.isDev||!M,K=M&&!j;I&&P&&(0,l.setManifestsSingleton)({page:r,clientReferenceManifest:P,serverActionsManifest:I});let $=e.method||"GET",L=(0,s.getTracer)(),D=L.getActiveScopeSpan(),F={params:v,prerenderManifest:A,renderOpts:{experimental:{authInterrupts:!!R.experimental.authInterrupts},cacheComponents:!!R.cacheComponents,supportsDynamicResponse:j,incrementalCache:(0,i.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:R.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,n,r,a)=>k.onRequestError(e,t,r,a,N)},sharedContext:{buildId:x}},H=new d.NodeNextRequest(e),J=new d.NodeNextResponse(t),V=u.NextRequestAdapter.fromNodeNextRequest(H,(0,u.signalFromNodeResponse)(t));try{let o=async e=>k.handle(V,F).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let n=L.getRootSpanAttributes();if(!n)return;if(n.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${n.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=n.get("next.route");if(a){let t=`${$} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t)}else e.updateName(`${$} ${r}`)}),l=!!(0,i.getRequestMeta)(e,"minimalMode"),c=async i=>{var s,c;let d=async({previousCacheEntry:a})=>{try{if(!l&&b&&O&&!a)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let r=await o(i);e.fetchMetrics=F.renderOpts.fetchMetrics;let s=F.renderOpts.pendingWaitUntil;s&&n.waitUntil&&(n.waitUntil(s),s=void 0);let c=F.renderOpts.collectedTags;if(!M)return await (0,f.sendResponse)(H,J,r,F.renderOpts.pendingWaitUntil),null;{let e=await r.blob(),t=(0,g.toNodeOutgoingHttpHeaders)(r.headers);c&&(t[y.NEXT_CACHE_TAGS_HEADER]=c),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let n=void 0!==F.renderOpts.collectedRevalidate&&!(F.renderOpts.collectedRevalidate>=y.INFINITE_CACHE)&&F.renderOpts.collectedRevalidate,a=void 0===F.renderOpts.collectedExpire||F.renderOpts.collectedExpire>=y.INFINITE_CACHE?void 0:F.renderOpts.collectedExpire;return{value:{kind:C.CachedRouteKind.APP_ROUTE,status:r.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:n,expire:a}}}}catch(t){throw(null==a?void 0:a.isStale)&&await k.onRequestError(e,t,{routerKind:"App Router",routePath:r,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:K,isOnDemandRevalidate:b})},!1,N),t}},u=await k.handleResponse({req:e,nextConfig:R,cacheKey:q,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:b,revalidateOnlyGenerated:O,responseGenerator:d,waitUntil:n.waitUntil,isMinimalMode:l});if(!M)return null;if((null==u||null==(s=u.value)?void 0:s.kind)!==C.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(c=u.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});l||t.setHeader("x-nextjs-cache",b?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),E&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let p=(0,g.fromNodeOutgoingHttpHeaders)(u.value.headers);return l&&M||p.delete(y.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||p.get("Cache-Control")||p.set("Cache-Control",(0,m.getCacheControlHeader)(u.cacheControl)),await (0,f.sendResponse)(H,J,new Response(u.value.body,{headers:p,status:u.value.status||200})),null};D?await c(D):await L.withPropagatedContext(e.headers,()=>L.trace(p.BaseServerSpan.handleRequest,{spanName:`${$} ${r}`,kind:s.SpanKind.SERVER,attributes:{"http.method":$,"http.target":e.url}},c))}catch(t){if(t instanceof w.NoFallbackError||await k.onRequestError(e,t,{routerKind:"App Router",routePath:_,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:K,isOnDemandRevalidate:b})},!1,N),M)throw t;return await (0,f.sendResponse)(H,J,new Response(null,{status:500})),null}}e.s(["handler",()=>S,"patchFetch",()=>R,"routeModule",()=>k,"serverHooks",()=>N,"workAsyncStorage",()=>E,"workUnitAsyncStorage",()=>A]),n()}catch(e){n(e)}},!1)];
109
109
 
110
110
  //# sourceMappingURL=_33c0c729._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[27310,e=>e.a(async(t,a)=>{try{var n=e.i(98043),o=e.i(75054),s=e.i(22965),r=e.i(89171),i=e.i(36689),l=t([n,o,s]);[n,o,s]=l.then?(await l)():l;let d=function(){let e=process.env.https_proxy||process.env.HTTPS_PROXY||process.env.http_proxy||process.env.HTTP_PROXY;if(e)return console.log("[API Proxy] HTTP proxy configured"),new i.ProxyAgent({uri:e,connect:{rejectUnauthorized:"0"!==process.env.NODE_TLS_REJECT_UNAUTHORIZED}})}();async function c(e,t){return d?await (0,i.fetch)(e,{...t,dispatcher:d}):fetch(e,t)}async function u(e,{params:t}){let{taskId:a,path:i}=await t,l="https://api.deepseek.com";a.startsWith("claude")&&(l="https://api.deepseek.com/anthropic");let u={},d=e.clone();try{u=await d.json()}catch(e){console.error("Failed to parse request body")}let p=new Headers(e.headers);p.delete("host"),p.delete("content-length");let g=await (0,s.getActiveConfig)(),h=g?.apiKey;try{let e=await (0,o.getSession)(a);e?.model?"object"==typeof u&&null!==u&&(console.log(`[Proxy] Overriding model for task ${a}: ${u.model} -> ${e.model}`),u.model=e.model):"object"==typeof u&&null!==u&&u.model&&(await n.db.updateSession(a,{model:u.model}),console.log(`[Proxy] Captured model from request for task ${a}: ${u.model}`))}catch(e){console.error("Failed to apply or capture model preference",e)}let _=`${l}/${i.join("/")}`;u.stream&&!u.stream_options&&(u.stream_options={include_usage:!0}),h?p.set("Authorization",`Bearer ${h}`):p.has("Authorization")||console.warn("[Proxy] No API Key available for request");let m=Date.now(),f={requestMessages:u.messages||[],responseMessage:{role:"assistant",content:""},usage:{prompt_tokens:0,completion_tokens:0,total_tokens:0},toolCalls:[],timestamp:m,latency:0};try{let e=await c(_,{method:"POST",headers:p,body:JSON.stringify(u)});if(!e.ok)return console.error("Upstream error",e.status,e.statusText),e;let t=new Headers(e.headers);if(t.delete("content-encoding"),t.delete("content-length"),t.delete("transfer-encoding"),!0===u.stream){let[n,s]=e.body?.tee()||[];if(!n||!s)return console.error("Failed to tee stream"),e;let i=new r.NextResponse(n,{headers:t,status:e.status});return(async()=>{try{let e=s.getReader(),t=new TextDecoder,n=!1;for(f.responseMessage.reasoning_content="";!n;){let{value:a,done:o}=await e.read();if(n=o,a){for(let e of t.decode(a,{stream:!0}).split("\n"))if(e.trim().startsWith("data: ")){let t=e.trim().substring(6);if("[DONE]"===t)continue;try{let e=JSON.parse(t);if(e.choices&&e.choices[0]&&e.choices[0].delta){let t=e.choices[0].delta;t.content&&(f.responseMessage.content+=t.content),t.reasoning_content&&(f.responseMessage.reasoning_content+=t.reasoning_content),t.tool_calls&&t.tool_calls.forEach((e,t)=>{f.toolCalls[t]||(f.toolCalls[t]={function:{name:"",arguments:""}}),e.function?.name&&(f.toolCalls[t].function.name+=e.function.name),e.function?.arguments&&(f.toolCalls[t].function.arguments+=e.function.arguments)})}"content_block_delta"===e.type&&e.delta&&("text_delta"===e.delta.type&&e.delta.text?f.responseMessage.content+=e.delta.text:"thinking_delta"===e.delta.type&&e.delta.thinking?f.responseMessage.reasoning_content+=e.delta.thinking:e.delta.reasoning_content&&(f.responseMessage.reasoning_content+=e.delta.reasoning_content));let a=null;if(e.usage&&(a=e.usage),"message_delta"===e.type&&e.usage&&(a=e.usage),"message_start"===e.type&&e.message?.usage&&(a=e.message.usage),a){f.usage||(f.usage={}),void 0!==a.input_tokens&&(f.usage.input_tokens=a.input_tokens),void 0!==a.output_tokens&&(f.usage.output_tokens=a.output_tokens),void 0!==a.cache_read_input_tokens&&(f.usage.cache_read_input_tokens=a.cache_read_input_tokens),void 0!==a.cache_creation_input_tokens&&(f.usage.cache_creation_input_tokens=a.cache_creation_input_tokens);let e=f.usage.input_tokens||0,t=f.usage.output_tokens||0,n=f.usage.cache_read_input_tokens||0,o=f.usage.cache_creation_input_tokens||0;f.usage.total_tokens=e+t+n+o}}catch(e){}}}}if(f.usage||(f.usage={}),!f.usage.input_tokens){let e=JSON.stringify(u),t=Math.ceil(e.length/4);f.usage.input_tokens=t}if(!f.usage.output_tokens){let e=(f.responseMessage.content||"")+(f.responseMessage.reasoning_content||""),t=Math.ceil(e.length/3);f.usage.output_tokens=t}let r=f.usage.input_tokens||0,i=f.usage.output_tokens||0,l=f.usage.cache_read_input_tokens||0,c=f.usage.cache_creation_input_tokens||0;f.usage.total_tokens=r+i+l+c,f.latency=Date.now()-m,await (0,o.addToSession)(a,f)}catch(e){console.error("Background stream logger error",e)}})(),i}{let n=await e.json();return n.usage&&(f.usage=n.usage),n.choices&&n.choices[0]&&(f.responseMessage=n.choices[0].message,n.choices[0].message.tool_calls&&(f.toolCalls=n.choices[0].message.tool_calls)),f.latency=Date.now()-m,await (0,o.addToSession)(a,f),r.NextResponse.json(n,{status:e.status,headers:t})}}catch(e){return console.error("[Proxy-Path] ❌ Error:",e),r.NextResponse.json({error:"Proxy Failed"},{status:500})}}e.s(["POST",()=>u]),a()}catch(e){a(e)}},!1),8651,e=>e.a(async(t,a)=>{try{var n=e.i(47909),o=e.i(74017),s=e.i(60476),r=e.i(59756),i=e.i(61916),l=e.i(74677),c=e.i(69741),u=e.i(16795),d=e.i(87718),p=e.i(95169),g=e.i(47587),h=e.i(66012),_=e.i(70101),m=e.i(26937),f=e.i(10372),y=e.i(93695);e.i(52474);var R=e.i(220),w=e.i(27310),v=t([w]);[w]=v.then?(await v)():v;let E=new n.AppRouteRouteModule({definition:{kind:o.RouteKind.APP_ROUTE,page:"/api/proxy/[taskId]/[...path]/route",pathname:"/api/proxy/[taskId]/[...path]",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/proxy/[taskId]/[...path]/route.ts",nextConfigOutput:"standalone",userland:w}),{workAsyncStorage:C,workUnitAsyncStorage:P,serverHooks:T}=E;function k(){return(0,s.patchFetch)({workAsyncStorage:C,workUnitAsyncStorage:P})}async function x(e,t,a){E.isDev&&(0,r.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let n="/api/proxy/[taskId]/[...path]/route";n=n.replace(/\/index$/,"")||"/";let s=await E.prepare(e,t,{srcPage:n,multiZoneDraftMode:!1});if(!s)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:w,params:v,nextConfig:k,parsedUrl:x,isDraftMode:C,prerenderManifest:P,routerServerContext:T,isOnDemandRevalidate:A,revalidateOnlyGenerated:N,resolvedPathname:O,clientReferenceManifest:b,serverActionsManifest:S}=s,M=(0,c.normalizeAppPath)(n),H=!!(P.dynamicRoutes[M]||P.routes[O]),I=async()=>((null==T?void 0:T.render404)?await T.render404(e,t,x,!1):t.end("This page could not be found"),null);if(H&&!C){let e=!!P.routes[O],t=P.dynamicRoutes[M];if(t&&!1===t.fallback&&!e){if(k.experimental.adapterPath)return await I();throw new y.NoFallbackError}}let D=null;!H||E.isDev||C||(D=O,D="/index"===D?"/":D);let U=!0===E.isDev||!H,q=H&&!U;S&&b&&(0,l.setManifestsSingleton)({page:n,clientReferenceManifest:b,serverActionsManifest:S});let $=e.method||"GET",j=(0,i.getTracer)(),F=j.getActiveScopeSpan(),K={params:v,prerenderManifest:P,renderOpts:{experimental:{authInterrupts:!!k.experimental.authInterrupts},cacheComponents:!!k.cacheComponents,supportsDynamicResponse:U,incrementalCache:(0,r.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:k.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,n,o)=>E.onRequestError(e,t,n,o,T)},sharedContext:{buildId:w}},B=new u.NodeNextRequest(e),L=new u.NodeNextResponse(t),X=d.NextRequestAdapter.fromNodeNextRequest(B,(0,d.signalFromNodeResponse)(t));try{let s=async e=>E.handle(X,K).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=j.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==p.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 o=a.get("next.route");if(o){let t=`${$} ${o}`;e.setAttributes({"next.route":o,"http.route":o,"next.span_name":t}),e.updateName(t)}else e.updateName(`${$} ${n}`)}),l=!!(0,r.getRequestMeta)(e,"minimalMode"),c=async r=>{var i,c;let u=async({previousCacheEntry:o})=>{try{if(!l&&A&&N&&!o)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await s(r);e.fetchMetrics=K.renderOpts.fetchMetrics;let i=K.renderOpts.pendingWaitUntil;i&&a.waitUntil&&(a.waitUntil(i),i=void 0);let c=K.renderOpts.collectedTags;if(!H)return await (0,h.sendResponse)(B,L,n,K.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,_.toNodeOutgoingHttpHeaders)(n.headers);c&&(t[f.NEXT_CACHE_TAGS_HEADER]=c),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==K.renderOpts.collectedRevalidate&&!(K.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&K.renderOpts.collectedRevalidate,o=void 0===K.renderOpts.collectedExpire||K.renderOpts.collectedExpire>=f.INFINITE_CACHE?void 0:K.renderOpts.collectedExpire;return{value:{kind:R.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:o}}}}catch(t){throw(null==o?void 0:o.isStale)&&await E.onRequestError(e,t,{routerKind:"App Router",routePath:n,routeType:"route",revalidateReason:(0,g.getRevalidateReason)({isStaticGeneration:q,isOnDemandRevalidate:A})},!1,T),t}},d=await E.handleResponse({req:e,nextConfig:k,cacheKey:D,routeKind:o.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:P,isRoutePPREnabled:!1,isOnDemandRevalidate:A,revalidateOnlyGenerated:N,responseGenerator:u,waitUntil:a.waitUntil,isMinimalMode:l});if(!H)return null;if((null==d||null==(i=d.value)?void 0:i.kind)!==R.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(c=d.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});l||t.setHeader("x-nextjs-cache",A?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),C&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let p=(0,_.fromNodeOutgoingHttpHeaders)(d.value.headers);return l&&H||p.delete(f.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||p.get("Cache-Control")||p.set("Cache-Control",(0,m.getCacheControlHeader)(d.cacheControl)),await (0,h.sendResponse)(B,L,new Response(d.value.body,{headers:p,status:d.value.status||200})),null};F?await c(F):await j.withPropagatedContext(e.headers,()=>j.trace(p.BaseServerSpan.handleRequest,{spanName:`${$} ${n}`,kind:i.SpanKind.SERVER,attributes:{"http.method":$,"http.target":e.url}},c))}catch(t){if(t instanceof y.NoFallbackError||await E.onRequestError(e,t,{routerKind:"App Router",routePath:M,routeType:"route",revalidateReason:(0,g.getRevalidateReason)({isStaticGeneration:q,isOnDemandRevalidate:A})},!1,T),H)throw t;return await (0,h.sendResponse)(B,L,new Response(null,{status:500})),null}}e.s(["handler",()=>x,"patchFetch",()=>k,"routeModule",()=>E,"serverHooks",()=>T,"workAsyncStorage",()=>C,"workUnitAsyncStorage",()=>P]),a()}catch(e){a(e)}},!1)];
1
+ module.exports=[27310,e=>e.a(async(t,a)=>{try{var n=e.i(98043),o=e.i(75054),s=e.i(22965),r=e.i(89171),i=e.i(36689),l=t([n,o,s]);[n,o,s]=l.then?(await l)():l;let d=function(){let e=process.env.https_proxy||process.env.HTTPS_PROXY||process.env.http_proxy||process.env.HTTP_PROXY;if(e)return console.log("[API Proxy] HTTP proxy configured"),new i.ProxyAgent({uri:e,connect:{rejectUnauthorized:"0"!==process.env.NODE_TLS_REJECT_UNAUTHORIZED}})}();async function c(e,t){return d?await (0,i.fetch)(e,{...t,dispatcher:d}):fetch(e,t)}async function u(e,{params:t}){let{taskId:a,path:i}=await t,l="https://api.deepseek.com";a.startsWith("claude")&&(l="https://api.deepseek.com/anthropic");let u={},d=e.clone();try{u=await d.json()}catch(e){console.error("Failed to parse request body")}let p=new Headers(e.headers);p.delete("host"),p.delete("content-length");let g=await (0,s.getActiveConfig)(),h=g?.apiKey;try{let e=await (0,o.getSession)(a);e?.model?"object"==typeof u&&null!==u&&(console.log(`[Proxy] Overriding model for task ${a}: ${u.model} -> ${e.model}`),u.model=e.model):"object"==typeof u&&null!==u&&u.model&&(await n.db.updateSession(a,{model:u.model}),console.log(`[Proxy] Captured model from request for task ${a}: ${u.model}`))}catch(e){console.error("Failed to apply or capture model preference",e)}let _=`${l}/${i.join("/")}`;u.stream&&!u.stream_options&&(u.stream_options={include_usage:!0}),h?p.set("Authorization",`Bearer ${h}`):p.has("Authorization")||console.warn("[Proxy] No API Key available for request");let m=Date.now(),f={requestMessages:u.messages||[],responseMessage:{role:"assistant",content:""},usage:{prompt_tokens:0,completion_tokens:0,total_tokens:0},toolCalls:[],timestamp:m,latency:0};try{let e=await c(_,{method:"POST",headers:p,body:JSON.stringify(u)});if(!e.ok)return console.error("Upstream error",e.status,e.statusText),e;let t=new Headers(e.headers);if(t.delete("content-encoding"),t.delete("content-length"),t.delete("transfer-encoding"),!0===u.stream){let[n,s]=e.body?.tee()||[];if(!n||!s)return console.error("Failed to tee stream"),e;let i=new r.NextResponse(n,{headers:t,status:e.status});return(async()=>{try{let e=s.getReader(),t=new TextDecoder,n=!1;for(f.responseMessage.reasoning_content="";!n;){let{value:a,done:o}=await e.read();if(n=o,a){for(let e of t.decode(a,{stream:!0}).split("\n"))if(e.trim().startsWith("data: ")){let t=e.trim().substring(6);if("[DONE]"===t)continue;try{let e=JSON.parse(t);if(e.choices&&e.choices[0]&&e.choices[0].delta){let t=e.choices[0].delta;t.content&&(f.responseMessage.content+=t.content),t.reasoning_content&&(f.responseMessage.reasoning_content+=t.reasoning_content),t.tool_calls&&t.tool_calls.forEach((e,t)=>{f.toolCalls[t]||(f.toolCalls[t]={function:{name:"",arguments:""}}),e.function?.name&&(f.toolCalls[t].function.name+=e.function.name),e.function?.arguments&&(f.toolCalls[t].function.arguments+=e.function.arguments)})}"content_block_delta"===e.type&&e.delta&&("text_delta"===e.delta.type&&e.delta.text?f.responseMessage.content+=e.delta.text:"thinking_delta"===e.delta.type&&e.delta.thinking?f.responseMessage.reasoning_content+=e.delta.thinking:e.delta.reasoning_content&&(f.responseMessage.reasoning_content+=e.delta.reasoning_content));let a=null;if(e.usage&&(a=e.usage),"message_delta"===e.type&&e.usage&&(a=e.usage),"message_start"===e.type&&e.message?.usage&&(a=e.message.usage),a){f.usage||(f.usage={}),void 0!==a.input_tokens&&(f.usage.input_tokens=a.input_tokens),void 0!==a.output_tokens&&(f.usage.output_tokens=a.output_tokens),void 0!==a.cache_read_input_tokens&&(f.usage.cache_read_input_tokens=a.cache_read_input_tokens),void 0!==a.cache_creation_input_tokens&&(f.usage.cache_creation_input_tokens=a.cache_creation_input_tokens);let e=a.reasoning_tokens??a.completion_tokens_details?.reasoning_tokens;void 0!==e&&(f.usage.reasoning_tokens=e);let t=f.usage.input_tokens||0,n=f.usage.output_tokens||0,o=f.usage.cache_read_input_tokens||0,s=f.usage.cache_creation_input_tokens||0;f.usage.total_tokens=t+n+o+s}}catch(e){}}}}if(f.usage||(f.usage={}),!f.usage.input_tokens){let e=JSON.stringify(u),t=Math.ceil(e.length/4);f.usage.input_tokens=t}if(!f.usage.output_tokens){let e=(f.responseMessage.content||"")+(f.responseMessage.reasoning_content||""),t=Math.ceil(e.length/3);f.usage.output_tokens=t}let r=f.usage.input_tokens||0,i=f.usage.output_tokens||0,l=f.usage.cache_read_input_tokens||0,c=f.usage.cache_creation_input_tokens||0;f.usage.total_tokens=r+i+l+c,f.latency=Date.now()-m,await (0,o.addToSession)(a,f)}catch(e){console.error("Background stream logger error",e)}})(),i}{let n=await e.json();return n.usage&&(f.usage=n.usage),n.choices&&n.choices[0]&&(f.responseMessage=n.choices[0].message,n.choices[0].message.tool_calls&&(f.toolCalls=n.choices[0].message.tool_calls)),f.latency=Date.now()-m,await (0,o.addToSession)(a,f),r.NextResponse.json(n,{status:e.status,headers:t})}}catch(e){return console.error("[Proxy-Path] ❌ Error:",e),r.NextResponse.json({error:"Proxy Failed"},{status:500})}}e.s(["POST",()=>u]),a()}catch(e){a(e)}},!1),8651,e=>e.a(async(t,a)=>{try{var n=e.i(47909),o=e.i(74017),s=e.i(60476),r=e.i(59756),i=e.i(61916),l=e.i(74677),c=e.i(69741),u=e.i(16795),d=e.i(87718),p=e.i(95169),g=e.i(47587),h=e.i(66012),_=e.i(70101),m=e.i(26937),f=e.i(10372),y=e.i(93695);e.i(52474);var R=e.i(220),k=e.i(27310),v=t([k]);[k]=v.then?(await v)():v;let E=new n.AppRouteRouteModule({definition:{kind:o.RouteKind.APP_ROUTE,page:"/api/proxy/[taskId]/[...path]/route",pathname:"/api/proxy/[taskId]/[...path]",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/proxy/[taskId]/[...path]/route.ts",nextConfigOutput:"standalone",userland:k}),{workAsyncStorage:C,workUnitAsyncStorage:P,serverHooks:T}=E;function w(){return(0,s.patchFetch)({workAsyncStorage:C,workUnitAsyncStorage:P})}async function x(e,t,a){E.isDev&&(0,r.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let n="/api/proxy/[taskId]/[...path]/route";n=n.replace(/\/index$/,"")||"/";let s=await E.prepare(e,t,{srcPage:n,multiZoneDraftMode:!1});if(!s)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:k,params:v,nextConfig:w,parsedUrl:x,isDraftMode:C,prerenderManifest:P,routerServerContext:T,isOnDemandRevalidate:A,revalidateOnlyGenerated:N,resolvedPathname:O,clientReferenceManifest:b,serverActionsManifest:S}=s,M=(0,c.normalizeAppPath)(n),H=!!(P.dynamicRoutes[M]||P.routes[O]),I=async()=>((null==T?void 0:T.render404)?await T.render404(e,t,x,!1):t.end("This page could not be found"),null);if(H&&!C){let e=!!P.routes[O],t=P.dynamicRoutes[M];if(t&&!1===t.fallback&&!e){if(w.experimental.adapterPath)return await I();throw new y.NoFallbackError}}let D=null;!H||E.isDev||C||(D=O,D="/index"===D?"/":D);let U=!0===E.isDev||!H,q=H&&!U;S&&b&&(0,l.setManifestsSingleton)({page:n,clientReferenceManifest:b,serverActionsManifest:S});let $=e.method||"GET",j=(0,i.getTracer)(),F=j.getActiveScopeSpan(),K={params:v,prerenderManifest:P,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts},cacheComponents:!!w.cacheComponents,supportsDynamicResponse:U,incrementalCache:(0,r.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:w.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,n,o)=>E.onRequestError(e,t,n,o,T)},sharedContext:{buildId:k}},B=new u.NodeNextRequest(e),L=new u.NodeNextResponse(t),X=d.NextRequestAdapter.fromNodeNextRequest(B,(0,d.signalFromNodeResponse)(t));try{let s=async e=>E.handle(X,K).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=j.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==p.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 o=a.get("next.route");if(o){let t=`${$} ${o}`;e.setAttributes({"next.route":o,"http.route":o,"next.span_name":t}),e.updateName(t)}else e.updateName(`${$} ${n}`)}),l=!!(0,r.getRequestMeta)(e,"minimalMode"),c=async r=>{var i,c;let u=async({previousCacheEntry:o})=>{try{if(!l&&A&&N&&!o)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await s(r);e.fetchMetrics=K.renderOpts.fetchMetrics;let i=K.renderOpts.pendingWaitUntil;i&&a.waitUntil&&(a.waitUntil(i),i=void 0);let c=K.renderOpts.collectedTags;if(!H)return await (0,h.sendResponse)(B,L,n,K.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,_.toNodeOutgoingHttpHeaders)(n.headers);c&&(t[f.NEXT_CACHE_TAGS_HEADER]=c),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==K.renderOpts.collectedRevalidate&&!(K.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&K.renderOpts.collectedRevalidate,o=void 0===K.renderOpts.collectedExpire||K.renderOpts.collectedExpire>=f.INFINITE_CACHE?void 0:K.renderOpts.collectedExpire;return{value:{kind:R.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:o}}}}catch(t){throw(null==o?void 0:o.isStale)&&await E.onRequestError(e,t,{routerKind:"App Router",routePath:n,routeType:"route",revalidateReason:(0,g.getRevalidateReason)({isStaticGeneration:q,isOnDemandRevalidate:A})},!1,T),t}},d=await E.handleResponse({req:e,nextConfig:w,cacheKey:D,routeKind:o.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:P,isRoutePPREnabled:!1,isOnDemandRevalidate:A,revalidateOnlyGenerated:N,responseGenerator:u,waitUntil:a.waitUntil,isMinimalMode:l});if(!H)return null;if((null==d||null==(i=d.value)?void 0:i.kind)!==R.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(c=d.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});l||t.setHeader("x-nextjs-cache",A?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),C&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let p=(0,_.fromNodeOutgoingHttpHeaders)(d.value.headers);return l&&H||p.delete(f.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||p.get("Cache-Control")||p.set("Cache-Control",(0,m.getCacheControlHeader)(d.cacheControl)),await (0,h.sendResponse)(B,L,new Response(d.value.body,{headers:p,status:d.value.status||200})),null};F?await c(F):await j.withPropagatedContext(e.headers,()=>j.trace(p.BaseServerSpan.handleRequest,{spanName:`${$} ${n}`,kind:i.SpanKind.SERVER,attributes:{"http.method":$,"http.target":e.url}},c))}catch(t){if(t instanceof y.NoFallbackError||await E.onRequestError(e,t,{routerKind:"App Router",routePath:M,routeType:"route",revalidateReason:(0,g.getRevalidateReason)({isStaticGeneration:q,isOnDemandRevalidate:A})},!1,T),H)throw t;return await (0,h.sendResponse)(B,L,new Response(null,{status:500})),null}}e.s(["handler",()=>x,"patchFetch",()=>w,"routeModule",()=>E,"serverHooks",()=>T,"workAsyncStorage",()=>C,"workUnitAsyncStorage",()=>P]),a()}catch(e){a(e)}},!1)];
2
2
 
3
3
  //# sourceMappingURL=_3e8b4d8c._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[19385,e=>{"use strict";let t=new Map;function s(e,s,o){let n=t.get(e);n&&clearTimeout(n);let l=setTimeout(()=>{t.delete(e),o()},s);t.set(e,l)}e.s(["debounceByKey",()=>s])},35932,e=>e.a(async(t,s)=>{try{var o=e.i(85765),n=e.i(2988),l=e.i(85874),a=e.i(50374),r=e.i(98043),i=e.i(19385),c=e.i(89171),d=t([o,n,l,r]);async function u(e){try{let t,s,n=await e.text();try{t=JSON.parse(n)}catch(e){return console.error("JSON Parse Error:",e),console.error("Raw Body:",n),c.NextResponse.json({error:"Invalid JSON"},{status:400})}let d=e.headers.get("x-witty-api-key");if(d){let e=await r.db.findUserByApiKey(d);e?(s=e.username,t.user=s,console.log(`[Upload-API] User resolved via API Key: ${s}`)):console.warn("[Upload-API] API Key provided but no matching user found in DB")}if(!s&&t.user&&(s=t.user,console.log(`[Upload-API] Using user from request body: ${s}`)),!s)try{let e=r.db.getClient();if("query"in e){let o=await e.query('SELECT * FROM "UserSettings" WHERE "settingsJson" != \'{"activeConfigId":null,"configs":[]}\' LIMIT 1');o.rows[0]&&(s=o.rows[0].user,t.user=s,console.log(`[Upload-API] Fallback: Using user with active settings: ${s}`))}else{let o=await e.userSettings.findFirst({where:{settingsJson:{not:'{"activeConfigId":null,"configs":[]}'}}});o&&(s=o.user,t.user=s,console.log(`[Upload-API] Fallback: Using user with active settings: ${s}`))}}catch(e){console.warn("[Upload-API] Fallback user lookup failed:",e)}console.log(`[Upload-API] 📥 Received data from ${t.framework||"unknown"}: task_id=${t.task_id}, query=${t.query?.substring(0,50)}..., user=${s||"(none)"}`);let u=t.interactions||[],g=(0,l.normalizeInteractions)(u);g.forEach((e,t)=>{let s=!!e.responseMessage?.tool_calls?.length,o=e.requestMessages?.filter(e=>"assistant"===e.role&&e.tool_calls?.length).length||0;console.log(`[Upload-Debug] Turn ${t}: ReqMsgs=${e.requestMessages?.length}, RespRole=${e.responseMessage?.role}, RespTool=${s}, AssistantReqTools=${o}`)});let f=[];"opencode"===t.framework?f=(0,a.extractSkillsWithVersionsFromOpencodeSession)(g):"claudecode"===t.framework||"claude"===t.framework?f=(0,a.extractSkillsWithVersionsFromClaudeSession)(g):"openclaw"===t.framework&&(f=(0,a.extractSkillsWithVersionsFromOpenClawSession)(g)),console.log(`[Upload-API] Extracted skills: ${JSON.stringify(f)}`);let v=f.map(e=>e.name),k=f[0]?.version??t.skill_version;if(console.log(`[Upload-API] Initial quickSkillVersion: ${k} (from tool call: ${f[0]?.version}, from data: ${t.skill_version})`),null==k){let e=v.length>0?v[0]:t.skill;if(console.log(`[Upload-API] No version from tool call, querying database for skill: ${e}`),e)try{let t=await r.db.findSkill(e,s||null);if(console.log(`[Upload-API] Skill record found: ${t?t.name:"null"}, activeVersion: ${t?.activeVersion}, versions: ${t?.versions?.map(e=>e.version).join(",")}`),t&&t.versions&&t.versions.length>0){let s=t.activeVersion||0,o=t.versions.find(e=>e.version===s);o?(k=o.version,console.log(`[Upload-API] Quick save: using active version ${k} for skill ${e}`)):(k=t.versions[0].version,console.log(`[Upload-API] Quick save: using fallback version ${k} for skill ${e}`))}else console.log("[Upload-API] Skill record not found or no versions available")}catch(t){console.warn(`[Upload-API] Failed to fetch skill version for ${e}:`,t)}}console.log(`[Upload-API] Final quickSkillVersion: ${k}`);let y={...t,skip_evaluation:!0,skills:v.length>0?v:t.skills,invokedSkills:f.length>0?f:t.invokedSkills,skill:v.length>0?v[0]:t.skill,skill_version:k};try{await (0,o.saveExecutionRecord)(y),v.length>0&&console.log(`[Upload-API] Quick save with skills: ${JSON.stringify(f)}`)}catch(e){console.warn("[Upload-API] Quick initial save failed:",e)}let h=Number(process.env.UPLOAD_ASYNC_DEBOUNCE_MS||15e3),w=Number.isFinite(h)&&h>=0?h:15e3,m=String(t.task_id||"");return(0,i.debounceByKey)(m,w,()=>{let e=JSON.parse(JSON.stringify(t)),o=JSON.parse(JSON.stringify(g)),n=JSON.parse(JSON.stringify(u));p(e,s,o,n).catch(e=>{console.error("[Upload-API] Async analysis failed:",e)})}),c.NextResponse.json({success:!0,message:"Upload received and analyzing in background",upload_id:t.task_id},{status:200})}catch(e){return console.error("[Upload-API] ❌ Error:",e),c.NextResponse.json({error:"Failed to process data"},{status:500})}}async function p(e,t,s,i){let c;console.log(`[Upload-Async] Starting background analysis for ${e.task_id}`);let d=await (0,l.analyzeSession)(s,t);!e.query&&d.query&&(e.query=d.query),!e.final_result&&d.final_result&&(e.final_result=d.final_result);let u=[];"opencode"===e.framework?u=(0,a.extractSkillsWithVersionsFromOpencodeSession)(s):"claudecode"===e.framework||"claude"===e.framework?u=(0,a.extractSkillsWithVersionsFromClaudeSession)(s):"openclaw"===e.framework&&(u=(0,a.extractSkillsWithVersionsFromOpenClawSession)(s));let p=u.map(e=>e.name);if(0===p.length&&d.skill&&(p.push(d.skill),u.push({name:d.skill,version:null})),p.length>0?(e.skills=p,e.invokedSkills=u,e.skill||(e.skill=p[0]),console.log(`[Upload-Async] Extracted skills: ${JSON.stringify(u)}`),console.log(`[Upload-Async] Current data.skill_version: ${e.skill_version}`),u[0]?.version!=null&&(e.skill_version=u[0].version,console.log(`[Upload-Async] Updated skill_version from tool call: ${e.skill_version}`)),console.log(`[Upload-Async] 🛠️ Extracted Skills: ${JSON.stringify(u)} for task_id=${e.task_id}`)):console.log(`[Upload-Async] ⚠️ No skills extracted for task_id=${e.task_id}`),e.query&&(e.query=e.query.trim().replace(/^['"]+|['"]+$/g,"").trim()),e.skill&&(e.skill=e.skill.trim().replace(/^['"]+|['"]+$/g,"").trim()),!e.query)return void console.log(`[Upload-Async] Empty query after analysis, aborting task_id=${e.task_id}`);let g=e.skill;if(console.log(`[Upload-Async] Primary skill name: ${g}, current skill_version: ${e.skill_version}`),g){let s=await r.db.findSkill(g,t||null);if(console.log(`[Upload-Async] Skill record found: ${s?s.name:"null"}, activeVersion: ${s?.activeVersion}, versions: ${s?.versions?.map(e=>e.version).join(",")}`),s&&s.versions&&s.versions.length>0){let t=s.activeVersion||0,o=s.versions.find(e=>e.version===t);o&&o.content?(c=o.content,e.skill_version=o.version,console.log(`[Upload-Async] Using active version ${o.version} for skill ${g}`)):(c=s.versions[0].content,e.skill_version=s.versions[0].version,console.log(`[Upload-Async] Using fallback version ${s.versions[0].version} for skill ${g}`))}}e.skip_evaluation=!0,e.force_judgment=!1,await (0,o.saveExecutionRecord)(e);try{let s=await (0,n.analyzeDynamicOnly)(e.task_id,t);s.success?console.log(`[Upload-Async] Auto-parsed dynamic flow for ${e.task_id}`):console.warn(`[Upload-Async] Auto-parse dynamic flow failed for ${e.task_id}: ${s.error}`)}catch(t){console.warn(`[Upload-Async] Auto-parse dynamic flow error for ${e.task_id}:`,t)}if(e.query&&e.final_result){let s,n={skill_definition:c};try{(s=(await (0,o.readConfig)(t)).find(t=>t.query&&e.query&&t.query.trim()===e.query.trim()))&&(n.root_causes=s.root_causes,n.key_actions=s.key_actions,n.standard_answer_example=s.standard_answer)}catch(e){console.warn("Config load error",e)}if(s){let s=null;try{let t=await r.db.findExecutionMatch(e.task_id);t?.extractedSteps&&(s="string"==typeof t.extractedSteps?JSON.parse(t.extractedSteps):t.extractedSteps,console.log(`[Upload-Async] Found ${s?.length||0} execution steps for KA evaluation`))}catch(e){console.warn("[Upload-Async] Failed to load execution steps for KA evaluation:",e)}let o=await (0,l.judgeAnswer)(e.query,n,e.final_result,t,s);e.is_answer_correct=o.is_correct,e.answer_score=o.score,e.judgment_reason=o.reason||"Judged by Evaluation Model"}else console.log(`[Upload-Async] No config match for query: "${e.query.substring(0,20)}...". Skipping judgment to preserve potential existing score.`)}let f=await (0,l.analyzeFailures)(i,g,c,e.answer_score,String(e.judgment_reason||""),e.query,e.final_result,t);e.failures=f.failures,e.skill_issues=f.skill_issues,e.skip_evaluation=!1,e.force_judgment=!0,await (0,o.saveExecutionRecord)(e),console.log(`[Upload-Async] ✅ Completed async analysis: task_id=${e.task_id}, score=${e.answer_score}, failures=${(e.failures||[]).length}`)}[o,n,l,r]=d.then?(await d)():d,e.s(["POST",()=>u]),s()}catch(e){s(e)}},!1),55739,e=>e.a(async(t,s)=>{try{var o=e.i(47909),n=e.i(74017),l=e.i(60476),a=e.i(59756),r=e.i(61916),i=e.i(74677),c=e.i(69741),d=e.i(16795),u=e.i(87718),p=e.i(95169),g=e.i(47587),f=e.i(66012),v=e.i(70101),k=e.i(26937),y=e.i(10372),h=e.i(93695);e.i(52474);var w=e.i(220),m=e.i(35932),_=t([m]);[m]=_.then?(await _)():_;let S=new o.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/upload/route",pathname:"/api/upload",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/upload/route.ts",nextConfigOutput:"standalone",userland:m}),{workAsyncStorage:U,workUnitAsyncStorage:$,serverHooks:E}=S;function A(){return(0,l.patchFetch)({workAsyncStorage:U,workUnitAsyncStorage:$})}async function R(e,t,s){S.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let o="/api/upload/route";o=o.replace(/\/index$/,"")||"/";let l=await S.prepare(e,t,{srcPage:o,multiZoneDraftMode:!1});if(!l)return t.statusCode=400,t.end("Bad Request"),null==s.waitUntil||s.waitUntil.call(s,Promise.resolve()),null;let{buildId:m,params:_,nextConfig:A,parsedUrl:R,isDraftMode:U,prerenderManifest:$,routerServerContext:E,isOnDemandRevalidate:x,revalidateOnlyGenerated:C,resolvedPathname:P,clientReferenceManifest:N,serverActionsManifest:b}=l,q=(0,c.normalizeAppPath)(o),I=!!($.dynamicRoutes[q]||$.routes[P]),O=async()=>((null==E?void 0:E.render404)?await E.render404(e,t,R,!1):t.end("This page could not be found"),null);if(I&&!U){let e=!!$.routes[P],t=$.dynamicRoutes[q];if(t&&!1===t.fallback&&!e){if(A.experimental.adapterPath)return await O();throw new h.NoFallbackError}}let T=null;!I||S.isDev||U||(T=P,T="/index"===T?"/":T);let F=!0===S.isDev||!I,M=I&&!F;b&&N&&(0,i.setManifestsSingleton)({page:o,clientReferenceManifest:N,serverActionsManifest:b});let j=e.method||"GET",D=(0,r.getTracer)(),H=D.getActiveScopeSpan(),J={params:_,prerenderManifest:$,renderOpts:{experimental:{authInterrupts:!!A.experimental.authInterrupts},cacheComponents:!!A.cacheComponents,supportsDynamicResponse:F,incrementalCache:(0,a.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:A.cacheLife,waitUntil:s.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,s,o,n)=>S.onRequestError(e,t,o,n,E)},sharedContext:{buildId:m}},V=new d.NodeNextRequest(e),K=new d.NodeNextResponse(t),B=u.NextRequestAdapter.fromNodeNextRequest(V,(0,u.signalFromNodeResponse)(t));try{let l=async e=>S.handle(B,J).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let s=D.getRootSpanAttributes();if(!s)return;if(s.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${s.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=s.get("next.route");if(n){let t=`${j} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t)}else e.updateName(`${j} ${o}`)}),i=!!(0,a.getRequestMeta)(e,"minimalMode"),c=async a=>{var r,c;let d=async({previousCacheEntry:n})=>{try{if(!i&&x&&C&&!n)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let o=await l(a);e.fetchMetrics=J.renderOpts.fetchMetrics;let r=J.renderOpts.pendingWaitUntil;r&&s.waitUntil&&(s.waitUntil(r),r=void 0);let c=J.renderOpts.collectedTags;if(!I)return await (0,f.sendResponse)(V,K,o,J.renderOpts.pendingWaitUntil),null;{let e=await o.blob(),t=(0,v.toNodeOutgoingHttpHeaders)(o.headers);c&&(t[y.NEXT_CACHE_TAGS_HEADER]=c),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let s=void 0!==J.renderOpts.collectedRevalidate&&!(J.renderOpts.collectedRevalidate>=y.INFINITE_CACHE)&&J.renderOpts.collectedRevalidate,n=void 0===J.renderOpts.collectedExpire||J.renderOpts.collectedExpire>=y.INFINITE_CACHE?void 0:J.renderOpts.collectedExpire;return{value:{kind:w.CachedRouteKind.APP_ROUTE,status:o.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:s,expire:n}}}}catch(t){throw(null==n?void 0:n.isStale)&&await S.onRequestError(e,t,{routerKind:"App Router",routePath:o,routeType:"route",revalidateReason:(0,g.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:x})},!1,E),t}},u=await S.handleResponse({req:e,nextConfig:A,cacheKey:T,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:$,isRoutePPREnabled:!1,isOnDemandRevalidate:x,revalidateOnlyGenerated:C,responseGenerator:d,waitUntil:s.waitUntil,isMinimalMode:i});if(!I)return null;if((null==u||null==(r=u.value)?void 0:r.kind)!==w.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(c=u.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});i||t.setHeader("x-nextjs-cache",x?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),U&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let p=(0,v.fromNodeOutgoingHttpHeaders)(u.value.headers);return i&&I||p.delete(y.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||p.get("Cache-Control")||p.set("Cache-Control",(0,k.getCacheControlHeader)(u.cacheControl)),await (0,f.sendResponse)(V,K,new Response(u.value.body,{headers:p,status:u.value.status||200})),null};H?await c(H):await D.withPropagatedContext(e.headers,()=>D.trace(p.BaseServerSpan.handleRequest,{spanName:`${j} ${o}`,kind:r.SpanKind.SERVER,attributes:{"http.method":j,"http.target":e.url}},c))}catch(t){if(t instanceof h.NoFallbackError||await S.onRequestError(e,t,{routerKind:"App Router",routePath:q,routeType:"route",revalidateReason:(0,g.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:x})},!1,E),I)throw t;return await (0,f.sendResponse)(V,K,new Response(null,{status:500})),null}}e.s(["handler",()=>R,"patchFetch",()=>A,"routeModule",()=>S,"serverHooks",()=>E,"workAsyncStorage",()=>U,"workUnitAsyncStorage",()=>$]),s()}catch(e){s(e)}},!1)];
2
+
3
+ //# sourceMappingURL=_46f10554._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[84014,(e,t,r)=>{t.exports={LOCHDR:30,LOCSIG:0x4034b50,LOCVER:4,LOCFLG:6,LOCHOW:8,LOCTIM:10,LOCCRC:14,LOCSIZ:18,LOCLEN:22,LOCNAM:26,LOCEXT:28,EXTSIG:0x8074b50,EXTHDR:16,EXTCRC:4,EXTSIZ:8,EXTLEN:12,CENHDR:46,CENSIG:0x2014b50,CENVEM:4,CENVER:6,CENFLG:8,CENHOW:10,CENTIM:12,CENCRC:16,CENSIZ:20,CENLEN:24,CENNAM:28,CENEXT:30,CENCOM:32,CENDSK:34,CENATT:36,CENATX:38,CENOFF:42,ENDHDR:22,ENDSIG:0x6054b50,ENDSUB:8,ENDTOT:10,ENDSIZ:12,ENDOFF:16,ENDCOM:20,END64HDR:20,END64SIG:0x7064b50,END64START:4,END64OFF:8,END64NUMDISKS:16,ZIP64SIG:0x6064b50,ZIP64HDR:56,ZIP64LEAD:12,ZIP64SIZE:4,ZIP64VEM:12,ZIP64VER:14,ZIP64DSK:16,ZIP64DSKDIR:20,ZIP64SUB:24,ZIP64TOT:32,ZIP64SIZB:40,ZIP64OFF:48,ZIP64EXTRA:56,STORED:0,SHRUNK:1,REDUCED1:2,REDUCED2:3,REDUCED3:4,REDUCED4:5,IMPLODED:6,DEFLATED:8,ENHANCED_DEFLATED:9,PKWARE:10,BZIP2:12,LZMA:14,IBM_TERSE:18,IBM_LZ77:19,AES_ENCRYPT:99,FLG_ENC:1,FLG_COMP1:2,FLG_COMP2:4,FLG_DESC:8,FLG_ENH:16,FLG_PATCH:32,FLG_STR:64,FLG_EFS:2048,FLG_MSK:4096,FILE:2,BUFFER:1,NONE:0,EF_ID:0,EF_SIZE:2,ID_ZIP64:1,ID_AVINFO:7,ID_PFS:8,ID_OS2:9,ID_NTFS:10,ID_OPENVMS:12,ID_UNIX:13,ID_FORK:14,ID_PATCH:15,ID_X509_PKCS7:20,ID_X509_CERTID_F:21,ID_X509_CERTID_C:22,ID_STRONGENC:23,ID_RECORD_MGT:24,ID_X509_PKCS7_RL:25,ID_IBM1:101,ID_IBM2:102,ID_POSZIP:18064,EF_ZIP64_OR_32:0xffffffff,EF_ZIP64_OR_16:65535,EF_ZIP64_SUNCOMP:0,EF_ZIP64_SCOMP:8,EF_ZIP64_RHO:16,EF_ZIP64_DSN:24}},15873,(e,t,r)=>{let n={INVALID_LOC:"Invalid LOC header (bad signature)",INVALID_CEN:"Invalid CEN header (bad signature)",INVALID_END:"Invalid END header (bad signature)",DESCRIPTOR_NOT_EXIST:"No descriptor present",DESCRIPTOR_UNKNOWN:"Unknown descriptor format",DESCRIPTOR_FAULTY:"Descriptor data is malformed",NO_DATA:"Nothing to decompress",BAD_CRC:"CRC32 checksum failed {0}",FILE_IN_THE_WAY:"There is a file in the way: {0}",UNKNOWN_METHOD:"Invalid/unsupported compression method",AVAIL_DATA:"inflate::Available inflate data did not terminate",INVALID_DISTANCE:"inflate::Invalid literal/length or distance code in fixed or dynamic block",TO_MANY_CODES:"inflate::Dynamic block code description: too many length or distance codes",INVALID_REPEAT_LEN:"inflate::Dynamic block code description: repeat more than specified lengths",INVALID_REPEAT_FIRST:"inflate::Dynamic block code description: repeat lengths with no first length",INCOMPLETE_CODES:"inflate::Dynamic block code description: code lengths codes incomplete",INVALID_DYN_DISTANCE:"inflate::Dynamic block code description: invalid distance code lengths",INVALID_CODES_LEN:"inflate::Dynamic block code description: invalid literal/length code lengths",INVALID_STORE_BLOCK:"inflate::Stored block length did not match one's complement",INVALID_BLOCK_TYPE:"inflate::Invalid block type (type == 3)",CANT_EXTRACT_FILE:"Could not extract the file",CANT_OVERRIDE:"Target file already exists",DISK_ENTRY_TOO_LARGE:"Number of disk entries is too large",NO_ZIP:"No zip file was loaded",NO_ENTRY:"Entry doesn't exist",DIRECTORY_CONTENT_ERROR:"A directory cannot have content",FILE_NOT_FOUND:'File not found: "{0}"',NOT_IMPLEMENTED:"Not implemented",INVALID_FILENAME:"Invalid filename",INVALID_FORMAT:"Invalid or unsupported zip format. No END header found",INVALID_PASS_PARAM:"Incompatible password parameter",WRONG_PASSWORD:"Wrong Password",COMMENT_TOO_LONG:"Comment is too long",EXTRA_FIELD_PARSE_ERROR:"Extra field parsing error"};for(let e of Object.keys(n))r[e]=function(e){return function(...t){return t.length&&(e=e.replace(/\{(\d)\}/g,(e,r)=>t[r]||"")),Error("ADM-ZIP: "+e)}}(n[e])},37965,(e,t,r)=>{let n=e.r(22734),o=e.r(14747),i=e.r(84014),s=e.r(15873),a="object"==typeof process&&"win32"===process.platform,l=e=>"object"==typeof e&&null!==e,c=new Uint32Array(256).map((e,t)=>{for(let e=0;e<8;e++)(1&t)!=0?t=0xedb88320^t>>>1:t>>>=1;return t>>>0});function f(e){this.sep=o.sep,this.fs=n,l(e)&&l(e.fs)&&"function"==typeof e.fs.statSync&&(this.fs=e.fs)}t.exports=f,f.prototype.makeDir=function(e){let t,r=this;t=e.split(r.sep)[0],e.split(r.sep).forEach(function(e){var n;if(e&&":"!==e.substr(-1,1)){t+=r.sep+e;try{n=r.fs.statSync(t)}catch(e){if(e.message&&e.message.startsWith("ENOENT"))r.fs.mkdirSync(t);else throw e}if(n&&n.isFile())throw s.FILE_IN_THE_WAY(`"${t}"`)}})},f.prototype.writeFileTo=function(e,t,r,n){if(this.fs.existsSync(e)){var i;if(!r||this.fs.statSync(e).isDirectory())return!1}var s=o.dirname(e);this.fs.existsSync(s)||this.makeDir(s);try{i=this.fs.openSync(e,"w",438)}catch(t){this.fs.chmodSync(e,438),i=this.fs.openSync(e,"w",438)}if(i)try{this.fs.writeSync(i,t,0,t.length,0)}finally{this.fs.closeSync(i)}return this.fs.chmodSync(e,n||438),!0},f.prototype.writeFileToAsync=function(e,t,r,n,i){"function"==typeof n&&(i=n,n=void 0);let s=this;s.fs.exists(e,function(a){if(a&&!r)return i(!1);s.fs.stat(e,function(r,l){if(a&&l.isDirectory())return i(!1);var c=o.dirname(e);s.fs.exists(c,function(r){r||s.makeDir(c),s.fs.open(e,"w",438,function(r,o){r?s.fs.chmod(e,438,function(){s.fs.open(e,"w",438,function(r,o){s.fs.write(o,t,0,t.length,0,function(){s.fs.close(o,function(){s.fs.chmod(e,n||438,function(){i(!0)})})})})}):o?s.fs.write(o,t,0,t.length,0,function(){s.fs.close(o,function(){s.fs.chmod(e,n||438,function(){i(!0)})})}):s.fs.chmod(e,n||438,function(){i(!0)})})})})})},f.prototype.findFiles=function(e){let t=this;return function e(r,n,i){"boolean"==typeof n&&(i=n,n=void 0);let s=[];return t.fs.readdirSync(r).forEach(function(a){let l=o.join(r,a),c=t.fs.statSync(l);(!n||n.test(l))&&s.push(o.normalize(l)+(c.isDirectory()?t.sep:"")),c.isDirectory()&&i&&(s=s.concat(e(l,n,i)))}),s}(e,void 0,!0)},f.prototype.findFilesAsync=function(e,t){let r=this,n=[];r.fs.readdir(e,function(i,s){if(i)return t(i);let a=s.length;if(!a)return t(null,n);s.forEach(function(i){i=o.join(e,i),r.fs.stat(i,function(e,s){if(e)return t(e);s&&(n.push(o.normalize(i)+(s.isDirectory()?r.sep:"")),s.isDirectory()?r.findFilesAsync(i,function(e,r){if(e)return t(e);n=n.concat(r),--a||t(null,n)}):--a||t(null,n))})})})},f.prototype.getAttributes=function(){},f.prototype.setAttributes=function(){},f.crc32update=function(e,t){return c[(e^t)&255]^e>>>8},f.crc32=function(e){"string"==typeof e&&(e=Buffer.from(e,"utf8"));let t=e.length,r=-1;for(let n=0;n<t;)r=f.crc32update(r,e[n++]);return~r>>>0},f.methodToString=function(e){switch(e){case i.STORED:return"STORED ("+e+")";case i.DEFLATED:return"DEFLATED ("+e+")";default:return"UNSUPPORTED ("+e+")"}},f.canonical=function(e){if(!e)return"";let t=o.posix.normalize("/"+e.split("\\").join("/"));return o.join(".",t)},f.zipnamefix=function(e){if(!e)return"";let t=o.posix.normalize("/"+e.split("\\").join("/"));return o.posix.join(".",t)},f.findLast=function(e,t){if(!Array.isArray(e))throw TypeError("arr is not array");let r=e.length>>>0;for(let n=r-1;n>=0;n--)if(t(e[n],n,e))return e[n]},f.sanitize=function(e,t){e=o.resolve(o.normalize(e));for(var r=t.split("/"),n=0,i=r.length;n<i;n++){var s=o.normalize(o.join(e,r.slice(n,i).join(o.sep)));if(0===s.indexOf(e))return s}return o.normalize(o.join(e,o.basename(t)))},f.toBuffer=function(e,t){return Buffer.isBuffer(e)?e:e instanceof Uint8Array?Buffer.from(e):"string"==typeof e?t(e):Buffer.alloc(0)},f.readBigUInt64LE=function(e,t){let r=e.readUInt32LE(t);return 0x100000000*e.readUInt32LE(t+4)+r},f.fromDOS2Date=function(e){return new Date((e>>25&127)+1980,Math.max((e>>21&15)-1,0),Math.max(e>>16&31,1),e>>11&31,e>>5&63,(31&e)<<1)},f.fromDate2DOS=function(e){let t=0,r=0;return e.getFullYear()>1979&&(t=(e.getFullYear()-1980&127)<<9|e.getMonth()+1<<5|e.getDate(),r=e.getHours()<<11|e.getMinutes()<<5|e.getSeconds()>>1),t<<16|r},f.isWin=a,f.crcTable=c},13826,(e,t,r)=>{let n=e.r(14747);t.exports=function(e,{fs:t}){var r=e||"",o={directory:!1,readonly:!1,hidden:!1,executable:!1,mtime:0,atime:0},i=null;return r&&t.existsSync(r)?(o.directory=(i=t.statSync(r)).isDirectory(),o.mtime=i.mtime,o.atime=i.atime,o.executable=(73&i.mode)!=0,o.readonly=(128&i.mode)==0,o.hidden="."===n.basename(r)[0]):console.warn("Invalid path: "+r),{get directory(){return o.directory},get readOnly(){return o.readonly},get hidden(){return o.hidden},get mtime(){return o.mtime},get atime(){return o.atime},get executable(){return o.executable},decodeAttributes:function(){},encodeAttributes:function(){},toJSON:function(){return{path:r,isDirectory:o.directory,isReadOnly:o.readonly,isHidden:o.hidden,isExecutable:o.executable,mTime:o.mtime,aTime:o.atime}},toString:function(){return JSON.stringify(this.toJSON(),null," ")}}}},14533,(e,t,r)=>{t.exports={efs:!0,encode:e=>Buffer.from(e,"utf8"),decode:e=>e.toString("utf8")}},22307,(e,t,r)=>{t.exports=e.r(37965),t.exports.Constants=e.r(84014),t.exports.Errors=e.r(15873),t.exports.FileAttr=e.r(13826),t.exports.decoder=e.r(14533)},62418,(e,t,r)=>{var n=e.r(22307),o=n.Constants;t.exports=function(){var e,t=10,r=0,i=0,s=0,a=0,l=0,c=0,f=0,u=0,E=0,d=0,g=0,h=0,y=0;e=20|(n.isWin?2560:768),r|=o.FLG_EFS;let p={extraLen:0},m=e=>Math.max(0,e)>>>0;return s=n.fromDate2DOS(new Date),{get made(){return e},set made(val){e=val},get version(){return t},set version(val){t=val},get flags(){return r},set flags(val){r=val},get flags_efs(){return(r&o.FLG_EFS)>0},set flags_efs(val){val?r|=o.FLG_EFS:r&=~o.FLG_EFS},get flags_desc(){return(r&o.FLG_DESC)>0},set flags_desc(val){val?r|=o.FLG_DESC:r&=~o.FLG_DESC},get method(){return i},set method(val){switch(val){case o.STORED:this.version=10;case o.DEFLATED:default:this.version=20}i=val},get time(){return n.fromDOS2Date(this.timeval)},set time(val){val=new Date(val),this.timeval=n.fromDate2DOS(val)},get timeval(){return s},set timeval(val){s=m(val)},get timeHighByte(){return 255&Math.max(0,s>>>8)},get crc(){return a},set crc(val){a=m(val)},get compressedSize(){return l},set compressedSize(val){l=m(val)},get size(){return c},set size(val){c=m(val)},get fileNameLength(){return f},set fileNameLength(val){f=val},get extraLength(){return u},set extraLength(val){u=val},get extraLocalLength(){return p.extraLen},set extraLocalLength(val){p.extraLen=val},get commentLength(){return E},set commentLength(val){E=val},get diskNumStart(){return d},set diskNumStart(val){d=m(val)},get inAttr(){return g},set inAttr(val){g=m(val)},get attr(){return h},set attr(val){h=m(val)},get fileAttr(){return(h||0)>>16&4095},get offset(){return y},set offset(val){y=m(val)},get encrypted(){return(r&o.FLG_ENC)===o.FLG_ENC},get centralHeaderSize(){return o.CENHDR+f+u+E},get realDataOffset(){return y+o.LOCHDR+p.fnameLen+p.extraLen},get localHeader(){return p},loadLocalHeaderFromBinary:function(e){var t=e.slice(y,y+o.LOCHDR);if(t.readUInt32LE(0)!==o.LOCSIG)throw n.Errors.INVALID_LOC();p.version=t.readUInt16LE(o.LOCVER),p.flags=t.readUInt16LE(o.LOCFLG),p.flags_desc=(p.flags&o.FLG_DESC)>0,p.method=t.readUInt16LE(o.LOCHOW),p.time=t.readUInt32LE(o.LOCTIM),p.crc=t.readUInt32LE(o.LOCCRC),p.compressedSize=t.readUInt32LE(o.LOCSIZ),p.size=t.readUInt32LE(o.LOCLEN),p.fnameLen=t.readUInt16LE(o.LOCNAM),p.extraLen=t.readUInt16LE(o.LOCEXT);let r=y+o.LOCHDR+p.fnameLen,i=r+p.extraLen;return e.slice(r,i)},loadFromBinary:function(p){if(p.length!==o.CENHDR||p.readUInt32LE(0)!==o.CENSIG)throw n.Errors.INVALID_CEN();e=p.readUInt16LE(o.CENVEM),t=p.readUInt16LE(o.CENVER),r=p.readUInt16LE(o.CENFLG),i=p.readUInt16LE(o.CENHOW),s=p.readUInt32LE(o.CENTIM),a=p.readUInt32LE(o.CENCRC),l=p.readUInt32LE(o.CENSIZ),c=p.readUInt32LE(o.CENLEN),f=p.readUInt16LE(o.CENNAM),u=p.readUInt16LE(o.CENEXT),E=p.readUInt16LE(o.CENCOM),d=p.readUInt16LE(o.CENDSK),g=p.readUInt16LE(o.CENATT),h=p.readUInt32LE(o.CENATX),y=p.readUInt32LE(o.CENOFF)},localHeaderToBinary:function(){var e=Buffer.alloc(o.LOCHDR);return e.writeUInt32LE(o.LOCSIG,0),e.writeUInt16LE(t,o.LOCVER),e.writeUInt16LE(r,o.LOCFLG),e.writeUInt16LE(i,o.LOCHOW),e.writeUInt32LE(s,o.LOCTIM),e.writeUInt32LE(a,o.LOCCRC),e.writeUInt32LE(l,o.LOCSIZ),e.writeUInt32LE(c,o.LOCLEN),e.writeUInt16LE(f,o.LOCNAM),e.writeUInt16LE(p.extraLen,o.LOCEXT),e},centralHeaderToBinary:function(){var n=Buffer.alloc(o.CENHDR+f+u+E);return n.writeUInt32LE(o.CENSIG,0),n.writeUInt16LE(e,o.CENVEM),n.writeUInt16LE(t,o.CENVER),n.writeUInt16LE(r,o.CENFLG),n.writeUInt16LE(i,o.CENHOW),n.writeUInt32LE(s,o.CENTIM),n.writeUInt32LE(a,o.CENCRC),n.writeUInt32LE(l,o.CENSIZ),n.writeUInt32LE(c,o.CENLEN),n.writeUInt16LE(f,o.CENNAM),n.writeUInt16LE(u,o.CENEXT),n.writeUInt16LE(E,o.CENCOM),n.writeUInt16LE(d,o.CENDSK),n.writeUInt16LE(g,o.CENATT),n.writeUInt32LE(h,o.CENATX),n.writeUInt32LE(y,o.CENOFF),n},toJSON:function(){let s=function(e){return e+" bytes"};return{made:e,version:t,flags:r,method:n.methodToString(i),time:this.time,crc:"0x"+a.toString(16).toUpperCase(),compressedSize:s(l),size:s(c),fileNameLength:s(f),extraLength:s(u),commentLength:s(E),diskNumStart:d,inAttr:g,attr:h,offset:y,centralHeaderSize:s(o.CENHDR+f+u+E)}},toString:function(){return JSON.stringify(this.toJSON(),null," ")}}}},95636,(e,t,r)=>{var n=e.r(22307),o=n.Constants;t.exports=function(){var e=0,t=0,r=0,i=0,s=0;return{get diskEntries(){return e},set diskEntries(val){e=t=val},get totalEntries(){return t},set totalEntries(val){t=e=val},get size(){return r},set size(val){r=val},get offset(){return i},set offset(val){i=val},get commentLength(){return s},set commentLength(val){s=val},get mainHeaderSize(){return o.ENDHDR+s},loadFromBinary:function(a){if((a.length!==o.ENDHDR||a.readUInt32LE(0)!==o.ENDSIG)&&(a.length<o.ZIP64HDR||a.readUInt32LE(0)!==o.ZIP64SIG))throw n.Errors.INVALID_END();a.readUInt32LE(0)===o.ENDSIG?(e=a.readUInt16LE(o.ENDSUB),t=a.readUInt16LE(o.ENDTOT),r=a.readUInt32LE(o.ENDSIZ),i=a.readUInt32LE(o.ENDOFF),s=a.readUInt16LE(o.ENDCOM)):(e=n.readBigUInt64LE(a,o.ZIP64SUB),t=n.readBigUInt64LE(a,o.ZIP64TOT),r=n.readBigUInt64LE(a,o.ZIP64SIZE),i=n.readBigUInt64LE(a,o.ZIP64OFF),s=0)},toBinary:function(){var n=Buffer.alloc(o.ENDHDR+s);return n.writeUInt32LE(o.ENDSIG,0),n.writeUInt32LE(0,4),n.writeUInt16LE(e,o.ENDSUB),n.writeUInt16LE(t,o.ENDTOT),n.writeUInt32LE(r,o.ENDSIZ),n.writeUInt32LE(i,o.ENDOFF),n.writeUInt16LE(s,o.ENDCOM),n.fill(" ",o.ENDHDR),n},toJSON:function(){return{diskEntries:e,totalEntries:t,size:r+" bytes",offset:function(e,t){let r=e.toString(16).toUpperCase();for(;r.length<4;)r="0"+r;return"0x"+r}(i,0),commentLength:s}},toString:function(){return JSON.stringify(this.toJSON(),null," ")}}}},27764,(e,t,r)=>{r.EntryHeader=e.r(62418),r.MainHeader=e.r(95636)},41019,(e,t,r)=>{t.exports=function(t){var r=e.r(6461),n={chunkSize:(parseInt(t.length/1024)+1)*1024};return{deflate:function(){return r.deflateRawSync(t,n)},deflateAsync:function(e){var o=r.createDeflateRaw(n),i=[],s=0;o.on("data",function(e){i.push(e),s+=e.length}),o.on("end",function(){var t=Buffer.alloc(s),r=0;t.fill(0);for(var n=0;n<i.length;n++){var o=i[n];o.copy(t,r),r+=o.length}e&&e(t)}),o.end(t)}}}},39425,(e,t,r)=>{let n=+(process.versions?process.versions.node:"").split(".")[0]||0;t.exports=function(t,r){var o=e.r(6461);let i=n>=15&&r>0?{maxOutputLength:r}:{};return{inflate:function(){return o.inflateRawSync(t,i)},inflateAsync:function(e){var r=o.createInflateRaw(i),n=[],s=0;r.on("data",function(e){n.push(e),s+=e.length}),r.on("end",function(){var t=Buffer.alloc(s),r=0;t.fill(0);for(var o=0;o<n.length;o++){var i=n[o];i.copy(t,r),r+=i.length}e&&e(t)}),r.end(t)}}}},61901,(e,t,r)=>{"use strict";let{randomFillSync:n}=e.r(54799),o=e.r(15873),i=new Uint32Array(256).map((e,t)=>{for(let e=0;e<8;e++)0!=(1&t)?t=t>>>1^0xedb88320:t>>>=1;return t>>>0}),s=(e,t)=>Math.imul(e,t)>>>0,a=(e,t)=>i[(e^t)&255]^e>>>8,l=()=>"function"==typeof n?n(Buffer.alloc(12)):l.node();l.node=()=>{let e=Buffer.alloc(12),t=e.length;for(let r=0;r<t;r++)e[r]=256*Math.random()&255;return e};let c={genSalt:l};function f(e){let t=Buffer.isBuffer(e)?e:Buffer.from(e);this.keys=new Uint32Array([0x12345678,0x23456789,0x34567890]);for(let e=0;e<t.length;e++)this.updateKeys(t[e])}f.prototype.updateKeys=function(e){let t=this.keys;return t[0]=a(t[0],e),t[1]+=255&t[0],t[1]=s(t[1],0x8088405)+1,t[2]=a(t[2],t[1]>>>24),e},f.prototype.next=function(){let e=(2|this.keys[2])>>>0;return s(e,1^e)>>8&255},t.exports={decrypt:function(e,t,r){let n;if(!e||!Buffer.isBuffer(e)||e.length<12)return Buffer.alloc(0);let i=(n=new f(r),function(e){let t=Buffer.alloc(e.length),r=0;for(let o of e)t[r++]=n.updateKeys(o^n.next());return t}),s=i(e.slice(0,12)),a=(8&t.flags)==8?t.timeHighByte:t.crc>>>24;if(s[11]!==a)throw o.WRONG_PASSWORD();return i(e.slice(12))},encrypt:function(e,t,r,n=!1){let o;null==e&&(e=Buffer.alloc(0)),Buffer.isBuffer(e)||(e=Buffer.from(e.toString()));let i=(o=new f(r),function(e,t,r=0){for(let n of(t||(t=Buffer.alloc(e.length)),e)){let e=o.next();t[r++]=n^e,o.updateKeys(n)}return t}),s=c.genSalt();s[11]=t.crc>>>24&255,n&&(s[10]=t.crc>>>16&255);let a=Buffer.alloc(e.length+12);return i(s,a),i(e,a,12)},_salter:function(e){Buffer.isBuffer(e)&&e.length>=12?c.genSalt=function(){return e.slice(0,12)}:"node"===e?c.genSalt=l.node:c.genSalt=l}}},57165,(e,t,r)=>{r.Deflater=e.r(41019),r.Inflater=e.r(39425),r.ZipCrypto=e.r(61901)},96669,(e,t,r)=>{var n=e.r(22307),o=e.r(27764),i=n.Constants,s=e.r(57165);t.exports=function(e,t){var r=new o.EntryHeader,a=Buffer.alloc(0),l=Buffer.alloc(0),c=!1,f=null,u=Buffer.alloc(0),E=Buffer.alloc(0),d=!0;let g="object"==typeof e.decoder?e.decoder:n.decoder;function h(){return t&&t instanceof Uint8Array?(E=r.loadLocalHeaderFromBinary(t),t.slice(r.realDataOffset,r.realDataOffset+r.compressedSize)):Buffer.alloc(0)}function y(e){if(r.flags_desc||r.localHeader.flags_desc){let o={},s=r.realDataOffset+r.compressedSize;if(t.readUInt32LE(s)==i.LOCSIG||t.readUInt32LE(s)==i.CENSIG)throw n.Errors.DESCRIPTOR_NOT_EXIST();if(t.readUInt32LE(s)==i.EXTSIG)o.crc=t.readUInt32LE(s+i.EXTCRC),o.compressedSize=t.readUInt32LE(s+i.EXTSIZ),o.size=t.readUInt32LE(s+i.EXTLEN);else if(19280===t.readUInt16LE(s+12))o.crc=t.readUInt32LE(s+i.EXTCRC-4),o.compressedSize=t.readUInt32LE(s+i.EXTSIZ-4),o.size=t.readUInt32LE(s+i.EXTLEN-4);else throw n.Errors.DESCRIPTOR_UNKNOWN();if(o.compressedSize!==r.compressedSize||o.size!==r.size||o.crc!==r.crc)throw n.Errors.DESCRIPTOR_FAULTY();if(n.crc32(e)!==o.crc)return!1}else if(n.crc32(e)!==r.localHeader.crc)return!1;return!0}function p(e,t,o){if(void 0===t&&"string"==typeof e&&(o=e,e=void 0),c)return e&&t&&t(Buffer.alloc(0),n.Errors.DIRECTORY_CONTENT_ERROR()),Buffer.alloc(0);var i=h();if(0===i.length)return e&&t&&t(i),i;if(r.encrypted){if("string"!=typeof o&&!Buffer.isBuffer(o))throw n.Errors.INVALID_PASS_PARAM();i=s.ZipCrypto.decrypt(i,r,o)}var l=Buffer.alloc(r.size);switch(r.method){case n.Constants.STORED:if(i.copy(l),y(l))return e&&t&&t(l),l;throw e&&t&&t(l,n.Errors.BAD_CRC()),n.Errors.BAD_CRC();case n.Constants.DEFLATED:var f=new s.Inflater(i,r.size);if(e)f.inflateAsync(function(e){e.copy(e,0),t&&(y(e)?t(e):t(e,n.Errors.BAD_CRC()))});else{if(f.inflate(l).copy(l,0),!y(l))throw n.Errors.BAD_CRC(`"${g.decode(a)}"`);return l}break;default:throw e&&t&&t(Buffer.alloc(0),n.Errors.UNKNOWN_METHOD()),n.Errors.UNKNOWN_METHOD()}}function m(e,o){if((!f||!f.length)&&Buffer.isBuffer(t))return e&&o&&o(h()),h();if(f.length&&!c){var i;switch(r.method){case n.Constants.STORED:return r.compressedSize=r.size,i=Buffer.alloc(f.length),f.copy(i),e&&o&&o(i),i;default:case n.Constants.DEFLATED:var a=new s.Deflater(f);if(e)a.deflateAsync(function(e){i=Buffer.alloc(e.length),r.compressedSize=e.length,e.copy(i),o&&o(i)});else{var l=a.deflate();return r.compressedSize=l.length,l}a=null}}else{if(!e||!o)return Buffer.alloc(0);o(Buffer.alloc(0))}}function I(e,t){return n.readBigUInt64LE(e,t)}return d=!!g.hasOwnProperty("efs")&&g.efs,{get entryName(){return g.decode(a)},get rawEntryName(){return a},set entryName(val){var L=(a=n.toBuffer(val,g.encode))[a.length-1];c=47===L||92===L,r.fileNameLength=a.length},get efs(){if("function"==typeof d)return d(this.entryName);return d},get extra(){return u},set extra(val){u=val,r.extraLength=val.length;try{for(var S,N,D,C=0;C+4<val.length;)S=val.readUInt16LE(C),C+=2,N=val.readUInt16LE(C),C+=2,D=val.slice(C,C+N),C+=N,i.ID_ZIP64===S&&function(e){var t,n,o,s;e.length>=i.EF_ZIP64_SCOMP&&(t=I(e,i.EF_ZIP64_SUNCOMP),r.size===i.EF_ZIP64_OR_32&&(r.size=t)),e.length>=i.EF_ZIP64_RHO&&(n=I(e,i.EF_ZIP64_SCOMP),r.compressedSize===i.EF_ZIP64_OR_32&&(r.compressedSize=n)),e.length>=i.EF_ZIP64_DSN&&(o=I(e,i.EF_ZIP64_RHO),r.offset===i.EF_ZIP64_OR_32&&(r.offset=o)),e.length>=i.EF_ZIP64_DSN+4&&(s=e.readUInt32LE(i.EF_ZIP64_DSN),r.diskNumStart===i.EF_ZIP64_OR_16&&(r.diskNumStart=s))}(D)}catch(e){throw n.Errors.EXTRA_FIELD_PARSE_ERROR()}},get comment(){return g.decode(l)},set comment(val){if(r.commentLength=(l=n.toBuffer(val,g.encode)).length,l.length>65535)throw n.Errors.COMMENT_TOO_LONG()},get name(){var _=g.decode(a);return c?_.substr(_.length-1).split("/").pop():_.split("/").pop()},get isDirectory(){return c},getCompressedData:function(){return m(!1,null)},getCompressedDataAsync:function(e){m(!0,e)},setData:function(e){f=n.toBuffer(e,n.decoder.encode),!c&&f.length?(r.size=f.length,r.method=n.Constants.DEFLATED,r.crc=n.crc32(e),r.changed=!0):r.method=n.Constants.STORED},getData:function(e){return r.changed?f:p(!1,null,e)},getDataAsync:function(e,t){r.changed?e(f):p(!0,e,t)},set attr(attr){r.attr=attr},get attr(){return r.attr},set header(data){r.loadFromBinary(data)},get header(){return r},packCentralHeader:function(){r.flags_efs=this.efs,r.extraLength=u.length;var e=r.centralHeaderToBinary(),t=n.Constants.CENHDR;return a.copy(e,t),t+=a.length,u.copy(e,t),t+=r.extraLength,l.copy(e,t),e},packLocalHeader:function(){let e=0;r.flags_efs=this.efs,r.extraLocalLength=E.length;let t=r.localHeaderToBinary(),n=Buffer.alloc(t.length+a.length+r.extraLocalLength);return t.copy(n,e),e+=t.length,a.copy(n,e),e+=a.length,E.copy(n,e),e+=E.length,n},toJSON:function(){let e=function(e){return"<"+(e&&e.length+" bytes buffer"||"null")+">"};return{entryName:this.entryName,name:this.name,comment:this.comment,isDirectory:this.isDirectory,header:r.toJSON(),compressedData:e(t),data:e(f)}},toString:function(){return JSON.stringify(this.toJSON(),null," ")}}}},50040,(e,t,r)=>{let n=e.r(96669),o=e.r(27764),i=e.r(22307);t.exports=function(e,t){var r=[],s={},a=Buffer.alloc(0),l=new o.MainHeader,c=!1;let f=new Set,{noSort:u,decoder:E}=t;function d(){if(c=!0,s={},l.diskEntries>(e.length-l.offset)/i.Constants.CENHDR)throw i.Errors.DISK_ENTRY_TOO_LARGE();r=Array(l.diskEntries);for(var o=l.offset,a=0;a<r.length;a++){var u=o,E=new n(t,e);E.header=e.slice(u,u+=i.Constants.CENHDR),E.entryName=e.slice(u,u+=E.header.fileNameLength),E.header.extraLength&&(E.extra=e.slice(u,u+=E.header.extraLength)),E.header.commentLength&&(E.comment=e.slice(u,u+E.header.commentLength)),o+=E.header.centralHeaderSize,r[a]=E,s[E.entryName]=E}f.clear(),function(){let e=new Set;for(let t of Object.keys(s)){let r=t.split("/");if(r.pop(),r.length)for(let t=0;t<r.length;t++){let n=r.slice(0,t+1).join("/")+"/";e.add(n)}}for(let o of e)if(!(o in s)){let e=new n(t);e.entryName=o,e.attr=16,e.temporary=!0,r.push(e),s[e.entryName]=e,f.add(e)}}()}function g(){r.length>1&&!u&&r.sort((e,t)=>e.entryName.toLowerCase().localeCompare(t.entryName.toLowerCase()))}return e?function(r){var n=e.length-i.Constants.ENDHDR,o=Math.max(0,n-65535),s=o,c=e.length,f=-1,u=0;for("boolean"==typeof t.trailingSpace&&t.trailingSpace&&(o=0);n>=s;n--)if(80===e[n]){if(e.readUInt32LE(n)===i.Constants.ENDSIG){f=n,u=n,c=n+i.Constants.ENDHDR,s=n-i.Constants.END64HDR;continue}if(e.readUInt32LE(n)===i.Constants.END64SIG){s=o;continue}if(e.readUInt32LE(n)===i.Constants.ZIP64SIG){f=n,c=n+i.readBigUInt64LE(e,n+i.Constants.ZIP64SIZE)+i.Constants.ZIP64LEAD;break}}if(-1==f)throw i.Errors.INVALID_FORMAT();l.loadFromBinary(e.slice(f,c)),l.commentLength&&(a=e.slice(u+i.Constants.ENDHDR)),r&&d()}(t.readEntries):c=!0,{get entries(){return c||d(),r.filter(e=>!f.has(e))},get comment(){return E.decode(a)},set comment(val){l.commentLength=(a=i.toBuffer(val,E.encode)).length},getEntryCount:function(){return c?r.length:l.diskEntries},forEach:function(e){this.entries.forEach(e)},getEntry:function(e){return c||d(),s[e]||null},setEntry:function(e){c||d(),r.push(e),s[e.entryName]=e,l.totalEntries=r.length},deleteFile:function(e,t=!0){c||d();let r=s[e];this.getEntryChildren(r,t).map(e=>e.entryName).forEach(this.deleteEntry)},deleteEntry:function(e){c||d();let t=s[e],n=r.indexOf(t);n>=0&&(r.splice(n,1),delete s[e],l.totalEntries=r.length)},getEntryChildren:function(e,t=!0){if(c||d(),"object"==typeof e)if(!e.isDirectory||!t)return[e];else{let t=[],n=e.entryName;for(let e of r)e.entryName.startsWith(n)&&t.push(e);return t}return[]},getChildCount:function(e){if(e&&e.isDirectory){let t=this.getEntryChildren(e);return t.includes(e)?t.length-1:t.length}return 0},compressToBuffer:function(){c||d(),g();let t=[],r=[],n=0,o=0;l.size=0,l.offset=0;let s=0;for(let e of this.entries){let i=e.getCompressedData();e.header.offset=o;let a=e.packLocalHeader(),c=a.length+i.length;o+=c,t.push(a),t.push(i);let f=e.packCentralHeader();r.push(f),l.size+=f.length,n+=c+f.length,s++}n+=l.mainHeaderSize,l.offset=o,l.totalEntries=s,o=0;let f=Buffer.alloc(n);for(let e of t)e.copy(f,o),o+=e.length;for(let e of r)e.copy(f,o),o+=e.length;let u=l.toBinary();return a&&a.copy(u,i.Constants.ENDHDR),u.copy(f,o),e=f,c=!1,f},toAsyncBuffer:function(t,r,n,o){try{c||d(),g();let r=[],s=[],f=0,u=0,E=0;l.size=0,l.offset=0;let h=function(d){if(d.length>0){let e=d.shift(),t=e.entryName+e.extra.toString();n&&n(t),e.getCompressedDataAsync(function(n){o&&o(t),e.header.offset=u;let i=e.packLocalHeader(),a=i.length+n.length;u+=a,r.push(i),r.push(n);let c=e.packCentralHeader();s.push(c),l.size+=c.length,f+=a+c.length,E++,h(d)})}else{f+=l.mainHeaderSize,l.offset=u,l.totalEntries=E,u=0;let n=Buffer.alloc(f);r.forEach(function(e){e.copy(n,u),u+=e.length}),s.forEach(function(e){e.copy(n,u),u+=e.length});let o=l.toBinary();a&&a.copy(o,i.Constants.ENDHDR),o.copy(n,u),e=n,c=!1,t(n)}};h(Array.from(this.entries))}catch(e){r(e)}}}}},58103,(e,t,r)=>{let n=e.r(22307),o=e.r(14747),i=e.r(96669),s=e.r(50040),a=(...e)=>n.findLast(e,e=>"boolean"==typeof e),l=(...e)=>n.findLast(e,e=>"string"==typeof e),c={noSort:!1,readEntries:!1,method:n.Constants.NONE,fs:null};t.exports=function(e,t){let r=null,f=Object.assign(Object.create(null),c);e&&"object"==typeof e&&(e instanceof Uint8Array||(Object.assign(f,e),e=f.input?f.input:void 0,f.input&&delete f.input),Buffer.isBuffer(e)&&(r=e,f.method=n.Constants.BUFFER,e=void 0)),Object.assign(f,t);let u=new n(f);if(("object"!=typeof f.decoder||"function"!=typeof f.decoder.encode||"function"!=typeof f.decoder.decode)&&(f.decoder=n.decoder),e&&"string"==typeof e)if(u.fs.existsSync(e))f.method=n.Constants.FILE,f.filename=e,r=u.fs.readFileSync(e);else throw n.Errors.INVALID_FILENAME();let E=new s(r,f),{canonical:d,sanitize:g,zipnamefix:h}=n;function y(e){if(e&&E){var t;if("string"==typeof e&&(t=E.getEntry(o.posix.normalize(e))),"object"==typeof e&&void 0!==e.entryName&&void 0!==e.header&&(t=E.getEntry(e.entryName)),t)return t}return null}function p(e){let{join:t,normalize:r,sep:n}=o.posix;return t(o.isAbsolute(e)?"/":".",r(n+e.split("\\").join(n)+n))}function m(e){if(e instanceof RegExp)return function(t){return e.test(t)};return"function"!=typeof e?()=>!0:e}let I=(e,t)=>{let r=t.slice(-1);return r=r===u.sep?u.sep:"",o.relative(e,t)+r};return{readFile:function(e,t){var r=y(e);return r&&r.getData(t)||null},childCount:function(e){let t=y(e);if(t)return E.getChildCount(t)},readFileAsync:function(e,t){var r=y(e);r?r.getDataAsync(t):t(null,"getEntry failed for:"+e)},readAsText:function(e,t){var r=y(e);if(r){var n=r.getData();if(n&&n.length)return n.toString(t||"utf8")}return""},readAsTextAsync:function(e,t,r){var n=y(e);n?n.getDataAsync(function(e,n){n?t(e,n):e&&e.length?t(e.toString(r||"utf8")):t("")}):t("")},deleteFile:function(e,t=!0){var r=y(e);r&&E.deleteFile(r.entryName,t)},deleteEntry:function(e){var t=y(e);t&&E.deleteEntry(t.entryName)},addZipComment:function(e){E.comment=e},getZipComment:function(){return E.comment||""},addZipEntryComment:function(e,t){var r=y(e);r&&(r.comment=t)},getZipEntryComment:function(e){var t=y(e);return t&&t.comment||""},updateFile:function(e,t){var r=y(e);r&&r.setData(t)},addLocalFile:function(e,t,r,i){if(u.fs.existsSync(e)){t=t?p(t):"";let n=o.win32.basename(o.win32.normalize(e));t+=r||n;let s=u.fs.statSync(e),a=s.isFile()?u.fs.readFileSync(e):Buffer.alloc(0);s.isDirectory()&&(t+=u.sep),this.addFile(t,a,i,s)}else throw n.Errors.FILE_NOT_FOUND(e)},addLocalFileAsync:function(e,t){e="object"==typeof e?e:{localPath:e};let r=o.resolve(e.localPath),{comment:n}=e,{zipPath:i,zipName:s}=e,a=this;u.fs.stat(r,function(e,l){if(e)return t(e,!1);i=i?p(i):"";let c=o.win32.basename(o.win32.normalize(r));if(i+=s||c,l.isFile())u.fs.readFile(r,function(e,r){return e?t(e,!1):(a.addFile(i,r,n,l),setImmediate(t,void 0,!0))});else if(l.isDirectory())return i+=u.sep,a.addFile(i,Buffer.alloc(0),n,l),setImmediate(t,void 0,!0)})},addLocalFolder:function(e,t,r){if(r=m(r),t=t?p(t):"",e=o.normalize(e),u.fs.existsSync(e)){let n=u.findFiles(e);if(n.length)for(let i of n){let n=o.join(t,I(e,i));r(n)&&this.addLocalFile(i,o.dirname(n))}}else throw n.Errors.FILE_NOT_FOUND(e)},addLocalFolderAsync:function(e,t,r,i){i=m(i),r=r?p(r):"",e=o.normalize(e);var s=this;u.fs.open(e,"r",function(o){if(o&&"ENOENT"===o.code)t(void 0,n.Errors.FILE_NOT_FOUND(e));else if(o)t(void 0,o);else{var a=u.findFiles(e),l=-1,c=function(){if((l+=1)<a.length){var n=a[l],o=I(e,n).split("\\").join("/");o=o.normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[^\x20-\x7E]/g,""),i(o)?u.fs.stat(n,function(e,i){e&&t(void 0,e),i.isFile()?u.fs.readFile(n,function(e,n){e?t(void 0,e):(s.addFile(r+o,n,"",i),c())}):(s.addFile(r+o+"/",Buffer.alloc(0),"",i),c())}):process.nextTick(()=>{c()})}else t(!0,void 0)};c()}})},addLocalFolderAsync2:function(e,t){let r=this;e="object"==typeof e?e:{localPath:e},localPath=o.resolve(p(e.localPath));let{zipPath:i,filter:s,namefix:a}=e;if(s instanceof RegExp){var l;l=s,s=function(e){return l.test(e)}}else"function"!=typeof s&&(s=function(){return!0});i=i?p(i):"","latin1"==a&&(a=e=>e.normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[^\x20-\x7E]/g,"")),"function"!=typeof a&&(a=e=>e);let c=e=>o.join(i,a(I(localPath,e)));u.fs.open(localPath,"r",function(e){e&&"ENOENT"===e.code?t(void 0,n.Errors.FILE_NOT_FOUND(localPath)):e?t(void 0,e):u.findFilesAsync(localPath,function(e,n){if(e)return t(e);(n=n.filter(e=>s(c(e)))).length||t(void 0,!1),setImmediate(n.reverse().reduce(function(e,t){return function(n,i){if(n||!1===i)return setImmediate(e,n,!1);r.addLocalFileAsync({localPath:t,zipPath:o.dirname(c(t)),zipName:o.win32.basename(o.win32.normalize(a(t)))},e)}},t))})})},addLocalFolderPromise:function(e,t){return new Promise((r,n)=>{this.addLocalFolderAsync2(Object.assign({localPath:e},t),(e,t)=>{e&&n(e),t&&r(this)})})},addFile:function(e,t,r,n){let o=y(e=h(e)),s=null!=o;s||((o=new i(f)).entryName=e),o.comment=r||"";let a="object"==typeof n&&n instanceof u.fs.Stats;a&&(o.header.time=n.mtime);var l=16*!!o.isDirectory;let c=o.isDirectory?16384:32768;return a?c|=4095&n.mode:"number"==typeof n?c|=4095&n:c|=o.isDirectory?493:420,l=(l|c<<16)>>>0,o.attr=l,o.setData(t),s||E.setEntry(o),o},getEntries:function(e){return E.password=e,E?E.entries:[]},getEntry:function(e){return y(e)},getEntryCount:function(){return E.getEntryCount()},forEach:function(e){return E.forEach(e)},extractEntryTo:function(e,t,r,i,s,c){i=a(!1,i),s=a(!1,s),r=a(!0,r),c=l(s,c);var f=y(e);if(!f)throw n.Errors.NO_ENTRY();var h=d(f.entryName),p=g(t,c&&!f.isDirectory?c:r?h:o.basename(h));if(f.isDirectory)return E.getEntryChildren(f).forEach(function(e){if(e.isDirectory)return;var a=e.getData();if(!a)throw n.Errors.CANT_EXTRACT_FILE();var l=d(e.entryName),c=g(t,r?l:o.basename(l));let f=s?e.header.fileAttr:void 0;u.writeFileTo(c,a,i,f)}),!0;var m=f.getData(E.password);if(!m)throw n.Errors.CANT_EXTRACT_FILE();if(u.fs.existsSync(p)&&!i)throw n.Errors.CANT_OVERRIDE();let I=s?e.header.fileAttr:void 0;return u.writeFileTo(p,m,i,I),!0},test:function(e){if(!E)return!1;for(var t in E.entries)try{if(t.isDirectory)continue;if(!E.entries[t].getData(e))return!1}catch(e){return!1}return!0},extractAllTo:function(e,t,r,o){if(o=l(r=a(!1,r),o),t=a(!1,t),!E)throw n.Errors.NO_ZIP();E.entries.forEach(function(i){var s=g(e,d(i.entryName));if(i.isDirectory)return void u.makeDir(s);var a=i.getData(o);if(!a)throw n.Errors.CANT_EXTRACT_FILE();let l=r?i.header.fileAttr:void 0;u.writeFileTo(s,a,t,l);try{u.fs.utimesSync(s,i.header.time,i.header.time)}catch(e){throw n.Errors.CANT_EXTRACT_FILE()}})},extractAllToAsync:function(e,t,r,i){if(i=((...e)=>n.findLast(e,e=>"function"==typeof e))(t,r,i),r=a(!1,r),t=a(!1,t),!i)return new Promise((n,o)=>{this.extractAllToAsync(e,t,r,function(e){e?o(e):n(this)})});if(!E)return void i(n.Errors.NO_ZIP());e=o.resolve(e);let s=t=>g(e,o.normalize(d(t.entryName))),l=(e,t)=>Error(e+': "'+t+'"'),c=[],f=[];for(let e of(E.entries.forEach(e=>{e.isDirectory?c.push(e):f.push(e)}),c)){let t=s(e),n=r?e.header.fileAttr:void 0;try{u.makeDir(t),n&&u.fs.chmodSync(t,n),u.fs.utimesSync(t,e.header.time,e.header.time)}catch(e){i(l("Unable to create folder",t))}}f.reverse().reduce(function(i,s){return function(a){if(a)i(a);else{let a=o.normalize(d(s.entryName)),c=g(e,a);s.getDataAsync(function(e,o){if(o)i(o);else if(e){let n=r?s.header.fileAttr:void 0;u.writeFileToAsync(c,e,t,n,function(e){e||i(l("Unable to write file",c)),u.fs.utimes(c,s.header.time,s.header.time,function(e){e?i(l("Unable to set times",c)):i()})})}else i(n.Errors.CANT_EXTRACT_FILE())})}}},i)()},writeZip:function(e,t){if(1==arguments.length&&"function"==typeof e&&(t=e,e=""),!e&&f.filename&&(e=f.filename),e){var r=E.compressToBuffer();if(r){var n=u.writeFileTo(e,r,!0);"function"==typeof t&&t(n?null:Error("failed"),"")}}},writeZipPromise:function(e,t){let{overwrite:r,perm:n}=Object.assign({overwrite:!0},t);return new Promise((t,o)=>{!e&&f.filename&&(e=f.filename),e||o("ADM-ZIP: ZIP File Name Missing"),this.toBufferPromise().then(i=>{u.writeFileToAsync(e,i,r,n,e=>e?t(e):o("ADM-ZIP: Wasn't able to write zip file"))},o)})},toBufferPromise:function(){return new Promise((e,t)=>{E.toAsyncBuffer(e,t)})},toBuffer:function(e,t,r,n){return"function"==typeof e?(E.toAsyncBuffer(e,t,r,n),null):E.compressToBuffer()}}}},89920,e=>e.a(async(t,r)=>{try{var n=e.i(58103),o=e.i(22734),i=e.i(14747),s=e.i(98043),a=t([s]);async function l(e){let t=process.env.ORG_SKILL_LIST_URL;if(console.log("[Enterprise-Sync] 开始获取企业技能清单"),console.log("[Enterprise-Sync] ORG_SKILL_LIST_URL:",t),!t)throw Error("ORG_SKILL_LIST_URL 环境变量未配置");console.log("[Enterprise-Sync] 发起请求到:",t),console.log("[Enterprise-Sync] Cookie:",e?"存在":"不存在");let r=await fetch(t,{headers:{Accept:"*/*",...e?{Cookie:e}:{}}});console.log("[Enterprise-Sync] 响应状态:",r.status,r.statusText);let n=await r.json();if(console.log("[Enterprise-Sync] 响应数据:",JSON.stringify(n,null,2)),200!==n.code)throw Error(`获取企业技能清单失败: ${n.message}`);return console.log("[Enterprise-Sync] 成功获取技能清单,数量:",n.data.length),n.data}async function c(e,t){let r=process.env.ORG_SKILL_DOWNLOAD_URL;if(console.log("[Enterprise-Sync] 获取技能下载地址, skillId:",e),!r)throw Error("ORG_SKILL_DOWNLOAD_URL 环境变量未配置");let n=r.replace("{id}",e.toString());console.log("[Enterprise-Sync] 下载URL:",n),console.log("[Enterprise-Sync] Cookie:",t?"存在":"不存在");let o=await fetch(n,{headers:{Accept:"*/*",...t?{Cookie:t}:{}}});console.log("[Enterprise-Sync] 下载地址响应状态:",o.status,o.statusText);let i=await o.json();if(console.log("[Enterprise-Sync] 下载地址响应:",JSON.stringify(i,null,2)),200!==i.code)throw Error(`获取技能下载地址失败: ${i.message}`);return i.data.downloadUrl}async function f(e){console.log("[Enterprise-Sync] 开始下载技能包:",e);let t=await fetch(e);if(console.log("[Enterprise-Sync] 下载响应状态:",t.status,t.statusText),!t.ok)throw Error(`下载技能包失败: ${t.statusText}`);let r=await t.arrayBuffer();return console.log("[Enterprise-Sync] 下载完成,大小:",r.byteLength,"bytes"),Buffer.from(r)}async function u(e,t,r){console.log("[Enterprise-Sync] 检查是否需要删除本地版本:",e,"v"+t,"user:",r);let n=await s.db.findSkill(e,r);if(!n)return void console.log("[Enterprise-Sync] 本地不存在同名技能:",e);console.log("[Enterprise-Sync] 找到本地技能:",n.id,n.name);let o=await s.db.findSkillVersionBySemanticVersion(n.id,t);o?(console.log("[Enterprise-Sync] 删除本地版本:",o.version,"semanticVersion:",t),await s.db.deleteSkillVersion(n.id,o.version),console.log("[Enterprise-Sync] 删除完成")):console.log("[Enterprise-Sync] 本地不存在相同语义化版本,无需删除")}async function E(e,t,r){console.log("[Enterprise-Sync] 开始存储技能:",t.name,"version:",t.version);let n=await s.db.findSkill(t.name,r);n?console.log("[Enterprise-Sync] 使用现有技能:",n.id,n.name):(console.log("[Enterprise-Sync] 创建新技能:",t.name),n=await s.db.createSkill({name:t.name,description:t.description,visibility:"private",activeVersion:0,user:r}),console.log("[Enterprise-Sync] 新技能创建完成,ID:",n.id));let a=await s.db.findLatestSkillVersion(n.id),l=a?a.version+1:0;console.log("[Enterprise-Sync] 下一个整数版本号:",l);let c=i.default.join(process.cwd(),"data","storage","skills",n.id,`v${l}`);console.log("[Enterprise-Sync] 存储路径:",c),o.default.mkdirSync(c,{recursive:!0});let f="",u=[];for(let[t,r]of(console.log("[Enterprise-Sync] 开始保存文件,总数:",e.size),e)){t.endsWith("SKILL.md")&&(f=r.toString("utf-8"),console.log("[Enterprise-Sync] 找到SKILL.md文件"));let e=i.default.join(c,t),n=i.default.dirname(e);o.default.mkdirSync(n,{recursive:!0}),o.default.writeFileSync(e,r),u.push(t)}if(console.log("[Enterprise-Sync] 文件保存完成,数量:",u.length),!f)throw Error("技能包中缺少SKILL.md文件");console.log("[Enterprise-Sync] 创建技能版本记录"),await s.db.createSkillVersion({skillId:n.id,version:l,semanticVersion:t.version,enterpriseSkillId:t.id,content:f,assetPath:`data/storage/skills/${n.id}/v${l}`,files:JSON.stringify(u),changeLog:`从企业同步 ${t.version}`}),console.log("[Enterprise-Sync] 设置激活版本:",l),await s.db.updateSkill(n.id,{activeVersion:l}),console.log("[Enterprise-Sync] 技能存储完成")}async function d(e,t){console.log("[Enterprise-Sync] ========== 开始企业技能同步 =========="),console.log("[Enterprise-Sync] 用户:",e),console.log("[Enterprise-Sync] Cookie:",t?"存在":"不存在");let r=new Date().toISOString(),o=[];try{console.log("[Enterprise-Sync] 步骤1: 获取企业技能清单");let i=await l(t);for(let r of(console.log("[Enterprise-Sync] 步骤2: 开始处理",i.length,"个技能"),i)){console.log("[Enterprise-Sync] --- 开始处理技能:",r.name,"v"+r.version,"---");let i={skillName:r.name,skillId:r.id,version:r.version,success:!1};try{console.log("[Enterprise-Sync] 步骤3: 检查并删除本地相同版本"),await u(r.name,r.version,e),console.log("[Enterprise-Sync] 步骤4: 获取下载地址");let o=await c(r.id,t);console.log("[Enterprise-Sync] 步骤5: 下载技能包");let s=await f(o);console.log("[Enterprise-Sync] 步骤6: 解压技能包");let a=function(e){console.log("[Enterprise-Sync] 开始解压技能包");let t=new n.default(e).getEntries(),r=new Map;for(let e of(console.log("[Enterprise-Sync] ZIP包中的文件数量:",t.length),t))e.isDirectory||r.set(e.entryName,e.getData());return console.log("[Enterprise-Sync] 解压完成,文件数量:",r.size),r}(s);console.log("[Enterprise-Sync] 步骤7: 存储技能到数据库"),await E(a,r,e),i.success=!0,console.log("[Enterprise-Sync] --- 技能处理成功:",r.name,"---")}catch(e){i.error=e.message,console.error("[Enterprise-Sync] --- 技能处理失败:",r.name,"---"),console.error("[Enterprise-Sync] 错误信息:",e.message),console.error("[Enterprise-Sync] 错误堆栈:",e.stack)}o.push(i)}let s=new Date().toISOString(),a=o.filter(e=>e.success).length,d=o.length-a;return console.log("[Enterprise-Sync] ========== 同步完成 =========="),console.log("[Enterprise-Sync] 总技能数:",i.length),console.log("[Enterprise-Sync] 成功:",a),console.log("[Enterprise-Sync] 失败:",d),console.log("[Enterprise-Sync] 开始时间:",r),console.log("[Enterprise-Sync] 结束时间:",s),{success:0===d,totalSkills:i.length,successCount:a,failedCount:d,results:o,startTime:r,endTime:s}}catch(e){return console.error("[Enterprise-Sync] ========== 同步过程发生异常 =========="),console.error("[Enterprise-Sync] 错误信息:",e.message),console.error("[Enterprise-Sync] 错误堆栈:",e.stack),{success:!1,totalSkills:0,successCount:0,failedCount:0,results:o,startTime:r,endTime:new Date().toISOString()}}}async function g(e,t){let r=process.env.ORG_SKILL_DELETE_URL_BASE;if(!r)throw Error("ORG_SKILL_DELETE_URL_BASE 环境变量未配置");let n=r.replace("{id}",e.toString());console.log("[Enterprise-Delete] 删除企业skill:",e),console.log("[Enterprise-Delete] 删除URL:",n),console.log("[Enterprise-Delete] Cookie:",t?"存在":"不存在");let o=await fetch(n,{method:"DELETE",headers:{Accept:"*/*",...t?{Cookie:t}:{}}});if(console.log("[Enterprise-Delete] 响应状态:",o.status,o.statusText),!o.ok)throw Error(`删除企业skill失败: ${o.statusText}`);console.log("[Enterprise-Delete] 企业skill删除成功")}async function h(e,t){let r=process.env.ORG_SKILL_INFO_URL;if(!r)throw Error("ORG_SKILL_INFO_URL 环境变量未配置");let n=r.replace("{id}",e.toString());console.log("[Enterprise-Info] 查询企业skill信息:",e),console.log("[Enterprise-Info] 查询URL:",n),console.log("[Enterprise-Info] Cookie:",t?"存在":"不存在");let o=await fetch(n,{method:"GET",headers:{Accept:"*/*",...t?{Cookie:t}:{}}});console.log("[Enterprise-Info] 响应状态:",o.status,o.statusText);let i=await o.json();if(console.log("[Enterprise-Info] 响应数据:",JSON.stringify(i,null,2)),console.log("[Enterprise-Info] 企业skill版本:",i.data.version),200!==i.code)throw Error(`查询企业skill信息失败: ${i.message}`);return i.data.version}[s]=a.then?(await a)():a,e.s(["deleteEnterpriseSkill",()=>g,"fetchEnterpriseSkillInfo",()=>h,"syncEnterpriseSkills",()=>d]),r()}catch(e){r(e)}},!1)];
2
+
3
+ //# sourceMappingURL=_4c806e26._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[91120,e=>{"use strict";e.s(["SKILLS_EXTRACT_PROMPT",0,"请给出该次对话中激活的skills,以列表的形式返回,列表中仅含skill name。"])},33075,e=>e.a(async(t,n)=>{try{var r=e.i(85765),s=e.i(31390),i=e.i(98043),o=e.i(75054),a=e.i(22965),l=e.i(89171),u=e.i(91120),c=t([r,s,i,o,a]);[r,s,i,o,a]=c.then?(await c)():c;let m=u.SKILLS_EXTRACT_PROMPT;function d(e,t,n){if(!e||!Array.isArray(e))return;let r=/^[a-zA-Z0-9_\-\.]+$/;for(let s of e){if(s?.type!=="tool_use"||s?.name!=="Skill")continue;let e=s.input,i=e?.skill??e?.skill_name??e?.skillName??e?.name;if(null==i||!String(i).trim())continue;let o=String(i).trim().replace(/^['"]+|['"]+$/g,"");if(r.test(o)&&!t.has(o)){t.add(o);let r=e?.version!=null?Number(e.version):null;n.push({name:o,version:null===r||isNaN(r)?null:r})}}}function p(e){return e?.content?"string"==typeof e.content?e.content:Array.isArray(e.content)?e.content.filter(e=>e?.type==="text"&&e?.text).map(e=>e.text).join("\n").trim():"":""}async function f(e,t){if(!t.length)return[];let n=[];for(let e of t){let t=e.requestMessages||[],r=[];for(let e of t){if("user"!==e.role)continue;let t=p(e);!t||t.startsWith("<system-reminder>")||t.includes("[SUGGESTION MODE:")||r.push(t)}r.length&&n.push({role:"user",content:r.join("\n\n")});let s=e.responseMessage;if(s?.content){let e=p(s);e&&n.push({role:"assistant",content:e})}}let r=[...n.length>30?n.slice(-30):n,{role:"user",content:m}],s=e.startsWith("claude")?"https://api.deepseek.com/anthropic":"https://api.deepseek.com",i=`${s}/v1/chat/completions`,o=await (0,a.getActiveConfig)(),l=o?.apiKey;if(!l)return console.warn("No model API Key configured in Settings, skipping skills extraction via model."),[];let u=new AbortController,c=setTimeout(()=>u.abort(),25e3);try{let e={model:s.includes("anthropic")?"claude-sonnet-4-20250514":"deepseek-chat",max_tokens:1024,stream:!1,messages:r},t=await fetch(i,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${l}`},body:JSON.stringify(e),signal:u.signal});if(clearTimeout(c),!t.ok){let e=await t.text();return console.error("Skills extraction error",t.status,e),[]}let n=await t.json(),o=n.choices?.[0]?.message?.content??n.content?.find(e=>"text"===e.type)?.text??n.content?.[0]?.text??"";return function(e){if(!e||"string"!=typeof e)return[];let t=e.trim().replace(/^```\w*\n?|```\s*$/g,"").trim(),n=[];try{let e=JSON.parse(t);Array.isArray(e)?n=e:e&&Array.isArray(e.skills)?n=e.skills:e&&"string"==typeof e.skills&&(n=[e.skills])}catch{n=t.split(/\n+/).map(e=>e.replace(/^[\s\-*•\d.)]+|[\s\-*•]+$/g,"").trim())}let r=n.filter(e=>null!=e&&""!==String(e).trim()).map(e=>String(e).trim().replace(/^['"]+|['"]+$/g,"")),s=/^[a-zA-Z0-9_\-\.]+$/;return r.filter(e=>s.test(e))}(String(o))}catch(e){return clearTimeout(c),(e instanceof Error?e.message:String(e)).includes("abort")?console.warn("fetchSkillsViaModel timeout, skipping skills"):console.error("fetchSkillsViaModel error",e),[]}}async function g(e,{params:t}){try{let n,a,u=(await t).taskId,c=await (0,o.endSession)(u);if(!c)return l.NextResponse.json({error:"Session not found or empty"},{status:404});let p=(Date.now()-c.startTime)/1e3,g=0;for(let e of c.interactions){let t=e.usage||e.responseMessage?.usage;if(t){let e=t;if("string"==typeof t)try{e=JSON.parse(t)}catch(e){console.warn(`[ProxyEnd] Failed to parse usage JSON for task ${u}:`,e)}let n=e,r=n.total_tokens||n.total||0;g+=Number(r)}}let m=u.split("-")[0]||"unknown";"claude"===m&&(m="claudecode");let y=await (0,s.analyzeSession)(c.interactions,c.user);if(!c.query&&y.query)try{await i.db.updateSession(u,{query:y.query}),console.log(`[End] Updated session query for ${u}: ${y.query.substring(0,50)}...`)}catch(e){console.warn(`[End] Failed to update session query: ${e}`)}let h="deepagent(langgraph)"===m||"witty"===m||"witty(deepagents)"===m;"claude"===m?(n=function(e){let t=new Set,n=[];for(let r of e.interactions)for(let e of(d(r.responseMessage?.content,t,n),r.requestMessages??[]))e?.role==="assistant"&&d(e.content,t,n);return n}(c),0===n.length&&(console.log(`No Skill tool_use in Claude session for ${u}, falling back to model extraction...`),n=(await f(u,c.interactions)).map(e=>({name:e,version:null}))),console.log(`Skills from Claude session for ${u}:`,JSON.stringify(n))):"opencode"===m?(n=function(e){let t=new Set,n=[],r=/^[a-zA-Z0-9_\-\.]+$/;for(let s of e.interactions)for(let e of s.toolCalls??s.responseMessage?.tool_calls??[]){let s=e?.function?.name??e?.name;if("skill"!==s)continue;let i=e?.function?.arguments??e?.arguments??"";if(i&&"string"==typeof i)try{let e="string"==typeof i?JSON.parse(i):i,s=e?.name??e?.skill_name??e?.skillName??e?.skill;if(null!=s&&String(s).trim()){let i=String(s).trim().replace(/^['"]+|['"]+$/g,"");if(r.test(i)&&!t.has(i)){t.add(i);let r=e?.version!=null?Number(e.version):null;n.push({name:i,version:null===r||isNaN(r)?null:r})}}}catch{}}return n}(c),console.log(`Skills from OpenEncode session for ${u}:`,JSON.stringify(n))):h?(n=function(e){let t=new Set,n=[],r=/^[a-zA-Z0-9_\-\.]+$/;for(let s of e.interactions)for(let e of s.toolCalls??s.responseMessage?.tool_calls??[]){let s=e?.function?.name??e?.name;if("load_skill"!==s)continue;let i=e?.function?.arguments??e?.arguments??"";if(i&&"string"==typeof i)try{let e="string"==typeof i?JSON.parse(i):i,s=e?.skill_name??e?.skillName??e?.name;if(null!=s&&String(s).trim()){let i=String(s).trim().replace(/^['"]+|['"]+$/g,"");if(r.test(i)&&!t.has(i)){t.add(i);let r=e?.version!=null?Number(e.version):null;n.push({name:i,version:null===r||isNaN(r)?null:r})}}}catch{}}return n}(c),console.log(`Skills from Witty session for ${u}:`,JSON.stringify(n))):(console.log(`Fetching skills via model for ${u}...`),n=(await f(u,c.interactions)).map(e=>({name:e,version:null})),console.log(`Skills from model for ${u}:`,JSON.stringify(n)));let k=n.length>0?n[0].name:y.skill;n.length>0&&n[0].version;let w=null;if(console.log(`[End] Primary skill name for ${u}: ${k||"(none)"}`),k){let e=await i.db.findSkill(k,c.user||null);if(e&&e.versions&&e.versions.length>0){let t=e.activeVersion||0,n=e.versions.find(e=>e.version===t);n&&n.content?(a=n.content,w=n.version,console.log(`[End] Skill definition found for ${k} v${w}, length: ${a?.length||0}`)):(a=e.versions[0].content,w=e.versions[0].version,console.log(`[End] Using fallback version ${w} for ${k}, length: ${a?.length||0}`))}else console.warn(`[End] Skill definition NOT FOUND for ${k}. Attribution will be skipped.`)}else console.warn("[End] No primarySkillName extracted. Attribution will be skipped.");let _={is_skill_correct:!1,is_answer_correct:!1,answer_score:0,judgment_reason:"Auto-eval skipped (missing query/result/skill)"};c.query&&(y.query=c.query),y.query&&(y.query=y.query.trim().replace(/^['"]+|['"]+$/g,"").trim()),k&&(y.skill=k);let v={skill_definition:a};try{let e=(await (0,r.readConfig)(c.user)).find(e=>e.query&&y.query&&e.query.trim()===y.query.trim());e&&(v.root_causes=e.root_causes,v.key_actions=e.key_actions,v.standard_answer_example=e.standard_answer)}catch(e){console.warn("Config load error",e)}if(y.query&&y.final_result){let e=await (0,s.judgeAnswer)(y.query,v,y.final_result,c.user);_={is_skill_correct:!1,is_answer_correct:e.is_correct,answer_score:e.score,judgment_reason:e.reason||"Judged by Evaluation Model"}}console.log(`[End] Calling analyzeFailures: skillName=${k||"none"}, skillDef=${a?"present":"absent"}, answerScore=${_.answer_score}`);let S=await (0,s.analyzeFailures)(c.interactions,k,a,_.answer_score,String(_.judgment_reason||""),y.query,y.final_result,c.user);console.log(`[End] analyzeFailures result: ${S.failures.length} failures, ${S.skill_issues?.length||0} skill issues`);let R={};try{R=await e.json()}catch(e){}let E=n.length>0?n.map(e=>e.name):k?[k]:void 0,x=await (0,r.saveExecutionRecord)({task_id:u,framework:m,query:y.query,skills:E,skill:k,skill_version:w,final_result:y.final_result,tokens:g,latency:p,timestamp:new Date(c.startTime).toISOString(),user:c.user,failures:S.failures,is_skill_correct:_.is_skill_correct,is_answer_correct:_.is_answer_correct,answer_score:_.answer_score,judgment_reason:_.judgment_reason,force_judgment:!1,...R}),N=l.NextResponse.json({status:"ok",summary:{task_id:u,framework:m,duration:p,tokens:g,skills:n,query_preview:y.query?.substring(0,50)},upload_result:x});return console.log(`[Proxy-End] ✅ Task completed: task_id=${u}, framework=${m}, score=${_.answer_score}, duration=${p.toFixed(1)}s`),N}catch(t){console.error("[Proxy-End] ❌ Error:",t);let e=t instanceof Error?t.message:"Internal server error";return l.NextResponse.json({error:"Failed to process end signal",details:e},{status:500})}}e.s(["POST",()=>g,"maxDuration",0,60]),n()}catch(e){n(e)}},!1),80362,e=>e.a(async(t,n)=>{try{var r=e.i(47909),s=e.i(74017),i=e.i(60476),o=e.i(59756),a=e.i(61916),l=e.i(74677),u=e.i(69741),c=e.i(16795),d=e.i(87718),p=e.i(95169),f=e.i(47587),g=e.i(66012),m=e.i(70101),y=e.i(26937),h=e.i(10372),k=e.i(93695);e.i(52474);var w=e.i(220),_=e.i(33075),v=t([_]);[_]=v.then?(await v)():v;let E=new r.AppRouteRouteModule({definition:{kind:s.RouteKind.APP_ROUTE,page:"/api/proxy/[taskId]/end/route",pathname:"/api/proxy/[taskId]/end",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/proxy/[taskId]/end/route.ts",nextConfigOutput:"standalone",userland:_}),{workAsyncStorage:x,workUnitAsyncStorage:N,serverHooks:A}=E;function S(){return(0,i.patchFetch)({workAsyncStorage:x,workUnitAsyncStorage:N})}async function R(e,t,n){E.isDev&&(0,o.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let r="/api/proxy/[taskId]/end/route";r=r.replace(/\/index$/,"")||"/";let i=await E.prepare(e,t,{srcPage:r,multiZoneDraftMode:!1});if(!i)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:_,params:v,nextConfig:S,parsedUrl:R,isDraftMode:x,prerenderManifest:N,routerServerContext:A,isOnDemandRevalidate:$,revalidateOnlyGenerated:C,resolvedPathname:b,clientReferenceManifest:q,serverActionsManifest:O}=i,T=(0,u.normalizeAppPath)(r),P=!!(N.dynamicRoutes[T]||N.routes[b]),I=async()=>((null==A?void 0:A.render404)?await A.render404(e,t,R,!1):t.end("This page could not be found"),null);if(P&&!x){let e=!!N.routes[b],t=N.dynamicRoutes[T];if(t&&!1===t.fallback&&!e){if(S.experimental.adapterPath)return await I();throw new k.NoFallbackError}}let M=null;!P||E.isDev||x||(M=b,M="/index"===M?"/":M);let j=!0===E.isDev||!P,U=P&&!j;O&&q&&(0,l.setManifestsSingleton)({page:r,clientReferenceManifest:q,serverActionsManifest:O});let D=e.method||"GET",F=(0,a.getTracer)(),H=F.getActiveScopeSpan(),K={params:v,prerenderManifest:N,renderOpts:{experimental:{authInterrupts:!!S.experimental.authInterrupts},cacheComponents:!!S.cacheComponents,supportsDynamicResponse:j,incrementalCache:(0,o.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:S.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,n,r,s)=>E.onRequestError(e,t,r,s,A)},sharedContext:{buildId:_}},J=new c.NodeNextRequest(e),z=new c.NodeNextResponse(t),L=d.NextRequestAdapter.fromNodeNextRequest(J,(0,d.signalFromNodeResponse)(t));try{let i=async e=>E.handle(L,K).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let n=F.getRootSpanAttributes();if(!n)return;if(n.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${n.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let s=n.get("next.route");if(s){let t=`${D} ${s}`;e.setAttributes({"next.route":s,"http.route":s,"next.span_name":t}),e.updateName(t)}else e.updateName(`${D} ${r}`)}),l=!!(0,o.getRequestMeta)(e,"minimalMode"),u=async o=>{var a,u;let c=async({previousCacheEntry:s})=>{try{if(!l&&$&&C&&!s)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let r=await i(o);e.fetchMetrics=K.renderOpts.fetchMetrics;let a=K.renderOpts.pendingWaitUntil;a&&n.waitUntil&&(n.waitUntil(a),a=void 0);let u=K.renderOpts.collectedTags;if(!P)return await (0,g.sendResponse)(J,z,r,K.renderOpts.pendingWaitUntil),null;{let e=await r.blob(),t=(0,m.toNodeOutgoingHttpHeaders)(r.headers);u&&(t[h.NEXT_CACHE_TAGS_HEADER]=u),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let n=void 0!==K.renderOpts.collectedRevalidate&&!(K.renderOpts.collectedRevalidate>=h.INFINITE_CACHE)&&K.renderOpts.collectedRevalidate,s=void 0===K.renderOpts.collectedExpire||K.renderOpts.collectedExpire>=h.INFINITE_CACHE?void 0:K.renderOpts.collectedExpire;return{value:{kind:w.CachedRouteKind.APP_ROUTE,status:r.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:n,expire:s}}}}catch(t){throw(null==s?void 0:s.isStale)&&await E.onRequestError(e,t,{routerKind:"App Router",routePath:r,routeType:"route",revalidateReason:(0,f.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:$})},!1,A),t}},d=await E.handleResponse({req:e,nextConfig:S,cacheKey:M,routeKind:s.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:N,isRoutePPREnabled:!1,isOnDemandRevalidate:$,revalidateOnlyGenerated:C,responseGenerator:c,waitUntil:n.waitUntil,isMinimalMode:l});if(!P)return null;if((null==d||null==(a=d.value)?void 0:a.kind)!==w.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(u=d.value)?void 0:u.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});l||t.setHeader("x-nextjs-cache",$?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),x&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let p=(0,m.fromNodeOutgoingHttpHeaders)(d.value.headers);return l&&P||p.delete(h.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||p.get("Cache-Control")||p.set("Cache-Control",(0,y.getCacheControlHeader)(d.cacheControl)),await (0,g.sendResponse)(J,z,new Response(d.value.body,{headers:p,status:d.value.status||200})),null};H?await u(H):await F.withPropagatedContext(e.headers,()=>F.trace(p.BaseServerSpan.handleRequest,{spanName:`${D} ${r}`,kind:a.SpanKind.SERVER,attributes:{"http.method":D,"http.target":e.url}},u))}catch(t){if(t instanceof k.NoFallbackError||await E.onRequestError(e,t,{routerKind:"App Router",routePath:T,routeType:"route",revalidateReason:(0,f.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:$})},!1,A),P)throw t;return await (0,g.sendResponse)(J,z,new Response(null,{status:500})),null}}e.s(["handler",()=>R,"patchFetch",()=>S,"routeModule",()=>E,"serverHooks",()=>A,"workAsyncStorage",()=>x,"workUnitAsyncStorage",()=>N]),n()}catch(e){n(e)}},!1)];
1
+ module.exports=[91120,e=>{"use strict";e.s(["SKILLS_EXTRACT_PROMPT",0,"请给出该次对话中激活的skills,以列表的形式返回,列表中仅含skill name。"])},33075,e=>e.a(async(t,n)=>{try{var r=e.i(85765),s=e.i(2988),o=e.i(85874),a=e.i(98043),i=e.i(75054),l=e.i(22965),u=e.i(89171),c=e.i(91120),d=t([r,s,o,a,i,l]);[r,s,o,a,i,l]=d.then?(await d)():d;let y=c.SKILLS_EXTRACT_PROMPT;function p(e,t,n){if(!e||!Array.isArray(e))return;let r=/^[a-zA-Z0-9_\-\.]+$/;for(let s of e){if(s?.type!=="tool_use"||s?.name!=="Skill")continue;let e=s.input,o=e?.skill??e?.skill_name??e?.skillName??e?.name;if(null==o||!String(o).trim())continue;let a=String(o).trim().replace(/^['"]+|['"]+$/g,"");if(r.test(a)&&!t.has(a)){t.add(a);let r=e?.version!=null?Number(e.version):null;n.push({name:a,version:null===r||isNaN(r)?null:r})}}}function f(e){return e?.content?"string"==typeof e.content?e.content:Array.isArray(e.content)?e.content.filter(e=>e?.type==="text"&&e?.text).map(e=>e.text).join("\n").trim():"":""}async function g(e,t){if(!t.length)return[];let n=[];for(let e of t){let t=e.requestMessages||[],r=[];for(let e of t){if("user"!==e.role)continue;let t=f(e);!t||t.startsWith("<system-reminder>")||t.includes("[SUGGESTION MODE:")||r.push(t)}r.length&&n.push({role:"user",content:r.join("\n\n")});let s=e.responseMessage;if(s?.content){let e=f(s);e&&n.push({role:"assistant",content:e})}}let r=[...n.length>30?n.slice(-30):n,{role:"user",content:y}],s=e.startsWith("claude")?"https://api.deepseek.com/anthropic":"https://api.deepseek.com",o=`${s}/v1/chat/completions`,a=await (0,l.getActiveConfig)(),i=a?.apiKey;if(!i)return console.warn("No model API Key configured in Settings, skipping skills extraction via model."),[];let u=new AbortController,c=setTimeout(()=>u.abort(),25e3);try{let e={model:s.includes("anthropic")?"claude-sonnet-4-20250514":"deepseek-chat",max_tokens:1024,stream:!1,messages:r},t=await fetch(o,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${i}`},body:JSON.stringify(e),signal:u.signal});if(clearTimeout(c),!t.ok){let e=await t.text();return console.error("Skills extraction error",t.status,e),[]}let n=await t.json(),a=n.choices?.[0]?.message?.content??n.content?.find(e=>"text"===e.type)?.text??n.content?.[0]?.text??"";return function(e){if(!e||"string"!=typeof e)return[];let t=e.trim().replace(/^```\w*\n?|```\s*$/g,"").trim(),n=[];try{let e=JSON.parse(t);Array.isArray(e)?n=e:e&&Array.isArray(e.skills)?n=e.skills:e&&"string"==typeof e.skills&&(n=[e.skills])}catch{n=t.split(/\n+/).map(e=>e.replace(/^[\s\-*•\d.)]+|[\s\-*•]+$/g,"").trim())}let r=n.filter(e=>null!=e&&""!==String(e).trim()).map(e=>String(e).trim().replace(/^['"]+|['"]+$/g,"")),s=/^[a-zA-Z0-9_\-\.]+$/;return r.filter(e=>s.test(e))}(String(a))}catch(e){return clearTimeout(c),(e instanceof Error?e.message:String(e)).includes("abort")?console.warn("fetchSkillsViaModel timeout, skipping skills"):console.error("fetchSkillsViaModel error",e),[]}}async function m(e,{params:t}){try{let n,l,c=(await t).taskId,d=await (0,i.endSession)(c);if(!d)return u.NextResponse.json({error:"Session not found or empty"},{status:404});let f=(Date.now()-d.startTime)/1e3,m=0,y=0;for(let e of d.interactions){let t=e.usage||e.responseMessage?.usage;if(t){let e=t;if("string"==typeof t)try{e=JSON.parse(t)}catch(e){console.warn(`[ProxyEnd] Failed to parse usage JSON for task ${c}:`,e)}let n=e,r=n.total_tokens||n.total||0,s=n.reasoning||n.reasoning_tokens||n.completion_tokens_details?.reasoning_tokens||0;m+=Number(r),y+=Number(s)}}let h=c.split("-")[0]||"unknown";"claude"===h&&(h="claudecode");let w=await (0,o.analyzeSession)(d.interactions,d.user);if(!d.query&&w.query)try{await a.db.updateSession(c,{query:w.query}),console.log(`[End] Updated session query for ${c}: ${w.query.substring(0,50)}...`)}catch(e){console.warn(`[End] Failed to update session query: ${e}`)}let k="deepagent(langgraph)"===h||"witty"===h||"witty(deepagents)"===h;"claude"===h?(n=function(e){let t=new Set,n=[];for(let r of e.interactions)for(let e of(p(r.responseMessage?.content,t,n),r.requestMessages??[]))e?.role==="assistant"&&p(e.content,t,n);return n}(d),0===n.length&&(console.log(`No Skill tool_use in Claude session for ${c}, falling back to model extraction...`),n=(await g(c,d.interactions)).map(e=>({name:e,version:null}))),console.log(`Skills from Claude session for ${c}:`,JSON.stringify(n))):"opencode"===h?(n=function(e){let t=new Set,n=[],r=/^[a-zA-Z0-9_\-\.]+$/;for(let s of e.interactions)for(let e of s.toolCalls??s.responseMessage?.tool_calls??[]){let s=e?.function?.name??e?.name;if("skill"!==s)continue;let o=e?.function?.arguments??e?.arguments??"";if(o&&"string"==typeof o)try{let e="string"==typeof o?JSON.parse(o):o,s=e?.name??e?.skill_name??e?.skillName??e?.skill;if(null!=s&&String(s).trim()){let o=String(s).trim().replace(/^['"]+|['"]+$/g,"");if(r.test(o)&&!t.has(o)){t.add(o);let r=e?.version!=null?Number(e.version):null;n.push({name:o,version:null===r||isNaN(r)?null:r})}}}catch{}}return n}(d),console.log(`Skills from OpenEncode session for ${c}:`,JSON.stringify(n))):k?(n=function(e){let t=new Set,n=[],r=/^[a-zA-Z0-9_\-\.]+$/;for(let s of e.interactions)for(let e of s.toolCalls??s.responseMessage?.tool_calls??[]){let s=e?.function?.name??e?.name;if("load_skill"!==s)continue;let o=e?.function?.arguments??e?.arguments??"";if(o&&"string"==typeof o)try{let e="string"==typeof o?JSON.parse(o):o,s=e?.skill_name??e?.skillName??e?.name;if(null!=s&&String(s).trim()){let o=String(s).trim().replace(/^['"]+|['"]+$/g,"");if(r.test(o)&&!t.has(o)){t.add(o);let r=e?.version!=null?Number(e.version):null;n.push({name:o,version:null===r||isNaN(r)?null:r})}}}catch{}}return n}(d),console.log(`Skills from Witty session for ${c}:`,JSON.stringify(n))):(console.log(`Fetching skills via model for ${c}...`),n=(await g(c,d.interactions)).map(e=>({name:e,version:null})),console.log(`Skills from model for ${c}:`,JSON.stringify(n)));let _=n.length>0?n[0].name:w.skill;n.length>0&&n[0].version;let v=null;if(console.log(`[End] Primary skill name for ${c}: ${_||"(none)"}`),_){let e=await a.db.findSkill(_,d.user||null);if(e&&e.versions&&e.versions.length>0){let t=e.activeVersion||0,n=e.versions.find(e=>e.version===t);n&&n.content?(l=n.content,v=n.version,console.log(`[End] Skill definition found for ${_} v${v}, length: ${l?.length||0}`)):(l=e.versions[0].content,v=e.versions[0].version,console.log(`[End] Using fallback version ${v} for ${_}, length: ${l?.length||0}`))}else console.warn(`[End] Skill definition NOT FOUND for ${_}. Attribution will be skipped.`)}else console.warn("[End] No primarySkillName extracted. Attribution will be skipped.");let S={is_skill_correct:!1,is_answer_correct:!1,answer_score:0,judgment_reason:"Auto-eval skipped (missing query/result/skill)"};d.query&&(w.query=d.query),w.query&&(w.query=w.query.trim().replace(/^['"]+|['"]+$/g,"").trim()),_&&(w.skill=_);let E={skill_definition:l};try{let e=(await (0,r.readConfig)(d.user)).find(e=>e.query&&w.query&&e.query.trim()===w.query.trim());e&&(E.root_causes=e.root_causes,E.key_actions=e.key_actions,E.standard_answer_example=e.standard_answer)}catch(e){console.warn("Config load error",e)}let x={};try{x=await e.json()}catch(e){}let R=n.length>0?n.map(e=>e.name):_?[_]:void 0,N=await (0,r.saveExecutionRecord)({task_id:c,framework:h,query:w.query,skills:R,skill:_,skill_version:v,final_result:w.final_result,tokens:m,reasoning_tokens:y||void 0,latency:f,timestamp:new Date(d.startTime).toISOString(),user:d.user,is_skill_correct:!1,is_answer_correct:!1,answer_score:0,judgment_reason:"Evaluation in progress...",force_judgment:!1,skip_evaluation:!0,...x}),A=N.record?.id||N.record?.task_id||c;if(_&&null!==v){let e=await a.db.findSkill(_,d.user||null);if(e){let t=e.activeVersion||0,n=(e.versions||[]).some(e=>e.version===t)?t:e.versions?.[0]?.version??null;if(null!==n)try{let t=await (0,s.analyzeExecutionMatch)(A,e.id,n,d.user);t.success?console.log(`[End] Auto-parsed execution flow for ${c} (compare mode)`):console.warn(`[End] Auto-parse execution flow failed for ${c}: ${t.error}`)}catch(e){console.warn(`[End] Auto-parse execution flow error for ${c}:`,e)}}}else try{let e=await (0,s.analyzeDynamicOnly)(A,d.user);e.success?console.log(`[End] Auto-parsed execution flow for ${c} (dynamic mode)`):console.warn(`[End] Auto-parse dynamic flow failed for ${c}: ${e.error}`)}catch(e){console.warn(`[End] Auto-parse dynamic flow error for ${c}:`,e)}if(w.query&&w.final_result){let e=null;try{let t=await a.db.findExecutionMatch(A);t?.extractedSteps&&(e="string"==typeof t.extractedSteps?JSON.parse(t.extractedSteps):t.extractedSteps,console.log(`[End] Found ${e?.length||0} execution steps for KA evaluation`))}catch(e){console.warn("[End] Failed to load execution steps for KA evaluation:",e)}let t=await (0,o.judgeAnswer)(w.query,E,w.final_result,d.user,e);S={is_skill_correct:!1,is_answer_correct:t.is_correct,answer_score:t.score,judgment_reason:t.reason||"Judged by Evaluation Model"}}console.log(`[End] Calling analyzeFailures: skillName=${_||"none"}, skillDef=${l?"present":"absent"}, answerScore=${S.answer_score}`);let $=await (0,o.analyzeFailures)(d.interactions,_,l,S.answer_score,String(S.judgment_reason||""),w.query,w.final_result,d.user);console.log(`[End] analyzeFailures result: ${$.failures.length} failures, ${$.skill_issues?.length||0} skill issues`);try{await a.db.updateExecution(A,{isAnswerCorrect:S.is_answer_correct,answerScore:S.answer_score,judgmentReason:S.judgment_reason,failures:JSON.stringify($.failures),skillIssues:JSON.stringify($.skill_issues||[])})}catch(e){console.warn(`[End] Failed to update evaluation results for ${A}:`,e)}let C=u.NextResponse.json({status:"ok",summary:{task_id:c,framework:h,duration:f,tokens:m,skills:n,query_preview:w.query?.substring(0,50)},upload_result:N});return console.log(`[Proxy-End] ✅ Task completed: task_id=${c}, framework=${h}, score=${S.answer_score}, duration=${f.toFixed(1)}s`),C}catch(t){console.error("[Proxy-End] ❌ Error:",t);let e=t instanceof Error?t.message:"Internal server error";return u.NextResponse.json({error:"Failed to process end signal",details:e},{status:500})}}e.s(["POST",()=>m,"maxDuration",0,60]),n()}catch(e){n(e)}},!1),80362,e=>e.a(async(t,n)=>{try{var r=e.i(47909),s=e.i(74017),o=e.i(60476),a=e.i(59756),i=e.i(61916),l=e.i(74677),u=e.i(69741),c=e.i(16795),d=e.i(87718),p=e.i(95169),f=e.i(47587),g=e.i(66012),m=e.i(70101),y=e.i(26937),h=e.i(10372),w=e.i(93695);e.i(52474);var k=e.i(220),_=e.i(33075),v=t([_]);[_]=v.then?(await v)():v;let x=new r.AppRouteRouteModule({definition:{kind:s.RouteKind.APP_ROUTE,page:"/api/proxy/[taskId]/end/route",pathname:"/api/proxy/[taskId]/end",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/proxy/[taskId]/end/route.ts",nextConfigOutput:"standalone",userland:_}),{workAsyncStorage:R,workUnitAsyncStorage:N,serverHooks:A}=x;function S(){return(0,o.patchFetch)({workAsyncStorage:R,workUnitAsyncStorage:N})}async function E(e,t,n){x.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let r="/api/proxy/[taskId]/end/route";r=r.replace(/\/index$/,"")||"/";let o=await x.prepare(e,t,{srcPage:r,multiZoneDraftMode:!1});if(!o)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:_,params:v,nextConfig:S,parsedUrl:E,isDraftMode:R,prerenderManifest:N,routerServerContext:A,isOnDemandRevalidate:$,revalidateOnlyGenerated:C,resolvedPathname:b,clientReferenceManifest:O,serverActionsManifest:q}=o,T=(0,u.normalizeAppPath)(r),P=!!(N.dynamicRoutes[T]||N.routes[b]),I=async()=>((null==A?void 0:A.render404)?await A.render404(e,t,E,!1):t.end("This page could not be found"),null);if(P&&!R){let e=!!N.routes[b],t=N.dynamicRoutes[T];if(t&&!1===t.fallback&&!e){if(S.experimental.adapterPath)return await I();throw new w.NoFallbackError}}let M=null;!P||x.isDev||R||(M=b,M="/index"===M?"/":M);let j=!0===x.isDev||!P,D=P&&!j;q&&O&&(0,l.setManifestsSingleton)({page:r,clientReferenceManifest:O,serverActionsManifest:q});let F=e.method||"GET",U=(0,i.getTracer)(),H=U.getActiveScopeSpan(),J={params:v,prerenderManifest:N,renderOpts:{experimental:{authInterrupts:!!S.experimental.authInterrupts},cacheComponents:!!S.cacheComponents,supportsDynamicResponse:j,incrementalCache:(0,a.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:S.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,n,r,s)=>x.onRequestError(e,t,r,s,A)},sharedContext:{buildId:_}},K=new c.NodeNextRequest(e),z=new c.NodeNextResponse(t),L=d.NextRequestAdapter.fromNodeNextRequest(K,(0,d.signalFromNodeResponse)(t));try{let o=async e=>x.handle(L,J).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")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${n.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let s=n.get("next.route");if(s){let t=`${F} ${s}`;e.setAttributes({"next.route":s,"http.route":s,"next.span_name":t}),e.updateName(t)}else e.updateName(`${F} ${r}`)}),l=!!(0,a.getRequestMeta)(e,"minimalMode"),u=async a=>{var i,u;let c=async({previousCacheEntry:s})=>{try{if(!l&&$&&C&&!s)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let r=await o(a);e.fetchMetrics=J.renderOpts.fetchMetrics;let i=J.renderOpts.pendingWaitUntil;i&&n.waitUntil&&(n.waitUntil(i),i=void 0);let u=J.renderOpts.collectedTags;if(!P)return await (0,g.sendResponse)(K,z,r,J.renderOpts.pendingWaitUntil),null;{let e=await r.blob(),t=(0,m.toNodeOutgoingHttpHeaders)(r.headers);u&&(t[h.NEXT_CACHE_TAGS_HEADER]=u),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let n=void 0!==J.renderOpts.collectedRevalidate&&!(J.renderOpts.collectedRevalidate>=h.INFINITE_CACHE)&&J.renderOpts.collectedRevalidate,s=void 0===J.renderOpts.collectedExpire||J.renderOpts.collectedExpire>=h.INFINITE_CACHE?void 0:J.renderOpts.collectedExpire;return{value:{kind:k.CachedRouteKind.APP_ROUTE,status:r.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:n,expire:s}}}}catch(t){throw(null==s?void 0:s.isStale)&&await x.onRequestError(e,t,{routerKind:"App Router",routePath:r,routeType:"route",revalidateReason:(0,f.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:$})},!1,A),t}},d=await x.handleResponse({req:e,nextConfig:S,cacheKey:M,routeKind:s.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:N,isRoutePPREnabled:!1,isOnDemandRevalidate:$,revalidateOnlyGenerated:C,responseGenerator:c,waitUntil:n.waitUntil,isMinimalMode:l});if(!P)return null;if((null==d||null==(i=d.value)?void 0:i.kind)!==k.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(u=d.value)?void 0:u.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});l||t.setHeader("x-nextjs-cache",$?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),R&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let p=(0,m.fromNodeOutgoingHttpHeaders)(d.value.headers);return l&&P||p.delete(h.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||p.get("Cache-Control")||p.set("Cache-Control",(0,y.getCacheControlHeader)(d.cacheControl)),await (0,g.sendResponse)(K,z,new Response(d.value.body,{headers:p,status:d.value.status||200})),null};H?await u(H):await U.withPropagatedContext(e.headers,()=>U.trace(p.BaseServerSpan.handleRequest,{spanName:`${F} ${r}`,kind:i.SpanKind.SERVER,attributes:{"http.method":F,"http.target":e.url}},u))}catch(t){if(t instanceof w.NoFallbackError||await x.onRequestError(e,t,{routerKind:"App Router",routePath:T,routeType:"route",revalidateReason:(0,f.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:$})},!1,A),P)throw t;return await (0,g.sendResponse)(K,z,new Response(null,{status:500})),null}}e.s(["handler",()=>E,"patchFetch",()=>S,"routeModule",()=>x,"serverHooks",()=>A,"workAsyncStorage",()=>R,"workUnitAsyncStorage",()=>N]),n()}catch(e){n(e)}},!1)];
2
2
 
3
3
  //# sourceMappingURL=_cd3d20ca._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[22033,e=>e.a(async(t,n)=>{try{var a=e.i(85765),r=e.i(98043),s=e.i(89171),o=t([a,r]);function i(e){if(e){if(void 0!==e.stringValue)return e.stringValue;if(void 0!==e.intValue)return parseInt(e.intValue);if(void 0!==e.doubleValue)return e.doubleValue;if(void 0!==e.boolValue)return e.boolValue;if(void 0!==e.arrayValue)return e.arrayValue.values?.map(i);if(void 0!==e.kvlistValue){let t={};return e.kvlistValue.values.forEach(e=>{t[e.key]=i(e.value)}),t}}}async function l(e){try{let t,n,o=e.headers.get("x-witty-api-key");if(o){let e=await r.db.findUserByApiKey(o);e?(t=e.username,console.log(`[OTel] Authenticated User: ${t}`)):console.warn(`[OTel] Invalid API Key provided: ${o}`)}let l=e.headers.get("content-type")||"";console.log(`[OTel] Received Request. Content-Type: ${l}`);try{if(l.includes("application/json"))n=await e.json();else{if(l.includes("application/x-protobuf"))return console.warn("[OTel] Received Protobuf payload. JSON parser skipped."),s.NextResponse.json({error:"Protobuf not supported yet, please use OTEL_EXPORTER_OTLP_PROTOCOL=http/json"},{status:415});console.log("[OTel] Unknown Content-Type, attempting JSON parse..."),n=await e.json()}}catch(e){return console.error("[OTel] Failed to parse request body:",e),s.NextResponse.json({error:"Invalid Payload"},{status:400})}if(!n)return s.NextResponse.json({});for(let e of(console.log("[OTel] Raw Body Structure:",JSON.stringify(n,(e,t)=>"resourceSpans"===e&&Array.isArray(t)?`[${t.length} spans]`:t,2)),n.resourceSpans&&n.resourceSpans.length>0&&(console.log("[OTel] First Resource Attributes:",JSON.stringify(n.resourceSpans[0].resource?.attributes)),n.resourceSpans[0].scopeSpans?.[0]?.spans?.[0]&&console.log("[OTel] First Span Attributes:",JSON.stringify(n.resourceSpans[0].scopeSpans[0].spans[0].attributes))),n.resourceSpans||[])){let n=e.resource?.attributes||[],s={};n.forEach(e=>{s[e.key]=i(e.value)});let o=s["service.name"]||"unknown-service",l=t||s["user.id"]||s["enduser.id"];for(let t of e.scopeSpans||[])for(let e of t.spans||[]){let t=e.attributes||[],n={};t.forEach(e=>{n[e.key]=i(e.value)});let u=Object.keys(n).some(e=>e.startsWith("gen_ai.")||e.startsWith("llm.")),c=void 0!==n["tool.name"];if(u||c){let t=e.traceId,i=e.spanId,u=e.parentSpanId,d=n["gen_ai.request.model"]||n["llm.request.model"],p=n["gen_ai.usage.input_tokens"]||n["llm.usage.prompt_tokens"]||0,g=n["gen_ai.usage.output_tokens"]||n["llm.usage.completion_tokens"]||0,h=(p||0)+(g||0),f=BigInt(e.startTimeUnixNano||0),m=BigInt(e.endTimeUnixNano||0),y=Number((m-f)/BigInt(1e6)),v=Number(f/BigInt(1e6)),R=n["gen_ai.prompt"]||n["db.statement"],O=n["gen_ai.completion"]||n["db.result"],w={spanId:i,parentSpanId:u,name:e.name,type:c?"tool":"llm",model:d,usage:{input_tokens:p,output_tokens:g,total_tokens:h},latency:y,timestamp:v};R&&(w.requestMessages=[{role:"user",content:R}]),O&&(w.responseMessage={role:"assistant",content:O}),c&&(w.toolCall={name:n["tool.name"],arguments:n["tool.arguments"]||JSON.stringify(n)}),console.log(`[OTel] Processed Span: ${t} - ${e.name} (${y}ms)`);let T=s["service.instance.id"],S=s["session.id"]||n["session.id"],E=S||T||t;"unknown"===E&&(E=t),console.log(`[OTel] Grouping into Session: ${E} (Source: ${S?"SessionID":T?"ProcessID":"TraceID"})`);let b=await r.db.findSessionByTaskId(E),x=[];if(b?.interactions)try{x=JSON.parse(b.interactions)}catch(e){}x.find(e=>e.spanId===i)||(w.traceId=t,x.push(w),x.sort((e,t)=>e.timestamp-t.timestamp),await r.db.upsertSession(E,{taskId:E,user:l,model:d||"unknown",startTime:new Date(v),interactions:JSON.stringify(x),label:o},{interactions:JSON.stringify(x),endTime:new Date,model:b&&"unknown"===b.model&&d?d:void 0}));try{let e=x[0],t=x[x.length-1],n=x.reduce((e,t)=>e+(t.usage?.input_tokens||0),0),r=x.reduce((e,t)=>e+(t.usage?.output_tokens||0),0),s=x.reduce((e,t)=>e+(t.latency||0),0);await (0,a.saveExecutionRecord)({task_id:E,query:e?.requestMessages?.[0]?.content||"OTel Session",framework:o,model:d||"unknown",tokens:n+r,latency:s,final_result:t?.responseMessage?.content||"",timestamp:new Date(v),label:o,user:l||"anonymous"}),console.log(`[OTel] Synced Task ${E} to Execution table.`)}catch(e){console.error("[OTel] Execution Sync Error:",e)}}}}return s.NextResponse.json({status:"success"})}catch(e){return console.error("OTel Parsing Error",e),s.NextResponse.json({error:"Failed to parse OTLP"},{status:400})}}async function u(e){return console.log("[OTel] Received OPTIONS Request. Headers:",JSON.stringify(Object.fromEntries(e.headers.entries()))),new s.NextResponse(null,{status:204,headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"GET, POST, OPTIONS","Access-Control-Allow-Headers":"Content-Type, Authorization, x-witty-api-key, x-api-key, baggage, traceparent, tracestate"}})}[a,r]=o.then?(await o)():o,e.s(["OPTIONS",()=>u,"POST",()=>l]),n()}catch(e){n(e)}},!1),79639,e=>e.a(async(t,n)=>{try{var a=e.i(47909),r=e.i(74017),s=e.i(60476),o=e.i(59756),i=e.i(61916),l=e.i(74677),u=e.i(69741),c=e.i(16795),d=e.i(87718),p=e.i(95169),g=e.i(47587),h=e.i(66012),f=e.i(70101),m=e.i(26937),y=e.i(10372),v=e.i(93695);e.i(52474);var R=e.i(220),O=e.i(22033),w=t([O]);[O]=w.then?(await w)():w;let E=new a.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/otel/v1/traces/route",pathname:"/api/otel/v1/traces",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/otel/v1/traces/route.ts",nextConfigOutput:"standalone",userland:O}),{workAsyncStorage:b,workUnitAsyncStorage:x,serverHooks:N}=E;function T(){return(0,s.patchFetch)({workAsyncStorage:b,workUnitAsyncStorage:x})}async function S(e,t,n){E.isDev&&(0,o.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let a="/api/otel/v1/traces/route";a=a.replace(/\/index$/,"")||"/";let s=await E.prepare(e,t,{srcPage:a,multiZoneDraftMode:!1});if(!s)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:O,params:w,nextConfig:T,parsedUrl:S,isDraftMode:b,prerenderManifest:x,routerServerContext:N,isOnDemandRevalidate:k,revalidateOnlyGenerated:A,resolvedPathname:C,clientReferenceManifest:_,serverActionsManifest:P}=s,I=(0,u.normalizeAppPath)(a),q=!!(x.dynamicRoutes[I]||x.routes[C]),U=async()=>((null==N?void 0:N.render404)?await N.render404(e,t,S,!1):t.end("This page could not be found"),null);if(q&&!b){let e=!!x.routes[C],t=x.dynamicRoutes[I];if(t&&!1===t.fallback&&!e){if(T.experimental.adapterPath)return await U();throw new v.NoFallbackError}}let D=null;!q||E.isDev||b||(D=C,D="/index"===D?"/":D);let H=!0===E.isDev||!q,$=q&&!H;P&&_&&(0,l.setManifestsSingleton)({page:a,clientReferenceManifest:_,serverActionsManifest:P});let j=e.method||"GET",M=(0,i.getTracer)(),V=M.getActiveScopeSpan(),B={params:w,prerenderManifest:x,renderOpts:{experimental:{authInterrupts:!!T.experimental.authInterrupts},cacheComponents:!!T.cacheComponents,supportsDynamicResponse:H,incrementalCache:(0,o.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:T.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,n,a,r)=>E.onRequestError(e,t,a,r,N)},sharedContext:{buildId:O}},F=new c.NodeNextRequest(e),J=new c.NodeNextResponse(t),K=d.NextRequestAdapter.fromNodeNextRequest(F,(0,d.signalFromNodeResponse)(t));try{let s=async e=>E.handle(K,B).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let n=M.getRootSpanAttributes();if(!n)return;if(n.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${n.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let r=n.get("next.route");if(r){let t=`${j} ${r}`;e.setAttributes({"next.route":r,"http.route":r,"next.span_name":t}),e.updateName(t)}else e.updateName(`${j} ${a}`)}),l=!!(0,o.getRequestMeta)(e,"minimalMode"),u=async o=>{var i,u;let c=async({previousCacheEntry:r})=>{try{if(!l&&k&&A&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await s(o);e.fetchMetrics=B.renderOpts.fetchMetrics;let i=B.renderOpts.pendingWaitUntil;i&&n.waitUntil&&(n.waitUntil(i),i=void 0);let u=B.renderOpts.collectedTags;if(!q)return await (0,h.sendResponse)(F,J,a,B.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(a.headers);u&&(t[y.NEXT_CACHE_TAGS_HEADER]=u),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let n=void 0!==B.renderOpts.collectedRevalidate&&!(B.renderOpts.collectedRevalidate>=y.INFINITE_CACHE)&&B.renderOpts.collectedRevalidate,r=void 0===B.renderOpts.collectedExpire||B.renderOpts.collectedExpire>=y.INFINITE_CACHE?void 0:B.renderOpts.collectedExpire;return{value:{kind:R.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:n,expire:r}}}}catch(t){throw(null==r?void 0:r.isStale)&&await E.onRequestError(e,t,{routerKind:"App Router",routePath:a,routeType:"route",revalidateReason:(0,g.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:k})},!1,N),t}},d=await E.handleResponse({req:e,nextConfig:T,cacheKey:D,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:x,isRoutePPREnabled:!1,isOnDemandRevalidate:k,revalidateOnlyGenerated:A,responseGenerator:c,waitUntil:n.waitUntil,isMinimalMode:l});if(!q)return null;if((null==d||null==(i=d.value)?void 0:i.kind)!==R.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(u=d.value)?void 0:u.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});l||t.setHeader("x-nextjs-cache",k?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),b&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let p=(0,f.fromNodeOutgoingHttpHeaders)(d.value.headers);return l&&q||p.delete(y.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||p.get("Cache-Control")||p.set("Cache-Control",(0,m.getCacheControlHeader)(d.cacheControl)),await (0,h.sendResponse)(F,J,new Response(d.value.body,{headers:p,status:d.value.status||200})),null};V?await u(V):await M.withPropagatedContext(e.headers,()=>M.trace(p.BaseServerSpan.handleRequest,{spanName:`${j} ${a}`,kind:i.SpanKind.SERVER,attributes:{"http.method":j,"http.target":e.url}},u))}catch(t){if(t instanceof v.NoFallbackError||await E.onRequestError(e,t,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,g.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:k})},!1,N),q)throw t;return await (0,h.sendResponse)(F,J,new Response(null,{status:500})),null}}e.s(["handler",()=>S,"patchFetch",()=>T,"routeModule",()=>E,"serverHooks",()=>N,"workAsyncStorage",()=>b,"workUnitAsyncStorage",()=>x]),n()}catch(e){n(e)}},!1)];
1
+ module.exports=[22033,e=>e.a(async(t,n)=>{try{var a=e.i(85765),r=e.i(98043),s=e.i(89171),o=t([a,r]);function i(e){if(e){if(void 0!==e.stringValue)return e.stringValue;if(void 0!==e.intValue)return parseInt(e.intValue);if(void 0!==e.doubleValue)return e.doubleValue;if(void 0!==e.boolValue)return e.boolValue;if(void 0!==e.arrayValue)return e.arrayValue.values?.map(i);if(void 0!==e.kvlistValue){let t={};return e.kvlistValue.values.forEach(e=>{t[e.key]=i(e.value)}),t}}}async function l(e){try{let t,n,o=e.headers.get("x-witty-api-key");if(o){let e=await r.db.findUserByApiKey(o);e?(t=e.username,console.log(`[OTel] Authenticated User: ${t}`)):console.warn(`[OTel] Invalid API Key provided: ${o}`)}let l=e.headers.get("content-type")||"";console.log(`[OTel] Received Request. Content-Type: ${l}`);try{if(l.includes("application/json"))n=await e.json();else{if(l.includes("application/x-protobuf"))return console.warn("[OTel] Received Protobuf payload. JSON parser skipped."),s.NextResponse.json({error:"Protobuf not supported yet, please use OTEL_EXPORTER_OTLP_PROTOCOL=http/json"},{status:415});console.log("[OTel] Unknown Content-Type, attempting JSON parse..."),n=await e.json()}}catch(e){return console.error("[OTel] Failed to parse request body:",e),s.NextResponse.json({error:"Invalid Payload"},{status:400})}if(!n)return s.NextResponse.json({});for(let e of(console.log("[OTel] Raw Body Structure:",JSON.stringify(n,(e,t)=>"resourceSpans"===e&&Array.isArray(t)?`[${t.length} spans]`:t,2)),n.resourceSpans&&n.resourceSpans.length>0&&(console.log("[OTel] First Resource Attributes:",JSON.stringify(n.resourceSpans[0].resource?.attributes)),n.resourceSpans[0].scopeSpans?.[0]?.spans?.[0]&&console.log("[OTel] First Span Attributes:",JSON.stringify(n.resourceSpans[0].scopeSpans[0].spans[0].attributes))),n.resourceSpans||[])){let n=e.resource?.attributes||[],s={};n.forEach(e=>{s[e.key]=i(e.value)});let o=s["service.name"]||"unknown-service",l=t||s["user.id"]||s["enduser.id"];for(let t of e.scopeSpans||[])for(let e of t.spans||[]){let t=e.attributes||[],n={};t.forEach(e=>{n[e.key]=i(e.value)});let u=Object.keys(n).some(e=>e.startsWith("gen_ai.")||e.startsWith("llm.")),c=void 0!==n["tool.name"];if(u||c){let t=e.traceId,i=e.spanId,u=e.parentSpanId,d=n["gen_ai.request.model"]||n["llm.request.model"],p=n["gen_ai.usage.input_tokens"]||n["llm.usage.prompt_tokens"]||0,g=n["gen_ai.usage.output_tokens"]||n["llm.usage.completion_tokens"]||0,h=n["gen_ai.usage.reasoning_tokens"]||0,f=(p||0)+(g||0),m=BigInt(e.startTimeUnixNano||0),y=BigInt(e.endTimeUnixNano||0),v=Number((y-m)/BigInt(1e6)),R=Number(m/BigInt(1e6)),O=n["gen_ai.prompt"]||n["db.statement"],w=n["gen_ai.completion"]||n["db.result"],T={spanId:i,parentSpanId:u,name:e.name,type:c?"tool":"llm",model:d,usage:{input_tokens:p,output_tokens:g,reasoning_tokens:h||void 0,total_tokens:f},latency:v,timestamp:R};O&&(T.requestMessages=[{role:"user",content:O}]),w&&(T.responseMessage={role:"assistant",content:w}),c&&(T.toolCall={name:n["tool.name"],arguments:n["tool.arguments"]||JSON.stringify(n)}),console.log(`[OTel] Processed Span: ${t} - ${e.name} (${v}ms)`);let S=s["service.instance.id"],E=s["session.id"]||n["session.id"],b=E||S||t;"unknown"===b&&(b=t),console.log(`[OTel] Grouping into Session: ${b} (Source: ${E?"SessionID":S?"ProcessID":"TraceID"})`);let x=await r.db.findSessionByTaskId(b),N=[];if(x?.interactions)try{N=JSON.parse(x.interactions)}catch(e){}N.find(e=>e.spanId===i)||(T.traceId=t,N.push(T),N.sort((e,t)=>e.timestamp-t.timestamp),await r.db.upsertSession(b,{taskId:b,user:l,model:d||"unknown",startTime:new Date(R),interactions:JSON.stringify(N),label:o},{interactions:JSON.stringify(N),endTime:new Date,model:x&&"unknown"===x.model&&d?d:void 0}));try{let e=N[0],t=N[N.length-1],n=N.reduce((e,t)=>e+(t.usage?.input_tokens||0),0),r=N.reduce((e,t)=>e+(t.usage?.output_tokens||0),0),s=N.reduce((e,t)=>e+(t.latency||0),0);await (0,a.saveExecutionRecord)({task_id:b,query:e?.requestMessages?.[0]?.content||"OTel Session",framework:o,model:d||"unknown",tokens:n+r,latency:s,final_result:t?.responseMessage?.content||"",timestamp:new Date(R),label:o,user:l||"anonymous"}),console.log(`[OTel] Synced Task ${b} to Execution table.`)}catch(e){console.error("[OTel] Execution Sync Error:",e)}}}}return s.NextResponse.json({status:"success"})}catch(e){return console.error("OTel Parsing Error",e),s.NextResponse.json({error:"Failed to parse OTLP"},{status:400})}}async function u(e){return console.log("[OTel] Received OPTIONS Request. Headers:",JSON.stringify(Object.fromEntries(e.headers.entries()))),new s.NextResponse(null,{status:204,headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"GET, POST, OPTIONS","Access-Control-Allow-Headers":"Content-Type, Authorization, x-witty-api-key, x-api-key, baggage, traceparent, tracestate"}})}[a,r]=o.then?(await o)():o,e.s(["OPTIONS",()=>u,"POST",()=>l]),n()}catch(e){n(e)}},!1),79639,e=>e.a(async(t,n)=>{try{var a=e.i(47909),r=e.i(74017),s=e.i(60476),o=e.i(59756),i=e.i(61916),l=e.i(74677),u=e.i(69741),c=e.i(16795),d=e.i(87718),p=e.i(95169),g=e.i(47587),h=e.i(66012),f=e.i(70101),m=e.i(26937),y=e.i(10372),v=e.i(93695);e.i(52474);var R=e.i(220),O=e.i(22033),w=t([O]);[O]=w.then?(await w)():w;let E=new a.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/otel/v1/traces/route",pathname:"/api/otel/v1/traces",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/otel/v1/traces/route.ts",nextConfigOutput:"standalone",userland:O}),{workAsyncStorage:b,workUnitAsyncStorage:x,serverHooks:N}=E;function T(){return(0,s.patchFetch)({workAsyncStorage:b,workUnitAsyncStorage:x})}async function S(e,t,n){E.isDev&&(0,o.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let a="/api/otel/v1/traces/route";a=a.replace(/\/index$/,"")||"/";let s=await E.prepare(e,t,{srcPage:a,multiZoneDraftMode:!1});if(!s)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:O,params:w,nextConfig:T,parsedUrl:S,isDraftMode:b,prerenderManifest:x,routerServerContext:N,isOnDemandRevalidate:k,revalidateOnlyGenerated:A,resolvedPathname:C,clientReferenceManifest:_,serverActionsManifest:P}=s,I=(0,u.normalizeAppPath)(a),q=!!(x.dynamicRoutes[I]||x.routes[C]),U=async()=>((null==N?void 0:N.render404)?await N.render404(e,t,S,!1):t.end("This page could not be found"),null);if(q&&!b){let e=!!x.routes[C],t=x.dynamicRoutes[I];if(t&&!1===t.fallback&&!e){if(T.experimental.adapterPath)return await U();throw new v.NoFallbackError}}let D=null;!q||E.isDev||b||(D=C,D="/index"===D?"/":D);let H=!0===E.isDev||!q,$=q&&!H;P&&_&&(0,l.setManifestsSingleton)({page:a,clientReferenceManifest:_,serverActionsManifest:P});let j=e.method||"GET",M=(0,i.getTracer)(),V=M.getActiveScopeSpan(),B={params:w,prerenderManifest:x,renderOpts:{experimental:{authInterrupts:!!T.experimental.authInterrupts},cacheComponents:!!T.cacheComponents,supportsDynamicResponse:H,incrementalCache:(0,o.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:T.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,n,a,r)=>E.onRequestError(e,t,a,r,N)},sharedContext:{buildId:O}},F=new c.NodeNextRequest(e),J=new c.NodeNextResponse(t),K=d.NextRequestAdapter.fromNodeNextRequest(F,(0,d.signalFromNodeResponse)(t));try{let s=async e=>E.handle(K,B).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let n=M.getRootSpanAttributes();if(!n)return;if(n.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${n.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let r=n.get("next.route");if(r){let t=`${j} ${r}`;e.setAttributes({"next.route":r,"http.route":r,"next.span_name":t}),e.updateName(t)}else e.updateName(`${j} ${a}`)}),l=!!(0,o.getRequestMeta)(e,"minimalMode"),u=async o=>{var i,u;let c=async({previousCacheEntry:r})=>{try{if(!l&&k&&A&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await s(o);e.fetchMetrics=B.renderOpts.fetchMetrics;let i=B.renderOpts.pendingWaitUntil;i&&n.waitUntil&&(n.waitUntil(i),i=void 0);let u=B.renderOpts.collectedTags;if(!q)return await (0,h.sendResponse)(F,J,a,B.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(a.headers);u&&(t[y.NEXT_CACHE_TAGS_HEADER]=u),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let n=void 0!==B.renderOpts.collectedRevalidate&&!(B.renderOpts.collectedRevalidate>=y.INFINITE_CACHE)&&B.renderOpts.collectedRevalidate,r=void 0===B.renderOpts.collectedExpire||B.renderOpts.collectedExpire>=y.INFINITE_CACHE?void 0:B.renderOpts.collectedExpire;return{value:{kind:R.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:n,expire:r}}}}catch(t){throw(null==r?void 0:r.isStale)&&await E.onRequestError(e,t,{routerKind:"App Router",routePath:a,routeType:"route",revalidateReason:(0,g.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:k})},!1,N),t}},d=await E.handleResponse({req:e,nextConfig:T,cacheKey:D,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:x,isRoutePPREnabled:!1,isOnDemandRevalidate:k,revalidateOnlyGenerated:A,responseGenerator:c,waitUntil:n.waitUntil,isMinimalMode:l});if(!q)return null;if((null==d||null==(i=d.value)?void 0:i.kind)!==R.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(u=d.value)?void 0:u.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});l||t.setHeader("x-nextjs-cache",k?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),b&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let p=(0,f.fromNodeOutgoingHttpHeaders)(d.value.headers);return l&&q||p.delete(y.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||p.get("Cache-Control")||p.set("Cache-Control",(0,m.getCacheControlHeader)(d.cacheControl)),await (0,h.sendResponse)(F,J,new Response(d.value.body,{headers:p,status:d.value.status||200})),null};V?await u(V):await M.withPropagatedContext(e.headers,()=>M.trace(p.BaseServerSpan.handleRequest,{spanName:`${j} ${a}`,kind:i.SpanKind.SERVER,attributes:{"http.method":j,"http.target":e.url}},u))}catch(t){if(t instanceof v.NoFallbackError||await E.onRequestError(e,t,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,g.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:k})},!1,N),q)throw t;return await (0,h.sendResponse)(F,J,new Response(null,{status:500})),null}}e.s(["handler",()=>S,"patchFetch",()=>T,"routeModule",()=>E,"serverHooks",()=>N,"workAsyncStorage",()=>b,"workUnitAsyncStorage",()=>x]),n()}catch(e){n(e)}},!1)];
2
2
 
3
3
  //# sourceMappingURL=_ddffef3e._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[34097,(e,o,d)=>{}];
2
+
3
+ //# sourceMappingURL=_next-internal_server_app_api_setup_opencode-tui_route_actions_fc8ae29f.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[86548,(e,o,d)=>{}];
2
+
3
+ //# sourceMappingURL=_next-internal_server_app_api_skills_sync-enterprise_route_actions_0ca45899.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[55435,(e,o,d)=>{}];
2
+
3
+ //# sourceMappingURL=_next-internal_server_app_api_task-stats_route_actions_983505cd.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[88936,(e,o,d)=>{}];
2
+
3
+ //# sourceMappingURL=ce889_server_app_api_setup_opencode-commands_si-optimizer_route_actions_fcde30ef.js.map