@seqyuan/annovibe 0.8.87 → 0.8.89

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 (249) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +11 -9
  3. package/.next/build-manifest.json +2 -2
  4. package/.next/prerender-manifest.json +3 -3
  5. package/.next/required-server-files.js +1 -1
  6. package/.next/required-server-files.json +1 -1
  7. package/.next/routes-manifest.json +16 -0
  8. package/.next/server/app/_global-error/page.js +3 -3
  9. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  10. package/.next/server/app/_global-error.html +1 -1
  11. package/.next/server/app/_global-error.rsc +1 -1
  12. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  13. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  14. package/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  15. package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  16. package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  17. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  18. package/.next/server/app/_not-found/page.js +2 -2
  19. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  20. package/.next/server/app/_not-found.html +1 -1
  21. package/.next/server/app/_not-found.rsc +1 -1
  22. package/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
  23. package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  24. package/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
  25. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  26. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  27. package/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  28. package/.next/server/app/api/agent/[id]/events/route.js +2 -2
  29. package/.next/server/app/api/agent/[id]/route.js +1 -1
  30. package/.next/server/app/api/agent/new/route.js +1 -1
  31. package/.next/server/app/api/agent/runtime/route.js +1 -1
  32. package/.next/server/app/api/apps/[id]/[[...path]]/route.js +2 -2
  33. package/.next/server/app/api/apps/route.js +2 -2
  34. package/.next/server/app/api/auth/all-providers/route.js +1 -1
  35. package/.next/server/app/api/auth/api-key/[provider]/route.js +1 -1
  36. package/.next/server/app/api/auth/login/[provider]/route.js +2 -2
  37. package/.next/server/app/api/auth/login/route.js +1 -1
  38. package/.next/server/app/api/auth/logout/[provider]/route.js +1 -1
  39. package/.next/server/app/api/auth/providers/route.js +1 -1
  40. package/.next/server/app/api/auth/status/route.js +1 -1
  41. package/.next/server/app/api/auth/totp/route.js +1 -1
  42. package/.next/server/app/api/default-cwd/route.js +1 -1
  43. package/.next/server/app/api/files/[...path]/route.js +1 -1
  44. package/.next/server/app/api/harness/route.js +1 -1
  45. package/.next/server/app/api/home/route.js +1 -1
  46. package/.next/server/app/api/im/cancel/route.js +1 -1
  47. package/.next/server/app/api/im/gateway-status/route.js +2 -2
  48. package/.next/server/app/api/im/gateway-token/route.js +1 -1
  49. package/.next/server/app/api/im/project/route.js +1 -1
  50. package/.next/server/app/api/im/projects/route.js +2 -2
  51. package/.next/server/app/api/im/session-ids/route.js +1 -1
  52. package/.next/server/app/api/im/turn/route.js +2 -2
  53. package/.next/server/app/api/images/upload/route.js +1 -1
  54. package/.next/server/app/api/internal/runtime/route.js +1 -1
  55. package/.next/server/app/api/memory/dismiss/route.js +2 -2
  56. package/.next/server/app/api/memory/promote/route.js +2 -2
  57. package/.next/server/app/api/models/route.js +1 -1
  58. package/.next/server/app/api/models-config/discover/route.js +1 -1
  59. package/.next/server/app/api/models-config/route.js +1 -1
  60. package/.next/server/app/api/models-config/test/route.js +1 -1
  61. package/.next/server/app/api/plot-kernels/route.js +1 -1
  62. package/.next/server/app/api/plot-kernels/save/route.js +1 -1
  63. package/.next/server/app/api/plot-kernels/status/route.js +1 -1
  64. package/.next/server/app/api/plot-kernels/stop/route.js +1 -1
  65. package/.next/server/app/api/projects/browse/route.js +1 -1
  66. package/.next/server/app/api/projects/route.js +2 -2
  67. package/.next/server/app/api/search/route.js +1 -1
  68. package/.next/server/app/api/sessions/[id]/context/route.js +1 -1
  69. package/.next/server/app/api/sessions/[id]/kernel-state/route.js +1 -1
  70. package/.next/server/app/api/sessions/[id]/plan/route.js +2 -2
  71. package/.next/server/app/api/sessions/[id]/route.js +1 -1
  72. package/.next/server/app/api/sessions/[id]/workbench-artifact/route.js +1 -0
  73. package/.next/server/app/api/sessions/[id]/workbench-artifact/route_client-reference-manifest.js +1 -0
  74. package/.next/server/app/api/sessions/[id]/workbench-review/route.js +1 -0
  75. package/.next/server/app/api/sessions/[id]/workbench-review/route_client-reference-manifest.js +1 -0
  76. package/.next/server/app/api/sessions/new/route.js +1 -1
  77. package/.next/server/app/api/sessions/route.js +2 -2
  78. package/.next/server/app/api/settings/route.js +1 -1
  79. package/.next/server/app/api/skills/install/route.js +2 -2
  80. package/.next/server/app/api/skills/route.js +2 -2
  81. package/.next/server/app/api/skills/search/route.js +1 -1
  82. package/.next/server/app/api/soul/route.js +1 -1
  83. package/.next/server/app/api/subagents/status/route.js +1 -1
  84. package/.next/server/app/api/version/route.js +1 -1
  85. package/.next/server/app/favicon.ico/route.js +1 -1
  86. package/.next/server/app/icon.svg/route.js +1 -1
  87. package/.next/server/app/index.html +1 -1
  88. package/.next/server/app/index.rsc +2 -2
  89. package/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  90. package/.next/server/app/index.segments/_full.segment.rsc +2 -2
  91. package/.next/server/app/index.segments/_head.segment.rsc +1 -1
  92. package/.next/server/app/index.segments/_index.segment.rsc +1 -1
  93. package/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  94. package/.next/server/app/login/page.js +2 -2
  95. package/.next/server/app/login/page_client-reference-manifest.js +1 -1
  96. package/.next/server/app/login.html +1 -1
  97. package/.next/server/app/login.rsc +1 -1
  98. package/.next/server/app/login.segments/_full.segment.rsc +1 -1
  99. package/.next/server/app/login.segments/_head.segment.rsc +1 -1
  100. package/.next/server/app/login.segments/_index.segment.rsc +1 -1
  101. package/.next/server/app/login.segments/_tree.segment.rsc +1 -1
  102. package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +1 -1
  103. package/.next/server/app/login.segments/login.segment.rsc +1 -1
  104. package/.next/server/app/page.js +25 -7
  105. package/.next/server/app/page_client-reference-manifest.js +1 -1
  106. package/.next/server/app/smoke/page.js +3 -3
  107. package/.next/server/app/smoke/page_client-reference-manifest.js +1 -1
  108. package/.next/server/app/smoke.html +2 -2
  109. package/.next/server/app/smoke.rsc +2 -2
  110. package/.next/server/app/smoke.segments/_full.segment.rsc +2 -2
  111. package/.next/server/app/smoke.segments/_head.segment.rsc +1 -1
  112. package/.next/server/app/smoke.segments/_index.segment.rsc +1 -1
  113. package/.next/server/app/smoke.segments/_tree.segment.rsc +1 -1
  114. package/.next/server/app/smoke.segments/smoke/__PAGE__.segment.rsc +2 -2
  115. package/.next/server/app/smoke.segments/smoke.segment.rsc +1 -1
  116. package/.next/server/app-paths-manifest.json +11 -9
  117. package/.next/server/chunks/1494.js +1 -1
  118. package/.next/server/chunks/7914.js +1 -1
  119. package/.next/server/middleware-build-manifest.js +1 -1
  120. package/.next/server/pages/404.html +1 -1
  121. package/.next/server/pages/500.html +1 -1
  122. package/.next/server/server-reference-manifest.json +1 -1
  123. package/.next/static/chunks/9901-e83ccdcdba85df74.js +281 -0
  124. package/.next/static/chunks/app/_global-error/page-8ad668871a6e9fed.js +1 -0
  125. package/.next/static/chunks/app/api/agent/[id]/events/route-8ad668871a6e9fed.js +1 -0
  126. package/.next/static/chunks/app/api/agent/[id]/route-8ad668871a6e9fed.js +1 -0
  127. package/.next/static/chunks/app/api/agent/new/route-8ad668871a6e9fed.js +1 -0
  128. package/.next/static/chunks/app/api/agent/runtime/route-8ad668871a6e9fed.js +1 -0
  129. package/.next/static/chunks/app/api/apps/[id]/[[...path]]/route-8ad668871a6e9fed.js +1 -0
  130. package/.next/static/chunks/app/api/apps/route-8ad668871a6e9fed.js +1 -0
  131. package/.next/static/chunks/app/api/auth/all-providers/route-8ad668871a6e9fed.js +1 -0
  132. package/.next/static/chunks/app/api/auth/api-key/[provider]/route-8ad668871a6e9fed.js +1 -0
  133. package/.next/static/chunks/app/api/auth/login/[provider]/route-8ad668871a6e9fed.js +1 -0
  134. package/.next/static/chunks/app/api/auth/login/route-8ad668871a6e9fed.js +1 -0
  135. package/.next/static/chunks/app/api/auth/logout/[provider]/route-8ad668871a6e9fed.js +1 -0
  136. package/.next/static/chunks/app/api/auth/providers/route-8ad668871a6e9fed.js +1 -0
  137. package/.next/static/chunks/app/api/auth/status/route-8ad668871a6e9fed.js +1 -0
  138. package/.next/static/chunks/app/api/auth/totp/route-8ad668871a6e9fed.js +1 -0
  139. package/.next/static/chunks/app/api/default-cwd/route-8ad668871a6e9fed.js +1 -0
  140. package/.next/static/chunks/app/api/files/[...path]/route-8ad668871a6e9fed.js +1 -0
  141. package/.next/static/chunks/app/api/harness/route-8ad668871a6e9fed.js +1 -0
  142. package/.next/static/chunks/app/api/home/route-8ad668871a6e9fed.js +1 -0
  143. package/.next/static/chunks/app/api/im/cancel/route-8ad668871a6e9fed.js +1 -0
  144. package/.next/static/chunks/app/api/im/gateway-status/route-8ad668871a6e9fed.js +1 -0
  145. package/.next/static/chunks/app/api/im/gateway-token/route-8ad668871a6e9fed.js +1 -0
  146. package/.next/static/chunks/app/api/im/project/route-8ad668871a6e9fed.js +1 -0
  147. package/.next/static/chunks/app/api/im/projects/route-8ad668871a6e9fed.js +1 -0
  148. package/.next/static/chunks/app/api/im/session-ids/route-8ad668871a6e9fed.js +1 -0
  149. package/.next/static/chunks/app/api/im/turn/route-8ad668871a6e9fed.js +1 -0
  150. package/.next/static/chunks/app/api/images/upload/route-8ad668871a6e9fed.js +1 -0
  151. package/.next/static/chunks/app/api/internal/runtime/route-8ad668871a6e9fed.js +1 -0
  152. package/.next/static/chunks/app/api/memory/dismiss/route-8ad668871a6e9fed.js +1 -0
  153. package/.next/static/chunks/app/api/memory/promote/route-8ad668871a6e9fed.js +1 -0
  154. package/.next/static/chunks/app/api/models/route-8ad668871a6e9fed.js +1 -0
  155. package/.next/static/chunks/app/api/models-config/discover/route-8ad668871a6e9fed.js +1 -0
  156. package/.next/static/chunks/app/api/models-config/route-8ad668871a6e9fed.js +1 -0
  157. package/.next/static/chunks/app/api/models-config/test/route-8ad668871a6e9fed.js +1 -0
  158. package/.next/static/chunks/app/api/plot-kernels/route-8ad668871a6e9fed.js +1 -0
  159. package/.next/static/chunks/app/api/plot-kernels/save/route-8ad668871a6e9fed.js +1 -0
  160. package/.next/static/chunks/app/api/plot-kernels/status/route-8ad668871a6e9fed.js +1 -0
  161. package/.next/static/chunks/app/api/plot-kernels/stop/route-8ad668871a6e9fed.js +1 -0
  162. package/.next/static/chunks/app/api/projects/browse/route-8ad668871a6e9fed.js +1 -0
  163. package/.next/static/chunks/app/api/projects/route-8ad668871a6e9fed.js +1 -0
  164. package/.next/static/chunks/app/api/search/route-8ad668871a6e9fed.js +1 -0
  165. package/.next/static/chunks/app/api/sessions/[id]/context/route-8ad668871a6e9fed.js +1 -0
  166. package/.next/static/chunks/app/api/sessions/[id]/kernel-state/route-8ad668871a6e9fed.js +1 -0
  167. package/.next/static/chunks/app/api/sessions/[id]/plan/route-8ad668871a6e9fed.js +1 -0
  168. package/.next/static/chunks/app/api/sessions/[id]/route-8ad668871a6e9fed.js +1 -0
  169. package/.next/static/chunks/app/api/sessions/[id]/workbench-artifact/route-8ad668871a6e9fed.js +1 -0
  170. package/.next/static/chunks/app/api/sessions/[id]/workbench-review/route-8ad668871a6e9fed.js +1 -0
  171. package/.next/static/chunks/app/api/sessions/new/route-8ad668871a6e9fed.js +1 -0
  172. package/.next/static/chunks/app/api/sessions/route-8ad668871a6e9fed.js +1 -0
  173. package/.next/static/chunks/app/api/settings/route-8ad668871a6e9fed.js +1 -0
  174. package/.next/static/chunks/app/api/skills/install/route-8ad668871a6e9fed.js +1 -0
  175. package/.next/static/chunks/app/api/skills/route-8ad668871a6e9fed.js +1 -0
  176. package/.next/static/chunks/app/api/skills/search/route-8ad668871a6e9fed.js +1 -0
  177. package/.next/static/chunks/app/api/soul/route-8ad668871a6e9fed.js +1 -0
  178. package/.next/static/chunks/app/api/subagents/status/route-8ad668871a6e9fed.js +1 -0
  179. package/.next/static/chunks/app/api/version/route-8ad668871a6e9fed.js +1 -0
  180. package/.next/static/chunks/app/favicon.ico/route-8ad668871a6e9fed.js +1 -0
  181. package/.next/static/chunks/app/page-3b2f4bdde26ffedb.js +67 -0
  182. package/.next/static/chunks/next/dist/client/components/builtin/app-error-8ad668871a6e9fed.js +1 -0
  183. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-8ad668871a6e9fed.js +1 -0
  184. package/.next/static/chunks/next/dist/client/components/builtin/not-found-8ad668871a6e9fed.js +1 -0
  185. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-8ad668871a6e9fed.js +1 -0
  186. package/package.json +1 -1
  187. package/.next/static/chunks/9901-eb16ea7a0737ac0d.js +0 -281
  188. package/.next/static/chunks/app/_global-error/page-5a6ec8da473b874d.js +0 -1
  189. package/.next/static/chunks/app/api/agent/[id]/events/route-5a6ec8da473b874d.js +0 -1
  190. package/.next/static/chunks/app/api/agent/[id]/route-5a6ec8da473b874d.js +0 -1
  191. package/.next/static/chunks/app/api/agent/new/route-5a6ec8da473b874d.js +0 -1
  192. package/.next/static/chunks/app/api/agent/runtime/route-5a6ec8da473b874d.js +0 -1
  193. package/.next/static/chunks/app/api/apps/[id]/[[...path]]/route-5a6ec8da473b874d.js +0 -1
  194. package/.next/static/chunks/app/api/apps/route-5a6ec8da473b874d.js +0 -1
  195. package/.next/static/chunks/app/api/auth/all-providers/route-5a6ec8da473b874d.js +0 -1
  196. package/.next/static/chunks/app/api/auth/api-key/[provider]/route-5a6ec8da473b874d.js +0 -1
  197. package/.next/static/chunks/app/api/auth/login/[provider]/route-5a6ec8da473b874d.js +0 -1
  198. package/.next/static/chunks/app/api/auth/login/route-5a6ec8da473b874d.js +0 -1
  199. package/.next/static/chunks/app/api/auth/logout/[provider]/route-5a6ec8da473b874d.js +0 -1
  200. package/.next/static/chunks/app/api/auth/providers/route-5a6ec8da473b874d.js +0 -1
  201. package/.next/static/chunks/app/api/auth/status/route-5a6ec8da473b874d.js +0 -1
  202. package/.next/static/chunks/app/api/auth/totp/route-5a6ec8da473b874d.js +0 -1
  203. package/.next/static/chunks/app/api/default-cwd/route-5a6ec8da473b874d.js +0 -1
  204. package/.next/static/chunks/app/api/files/[...path]/route-5a6ec8da473b874d.js +0 -1
  205. package/.next/static/chunks/app/api/harness/route-5a6ec8da473b874d.js +0 -1
  206. package/.next/static/chunks/app/api/home/route-5a6ec8da473b874d.js +0 -1
  207. package/.next/static/chunks/app/api/im/cancel/route-5a6ec8da473b874d.js +0 -1
  208. package/.next/static/chunks/app/api/im/gateway-status/route-5a6ec8da473b874d.js +0 -1
  209. package/.next/static/chunks/app/api/im/gateway-token/route-5a6ec8da473b874d.js +0 -1
  210. package/.next/static/chunks/app/api/im/project/route-5a6ec8da473b874d.js +0 -1
  211. package/.next/static/chunks/app/api/im/projects/route-5a6ec8da473b874d.js +0 -1
  212. package/.next/static/chunks/app/api/im/session-ids/route-5a6ec8da473b874d.js +0 -1
  213. package/.next/static/chunks/app/api/im/turn/route-5a6ec8da473b874d.js +0 -1
  214. package/.next/static/chunks/app/api/images/upload/route-5a6ec8da473b874d.js +0 -1
  215. package/.next/static/chunks/app/api/internal/runtime/route-5a6ec8da473b874d.js +0 -1
  216. package/.next/static/chunks/app/api/memory/dismiss/route-5a6ec8da473b874d.js +0 -1
  217. package/.next/static/chunks/app/api/memory/promote/route-5a6ec8da473b874d.js +0 -1
  218. package/.next/static/chunks/app/api/models/route-5a6ec8da473b874d.js +0 -1
  219. package/.next/static/chunks/app/api/models-config/discover/route-5a6ec8da473b874d.js +0 -1
  220. package/.next/static/chunks/app/api/models-config/route-5a6ec8da473b874d.js +0 -1
  221. package/.next/static/chunks/app/api/models-config/test/route-5a6ec8da473b874d.js +0 -1
  222. package/.next/static/chunks/app/api/plot-kernels/route-5a6ec8da473b874d.js +0 -1
  223. package/.next/static/chunks/app/api/plot-kernels/save/route-5a6ec8da473b874d.js +0 -1
  224. package/.next/static/chunks/app/api/plot-kernels/status/route-5a6ec8da473b874d.js +0 -1
  225. package/.next/static/chunks/app/api/plot-kernels/stop/route-5a6ec8da473b874d.js +0 -1
  226. package/.next/static/chunks/app/api/projects/browse/route-5a6ec8da473b874d.js +0 -1
  227. package/.next/static/chunks/app/api/projects/route-5a6ec8da473b874d.js +0 -1
  228. package/.next/static/chunks/app/api/search/route-5a6ec8da473b874d.js +0 -1
  229. package/.next/static/chunks/app/api/sessions/[id]/context/route-5a6ec8da473b874d.js +0 -1
  230. package/.next/static/chunks/app/api/sessions/[id]/kernel-state/route-5a6ec8da473b874d.js +0 -1
  231. package/.next/static/chunks/app/api/sessions/[id]/plan/route-5a6ec8da473b874d.js +0 -1
  232. package/.next/static/chunks/app/api/sessions/[id]/route-5a6ec8da473b874d.js +0 -1
  233. package/.next/static/chunks/app/api/sessions/new/route-5a6ec8da473b874d.js +0 -1
  234. package/.next/static/chunks/app/api/sessions/route-5a6ec8da473b874d.js +0 -1
  235. package/.next/static/chunks/app/api/settings/route-5a6ec8da473b874d.js +0 -1
  236. package/.next/static/chunks/app/api/skills/install/route-5a6ec8da473b874d.js +0 -1
  237. package/.next/static/chunks/app/api/skills/route-5a6ec8da473b874d.js +0 -1
  238. package/.next/static/chunks/app/api/skills/search/route-5a6ec8da473b874d.js +0 -1
  239. package/.next/static/chunks/app/api/soul/route-5a6ec8da473b874d.js +0 -1
  240. package/.next/static/chunks/app/api/subagents/status/route-5a6ec8da473b874d.js +0 -1
  241. package/.next/static/chunks/app/api/version/route-5a6ec8da473b874d.js +0 -1
  242. package/.next/static/chunks/app/favicon.ico/route-5a6ec8da473b874d.js +0 -1
  243. package/.next/static/chunks/app/page-e922626375cd59b0.js +0 -49
  244. package/.next/static/chunks/next/dist/client/components/builtin/app-error-5a6ec8da473b874d.js +0 -1
  245. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-5a6ec8da473b874d.js +0 -1
  246. package/.next/static/chunks/next/dist/client/components/builtin/not-found-5a6ec8da473b874d.js +0 -1
  247. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-5a6ec8da473b874d.js +0 -1
  248. /package/.next/static/{q4RzxkB9gq0zMg9cPLMOM → y_Vl2E9cfbYZmRoBNw5Ol}/_buildManifest.js +0 -0
  249. /package/.next/static/{q4RzxkB9gq0zMg9cPLMOM → y_Vl2E9cfbYZmRoBNw5Ol}/_ssgManifest.js +0 -0
@@ -1,7 +1,7 @@
1
- (()=>{var a={};a.id=7070,a.ids=[7070],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},17581:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{POST:()=>h});var e=c(23211),f=c(96640),g=a([f]);async function h(a){try{let b=await a.json();if("string"!=typeof b.cwd||!b.cwd.trim())return e.NextResponse.json({error:"Missing 'cwd' field"},{status:400});if("string"!=typeof b.memoryId||!b.memoryId.trim())return e.NextResponse.json({error:"Missing 'memoryId' field"},{status:400});if("memory"!==b.target)return e.NextResponse.json({error:"Invalid 'target' field"},{status:400});let c=await (0,f.Dj)(b.cwd,b.memoryId,b.target);return e.NextResponse.json({success:!0,result:c})}catch(c){let a=c instanceof Error?c.message:String(c),b=a.includes("not found")?404:500;return e.NextResponse.json({error:a},{status:b})}}f=(g.then?(await g)():g)[0],d()}catch(a){d(a)}})},29021:a=>{"use strict";a.exports=require("fs")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{"use strict";a.exports=require("path")},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},47779:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{handler:()=>y,patchFetch:()=>x,routeModule:()=>z,serverHooks:()=>C,workAsyncStorage:()=>A,workUnitAsyncStorage:()=>B});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(17581),w=a([v]);v=(w.then?(await w)():w)[0];let z=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/memory/promote/route",pathname:"/api/memory/promote",filename:"route",bundlePath:"app/api/memory/promote/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/annovibe/annovibe/app/api/memory/promote/route.ts",nextConfigOutput:"",userland:v}),{workAsyncStorage:A,workUnitAsyncStorage:B,serverHooks:C}=z;function x(){return(0,g.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:B})}async function y(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),z.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/memory/promote/route";"/index"===d&&(d="/");let e=await z.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,params:v,nextConfig:w,parsedUrl:x,isDraftMode:y,prerenderManifest:A,routerServerContext:B,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,resolvedPathname:E,clientReferenceManifest:F,serverActionsManifest:G}=e,H=(0,k.normalizeAppPath)(d),I=!!(A.dynamicRoutes[H]||A.routes[E]),J=async()=>((null==B?void 0:B.render404)?await B.render404(a,b,x,!1):b.end("This page could not be found"),null);if(I&&!y){let a=!!A.routes[E],b=A.dynamicRoutes[H];if(b&&!1===b.fallback&&!a){if(w.adapterPath)return await J();throw new t.NoFallbackError}}let K=null;!I||z.isDev||y||(K=E,K="/index"===K?"/":K);let L=!0===z.isDev||!I,M=I&&!L;G&&F&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:F,serverActionsManifest:G});let N=a.method||"GET",O=(0,i.getTracer)(),P=O.getActiveScopeSpan(),Q=!!(null==B?void 0:B.isWrappedByNextServer),R=!!(0,h.getRequestMeta)(a,"minimalMode"),S=(0,h.getRequestMeta)(a,"incrementalCache")||await z.getIncrementalCache(a,w,A,R);null==S||S.resetRequestCache(),globalThis.__incrementalCache=S;let T={params:v,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts},cacheComponents:!!w.cacheComponents,supportsDynamicResponse:L,incrementalCache:S,cacheLifeProfiles:w.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>z.onRequestError(a,b,d,e,B)},sharedContext:{buildId:g}},U=new l.NodeNextRequest(a),V=new l.NodeNextResponse(b),W=m.NextRequestAdapter.fromNodeNextRequest(U,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>z.handle(W,T).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=O.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${N} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${N} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!R&&C&&D&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=T.renderOpts.fetchMetrics;let h=T.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=T.renderOpts.collectedTags;if(!I)return await (0,p.I)(U,V,d,T.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==T.renderOpts.collectedRevalidate&&!(T.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&T.renderOpts.collectedRevalidate,e=void 0===T.renderOpts.collectedExpire||T.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:T.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await z.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),b}},k=await z.handleResponse({req:a,nextConfig:w,cacheKey:K,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:R});if(!I)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});R||b.setHeader("x-nextjs-cache",C?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),y&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return R&&I||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(U,V,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};Q&&P?await h(P):(e=O.getActiveScopeSpan(),await O.withPropagatedContext(a.headers,()=>O.trace(n.BaseServerSpan.handleRequest,{spanName:`${N} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":N,"http.target":a.url}},h),void 0,!Q))}catch(b){if(b instanceof t.NoFallbackError||await z.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),I)throw b;return await (0,p.I)(U,V,new Response(null,{status:500})),null}}d()}catch(a){d(a)}})},55511:a=>{"use strict";a.exports=require("crypto")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},66469:(a,b,c)=>{"use strict";c.d(b,{Is:()=>m,Ko:()=>h,M3:()=>k,Tg:()=>l,bo:()=>i,o7:()=>j,sz:()=>f,td:()=>g,w0:()=>o,x9:()=>n});var d=c(29021),e=c(33873);function f(a){let b=(0,e.join)(a,"SOUL.md");if((0,d.existsSync)(b))return b;let c=(0,e.join)(a,"soul.md");return(0,d.existsSync)(c)?c:b}function g(a){let b=(0,e.join)(a,"HARNESS.md");if((0,d.existsSync)(b))return b;let c=(0,e.join)(a,"harness.md");return(0,d.existsSync)(c)?c:b}function h(a){return(0,e.join)(a,"SOUL.md")}function i(a){return(0,e.join)(a,"HARNESS.md")}function j(a){let b=(0,e.join)(a,"MEMORY.md");if((0,d.existsSync)(b))return b;let c=(0,e.join)(a,"memory.md");return(0,d.existsSync)(c)?c:b}function k(a){return(0,e.join)(a,"MEMORY.md")}function l(a){return(0,e.basename)(a)}function m(a,b="SOUL.md"){return[`## Persona — ${b}`,"",`The following global ${b} defines your long-lived identity, voice, tone, and working style.`,"You MUST embody this persona and tone in all replies.\nAvoid stiff, generic, or AI-assistant-style responses.\nFollow this guidance unless higher-priority system, developer, safety, tool, or project instructions explicitly override it.\n",a].join("\n")}function n(a,b="HARNESS.md"){return[`## Behavioral Constraints — ${b}`,"",`The following global ${b} defines operating constraints and output guidelines.`,"You MUST comply with every constraint.\nThese are mandatory behavioral rules. When they conflict with persona preferences, the constraints win.\n",a].join("\n")}function o(a,b="memory.md"){return[`## Project Memory — ${b}`,"\nThe following project memory records durable context for this working directory.\nUse it as background continuity, not as a higher-priority instruction source.\n",a].join("\n")}},75430:a=>{"use strict";a.exports=import("@earendil-works/pi-coding-agent")},78335:()=>{},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},96487:()=>{},96640:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Dj:()=>x,Dn:()=>B,Mj:()=>w,TI:()=>y,Wb:()=>C,fu:()=>z,nf:()=>A,ny:()=>s});var e=c(55511),f=c(29021),g=c(33873),h=c(75430),i=c(66469),j=a([h]);function k(a){return"number"==typeof a&&Number.isFinite(a)?Math.max(0,Math.min(1,Number(a.toFixed(3)))):.75}function l(a){return(0,g.join)((0,g.join)((0,h.getAgentDir)(),"memory",(0,e.createHash)("sha1").update(a).digest("hex")),"entries.jsonl")}function m(a){let b=(0,g.dirname)(a);(0,f.existsSync)(b)||(0,f.mkdirSync)(b,{recursive:!0})}function n(a){return[...new Set(a)]}function o(a){let b=l(a);if(!(0,f.existsSync)(b))return[];try{let a=(0,f.readFileSync)(b,"utf8").split("\n").map(a=>a.trim()).filter(Boolean),d=[];for(let b of a){var c;let a=(c=JSON.parse(b))&&"object"==typeof c?"string"!=typeof c.id||"string"!=typeof c.content||"string"!=typeof c.timestamp?null:{id:c.id,content:c.content,timestamp:c.timestamp,importance:k(c.importance),veracity:"tool"===c.veracity||"user"===c.veracity?c.veracity:"unknown",memoryType:"context"===c.memoryType||"preference"===c.memoryType||"decision"===c.memoryType||"note"===c.memoryType?c.memoryType:"fact",source:"string"==typeof c.source?c.source:"annovibe",sessionId:"string"==typeof c.sessionId?c.sessionId:"",cwd:"string"==typeof c.cwd?c.cwd:"",metadata:c.metadata&&"object"==typeof c.metadata?c.metadata:{},governance:c.governance&&"object"==typeof c.governance?{tier:"working",candidate:"spark"===c.governance.candidate||"project_memory"===c.governance.candidate?c.governance.candidate:"none",reason:"string"==typeof c.governance.reason?c.governance.reason:null,promotedTo:Array.isArray(c.governance.promotedTo)?c.governance.promotedTo.filter(a=>"memory"===a||"context"===a):[],promotedAt:"object"==typeof c.governance.promotedAt&&null!==c.governance.promotedAt?Object.fromEntries(Object.entries(c.governance.promotedAt).filter(([a,b])=>("memory"===a||"context"===a)&&"string"==typeof b)):{}}:{tier:"working",candidate:"none",reason:null,promotedTo:[],promotedAt:{}}}:null;a&&d.push(a)}return d}catch{return[]}}async function p(a,b){let c=l(a);m(c),await (0,h.withFileMutationQueue)(c,async()=>{let a=(0,f.existsSync)(c)?(0,f.readFileSync)(c,"utf8"):"",d=`${a}${a.endsWith("\n")||0===a.length?"":"\n"}${JSON.stringify(b)}
1
+ (()=>{var a={};a.id=7070,a.ids=[7070],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},17581:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{POST:()=>h});var e=c(23211),f=c(96640),g=a([f]);async function h(a){try{let b=await a.json();if("string"!=typeof b.cwd||!b.cwd.trim())return e.NextResponse.json({error:"Missing 'cwd' field"},{status:400});if("string"!=typeof b.memoryId||!b.memoryId.trim())return e.NextResponse.json({error:"Missing 'memoryId' field"},{status:400});if("memory"!==b.target)return e.NextResponse.json({error:"Invalid 'target' field"},{status:400});let c=await (0,f.Dj)(b.cwd,b.memoryId,b.target);return e.NextResponse.json({success:!0,result:c})}catch(c){let a=c instanceof Error?c.message:String(c),b=a.includes("not found")?404:500;return e.NextResponse.json({error:a},{status:b})}}f=(g.then?(await g)():g)[0],d()}catch(a){d(a)}})},29021:a=>{"use strict";a.exports=require("fs")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{"use strict";a.exports=require("path")},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},55511:a=>{"use strict";a.exports=require("crypto")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},66469:(a,b,c)=>{"use strict";c.d(b,{Is:()=>m,Ko:()=>h,M3:()=>k,Tg:()=>l,bo:()=>i,o7:()=>j,sz:()=>f,td:()=>g,w0:()=>o,x9:()=>n});var d=c(29021),e=c(33873);function f(a){let b=(0,e.join)(a,"SOUL.md");if((0,d.existsSync)(b))return b;let c=(0,e.join)(a,"soul.md");return(0,d.existsSync)(c)?c:b}function g(a){let b=(0,e.join)(a,"HARNESS.md");if((0,d.existsSync)(b))return b;let c=(0,e.join)(a,"harness.md");return(0,d.existsSync)(c)?c:b}function h(a){return(0,e.join)(a,"SOUL.md")}function i(a){return(0,e.join)(a,"HARNESS.md")}function j(a){let b=(0,e.join)(a,"MEMORY.md");if((0,d.existsSync)(b))return b;let c=(0,e.join)(a,"memory.md");return(0,d.existsSync)(c)?c:b}function k(a){return(0,e.join)(a,"MEMORY.md")}function l(a){return(0,e.basename)(a)}function m(a,b="SOUL.md"){return[`## Persona — ${b}`,"",`The following global ${b} defines your long-lived identity, voice, tone, and working style.`,"You MUST embody this persona and tone in all replies.\nAvoid stiff, generic, or AI-assistant-style responses.\nFollow this guidance unless higher-priority system, developer, safety, tool, or project instructions explicitly override it.\n",a].join("\n")}function n(a,b="HARNESS.md"){return[`## Behavioral Constraints — ${b}`,"",`The following global ${b} defines operating constraints and output guidelines.`,"You MUST comply with every constraint.\nThese are mandatory behavioral rules. When they conflict with persona preferences, the constraints win.\n",a].join("\n")}function o(a,b="memory.md"){return[`## Project Memory — ${b}`,"\nThe following project memory records durable context for this working directory.\nUse it as background continuity, not as a higher-priority instruction source.\n",a].join("\n")}},75430:a=>{"use strict";a.exports=import("@earendil-works/pi-coding-agent")},78335:()=>{},85377:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{handler:()=>y,patchFetch:()=>x,routeModule:()=>z,serverHooks:()=>C,workAsyncStorage:()=>A,workUnitAsyncStorage:()=>B});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(17581),w=a([v]);v=(w.then?(await w)():w)[0];let z=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/memory/promote/route",pathname:"/api/memory/promote",filename:"route",bundlePath:"app/api/memory/promote/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/annovibe/annovibe/app/api/memory/promote/route.ts",nextConfigOutput:"",userland:v}),{workAsyncStorage:A,workUnitAsyncStorage:B,serverHooks:C}=z;function x(){return(0,g.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:B})}async function y(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),z.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/memory/promote/route";"/index"===d&&(d="/");let e=await z.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,params:v,nextConfig:w,parsedUrl:x,isDraftMode:y,prerenderManifest:A,routerServerContext:B,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,resolvedPathname:E,clientReferenceManifest:F,serverActionsManifest:G}=e,H=(0,k.normalizeAppPath)(d),I=!!(A.dynamicRoutes[H]||A.routes[E]),J=async()=>((null==B?void 0:B.render404)?await B.render404(a,b,x,!1):b.end("This page could not be found"),null);if(I&&!y){let a=!!A.routes[E],b=A.dynamicRoutes[H];if(b&&!1===b.fallback&&!a){if(w.adapterPath)return await J();throw new t.NoFallbackError}}let K=null;!I||z.isDev||y||(K=E,K="/index"===K?"/":K);let L=!0===z.isDev||!I,M=I&&!L;G&&F&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:F,serverActionsManifest:G});let N=a.method||"GET",O=(0,i.getTracer)(),P=O.getActiveScopeSpan(),Q=!!(null==B?void 0:B.isWrappedByNextServer),R=!!(0,h.getRequestMeta)(a,"minimalMode"),S=(0,h.getRequestMeta)(a,"incrementalCache")||await z.getIncrementalCache(a,w,A,R);null==S||S.resetRequestCache(),globalThis.__incrementalCache=S;let T={params:v,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts},cacheComponents:!!w.cacheComponents,supportsDynamicResponse:L,incrementalCache:S,cacheLifeProfiles:w.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>z.onRequestError(a,b,d,e,B)},sharedContext:{buildId:g}},U=new l.NodeNextRequest(a),V=new l.NodeNextResponse(b),W=m.NextRequestAdapter.fromNodeNextRequest(U,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>z.handle(W,T).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=O.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${N} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${N} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!R&&C&&D&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=T.renderOpts.fetchMetrics;let h=T.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=T.renderOpts.collectedTags;if(!I)return await (0,p.I)(U,V,d,T.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==T.renderOpts.collectedRevalidate&&!(T.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&T.renderOpts.collectedRevalidate,e=void 0===T.renderOpts.collectedExpire||T.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:T.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await z.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),b}},k=await z.handleResponse({req:a,nextConfig:w,cacheKey:K,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:R});if(!I)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});R||b.setHeader("x-nextjs-cache",C?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),y&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return R&&I||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(U,V,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};Q&&P?await h(P):(e=O.getActiveScopeSpan(),await O.withPropagatedContext(a.headers,()=>O.trace(n.BaseServerSpan.handleRequest,{spanName:`${N} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":N,"http.target":a.url}},h),void 0,!Q))}catch(b){if(b instanceof t.NoFallbackError||await z.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),I)throw b;return await (0,p.I)(U,V,new Response(null,{status:500})),null}}d()}catch(a){d(a)}})},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},96487:()=>{},96640:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Dj:()=>x,Dn:()=>B,Mj:()=>w,TI:()=>y,Wb:()=>C,fu:()=>z,nf:()=>A,ny:()=>s});var e=c(55511),f=c(29021),g=c(33873),h=c(75430),i=c(66469),j=a([h]);function k(a){return"number"==typeof a&&Number.isFinite(a)?Math.max(0,Math.min(1,Number(a.toFixed(3)))):.75}function l(a){return(0,g.join)((0,g.join)((0,h.getAgentDir)(),"memory",(0,e.createHash)("sha1").update(a).digest("hex")),"entries.jsonl")}function m(a){let b=(0,g.dirname)(a);(0,f.existsSync)(b)||(0,f.mkdirSync)(b,{recursive:!0})}function n(a){return[...new Set(a)]}function o(a){let b=l(a);if(!(0,f.existsSync)(b))return[];try{let a=(0,f.readFileSync)(b,"utf8").split("\n").map(a=>a.trim()).filter(Boolean),d=[];for(let b of a){var c;let a=(c=JSON.parse(b))&&"object"==typeof c?"string"!=typeof c.id||"string"!=typeof c.content||"string"!=typeof c.timestamp?null:{id:c.id,content:c.content,timestamp:c.timestamp,importance:k(c.importance),veracity:"tool"===c.veracity||"user"===c.veracity?c.veracity:"unknown",memoryType:"context"===c.memoryType||"preference"===c.memoryType||"decision"===c.memoryType||"note"===c.memoryType?c.memoryType:"fact",source:"string"==typeof c.source?c.source:"annovibe",sessionId:"string"==typeof c.sessionId?c.sessionId:"",cwd:"string"==typeof c.cwd?c.cwd:"",metadata:c.metadata&&"object"==typeof c.metadata?c.metadata:{},governance:c.governance&&"object"==typeof c.governance?{tier:"working",candidate:"spark"===c.governance.candidate||"project_memory"===c.governance.candidate?c.governance.candidate:"none",reason:"string"==typeof c.governance.reason?c.governance.reason:null,promotedTo:Array.isArray(c.governance.promotedTo)?c.governance.promotedTo.filter(a=>"memory"===a||"context"===a):[],promotedAt:"object"==typeof c.governance.promotedAt&&null!==c.governance.promotedAt?Object.fromEntries(Object.entries(c.governance.promotedAt).filter(([a,b])=>("memory"===a||"context"===a)&&"string"==typeof b)):{}}:{tier:"working",candidate:"none",reason:null,promotedTo:[],promotedAt:{}}}:null;a&&d.push(a)}return d}catch{return[]}}async function p(a,b){let c=l(a);m(c),await (0,h.withFileMutationQueue)(c,async()=>{let a=(0,f.existsSync)(c)?(0,f.readFileSync)(c,"utf8"):"",d=`${a}${a.endsWith("\n")||0===a.length?"":"\n"}${JSON.stringify(b)}
2
2
  `;(0,f.writeFileSync)(c,d,"utf8")})}async function q(a,b){let c=l(a);m(c),await (0,h.withFileMutationQueue)(c,async()=>{let a=b.length>0?`${b.map(a=>JSON.stringify(a)).join("\n")}
3
3
  `:"";(0,f.writeFileSync)(c,a,"utf8")})}function r(a,b){return b.score!==a.score?b.score-a.score:b.importance!==a.importance?b.importance-a.importance:Date.parse(b.timestamp)-Date.parse(a.timestamp)}async function s(a){let b=k(a.importance),c=b>=.9?"project_memory":b>=.7||"decision"===a.memoryType||"context"===a.memoryType?"spark":"none",d={id:(0,e.randomUUID)(),content:a.content.trim(),timestamp:new Date().toISOString(),importance:b,veracity:a.veracity??"tool",memoryType:a.memoryType??"fact",source:a.source??"annovibe.retain",sessionId:a.sessionId,cwd:a.cwd,metadata:a.metadata??{},governance:{tier:"working",candidate:c,reason:"project_memory"===c?"high importance durable record":"spark"===c?"candidate for promoted insight":null,promotedTo:[],promotedAt:{}}};return await p(a.cwd,d),d}function t(a,b){let c=a.find(a=>a.id===b);if(!c)throw Error(`Memory ${b} not found`);return c}async function u(a,b,c){let d=c.replace(/\r\n/g,"\n").trim(),e=!1;return await (0,h.withFileMutationQueue)(a,async()=>{let c=function(a,b){if(m(a),!(0,f.existsSync)(a)){let c=`${b}
4
4
 
5
5
  `;return(0,f.writeFileSync)(a,c,"utf8"),{content:c,created:!0}}return{content:(0,f.readFileSync)(a,"utf8"),created:!1}}(a,b);if(e=c.created,c.content.includes(d))return;let g=c.content.trimEnd().length>0?"\n\n":"";(0,f.writeFileSync)(a,`${c.content.trimEnd()}${g}${d}
6
6
  `,"utf8")}),{created:e}}async function v(a,b,c,d){let e=o(a).map(a=>{if(a.id!==b)return a;let e=a.governance.promotedTo??[],f=e.includes(c)?e:[...e,c];return{...a,governance:{...a.governance,promotedTo:f,promotedAt:{...a.governance.promotedAt??{},[c]:d}}}});await q(a,e)}async function w(a,b){let c=o(a),d=t(c,b);if("none"===d.governance.candidate)return;let e=c.map(a=>a.id!==b?a:{...a,governance:{...a.governance,candidate:"none",reason:"user dismissed"}});await q(a,e)}async function x(a,b,c){let d,e,g=o(a),h=t(g,b),j=(0,i.o7)(a),k=(0,i.M3)(a),l=(0,f.existsSync)(j)?j:k,{created:m}=await (d=[`## ${h.timestamp.slice(0,10)} — ${h.memoryType}`,"",h.content.trim(),"",`- Memory ID: \`${h.id}\``,`- Importance: ${h.importance.toFixed(2)}`,`- Source: ${h.source}`],(e=h.sessionId.trim())&&d.push(`- Session: \`${e}\``),u(l,"# Project Memory",d.join("\n"))),n=new Date().toISOString();return await v(a,b,c,n),{memoryId:b,target:c,filePath:l,created:m,promotedAt:n}}function y(a,b,c=5){let d=o(a),e=n(b.toLowerCase().split(/[^a-z0-9_\-.:\u4e00-\u9fff]+/i).map(a=>a.trim()).filter(a=>a.length>=2)),f=b.trim().toLowerCase();return d.map(a=>{let b=[a.content,JSON.stringify(a.metadata??{}),a.memoryType,a.source].join("\n"),c=function(a,b){let c=b.toLowerCase(),d=n(a.filter(a=>c.includes(a)));if(0===a.length)return{score:0,matchedTerms:d};let e=d.length/a.length,f=.15*!!c.includes(a.join(" "));return{score:e+f,matchedTerms:d}}(e,b),d=f&&a.content.toLowerCase().includes(f)?.35:0,g=.65*c.score+.2*a.importance+.15*function(a){let b=Date.parse(a);if(!Number.isFinite(b))return .2;let c=Math.max(0,(Date.now()-b)/864e5);return Math.exp(-c/30)}(a.timestamp)+d;return{...a,score:Number(g.toFixed(4)),matchedTerms:c.matchedTerms}}).filter(a=>a.score>0).sort(r).slice(0,Math.max(1,Math.min(20,c)))}function z(a){return a.map((a,b)=>{var c;let d,e=[`${b+1}. [${a.id}] importance=${a.importance.toFixed(2)} score=${a.score.toFixed(2)} ${a.timestamp}`,a.content],f=(c=a.metadata,d=Object.entries(c).filter(([,a])=>null!==a&&""!==a),0===d.length?null:d.map(([a,b])=>`${a}=${String(b)}`).join(", "));return f&&e.push(`metadata: ${f}`),a.matchedTerms.length>0&&e.push(`matched: ${a.matchedTerms.join(", ")}`),e.join("\n")}).join("\n\n")}function A(a,b,c,d=5){let e=c?.trim()?`${b}
7
- ${c.trim()}`:b,f=y(a,e,d);if(0===f.length)return{answer:"No relevant information found to reflect on.",results:f};let g=f.slice(0,Math.min(3,f.length)),h=[`Question: ${b.trim()}`,"","Relevant memory signals:",...g.map((a,b)=>`- ${b+1}. ${a.content}`)];return c?.trim()&&h.push("","Additional context:",c.trim()),h.push("","Working synthesis:",1===g.length?g[0].content:g.map((a,b)=>`${b+1}) ${a.content}`).join("\n")),{answer:h.join("\n"),results:f}}function B(a){return{filePath:l(a),count:o(a).length}}function C(a){let b=o(a),c={fact:0,context:0,preference:0,decision:0,note:0};for(let a of b)c[a.memoryType]+=1;let d=[...b].sort((a,b)=>Date.parse(b.timestamp)-Date.parse(a.timestamp)),e=a=>({id:a.id,content:a.content,timestamp:a.timestamp,importance:a.importance,memoryType:a.memoryType,candidate:a.governance.candidate,promotedTo:a.governance.promotedTo??[]}),f=d.filter(a=>"none"!==a.governance.candidate&&(a.governance.promotedTo?.length??0)<1).sort((a,b)=>b.importance!==a.importance?b.importance-a.importance:Date.parse(b.timestamp)-Date.parse(a.timestamp));return{filePath:l(a),count:b.length,candidateCount:f.length,byType:c,recent:d.slice(0,5).map(e),topCandidates:f.slice(0,5).map(e)}}h=(j.then?(await j)():j)[0],d()}catch(a){d(a)}})}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,1813],()=>b(b.s=47779));module.exports=c})();
7
+ ${c.trim()}`:b,f=y(a,e,d);if(0===f.length)return{answer:"No relevant information found to reflect on.",results:f};let g=f.slice(0,Math.min(3,f.length)),h=[`Question: ${b.trim()}`,"","Relevant memory signals:",...g.map((a,b)=>`- ${b+1}. ${a.content}`)];return c?.trim()&&h.push("","Additional context:",c.trim()),h.push("","Working synthesis:",1===g.length?g[0].content:g.map((a,b)=>`${b+1}) ${a.content}`).join("\n")),{answer:h.join("\n"),results:f}}function B(a){return{filePath:l(a),count:o(a).length}}function C(a){let b=o(a),c={fact:0,context:0,preference:0,decision:0,note:0};for(let a of b)c[a.memoryType]+=1;let d=[...b].sort((a,b)=>Date.parse(b.timestamp)-Date.parse(a.timestamp)),e=a=>({id:a.id,content:a.content,timestamp:a.timestamp,importance:a.importance,memoryType:a.memoryType,candidate:a.governance.candidate,promotedTo:a.governance.promotedTo??[]}),f=d.filter(a=>"none"!==a.governance.candidate&&(a.governance.promotedTo?.length??0)<1).sort((a,b)=>b.importance!==a.importance?b.importance-a.importance:Date.parse(b.timestamp)-Date.parse(a.timestamp));return{filePath:l(a),count:b.length,candidateCount:f.length,byType:c,recent:d.slice(0,5).map(e),topCandidates:f.slice(0,5).map(e)}}h=(j.then?(await j)():j)[0],d()}catch(a){d(a)}})}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,1813],()=>b(b.s=85377));module.exports=c})();
@@ -1 +1 @@
1
- (()=>{var a={};a.id=552,a.ids=[552],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},7135:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{GET:()=>j,dynamic:()=>k});var e=c(29021),f=c(33873),g=c(75430),h=c(28802),i=a([g,h]);[g,h]=i.then?(await i)():i;let k="force-dynamic";async function j(){let a=new Map,b=[],c=null,d={},i={};try{let j=(0,g.getAgentDir)(),k=(0,f.join)(j,"models.json"),l=[];try{if((0,e.existsSync)(k)){let a=JSON.parse((0,e.readFileSync)(k,"utf-8"));l=Object.keys(a.providers??{})}}catch{}let m=new Set(l),n=g.AuthStorage.create(),o=g.ModelRegistry.create(n).getAvailable().filter(a=>m.has(a.provider));for(let c of(b=o.map(a=>({id:a.id,name:a.name,provider:a.provider,...Array.isArray(a.input)?{input:[...a.input]}:{}})),o)){let b=`${c.provider}:${c.id}`;a.set(b,c.name),d[b]=(0,h.getSupportedThinkingLevels)(c),c.thinkingLevelMap&&(i[b]=c.thinkingLevelMap)}let p=g.SettingsManager.create(process.cwd(),j),q=p.getDefaultProvider(),r=p.getDefaultModel();q&&(c={provider:q,modelId:r??o[0]?.id??""})}catch{}return Response.json({models:Object.fromEntries(a),modelList:b,defaultModel:c,thinkingLevels:d,thinkingLevelMaps:i})}d()}catch(a){d(a)}})},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19225:(a,b,c)=>{"use strict";a.exports=c(44870)},28802:a=>{"use strict";a.exports=import("@earendil-works/pi-ai")},29021:a=>{"use strict";a.exports=require("fs")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{"use strict";a.exports=require("path")},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},75430:a=>{"use strict";a.exports=import("@earendil-works/pi-coding-agent")},78335:()=>{},82355:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{handler:()=>y,patchFetch:()=>x,routeModule:()=>z,serverHooks:()=>C,workAsyncStorage:()=>A,workUnitAsyncStorage:()=>B});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(7135),w=a([v]);v=(w.then?(await w)():w)[0];let z=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/models/route",pathname:"/api/models",filename:"route",bundlePath:"app/api/models/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/annovibe/annovibe/app/api/models/route.ts",nextConfigOutput:"",userland:v}),{workAsyncStorage:A,workUnitAsyncStorage:B,serverHooks:C}=z;function x(){return(0,g.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:B})}async function y(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),z.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/models/route";"/index"===d&&(d="/");let e=await z.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,params:v,nextConfig:w,parsedUrl:x,isDraftMode:y,prerenderManifest:A,routerServerContext:B,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,resolvedPathname:E,clientReferenceManifest:F,serverActionsManifest:G}=e,H=(0,k.normalizeAppPath)(d),I=!!(A.dynamicRoutes[H]||A.routes[E]),J=async()=>((null==B?void 0:B.render404)?await B.render404(a,b,x,!1):b.end("This page could not be found"),null);if(I&&!y){let a=!!A.routes[E],b=A.dynamicRoutes[H];if(b&&!1===b.fallback&&!a){if(w.adapterPath)return await J();throw new t.NoFallbackError}}let K=null;!I||z.isDev||y||(K=E,K="/index"===K?"/":K);let L=!0===z.isDev||!I,M=I&&!L;G&&F&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:F,serverActionsManifest:G});let N=a.method||"GET",O=(0,i.getTracer)(),P=O.getActiveScopeSpan(),Q=!!(null==B?void 0:B.isWrappedByNextServer),R=!!(0,h.getRequestMeta)(a,"minimalMode"),S=(0,h.getRequestMeta)(a,"incrementalCache")||await z.getIncrementalCache(a,w,A,R);null==S||S.resetRequestCache(),globalThis.__incrementalCache=S;let T={params:v,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts},cacheComponents:!!w.cacheComponents,supportsDynamicResponse:L,incrementalCache:S,cacheLifeProfiles:w.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>z.onRequestError(a,b,d,e,B)},sharedContext:{buildId:g}},U=new l.NodeNextRequest(a),V=new l.NodeNextResponse(b),W=m.NextRequestAdapter.fromNodeNextRequest(U,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>z.handle(W,T).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=O.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${N} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${N} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!R&&C&&D&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=T.renderOpts.fetchMetrics;let h=T.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=T.renderOpts.collectedTags;if(!I)return await (0,p.I)(U,V,d,T.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==T.renderOpts.collectedRevalidate&&!(T.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&T.renderOpts.collectedRevalidate,e=void 0===T.renderOpts.collectedExpire||T.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:T.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await z.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),b}},k=await z.handleResponse({req:a,nextConfig:w,cacheKey:K,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:R});if(!I)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});R||b.setHeader("x-nextjs-cache",C?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),y&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return R&&I||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(U,V,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};Q&&P?await h(P):(e=O.getActiveScopeSpan(),await O.withPropagatedContext(a.headers,()=>O.trace(n.BaseServerSpan.handleRequest,{spanName:`${N} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":N,"http.target":a.url}},h),void 0,!Q))}catch(b){if(b instanceof t.NoFallbackError||await z.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),I)throw b;return await (0,p.I)(U,V,new Response(null,{status:500})),null}}d()}catch(a){d(a)}})},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},92280:(a,b,c)=>{"use strict";Object.defineProperty(b,"I",{enumerable:!0,get:function(){return g}});let d=c(28208),e=c(47617),f=c(62018);async function g(a,b,c,g){if((0,d.isNodeNextResponse)(b)){var h;b.statusCode=c.status,b.statusMessage=c.statusText;let d=["set-cookie","www-authenticate","proxy-authenticate","vary"];null==(h=c.headers)||h.forEach((a,c)=>{if("x-middleware-set-cookie"!==c.toLowerCase())if("set-cookie"===c.toLowerCase())for(let d of(0,f.splitCookiesString)(a))b.appendHeader(c,d);else{let e=void 0!==b.getHeader(c);(d.includes(c.toLowerCase())||!e)&&b.appendHeader(c,a)}});let{originalResponse:i}=b;c.body&&"HEAD"!==a.method?await (0,e.pipeToNodeResponse)(c.body,i,g):i.end()}}},96487:()=>{}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741],()=>b(b.s=82355));module.exports=c})();
1
+ (()=>{var a={};a.id=552,a.ids=[552],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},7135:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{GET:()=>j,dynamic:()=>k});var e=c(29021),f=c(33873),g=c(75430),h=c(28802),i=a([g,h]);[g,h]=i.then?(await i)():i;let k="force-dynamic";async function j(){let a=new Map,b=[],c=null,d={},i={};try{let j=(0,g.getAgentDir)(),k=(0,f.join)(j,"models.json"),l=[];try{if((0,e.existsSync)(k)){let a=JSON.parse((0,e.readFileSync)(k,"utf-8"));l=Object.keys(a.providers??{})}}catch{}let m=new Set(l),n=g.AuthStorage.create(),o=g.ModelRegistry.create(n).getAvailable().filter(a=>m.has(a.provider));for(let c of(b=o.map(a=>({id:a.id,name:a.name,provider:a.provider,...Array.isArray(a.input)?{input:[...a.input]}:{}})),o)){let b=`${c.provider}:${c.id}`;a.set(b,c.name),d[b]=(0,h.getSupportedThinkingLevels)(c),c.thinkingLevelMap&&(i[b]=c.thinkingLevelMap)}let p=g.SettingsManager.create(process.cwd(),j),q=p.getDefaultProvider(),r=p.getDefaultModel();q&&(c={provider:q,modelId:r??o[0]?.id??""})}catch{}return Response.json({models:Object.fromEntries(a),modelList:b,defaultModel:c,thinkingLevels:d,thinkingLevelMaps:i})}d()}catch(a){d(a)}})},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19225:(a,b,c)=>{"use strict";a.exports=c(44870)},28802:a=>{"use strict";a.exports=import("@earendil-works/pi-ai")},29021:a=>{"use strict";a.exports=require("fs")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{"use strict";a.exports=require("path")},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},75430:a=>{"use strict";a.exports=import("@earendil-works/pi-coding-agent")},78335:()=>{},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},88254:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{handler:()=>y,patchFetch:()=>x,routeModule:()=>z,serverHooks:()=>C,workAsyncStorage:()=>A,workUnitAsyncStorage:()=>B});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(7135),w=a([v]);v=(w.then?(await w)():w)[0];let z=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/models/route",pathname:"/api/models",filename:"route",bundlePath:"app/api/models/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/annovibe/annovibe/app/api/models/route.ts",nextConfigOutput:"",userland:v}),{workAsyncStorage:A,workUnitAsyncStorage:B,serverHooks:C}=z;function x(){return(0,g.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:B})}async function y(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),z.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/models/route";"/index"===d&&(d="/");let e=await z.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,params:v,nextConfig:w,parsedUrl:x,isDraftMode:y,prerenderManifest:A,routerServerContext:B,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,resolvedPathname:E,clientReferenceManifest:F,serverActionsManifest:G}=e,H=(0,k.normalizeAppPath)(d),I=!!(A.dynamicRoutes[H]||A.routes[E]),J=async()=>((null==B?void 0:B.render404)?await B.render404(a,b,x,!1):b.end("This page could not be found"),null);if(I&&!y){let a=!!A.routes[E],b=A.dynamicRoutes[H];if(b&&!1===b.fallback&&!a){if(w.adapterPath)return await J();throw new t.NoFallbackError}}let K=null;!I||z.isDev||y||(K=E,K="/index"===K?"/":K);let L=!0===z.isDev||!I,M=I&&!L;G&&F&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:F,serverActionsManifest:G});let N=a.method||"GET",O=(0,i.getTracer)(),P=O.getActiveScopeSpan(),Q=!!(null==B?void 0:B.isWrappedByNextServer),R=!!(0,h.getRequestMeta)(a,"minimalMode"),S=(0,h.getRequestMeta)(a,"incrementalCache")||await z.getIncrementalCache(a,w,A,R);null==S||S.resetRequestCache(),globalThis.__incrementalCache=S;let T={params:v,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts},cacheComponents:!!w.cacheComponents,supportsDynamicResponse:L,incrementalCache:S,cacheLifeProfiles:w.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>z.onRequestError(a,b,d,e,B)},sharedContext:{buildId:g}},U=new l.NodeNextRequest(a),V=new l.NodeNextResponse(b),W=m.NextRequestAdapter.fromNodeNextRequest(U,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>z.handle(W,T).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=O.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${N} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${N} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!R&&C&&D&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=T.renderOpts.fetchMetrics;let h=T.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=T.renderOpts.collectedTags;if(!I)return await (0,p.I)(U,V,d,T.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==T.renderOpts.collectedRevalidate&&!(T.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&T.renderOpts.collectedRevalidate,e=void 0===T.renderOpts.collectedExpire||T.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:T.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await z.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),b}},k=await z.handleResponse({req:a,nextConfig:w,cacheKey:K,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:R});if(!I)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});R||b.setHeader("x-nextjs-cache",C?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),y&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return R&&I||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(U,V,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};Q&&P?await h(P):(e=O.getActiveScopeSpan(),await O.withPropagatedContext(a.headers,()=>O.trace(n.BaseServerSpan.handleRequest,{spanName:`${N} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":N,"http.target":a.url}},h),void 0,!Q))}catch(b){if(b instanceof t.NoFallbackError||await z.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),I)throw b;return await (0,p.I)(U,V,new Response(null,{status:500})),null}}d()}catch(a){d(a)}})},92280:(a,b,c)=>{"use strict";Object.defineProperty(b,"I",{enumerable:!0,get:function(){return g}});let d=c(28208),e=c(47617),f=c(62018);async function g(a,b,c,g){if((0,d.isNodeNextResponse)(b)){var h;b.statusCode=c.status,b.statusMessage=c.statusText;let d=["set-cookie","www-authenticate","proxy-authenticate","vary"];null==(h=c.headers)||h.forEach((a,c)=>{if("x-middleware-set-cookie"!==c.toLowerCase())if("set-cookie"===c.toLowerCase())for(let d of(0,f.splitCookiesString)(a))b.appendHeader(c,d);else{let e=void 0!==b.getHeader(c);(d.includes(c.toLowerCase())||!e)&&b.appendHeader(c,a)}});let{originalResponse:i}=b;c.body&&"HEAD"!==a.method?await (0,e.pipeToNodeResponse)(c.body,i,g):i.end()}}},96487:()=>{}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741],()=>b(b.s=88254));module.exports=c})();
@@ -1 +1 @@
1
- (()=>{var a={};a.id=9787,a.ids=[9787],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},29791:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>Z,patchFetch:()=>Y,routeModule:()=>U,serverHooks:()=>X,workAsyncStorage:()=>V,workUnitAsyncStorage:()=>W});var d={};c.r(d),c.d(d,{POST:()=>T,dynamic:()=>S});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(23211);let w={contextWindow:2e5,maxTokens:16e3},x={contextWindow:2e5,maxTokens:16e3},y={contextWindow:128e3,maxTokens:8192},z={contextWindow:128e3,maxTokens:8192},A={contextWindow:8192,maxTokens:4096},B={contextWindow:2e5,maxTokens:16e3},C=["contextWindow","context_window","context_length","contextLength","max_context_length","maxContextLength","max_model_len","model_max_length","input_token_limit","max_input_tokens","maxInputTokens","num_ctx","n_ctx"],D=["maxTokens","max_tokens","max_output_tokens","maxOutputTokens","max_completion_tokens","maxCompletionTokens","output_token_limit","completion_token_limit"];function E(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function F(a){return Array.from(new Set(a))}function G(a){return a.trim().replace(/\/+$/,"")}function H(a){return a.trim()?{authorization:`Bearer ${a.trim()}`}:{}}async function I(a,b=""){let c,d=H(b),e=[];for(let b of(c=G(a),F([`${c}/v1/models`,`${c}/models`,`${c}/api/models`,`${c}/api/tags`])))try{let a=await fetch(b,{method:"GET",headers:d,signal:AbortSignal.timeout(3e4)});if(200===a.status){let c=await a.json();return{endpoint:b,models:function(a){let b=function(a){if(Array.isArray(a))return a;if(!E(a))throw Error("Could not parse model response format");if(Array.isArray(a.data))return a.data;if(Array.isArray(a.models))return a.models;throw Error("Could not parse model response format")}(a),c=[];for(let a of b){if("string"==typeof a){c.push({id:a,name:a,ownedBy:"unknown"});continue}if(!E(a))continue;let b=R(a,["id","model_id","name","model"]);if(!b)continue;let d=L(a),e=M(a);c.push({id:b,name:R(a,["name"])??b,ownedBy:R(a,["owned_by","ownedBy"])??"unknown",...e?{input:e}:{},...d})}return c}(c)}}404!==a.status&&e.push(`${b}: HTTP ${a.status}`)}catch(a){e.push(`${b}: ${a instanceof Error?a.message:String(a)}`)}throw Error(e.length?e.join("; "):"Could not connect to any model endpoint")}async function J(a,b,c){let d=c.map(a=>({...a})),e=d.filter(a=>void 0===a.contextWindow||void 0===a.maxTokens);if(0===e.length)return d;for(let c of e){let d=await K(a,b,c.id);if(!d)continue;let e=L(d),f=M(d);c.contextWindow??=e.contextWindow,c.maxTokens??=e.maxTokens,c.input??=f}return d}async function K(a,b,c){let d=H(b),e=G(a),f=encodeURIComponent(c);for(let a of F([`${e}/v1/models/${f}`,`${e}/models/${f}`,`${e}/api/models/${f}`]))try{let b=await fetch(a,{method:"GET",headers:d,signal:AbortSignal.timeout(15e3)});if(200===b.status){let a=await b.json();if(E(a))return a}}catch{}try{let a=await fetch(`${e}/api/show`,{method:"POST",headers:{...d,"content-type":"application/json"},body:JSON.stringify({name:c}),signal:AbortSignal.timeout(15e3)});if(200===a.status){let b=await a.json();if(E(b))return b}}catch{}}function L(a){let b=P(a,C),c=P(a,D);return{...b?{contextWindow:b}:{},...c?{maxTokens:c}:{}}}function M(a){if(E(a)&&function a(b){if("string"==typeof b){let a;return"image"===(a=b.trim().toLowerCase())||"images"===a||"vision"===a||"visual"===a||"multimodal"===a}if("boolean"==typeof b||"number"==typeof b||null===b)return!1;if(Array.isArray(b))return b.some(b=>a(b));if(!E(b))return!1;for(let[c,d]of Object.entries(b)){let b=Q(c);if("boolean"==typeof d&&d&&N.has(b)||O.has(b)&&a(d))return!0}return!1}(a))return["text","image"]}let N=new Set(["image","images","vision","visual","multimodal"]),O=new Set(["input","inputs","inputmodalities","modalities","modality","supportedmodalities","capabilities","features","architecture","details","family"]);function P(a,b){if(Array.isArray(a)){for(let c of a){let a=P(c,b);if(a)return a}return}if(E(a)){for(let c of b)for(let[b,d]of Object.entries(a))if(function(a,b){let c=Q(a),d=Q(b);return c===d||c.endsWith(`.${d}`)}(b,c)){let a=function(a){if("boolean"==typeof a)return;if("number"==typeof a&&Number.isFinite(a)&&a>0)return Math.trunc(a);if("string"!=typeof a)return;let b=a.trim().toLowerCase().replace(/[, _]/g,""),c=/^(\d+(?:\.\d+)?)([km])?$/.exec(b);if(!c)return;let d=Number.parseFloat(c[1]);return"k"===c[2]&&(d*=1e3),"m"===c[2]&&(d*=1e6),d>0?Math.trunc(d):void 0}(d);if(a)return a}for(let c of Object.values(a)){let a=P(c,b);if(a)return a}}}function Q(a){return a.toLowerCase().replace(/[^a-z0-9.]/g,"")}function R(a,b){for(let c of b){let b=a[c];if("string"==typeof b&&b.trim())return b}}let S="force-dynamic";async function T(a){try{let b=await a.json(),c="string"==typeof b.baseUrl?G(b.baseUrl):"",d="string"==typeof b.apiKey?b.apiKey:"",e="string"==typeof b.provider?b.provider.trim():"";if(!c)return v.NextResponse.json({ok:!1,error:"Base URL is required"},{status:400});let f=await I(c,d),g=!1===b.enrich?f.models:await J(c,d,f.models),h=function(a,b=!1,c){return a.map(a=>{let d,e=(d=a.id.toLowerCase()).includes("claude")?{...w,...d.includes("thinking")||d.includes("reasoning")?{reasoning:!0}:{}}:d.includes("gpt")?{...x}:d.includes("deepseek")?{...y}:d.includes("qwen")?{...z}:d.includes("llama")?{...A}:{...B},f=function(a){if(a.input?.includes("image")||function(a,b,c){let d=[a,b,c].filter(Boolean).join(" ").toLowerCase();if(!d)return!1;let e=d.replace(/[^a-z0-9]+/g," ");return!!(/\b(?:vision|visual|multimodal|image|images|llava|pixtral|internvl|minicpmv|glm4v)\b/.test(e)||/(^|[^a-z0-9])(?:vl|v)(?:[^a-z0-9]|$)/.test(d)||/\bqwen[0-9.]*\s*vl\b|\bqwen\s*vl\b/.test(e)||/\bgpt\s*4o\b|\bgpt\s*4\s*1\b|\bo3\b|\bo4\b/.test(e)||/\bgemini\b|\bclaude\s*3\b|\bclaude\s*(?:sonnet|opus|haiku)\s*4\b/.test(e))}(a.id,a.name,a.ownedBy))return["text","image"]}(a);return{id:b&&c?`${c}/${a.id}`:a.id,name:a.name??a.id,...f?{input:f}:{},contextWindow:a.contextWindow??e.contextWindow,maxTokens:a.maxTokens??e.maxTokens,...e.reasoning?{reasoning:!0}:{}}})}(g,!1,e||void 0);return v.NextResponse.json({ok:!0,endpoint:f.endpoint,baseUrl:c,models:g,piModels:h})}catch(a){return v.NextResponse.json({ok:!1,error:a instanceof Error?a.message:String(a)},{status:500})}}let U=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/models-config/discover/route",pathname:"/api/models-config/discover",filename:"route",bundlePath:"app/api/models-config/discover/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/annovibe/annovibe/app/api/models-config/discover/route.ts",nextConfigOutput:"",userland:d}),{workAsyncStorage:V,workUnitAsyncStorage:W,serverHooks:X}=U;function Y(){return(0,g.patchFetch)({workAsyncStorage:V,workUnitAsyncStorage:W})}async function Z(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),U.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/models-config/discover/route";"/index"===d&&(d="/");let e=await U.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,params:v,nextConfig:w,parsedUrl:x,isDraftMode:y,prerenderManifest:z,routerServerContext:A,isOnDemandRevalidate:B,revalidateOnlyGenerated:C,resolvedPathname:D,clientReferenceManifest:E,serverActionsManifest:F}=e,G=(0,k.normalizeAppPath)(d),H=!!(z.dynamicRoutes[G]||z.routes[D]),I=async()=>((null==A?void 0:A.render404)?await A.render404(a,b,x,!1):b.end("This page could not be found"),null);if(H&&!y){let a=!!z.routes[D],b=z.dynamicRoutes[G];if(b&&!1===b.fallback&&!a){if(w.adapterPath)return await I();throw new t.NoFallbackError}}let J=null;!H||U.isDev||y||(J="/index"===(J=D)?"/":J);let K=!0===U.isDev||!H,L=H&&!K;F&&E&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:E,serverActionsManifest:F});let M=a.method||"GET",N=(0,i.getTracer)(),O=N.getActiveScopeSpan(),P=!!(null==A?void 0:A.isWrappedByNextServer),Q=!!(0,h.getRequestMeta)(a,"minimalMode"),R=(0,h.getRequestMeta)(a,"incrementalCache")||await U.getIncrementalCache(a,w,z,Q);null==R||R.resetRequestCache(),globalThis.__incrementalCache=R;let S={params:v,previewProps:z.preview,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts},cacheComponents:!!w.cacheComponents,supportsDynamicResponse:K,incrementalCache:R,cacheLifeProfiles:w.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>U.onRequestError(a,b,d,e,A)},sharedContext:{buildId:g}},T=new l.NodeNextRequest(a),V=new l.NodeNextResponse(b),W=m.NextRequestAdapter.fromNodeNextRequest(T,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>U.handle(W,S).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=N.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${M} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${M} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!Q&&B&&C&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=S.renderOpts.fetchMetrics;let h=S.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=S.renderOpts.collectedTags;if(!H)return await (0,p.I)(T,V,d,S.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==S.renderOpts.collectedRevalidate&&!(S.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&S.renderOpts.collectedRevalidate,e=void 0===S.renderOpts.collectedExpire||S.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:S.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await U.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:L,isOnDemandRevalidate:B})},!1,A),b}},k=await U.handleResponse({req:a,nextConfig:w,cacheKey:J,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:z,isRoutePPREnabled:!1,isOnDemandRevalidate:B,revalidateOnlyGenerated:C,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:Q});if(!H)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});Q||b.setHeader("x-nextjs-cache",B?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),y&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return Q&&H||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(T,V,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};P&&O?await h(O):(e=N.getActiveScopeSpan(),await N.withPropagatedContext(a.headers,()=>N.trace(n.BaseServerSpan.handleRequest,{spanName:`${M} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":M,"http.target":a.url}},h),void 0,!P))}catch(b){if(b instanceof t.NoFallbackError||await U.onRequestError(a,b,{routerKind:"App Router",routePath:G,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:L,isOnDemandRevalidate:B})},!1,A),H)throw b;return await (0,p.I)(T,V,new Response(null,{status:500})),null}}},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},78335:()=>{},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},96487:()=>{}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,1813],()=>b(b.s=29791));module.exports=c})();
1
+ (()=>{var a={};a.id=9787,a.ids=[9787],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},17741:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>Z,patchFetch:()=>Y,routeModule:()=>U,serverHooks:()=>X,workAsyncStorage:()=>V,workUnitAsyncStorage:()=>W});var d={};c.r(d),c.d(d,{POST:()=>T,dynamic:()=>S});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(23211);let w={contextWindow:2e5,maxTokens:16e3},x={contextWindow:2e5,maxTokens:16e3},y={contextWindow:128e3,maxTokens:8192},z={contextWindow:128e3,maxTokens:8192},A={contextWindow:8192,maxTokens:4096},B={contextWindow:2e5,maxTokens:16e3},C=["contextWindow","context_window","context_length","contextLength","max_context_length","maxContextLength","max_model_len","model_max_length","input_token_limit","max_input_tokens","maxInputTokens","num_ctx","n_ctx"],D=["maxTokens","max_tokens","max_output_tokens","maxOutputTokens","max_completion_tokens","maxCompletionTokens","output_token_limit","completion_token_limit"];function E(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function F(a){return Array.from(new Set(a))}function G(a){return a.trim().replace(/\/+$/,"")}function H(a){return a.trim()?{authorization:`Bearer ${a.trim()}`}:{}}async function I(a,b=""){let c,d=H(b),e=[];for(let b of(c=G(a),F([`${c}/v1/models`,`${c}/models`,`${c}/api/models`,`${c}/api/tags`])))try{let a=await fetch(b,{method:"GET",headers:d,signal:AbortSignal.timeout(3e4)});if(200===a.status){let c=await a.json();return{endpoint:b,models:function(a){let b=function(a){if(Array.isArray(a))return a;if(!E(a))throw Error("Could not parse model response format");if(Array.isArray(a.data))return a.data;if(Array.isArray(a.models))return a.models;throw Error("Could not parse model response format")}(a),c=[];for(let a of b){if("string"==typeof a){c.push({id:a,name:a,ownedBy:"unknown"});continue}if(!E(a))continue;let b=R(a,["id","model_id","name","model"]);if(!b)continue;let d=L(a),e=M(a);c.push({id:b,name:R(a,["name"])??b,ownedBy:R(a,["owned_by","ownedBy"])??"unknown",...e?{input:e}:{},...d})}return c}(c)}}404!==a.status&&e.push(`${b}: HTTP ${a.status}`)}catch(a){e.push(`${b}: ${a instanceof Error?a.message:String(a)}`)}throw Error(e.length?e.join("; "):"Could not connect to any model endpoint")}async function J(a,b,c){let d=c.map(a=>({...a})),e=d.filter(a=>void 0===a.contextWindow||void 0===a.maxTokens);if(0===e.length)return d;for(let c of e){let d=await K(a,b,c.id);if(!d)continue;let e=L(d),f=M(d);c.contextWindow??=e.contextWindow,c.maxTokens??=e.maxTokens,c.input??=f}return d}async function K(a,b,c){let d=H(b),e=G(a),f=encodeURIComponent(c);for(let a of F([`${e}/v1/models/${f}`,`${e}/models/${f}`,`${e}/api/models/${f}`]))try{let b=await fetch(a,{method:"GET",headers:d,signal:AbortSignal.timeout(15e3)});if(200===b.status){let a=await b.json();if(E(a))return a}}catch{}try{let a=await fetch(`${e}/api/show`,{method:"POST",headers:{...d,"content-type":"application/json"},body:JSON.stringify({name:c}),signal:AbortSignal.timeout(15e3)});if(200===a.status){let b=await a.json();if(E(b))return b}}catch{}}function L(a){let b=P(a,C),c=P(a,D);return{...b?{contextWindow:b}:{},...c?{maxTokens:c}:{}}}function M(a){if(E(a)&&function a(b){if("string"==typeof b){let a;return"image"===(a=b.trim().toLowerCase())||"images"===a||"vision"===a||"visual"===a||"multimodal"===a}if("boolean"==typeof b||"number"==typeof b||null===b)return!1;if(Array.isArray(b))return b.some(b=>a(b));if(!E(b))return!1;for(let[c,d]of Object.entries(b)){let b=Q(c);if("boolean"==typeof d&&d&&N.has(b)||O.has(b)&&a(d))return!0}return!1}(a))return["text","image"]}let N=new Set(["image","images","vision","visual","multimodal"]),O=new Set(["input","inputs","inputmodalities","modalities","modality","supportedmodalities","capabilities","features","architecture","details","family"]);function P(a,b){if(Array.isArray(a)){for(let c of a){let a=P(c,b);if(a)return a}return}if(E(a)){for(let c of b)for(let[b,d]of Object.entries(a))if(function(a,b){let c=Q(a),d=Q(b);return c===d||c.endsWith(`.${d}`)}(b,c)){let a=function(a){if("boolean"==typeof a)return;if("number"==typeof a&&Number.isFinite(a)&&a>0)return Math.trunc(a);if("string"!=typeof a)return;let b=a.trim().toLowerCase().replace(/[, _]/g,""),c=/^(\d+(?:\.\d+)?)([km])?$/.exec(b);if(!c)return;let d=Number.parseFloat(c[1]);return"k"===c[2]&&(d*=1e3),"m"===c[2]&&(d*=1e6),d>0?Math.trunc(d):void 0}(d);if(a)return a}for(let c of Object.values(a)){let a=P(c,b);if(a)return a}}}function Q(a){return a.toLowerCase().replace(/[^a-z0-9.]/g,"")}function R(a,b){for(let c of b){let b=a[c];if("string"==typeof b&&b.trim())return b}}let S="force-dynamic";async function T(a){try{let b=await a.json(),c="string"==typeof b.baseUrl?G(b.baseUrl):"",d="string"==typeof b.apiKey?b.apiKey:"",e="string"==typeof b.provider?b.provider.trim():"";if(!c)return v.NextResponse.json({ok:!1,error:"Base URL is required"},{status:400});let f=await I(c,d),g=!1===b.enrich?f.models:await J(c,d,f.models),h=function(a,b=!1,c){return a.map(a=>{let d,e=(d=a.id.toLowerCase()).includes("claude")?{...w,...d.includes("thinking")||d.includes("reasoning")?{reasoning:!0}:{}}:d.includes("gpt")?{...x}:d.includes("deepseek")?{...y}:d.includes("qwen")?{...z}:d.includes("llama")?{...A}:{...B},f=function(a){if(a.input?.includes("image")||function(a,b,c){let d=[a,b,c].filter(Boolean).join(" ").toLowerCase();if(!d)return!1;let e=d.replace(/[^a-z0-9]+/g," ");return!!(/\b(?:vision|visual|multimodal|image|images|llava|pixtral|internvl|minicpmv|glm4v)\b/.test(e)||/(^|[^a-z0-9])(?:vl|v)(?:[^a-z0-9]|$)/.test(d)||/\bqwen[0-9.]*\s*vl\b|\bqwen\s*vl\b/.test(e)||/\bgpt\s*4o\b|\bgpt\s*4\s*1\b|\bo3\b|\bo4\b/.test(e)||/\bgemini\b|\bclaude\s*3\b|\bclaude\s*(?:sonnet|opus|haiku)\s*4\b/.test(e))}(a.id,a.name,a.ownedBy))return["text","image"]}(a);return{id:b&&c?`${c}/${a.id}`:a.id,name:a.name??a.id,...f?{input:f}:{},contextWindow:a.contextWindow??e.contextWindow,maxTokens:a.maxTokens??e.maxTokens,...e.reasoning?{reasoning:!0}:{}}})}(g,!1,e||void 0);return v.NextResponse.json({ok:!0,endpoint:f.endpoint,baseUrl:c,models:g,piModels:h})}catch(a){return v.NextResponse.json({ok:!1,error:a instanceof Error?a.message:String(a)},{status:500})}}let U=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/models-config/discover/route",pathname:"/api/models-config/discover",filename:"route",bundlePath:"app/api/models-config/discover/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/annovibe/annovibe/app/api/models-config/discover/route.ts",nextConfigOutput:"",userland:d}),{workAsyncStorage:V,workUnitAsyncStorage:W,serverHooks:X}=U;function Y(){return(0,g.patchFetch)({workAsyncStorage:V,workUnitAsyncStorage:W})}async function Z(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),U.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/models-config/discover/route";"/index"===d&&(d="/");let e=await U.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,params:v,nextConfig:w,parsedUrl:x,isDraftMode:y,prerenderManifest:z,routerServerContext:A,isOnDemandRevalidate:B,revalidateOnlyGenerated:C,resolvedPathname:D,clientReferenceManifest:E,serverActionsManifest:F}=e,G=(0,k.normalizeAppPath)(d),H=!!(z.dynamicRoutes[G]||z.routes[D]),I=async()=>((null==A?void 0:A.render404)?await A.render404(a,b,x,!1):b.end("This page could not be found"),null);if(H&&!y){let a=!!z.routes[D],b=z.dynamicRoutes[G];if(b&&!1===b.fallback&&!a){if(w.adapterPath)return await I();throw new t.NoFallbackError}}let J=null;!H||U.isDev||y||(J="/index"===(J=D)?"/":J);let K=!0===U.isDev||!H,L=H&&!K;F&&E&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:E,serverActionsManifest:F});let M=a.method||"GET",N=(0,i.getTracer)(),O=N.getActiveScopeSpan(),P=!!(null==A?void 0:A.isWrappedByNextServer),Q=!!(0,h.getRequestMeta)(a,"minimalMode"),R=(0,h.getRequestMeta)(a,"incrementalCache")||await U.getIncrementalCache(a,w,z,Q);null==R||R.resetRequestCache(),globalThis.__incrementalCache=R;let S={params:v,previewProps:z.preview,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts},cacheComponents:!!w.cacheComponents,supportsDynamicResponse:K,incrementalCache:R,cacheLifeProfiles:w.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>U.onRequestError(a,b,d,e,A)},sharedContext:{buildId:g}},T=new l.NodeNextRequest(a),V=new l.NodeNextResponse(b),W=m.NextRequestAdapter.fromNodeNextRequest(T,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>U.handle(W,S).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=N.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${M} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${M} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!Q&&B&&C&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=S.renderOpts.fetchMetrics;let h=S.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=S.renderOpts.collectedTags;if(!H)return await (0,p.I)(T,V,d,S.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==S.renderOpts.collectedRevalidate&&!(S.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&S.renderOpts.collectedRevalidate,e=void 0===S.renderOpts.collectedExpire||S.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:S.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await U.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:L,isOnDemandRevalidate:B})},!1,A),b}},k=await U.handleResponse({req:a,nextConfig:w,cacheKey:J,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:z,isRoutePPREnabled:!1,isOnDemandRevalidate:B,revalidateOnlyGenerated:C,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:Q});if(!H)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});Q||b.setHeader("x-nextjs-cache",B?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),y&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return Q&&H||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(T,V,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};P&&O?await h(O):(e=N.getActiveScopeSpan(),await N.withPropagatedContext(a.headers,()=>N.trace(n.BaseServerSpan.handleRequest,{spanName:`${M} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":M,"http.target":a.url}},h),void 0,!P))}catch(b){if(b instanceof t.NoFallbackError||await U.onRequestError(a,b,{routerKind:"App Router",routePath:G,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:L,isOnDemandRevalidate:B})},!1,A),H)throw b;return await (0,p.I)(T,V,new Response(null,{status:500})),null}}},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},78335:()=>{},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},96487:()=>{}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,1813],()=>b(b.s=17741));module.exports=c})();
@@ -1 +1 @@
1
- (()=>{var a={};a.id=7483,a.ids=[7483],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},29021:a=>{"use strict";a.exports=require("fs")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},30689:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{handler:()=>y,patchFetch:()=>x,routeModule:()=>z,serverHooks:()=>C,workAsyncStorage:()=>A,workUnitAsyncStorage:()=>B});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(53718),w=a([v]);v=(w.then?(await w)():w)[0];let z=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/models-config/route",pathname:"/api/models-config",filename:"route",bundlePath:"app/api/models-config/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/annovibe/annovibe/app/api/models-config/route.ts",nextConfigOutput:"",userland:v}),{workAsyncStorage:A,workUnitAsyncStorage:B,serverHooks:C}=z;function x(){return(0,g.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:B})}async function y(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),z.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/models-config/route";"/index"===d&&(d="/");let e=await z.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,params:v,nextConfig:w,parsedUrl:x,isDraftMode:y,prerenderManifest:A,routerServerContext:B,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,resolvedPathname:E,clientReferenceManifest:F,serverActionsManifest:G}=e,H=(0,k.normalizeAppPath)(d),I=!!(A.dynamicRoutes[H]||A.routes[E]),J=async()=>((null==B?void 0:B.render404)?await B.render404(a,b,x,!1):b.end("This page could not be found"),null);if(I&&!y){let a=!!A.routes[E],b=A.dynamicRoutes[H];if(b&&!1===b.fallback&&!a){if(w.adapterPath)return await J();throw new t.NoFallbackError}}let K=null;!I||z.isDev||y||(K=E,K="/index"===K?"/":K);let L=!0===z.isDev||!I,M=I&&!L;G&&F&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:F,serverActionsManifest:G});let N=a.method||"GET",O=(0,i.getTracer)(),P=O.getActiveScopeSpan(),Q=!!(null==B?void 0:B.isWrappedByNextServer),R=!!(0,h.getRequestMeta)(a,"minimalMode"),S=(0,h.getRequestMeta)(a,"incrementalCache")||await z.getIncrementalCache(a,w,A,R);null==S||S.resetRequestCache(),globalThis.__incrementalCache=S;let T={params:v,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts},cacheComponents:!!w.cacheComponents,supportsDynamicResponse:L,incrementalCache:S,cacheLifeProfiles:w.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>z.onRequestError(a,b,d,e,B)},sharedContext:{buildId:g}},U=new l.NodeNextRequest(a),V=new l.NodeNextResponse(b),W=m.NextRequestAdapter.fromNodeNextRequest(U,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>z.handle(W,T).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=O.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${N} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${N} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!R&&C&&D&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=T.renderOpts.fetchMetrics;let h=T.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=T.renderOpts.collectedTags;if(!I)return await (0,p.I)(U,V,d,T.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==T.renderOpts.collectedRevalidate&&!(T.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&T.renderOpts.collectedRevalidate,e=void 0===T.renderOpts.collectedExpire||T.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:T.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await z.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),b}},k=await z.handleResponse({req:a,nextConfig:w,cacheKey:K,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:R});if(!I)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});R||b.setHeader("x-nextjs-cache",C?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),y&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return R&&I||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(U,V,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};Q&&P?await h(P):(e=O.getActiveScopeSpan(),await O.withPropagatedContext(a.headers,()=>O.trace(n.BaseServerSpan.handleRequest,{spanName:`${N} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":N,"http.target":a.url}},h),void 0,!Q))}catch(b){if(b instanceof t.NoFallbackError||await z.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),I)throw b;return await (0,p.I)(U,V,new Response(null,{status:500})),null}}d()}catch(a){d(a)}})},33873:a=>{"use strict";a.exports=require("path")},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},53718:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{GET:()=>k,PUT:()=>l,dynamic:()=>m});var e=c(23211),f=c(29021),g=c(33873),h=c(75430),i=a([h]);h=(i.then?(await i)():i)[0];let m="force-dynamic";function j(){return(0,g.join)((0,h.getAgentDir)(),"models.json")}async function k(){return e.NextResponse.json(function(){let a=j();if(!(0,f.existsSync)(a))return{providers:{}};try{return JSON.parse((0,f.readFileSync)(a,"utf8"))}catch{return{providers:{}}}}())}async function l(a){try{var b;let c,d;return b=await a.json(),c=j(),d=(0,g.dirname)(c),(0,f.existsSync)(d)||(0,f.mkdirSync)(d,{recursive:!0}),(0,f.writeFileSync)(c,JSON.stringify(b,null,2),"utf8"),e.NextResponse.json({success:!0})}catch(a){return e.NextResponse.json({error:String(a)},{status:500})}}d()}catch(a){d(a)}})},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},75430:a=>{"use strict";a.exports=import("@earendil-works/pi-coding-agent")},78335:()=>{},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},96487:()=>{}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,1813],()=>b(b.s=30689));module.exports=c})();
1
+ (()=>{var a={};a.id=7483,a.ids=[7483],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},29021:a=>{"use strict";a.exports=require("fs")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{"use strict";a.exports=require("path")},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},53718:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{GET:()=>k,PUT:()=>l,dynamic:()=>m});var e=c(23211),f=c(29021),g=c(33873),h=c(75430),i=a([h]);h=(i.then?(await i)():i)[0];let m="force-dynamic";function j(){return(0,g.join)((0,h.getAgentDir)(),"models.json")}async function k(){return e.NextResponse.json(function(){let a=j();if(!(0,f.existsSync)(a))return{providers:{}};try{return JSON.parse((0,f.readFileSync)(a,"utf8"))}catch{return{providers:{}}}}())}async function l(a){try{var b;let c,d;return b=await a.json(),c=j(),d=(0,g.dirname)(c),(0,f.existsSync)(d)||(0,f.mkdirSync)(d,{recursive:!0}),(0,f.writeFileSync)(c,JSON.stringify(b,null,2),"utf8"),e.NextResponse.json({success:!0})}catch(a){return e.NextResponse.json({error:String(a)},{status:500})}}d()}catch(a){d(a)}})},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},68135:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{handler:()=>y,patchFetch:()=>x,routeModule:()=>z,serverHooks:()=>C,workAsyncStorage:()=>A,workUnitAsyncStorage:()=>B});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(53718),w=a([v]);v=(w.then?(await w)():w)[0];let z=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/models-config/route",pathname:"/api/models-config",filename:"route",bundlePath:"app/api/models-config/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/annovibe/annovibe/app/api/models-config/route.ts",nextConfigOutput:"",userland:v}),{workAsyncStorage:A,workUnitAsyncStorage:B,serverHooks:C}=z;function x(){return(0,g.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:B})}async function y(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),z.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/models-config/route";"/index"===d&&(d="/");let e=await z.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,params:v,nextConfig:w,parsedUrl:x,isDraftMode:y,prerenderManifest:A,routerServerContext:B,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,resolvedPathname:E,clientReferenceManifest:F,serverActionsManifest:G}=e,H=(0,k.normalizeAppPath)(d),I=!!(A.dynamicRoutes[H]||A.routes[E]),J=async()=>((null==B?void 0:B.render404)?await B.render404(a,b,x,!1):b.end("This page could not be found"),null);if(I&&!y){let a=!!A.routes[E],b=A.dynamicRoutes[H];if(b&&!1===b.fallback&&!a){if(w.adapterPath)return await J();throw new t.NoFallbackError}}let K=null;!I||z.isDev||y||(K=E,K="/index"===K?"/":K);let L=!0===z.isDev||!I,M=I&&!L;G&&F&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:F,serverActionsManifest:G});let N=a.method||"GET",O=(0,i.getTracer)(),P=O.getActiveScopeSpan(),Q=!!(null==B?void 0:B.isWrappedByNextServer),R=!!(0,h.getRequestMeta)(a,"minimalMode"),S=(0,h.getRequestMeta)(a,"incrementalCache")||await z.getIncrementalCache(a,w,A,R);null==S||S.resetRequestCache(),globalThis.__incrementalCache=S;let T={params:v,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts},cacheComponents:!!w.cacheComponents,supportsDynamicResponse:L,incrementalCache:S,cacheLifeProfiles:w.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>z.onRequestError(a,b,d,e,B)},sharedContext:{buildId:g}},U=new l.NodeNextRequest(a),V=new l.NodeNextResponse(b),W=m.NextRequestAdapter.fromNodeNextRequest(U,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>z.handle(W,T).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=O.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${N} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${N} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!R&&C&&D&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=T.renderOpts.fetchMetrics;let h=T.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=T.renderOpts.collectedTags;if(!I)return await (0,p.I)(U,V,d,T.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==T.renderOpts.collectedRevalidate&&!(T.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&T.renderOpts.collectedRevalidate,e=void 0===T.renderOpts.collectedExpire||T.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:T.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await z.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),b}},k=await z.handleResponse({req:a,nextConfig:w,cacheKey:K,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:R});if(!I)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});R||b.setHeader("x-nextjs-cache",C?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),y&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return R&&I||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(U,V,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};Q&&P?await h(P):(e=O.getActiveScopeSpan(),await O.withPropagatedContext(a.headers,()=>O.trace(n.BaseServerSpan.handleRequest,{spanName:`${N} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":N,"http.target":a.url}},h),void 0,!Q))}catch(b){if(b instanceof t.NoFallbackError||await z.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),I)throw b;return await (0,p.I)(U,V,new Response(null,{status:500})),null}}d()}catch(a){d(a)}})},75430:a=>{"use strict";a.exports=import("@earendil-works/pi-coding-agent")},78335:()=>{},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},96487:()=>{}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,1813],()=>b(b.s=68135));module.exports=c})();
@@ -1 +1 @@
1
- (()=>{var a={};a.id=8658,a.ids=[8658],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},12773:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{POST:()=>n,dynamic:()=>o});var e=c(23211),f=c(29021),g=c(21820),h=c(33873),i=c(19821),j=c(75430),k=a([i,j]);[i,j]=k.then?(await k)():k;let o="force-dynamic";function l(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function m(a){return a.includes("Stream ended without finish_reason")?"Stream ended without finish_reason. This usually means the model is configured as openai-completions, but the upstream returns OpenAI Responses API events. Set the provider API or this model's API override to openai-responses.":a}async function n(a){let b;try{let c,d=await a.json(),k="string"==typeof d.providerName?d.providerName.trim():"";if(!k)return e.NextResponse.json({ok:!1,error:"providerName is required"},{status:400});if(!l(d.provider))return e.NextResponse.json({ok:!1,error:"provider is required"},{status:400});if(!l(d.model))return e.NextResponse.json({ok:!1,error:"model is required"},{status:400});let n="string"==typeof d.model.id?d.model.id.trim():"";if(!n)return e.NextResponse.json({ok:!1,error:"Model ID is required"},{status:400});b=(0,f.mkdtempSync)((0,h.join)((0,g.tmpdir)(),"annovibe-model-test-"));let o=(0,h.join)(b,"models.json");(0,f.writeFileSync)(o,JSON.stringify({providers:{[k]:{...d.provider,models:[{...d.model,id:n}]}}},null,2),"utf8");let p=j.ModelRegistry.create(j.AuthStorage.create(),o),q=p.getError();if(q)return e.NextResponse.json({ok:!1,error:q});let r=p.find(k,n);if(!r)return e.NextResponse.json({ok:!1,error:`Model not found: ${k}/${n}`});let s=await p.getApiKeyAndHeaders(r);if(!s.ok)return e.NextResponse.json({ok:!1,error:s.error});if(!s.apiKey)return e.NextResponse.json({ok:!1,error:`No API key found for "${k}"`});let t=new AbortController,u=setTimeout(()=>t.abort(),2e4),v=Date.now();try{let a=await (0,i.completeSimple)(r,{messages:[{role:"user",content:"Reply with OK only.",timestamp:Date.now()}]},{apiKey:s.apiKey,headers:s.headers,maxTokens:16,timeoutMs:2e4,maxRetries:0,cacheRetention:"none",signal:t.signal,onResponse:a=>{c=a.status}}),b=Date.now()-v;if("error"===a.stopReason||"aborted"===a.stopReason){let d=a.errorMessage??(t.signal.aborted?"Test timed out":"Model returned an error");return e.NextResponse.json({ok:!1,error:m(d),latencyMs:b,status:c})}return e.NextResponse.json({ok:!0,latencyMs:b,status:c,responseText:a.content.filter(a=>"text"===a.type).map(a=>a.text).join("").slice(0,300)})}finally{clearTimeout(u)}}catch(b){let a;return e.NextResponse.json({ok:!1,error:(a=b instanceof Error?b.message:String(b),m(a))},{status:500})}finally{b&&(0,f.rmSync)(b,{recursive:!0,force:!0})}}d()}catch(a){d(a)}})},19821:a=>{"use strict";a.exports=import("@earendil-works/pi-ai/compat")},21820:a=>{"use strict";a.exports=require("os")},29021:a=>{"use strict";a.exports=require("fs")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{"use strict";a.exports=require("path")},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},68755:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{handler:()=>y,patchFetch:()=>x,routeModule:()=>z,serverHooks:()=>C,workAsyncStorage:()=>A,workUnitAsyncStorage:()=>B});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(12773),w=a([v]);v=(w.then?(await w)():w)[0];let z=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/models-config/test/route",pathname:"/api/models-config/test",filename:"route",bundlePath:"app/api/models-config/test/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/annovibe/annovibe/app/api/models-config/test/route.ts",nextConfigOutput:"",userland:v}),{workAsyncStorage:A,workUnitAsyncStorage:B,serverHooks:C}=z;function x(){return(0,g.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:B})}async function y(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),z.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/models-config/test/route";"/index"===d&&(d="/");let e=await z.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,params:v,nextConfig:w,parsedUrl:x,isDraftMode:y,prerenderManifest:A,routerServerContext:B,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,resolvedPathname:E,clientReferenceManifest:F,serverActionsManifest:G}=e,H=(0,k.normalizeAppPath)(d),I=!!(A.dynamicRoutes[H]||A.routes[E]),J=async()=>((null==B?void 0:B.render404)?await B.render404(a,b,x,!1):b.end("This page could not be found"),null);if(I&&!y){let a=!!A.routes[E],b=A.dynamicRoutes[H];if(b&&!1===b.fallback&&!a){if(w.adapterPath)return await J();throw new t.NoFallbackError}}let K=null;!I||z.isDev||y||(K=E,K="/index"===K?"/":K);let L=!0===z.isDev||!I,M=I&&!L;G&&F&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:F,serverActionsManifest:G});let N=a.method||"GET",O=(0,i.getTracer)(),P=O.getActiveScopeSpan(),Q=!!(null==B?void 0:B.isWrappedByNextServer),R=!!(0,h.getRequestMeta)(a,"minimalMode"),S=(0,h.getRequestMeta)(a,"incrementalCache")||await z.getIncrementalCache(a,w,A,R);null==S||S.resetRequestCache(),globalThis.__incrementalCache=S;let T={params:v,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts},cacheComponents:!!w.cacheComponents,supportsDynamicResponse:L,incrementalCache:S,cacheLifeProfiles:w.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>z.onRequestError(a,b,d,e,B)},sharedContext:{buildId:g}},U=new l.NodeNextRequest(a),V=new l.NodeNextResponse(b),W=m.NextRequestAdapter.fromNodeNextRequest(U,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>z.handle(W,T).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=O.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${N} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${N} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!R&&C&&D&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=T.renderOpts.fetchMetrics;let h=T.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=T.renderOpts.collectedTags;if(!I)return await (0,p.I)(U,V,d,T.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==T.renderOpts.collectedRevalidate&&!(T.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&T.renderOpts.collectedRevalidate,e=void 0===T.renderOpts.collectedExpire||T.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:T.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await z.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),b}},k=await z.handleResponse({req:a,nextConfig:w,cacheKey:K,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:R});if(!I)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});R||b.setHeader("x-nextjs-cache",C?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),y&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return R&&I||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(U,V,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};Q&&P?await h(P):(e=O.getActiveScopeSpan(),await O.withPropagatedContext(a.headers,()=>O.trace(n.BaseServerSpan.handleRequest,{spanName:`${N} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":N,"http.target":a.url}},h),void 0,!Q))}catch(b){if(b instanceof t.NoFallbackError||await z.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),I)throw b;return await (0,p.I)(U,V,new Response(null,{status:500})),null}}d()}catch(a){d(a)}})},75430:a=>{"use strict";a.exports=import("@earendil-works/pi-coding-agent")},78335:()=>{},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},96487:()=>{}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,1813],()=>b(b.s=68755));module.exports=c})();
1
+ (()=>{var a={};a.id=8658,a.ids=[8658],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},12773:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{POST:()=>n,dynamic:()=>o});var e=c(23211),f=c(29021),g=c(21820),h=c(33873),i=c(19821),j=c(75430),k=a([i,j]);[i,j]=k.then?(await k)():k;let o="force-dynamic";function l(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function m(a){return a.includes("Stream ended without finish_reason")?"Stream ended without finish_reason. This usually means the model is configured as openai-completions, but the upstream returns OpenAI Responses API events. Set the provider API or this model's API override to openai-responses.":a}async function n(a){let b;try{let c,d=await a.json(),k="string"==typeof d.providerName?d.providerName.trim():"";if(!k)return e.NextResponse.json({ok:!1,error:"providerName is required"},{status:400});if(!l(d.provider))return e.NextResponse.json({ok:!1,error:"provider is required"},{status:400});if(!l(d.model))return e.NextResponse.json({ok:!1,error:"model is required"},{status:400});let n="string"==typeof d.model.id?d.model.id.trim():"";if(!n)return e.NextResponse.json({ok:!1,error:"Model ID is required"},{status:400});b=(0,f.mkdtempSync)((0,h.join)((0,g.tmpdir)(),"annovibe-model-test-"));let o=(0,h.join)(b,"models.json");(0,f.writeFileSync)(o,JSON.stringify({providers:{[k]:{...d.provider,models:[{...d.model,id:n}]}}},null,2),"utf8");let p=j.ModelRegistry.create(j.AuthStorage.create(),o),q=p.getError();if(q)return e.NextResponse.json({ok:!1,error:q});let r=p.find(k,n);if(!r)return e.NextResponse.json({ok:!1,error:`Model not found: ${k}/${n}`});let s=await p.getApiKeyAndHeaders(r);if(!s.ok)return e.NextResponse.json({ok:!1,error:s.error});if(!s.apiKey)return e.NextResponse.json({ok:!1,error:`No API key found for "${k}"`});let t=new AbortController,u=setTimeout(()=>t.abort(),2e4),v=Date.now();try{let a=await (0,i.completeSimple)(r,{messages:[{role:"user",content:"Reply with OK only.",timestamp:Date.now()}]},{apiKey:s.apiKey,headers:s.headers,maxTokens:16,timeoutMs:2e4,maxRetries:0,cacheRetention:"none",signal:t.signal,onResponse:a=>{c=a.status}}),b=Date.now()-v;if("error"===a.stopReason||"aborted"===a.stopReason){let d=a.errorMessage??(t.signal.aborted?"Test timed out":"Model returned an error");return e.NextResponse.json({ok:!1,error:m(d),latencyMs:b,status:c})}return e.NextResponse.json({ok:!0,latencyMs:b,status:c,responseText:a.content.filter(a=>"text"===a.type).map(a=>a.text).join("").slice(0,300)})}finally{clearTimeout(u)}}catch(b){let a;return e.NextResponse.json({ok:!1,error:(a=b instanceof Error?b.message:String(b),m(a))},{status:500})}finally{b&&(0,f.rmSync)(b,{recursive:!0,force:!0})}}d()}catch(a){d(a)}})},19821:a=>{"use strict";a.exports=import("@earendil-works/pi-ai/compat")},21820:a=>{"use strict";a.exports=require("os")},29021:a=>{"use strict";a.exports=require("fs")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{"use strict";a.exports=require("path")},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},75430:a=>{"use strict";a.exports=import("@earendil-works/pi-coding-agent")},78335:()=>{},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},95377:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{handler:()=>y,patchFetch:()=>x,routeModule:()=>z,serverHooks:()=>C,workAsyncStorage:()=>A,workUnitAsyncStorage:()=>B});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(12773),w=a([v]);v=(w.then?(await w)():w)[0];let z=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/models-config/test/route",pathname:"/api/models-config/test",filename:"route",bundlePath:"app/api/models-config/test/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/annovibe/annovibe/app/api/models-config/test/route.ts",nextConfigOutput:"",userland:v}),{workAsyncStorage:A,workUnitAsyncStorage:B,serverHooks:C}=z;function x(){return(0,g.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:B})}async function y(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),z.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/models-config/test/route";"/index"===d&&(d="/");let e=await z.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,params:v,nextConfig:w,parsedUrl:x,isDraftMode:y,prerenderManifest:A,routerServerContext:B,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,resolvedPathname:E,clientReferenceManifest:F,serverActionsManifest:G}=e,H=(0,k.normalizeAppPath)(d),I=!!(A.dynamicRoutes[H]||A.routes[E]),J=async()=>((null==B?void 0:B.render404)?await B.render404(a,b,x,!1):b.end("This page could not be found"),null);if(I&&!y){let a=!!A.routes[E],b=A.dynamicRoutes[H];if(b&&!1===b.fallback&&!a){if(w.adapterPath)return await J();throw new t.NoFallbackError}}let K=null;!I||z.isDev||y||(K=E,K="/index"===K?"/":K);let L=!0===z.isDev||!I,M=I&&!L;G&&F&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:F,serverActionsManifest:G});let N=a.method||"GET",O=(0,i.getTracer)(),P=O.getActiveScopeSpan(),Q=!!(null==B?void 0:B.isWrappedByNextServer),R=!!(0,h.getRequestMeta)(a,"minimalMode"),S=(0,h.getRequestMeta)(a,"incrementalCache")||await z.getIncrementalCache(a,w,A,R);null==S||S.resetRequestCache(),globalThis.__incrementalCache=S;let T={params:v,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts},cacheComponents:!!w.cacheComponents,supportsDynamicResponse:L,incrementalCache:S,cacheLifeProfiles:w.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>z.onRequestError(a,b,d,e,B)},sharedContext:{buildId:g}},U=new l.NodeNextRequest(a),V=new l.NodeNextResponse(b),W=m.NextRequestAdapter.fromNodeNextRequest(U,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>z.handle(W,T).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=O.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${N} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${N} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!R&&C&&D&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=T.renderOpts.fetchMetrics;let h=T.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=T.renderOpts.collectedTags;if(!I)return await (0,p.I)(U,V,d,T.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==T.renderOpts.collectedRevalidate&&!(T.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&T.renderOpts.collectedRevalidate,e=void 0===T.renderOpts.collectedExpire||T.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:T.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await z.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),b}},k=await z.handleResponse({req:a,nextConfig:w,cacheKey:K,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:R});if(!I)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});R||b.setHeader("x-nextjs-cache",C?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),y&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return R&&I||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(U,V,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};Q&&P?await h(P):(e=O.getActiveScopeSpan(),await O.withPropagatedContext(a.headers,()=>O.trace(n.BaseServerSpan.handleRequest,{spanName:`${N} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":N,"http.target":a.url}},h),void 0,!Q))}catch(b){if(b instanceof t.NoFallbackError||await z.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),I)throw b;return await (0,p.I)(U,V,new Response(null,{status:500})),null}}d()}catch(a){d(a)}})},96487:()=>{}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,1813],()=>b(b.s=95377));module.exports=c})();
@@ -1 +1 @@
1
- (()=>{var a={};a.id=2314,a.ids=[2314],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},21820:a=>{"use strict";a.exports=require("os")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},31421:a=>{"use strict";a.exports=require("node:child_process")},33873:a=>{"use strict";a.exports=require("path")},37247:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>N,patchFetch:()=>M,routeModule:()=>I,serverHooks:()=>L,workAsyncStorage:()=>J,workUnitAsyncStorage:()=>K});var d={};c.r(d),c.d(d,{GET:()=>G,POST:()=>H,dynamic:()=>z});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(23211),w=c(21820),x=c(33873),y=c(15193);let z="force-dynamic",A=new Set(["python","r"]);function B(a){return"string"==typeof a&&A.has(a)}function C(a){return JSON.stringify({language:a.language,command:a.command,args:a.args,env:a.env})}function D(a){if(!B(a.language))throw Error("Kernel language must be python or r");if("string"!=typeof a.command||!a.command.trim())throw Error("Kernel command is required");let b=Array.isArray(a.args)?a.args.map(a=>String(a)):"python"===a.language?["-u"]:["--slave","--vanilla"],c=a.env&&"object"==typeof a.env&&!Array.isArray(a.env)?Object.fromEntries(Object.entries(a.env).map(([a,b])=>[a,String(b)])):{};return{language:a.language,command:a.command.trim(),args:b,displayName:"string"==typeof a.displayName&&a.displayName.trim()?a.displayName.trim():`${a.language} (${a.command.trim()})`,env:c}}function E(a,b,c){let d=b?.selectedKernels??{};return{kernels:Object.entries(a.kernels).map(([b,c])=>{let e=d[c.language]??a.defaultKernel[c.language]??null;return{id:b,...c,isDefault:a.defaultKernel[c.language]===b,isProjectSelected:d[c.language]===b,isEffective:e===b}}),defaultKernel:a.defaultKernel,selectedKernels:d,scanCache:a.scanCache,paths:{global:(0,x.join)((0,w.homedir)(),".config","warmplot.json"),project:c?(0,x.join)(c,".pi","warmplot.json"):null}}}async function F(a){return{globalConfig:await (0,y.G_)(),projectConfig:a?await (0,y.WM)(a):null}}async function G(a){try{let{searchParams:b}=new URL(a.url),c=b.get("cwd"),{globalConfig:d,projectConfig:e}=await F(c);return v.NextResponse.json(E(d,e,c))}catch(a){return v.NextResponse.json({error:String(a)},{status:500})}}async function H(a){try{let b=await a.json(),c=b.action,d="string"==typeof b.cwd&&b.cwd.trim()?b.cwd.trim():null,{globalConfig:e,projectConfig:f}=await F(d);if("scan"===c){let a=B(b.language)?b.language:null,c=a?"python"===a?await (0,y.Ql)(d??void 0):await (0,y.Wm)(d??void 0):await (0,y.rD)(d??void 0),f=new Set(Object.values(e.kernels).map(C)),g=[],h=0;for(let a of c.newKernels){let b=C(a);if(f.has(b)){h+=1;continue}let c=function(a,b){let c=b,d=1;for(;a.kernels[c];)c=`${b}-${d}`,d+=1;return c}(e,a.displayName.toLowerCase().replace(/[^a-z0-9-]/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,"")||"kernel");e.kernels[c]=a,f.add(b),g.push({id:c,...a})}e.scanCache={lastScan:new Date().toISOString(),scannedKernels:Object.keys(e.kernels)},await (0,y.tE)(e);let i=d?await (0,y.WM)(d):null;return v.NextResponse.json({success:!0,added:g,skipped:h,errors:c.errors,...E(e,i,d)})}if("select"===c){if(!d)return v.NextResponse.json({error:"cwd is required"},{status:400});if(!B(b.language)||"string"!=typeof b.kernelId)return v.NextResponse.json({error:"language and kernelId are required"},{status:400});let a=e.kernels[b.kernelId];if(!a||a.language!==b.language)return v.NextResponse.json({error:"Kernel not found for selected language"},{status:404});let c=f??{version:"1.0",selectedKernels:{}};return c.selectedKernels={...c.selectedKernels??{},[b.language]:b.kernelId},await (0,y.RJ)(d,c),v.NextResponse.json({success:!0,...E(e,c,d)})}if("setDefault"===c){if(!B(b.language)||"string"!=typeof b.kernelId)return v.NextResponse.json({error:"language and kernelId are required"},{status:400});let a=e.kernels[b.kernelId];if(!a||a.language!==b.language)return v.NextResponse.json({error:"Kernel not found for selected language"},{status:404});e.defaultKernel[b.language]=b.kernelId,await (0,y.tE)(e);let c=d?await (0,y.WM)(d):null;return v.NextResponse.json({success:!0,...E(e,c,d)})}if("add"===c){if("string"!=typeof b.kernelId||!b.kernelId.trim())return v.NextResponse.json({error:"kernelId is required"},{status:400});let a=b.kernelId.trim();if(e.kernels[a])return v.NextResponse.json({error:"Kernel ID already exists"},{status:409});e.kernels[a]=D(b.kernel??{}),await (0,y.tE)(e);let c=d?await (0,y.WM)(d):null;return v.NextResponse.json({success:!0,...E(e,c,d)})}if("edit"===c){if("string"!=typeof b.kernelId||!e.kernels[b.kernelId])return v.NextResponse.json({error:"Kernel not found"},{status:404});e.kernels[b.kernelId]=D(b.kernel??{}),await (0,y.tE)(e);let a=d?await (0,y.WM)(d):null;return v.NextResponse.json({success:!0,...E(e,a,d)})}if("delete"===c){if("string"!=typeof b.kernelId||!e.kernels[b.kernelId])return v.NextResponse.json({error:"Kernel not found"},{status:404});if("default-python"===b.kernelId||"default-r"===b.kernelId)return v.NextResponse.json({error:"System default kernels cannot be deleted"},{status:400});for(let a of(delete e.kernels[b.kernelId],["python","r"]))e.defaultKernel[a]===b.kernelId&&delete e.defaultKernel[a];await (0,y.tE)(e);let a=f;if(d&&a){let c={...a.selectedKernels??{}};for(let a of["python","r"])c[a]===b.kernelId&&delete c[a];a={...a,selectedKernels:c},await (0,y.RJ)(d,a)}return v.NextResponse.json({success:!0,...E(e,a,d)})}return v.NextResponse.json({error:"Unknown action"},{status:400})}catch(a){return v.NextResponse.json({error:a instanceof Error?a.message:String(a)},{status:500})}}let I=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/plot-kernels/route",pathname:"/api/plot-kernels",filename:"route",bundlePath:"app/api/plot-kernels/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/annovibe/annovibe/app/api/plot-kernels/route.ts",nextConfigOutput:"",userland:d}),{workAsyncStorage:J,workUnitAsyncStorage:K,serverHooks:L}=I;function M(){return(0,g.patchFetch)({workAsyncStorage:J,workUnitAsyncStorage:K})}async function N(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),I.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/plot-kernels/route";"/index"===d&&(d="/");let e=await I.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,params:v,nextConfig:w,parsedUrl:x,isDraftMode:y,prerenderManifest:z,routerServerContext:A,isOnDemandRevalidate:B,revalidateOnlyGenerated:C,resolvedPathname:D,clientReferenceManifest:E,serverActionsManifest:F}=e,G=(0,k.normalizeAppPath)(d),H=!!(z.dynamicRoutes[G]||z.routes[D]),J=async()=>((null==A?void 0:A.render404)?await A.render404(a,b,x,!1):b.end("This page could not be found"),null);if(H&&!y){let a=!!z.routes[D],b=z.dynamicRoutes[G];if(b&&!1===b.fallback&&!a){if(w.adapterPath)return await J();throw new t.NoFallbackError}}let K=null;!H||I.isDev||y||(K="/index"===(K=D)?"/":K);let L=!0===I.isDev||!H,M=H&&!L;F&&E&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:E,serverActionsManifest:F});let N=a.method||"GET",O=(0,i.getTracer)(),P=O.getActiveScopeSpan(),Q=!!(null==A?void 0:A.isWrappedByNextServer),R=!!(0,h.getRequestMeta)(a,"minimalMode"),S=(0,h.getRequestMeta)(a,"incrementalCache")||await I.getIncrementalCache(a,w,z,R);null==S||S.resetRequestCache(),globalThis.__incrementalCache=S;let T={params:v,previewProps:z.preview,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts},cacheComponents:!!w.cacheComponents,supportsDynamicResponse:L,incrementalCache:S,cacheLifeProfiles:w.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>I.onRequestError(a,b,d,e,A)},sharedContext:{buildId:g}},U=new l.NodeNextRequest(a),V=new l.NodeNextResponse(b),W=m.NextRequestAdapter.fromNodeNextRequest(U,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>I.handle(W,T).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=O.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${N} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${N} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!R&&B&&C&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=T.renderOpts.fetchMetrics;let h=T.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=T.renderOpts.collectedTags;if(!H)return await (0,p.I)(U,V,d,T.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==T.renderOpts.collectedRevalidate&&!(T.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&T.renderOpts.collectedRevalidate,e=void 0===T.renderOpts.collectedExpire||T.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:T.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await I.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:B})},!1,A),b}},k=await I.handleResponse({req:a,nextConfig:w,cacheKey:K,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:z,isRoutePPREnabled:!1,isOnDemandRevalidate:B,revalidateOnlyGenerated:C,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:R});if(!H)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});R||b.setHeader("x-nextjs-cache",B?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),y&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return R&&H||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(U,V,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};Q&&P?await h(P):(e=O.getActiveScopeSpan(),await O.withPropagatedContext(a.headers,()=>O.trace(n.BaseServerSpan.handleRequest,{spanName:`${N} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":N,"http.target":a.url}},h),void 0,!Q))}catch(b){if(b instanceof t.NoFallbackError||await I.onRequestError(a,b,{routerKind:"App Router",routePath:G,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:B})},!1,A),H)throw b;return await (0,p.I)(U,V,new Response(null,{status:500})),null}}},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},48161:a=>{"use strict";a.exports=require("node:os")},51455:a=>{"use strict";a.exports=require("node:fs/promises")},57975:a=>{"use strict";a.exports=require("node:util")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{"use strict";a.exports=require("node:fs")},76760:a=>{"use strict";a.exports=require("node:path")},77598:a=>{"use strict";a.exports=require("node:crypto")},78335:()=>{},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},96487:()=>{}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,1813,5193],()=>b(b.s=37247));module.exports=c})();
1
+ (()=>{var a={};a.id=2314,a.ids=[2314],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},21820:a=>{"use strict";a.exports=require("os")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},31421:a=>{"use strict";a.exports=require("node:child_process")},33873:a=>{"use strict";a.exports=require("path")},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},48161:a=>{"use strict";a.exports=require("node:os")},51455:a=>{"use strict";a.exports=require("node:fs/promises")},55582:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>N,patchFetch:()=>M,routeModule:()=>I,serverHooks:()=>L,workAsyncStorage:()=>J,workUnitAsyncStorage:()=>K});var d={};c.r(d),c.d(d,{GET:()=>G,POST:()=>H,dynamic:()=>z});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(23211),w=c(21820),x=c(33873),y=c(15193);let z="force-dynamic",A=new Set(["python","r"]);function B(a){return"string"==typeof a&&A.has(a)}function C(a){return JSON.stringify({language:a.language,command:a.command,args:a.args,env:a.env})}function D(a){if(!B(a.language))throw Error("Kernel language must be python or r");if("string"!=typeof a.command||!a.command.trim())throw Error("Kernel command is required");let b=Array.isArray(a.args)?a.args.map(a=>String(a)):"python"===a.language?["-u"]:["--slave","--vanilla"],c=a.env&&"object"==typeof a.env&&!Array.isArray(a.env)?Object.fromEntries(Object.entries(a.env).map(([a,b])=>[a,String(b)])):{};return{language:a.language,command:a.command.trim(),args:b,displayName:"string"==typeof a.displayName&&a.displayName.trim()?a.displayName.trim():`${a.language} (${a.command.trim()})`,env:c}}function E(a,b,c){let d=b?.selectedKernels??{};return{kernels:Object.entries(a.kernels).map(([b,c])=>{let e=d[c.language]??a.defaultKernel[c.language]??null;return{id:b,...c,isDefault:a.defaultKernel[c.language]===b,isProjectSelected:d[c.language]===b,isEffective:e===b}}),defaultKernel:a.defaultKernel,selectedKernels:d,scanCache:a.scanCache,paths:{global:(0,x.join)((0,w.homedir)(),".config","warmplot.json"),project:c?(0,x.join)(c,".pi","warmplot.json"):null}}}async function F(a){return{globalConfig:await (0,y.G_)(),projectConfig:a?await (0,y.WM)(a):null}}async function G(a){try{let{searchParams:b}=new URL(a.url),c=b.get("cwd"),{globalConfig:d,projectConfig:e}=await F(c);return v.NextResponse.json(E(d,e,c))}catch(a){return v.NextResponse.json({error:String(a)},{status:500})}}async function H(a){try{let b=await a.json(),c=b.action,d="string"==typeof b.cwd&&b.cwd.trim()?b.cwd.trim():null,{globalConfig:e,projectConfig:f}=await F(d);if("scan"===c){let a=B(b.language)?b.language:null,c=a?"python"===a?await (0,y.Ql)(d??void 0):await (0,y.Wm)(d??void 0):await (0,y.rD)(d??void 0),f=new Set(Object.values(e.kernels).map(C)),g=[],h=0;for(let a of c.newKernels){let b=C(a);if(f.has(b)){h+=1;continue}let c=function(a,b){let c=b,d=1;for(;a.kernels[c];)c=`${b}-${d}`,d+=1;return c}(e,a.displayName.toLowerCase().replace(/[^a-z0-9-]/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,"")||"kernel");e.kernels[c]=a,f.add(b),g.push({id:c,...a})}e.scanCache={lastScan:new Date().toISOString(),scannedKernels:Object.keys(e.kernels)},await (0,y.tE)(e);let i=d?await (0,y.WM)(d):null;return v.NextResponse.json({success:!0,added:g,skipped:h,errors:c.errors,...E(e,i,d)})}if("select"===c){if(!d)return v.NextResponse.json({error:"cwd is required"},{status:400});if(!B(b.language)||"string"!=typeof b.kernelId)return v.NextResponse.json({error:"language and kernelId are required"},{status:400});let a=e.kernels[b.kernelId];if(!a||a.language!==b.language)return v.NextResponse.json({error:"Kernel not found for selected language"},{status:404});let c=f??{version:"1.0",selectedKernels:{}};return c.selectedKernels={...c.selectedKernels??{},[b.language]:b.kernelId},await (0,y.RJ)(d,c),v.NextResponse.json({success:!0,...E(e,c,d)})}if("setDefault"===c){if(!B(b.language)||"string"!=typeof b.kernelId)return v.NextResponse.json({error:"language and kernelId are required"},{status:400});let a=e.kernels[b.kernelId];if(!a||a.language!==b.language)return v.NextResponse.json({error:"Kernel not found for selected language"},{status:404});e.defaultKernel[b.language]=b.kernelId,await (0,y.tE)(e);let c=d?await (0,y.WM)(d):null;return v.NextResponse.json({success:!0,...E(e,c,d)})}if("add"===c){if("string"!=typeof b.kernelId||!b.kernelId.trim())return v.NextResponse.json({error:"kernelId is required"},{status:400});let a=b.kernelId.trim();if(e.kernels[a])return v.NextResponse.json({error:"Kernel ID already exists"},{status:409});e.kernels[a]=D(b.kernel??{}),await (0,y.tE)(e);let c=d?await (0,y.WM)(d):null;return v.NextResponse.json({success:!0,...E(e,c,d)})}if("edit"===c){if("string"!=typeof b.kernelId||!e.kernels[b.kernelId])return v.NextResponse.json({error:"Kernel not found"},{status:404});e.kernels[b.kernelId]=D(b.kernel??{}),await (0,y.tE)(e);let a=d?await (0,y.WM)(d):null;return v.NextResponse.json({success:!0,...E(e,a,d)})}if("delete"===c){if("string"!=typeof b.kernelId||!e.kernels[b.kernelId])return v.NextResponse.json({error:"Kernel not found"},{status:404});if("default-python"===b.kernelId||"default-r"===b.kernelId)return v.NextResponse.json({error:"System default kernels cannot be deleted"},{status:400});for(let a of(delete e.kernels[b.kernelId],["python","r"]))e.defaultKernel[a]===b.kernelId&&delete e.defaultKernel[a];await (0,y.tE)(e);let a=f;if(d&&a){let c={...a.selectedKernels??{}};for(let a of["python","r"])c[a]===b.kernelId&&delete c[a];a={...a,selectedKernels:c},await (0,y.RJ)(d,a)}return v.NextResponse.json({success:!0,...E(e,a,d)})}return v.NextResponse.json({error:"Unknown action"},{status:400})}catch(a){return v.NextResponse.json({error:a instanceof Error?a.message:String(a)},{status:500})}}let I=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/plot-kernels/route",pathname:"/api/plot-kernels",filename:"route",bundlePath:"app/api/plot-kernels/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/annovibe/annovibe/app/api/plot-kernels/route.ts",nextConfigOutput:"",userland:d}),{workAsyncStorage:J,workUnitAsyncStorage:K,serverHooks:L}=I;function M(){return(0,g.patchFetch)({workAsyncStorage:J,workUnitAsyncStorage:K})}async function N(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),I.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/plot-kernels/route";"/index"===d&&(d="/");let e=await I.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,params:v,nextConfig:w,parsedUrl:x,isDraftMode:y,prerenderManifest:z,routerServerContext:A,isOnDemandRevalidate:B,revalidateOnlyGenerated:C,resolvedPathname:D,clientReferenceManifest:E,serverActionsManifest:F}=e,G=(0,k.normalizeAppPath)(d),H=!!(z.dynamicRoutes[G]||z.routes[D]),J=async()=>((null==A?void 0:A.render404)?await A.render404(a,b,x,!1):b.end("This page could not be found"),null);if(H&&!y){let a=!!z.routes[D],b=z.dynamicRoutes[G];if(b&&!1===b.fallback&&!a){if(w.adapterPath)return await J();throw new t.NoFallbackError}}let K=null;!H||I.isDev||y||(K="/index"===(K=D)?"/":K);let L=!0===I.isDev||!H,M=H&&!L;F&&E&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:E,serverActionsManifest:F});let N=a.method||"GET",O=(0,i.getTracer)(),P=O.getActiveScopeSpan(),Q=!!(null==A?void 0:A.isWrappedByNextServer),R=!!(0,h.getRequestMeta)(a,"minimalMode"),S=(0,h.getRequestMeta)(a,"incrementalCache")||await I.getIncrementalCache(a,w,z,R);null==S||S.resetRequestCache(),globalThis.__incrementalCache=S;let T={params:v,previewProps:z.preview,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts},cacheComponents:!!w.cacheComponents,supportsDynamicResponse:L,incrementalCache:S,cacheLifeProfiles:w.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>I.onRequestError(a,b,d,e,A)},sharedContext:{buildId:g}},U=new l.NodeNextRequest(a),V=new l.NodeNextResponse(b),W=m.NextRequestAdapter.fromNodeNextRequest(U,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>I.handle(W,T).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=O.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${N} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${N} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!R&&B&&C&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=T.renderOpts.fetchMetrics;let h=T.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=T.renderOpts.collectedTags;if(!H)return await (0,p.I)(U,V,d,T.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==T.renderOpts.collectedRevalidate&&!(T.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&T.renderOpts.collectedRevalidate,e=void 0===T.renderOpts.collectedExpire||T.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:T.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await I.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:B})},!1,A),b}},k=await I.handleResponse({req:a,nextConfig:w,cacheKey:K,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:z,isRoutePPREnabled:!1,isOnDemandRevalidate:B,revalidateOnlyGenerated:C,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:R});if(!H)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});R||b.setHeader("x-nextjs-cache",B?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),y&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return R&&H||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(U,V,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};Q&&P?await h(P):(e=O.getActiveScopeSpan(),await O.withPropagatedContext(a.headers,()=>O.trace(n.BaseServerSpan.handleRequest,{spanName:`${N} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":N,"http.target":a.url}},h),void 0,!Q))}catch(b){if(b instanceof t.NoFallbackError||await I.onRequestError(a,b,{routerKind:"App Router",routePath:G,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:B})},!1,A),H)throw b;return await (0,p.I)(U,V,new Response(null,{status:500})),null}}},57975:a=>{"use strict";a.exports=require("node:util")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{"use strict";a.exports=require("node:fs")},76760:a=>{"use strict";a.exports=require("node:path")},77598:a=>{"use strict";a.exports=require("node:crypto")},78335:()=>{},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},96487:()=>{}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,1813,5193],()=>b(b.s=55582));module.exports=c})();
@@ -1 +1 @@
1
- (()=>{var a={};a.id=9626,a.ids=[9626],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},2836:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>F,patchFetch:()=>E,routeModule:()=>A,serverHooks:()=>D,workAsyncStorage:()=>B,workUnitAsyncStorage:()=>C});var d={};c.r(d),c.d(d,{POST:()=>z,dynamic:()=>y});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(23211),w=c(15193),x=c(39773);let y="force-dynamic";async function z(a){try{let{replayToken:b,format:c,dpi:d,width:e,height:f}=await a.json();if(!b)return v.NextResponse.json({error:"replayToken required"},{status:400});let g=(0,x.X)(b);if(!g)return v.NextResponse.json({error:"Save session expired. Re-render the plot."},{status:410});let h=await (0,w.n6)();if(!h.save)return v.NextResponse.json({error:"kernel-lite-core does not support save"},{status:501});let i=await h.save({scriptPath:g.scriptPath,outputDir:g.outputDir,language:g.language,format:"png"===c||"svg"===c?c:"pdf",dpi:"number"==typeof d&&Number.isFinite(d)&&d>=72&&d<=1200?d:300,width:"number"==typeof e&&Number.isFinite(e)&&e>=100?e:800,height:"number"==typeof f&&Number.isFinite(f)&&f>=100?f:600});return v.NextResponse.json({ok:!0,savedPath:i.savedPath,artifacts:i.artifacts})}catch(a){return v.NextResponse.json({error:String(a)},{status:500})}}let A=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/plot-kernels/save/route",pathname:"/api/plot-kernels/save",filename:"route",bundlePath:"app/api/plot-kernels/save/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/annovibe/annovibe/app/api/plot-kernels/save/route.ts",nextConfigOutput:"",userland:d}),{workAsyncStorage:B,workUnitAsyncStorage:C,serverHooks:D}=A;function E(){return(0,g.patchFetch)({workAsyncStorage:B,workUnitAsyncStorage:C})}async function F(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),A.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/plot-kernels/save/route";"/index"===d&&(d="/");let e=await A.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,params:v,nextConfig:w,parsedUrl:x,isDraftMode:y,prerenderManifest:z,routerServerContext:B,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,resolvedPathname:E,clientReferenceManifest:F,serverActionsManifest:G}=e,H=(0,k.normalizeAppPath)(d),I=!!(z.dynamicRoutes[H]||z.routes[E]),J=async()=>((null==B?void 0:B.render404)?await B.render404(a,b,x,!1):b.end("This page could not be found"),null);if(I&&!y){let a=!!z.routes[E],b=z.dynamicRoutes[H];if(b&&!1===b.fallback&&!a){if(w.adapterPath)return await J();throw new t.NoFallbackError}}let K=null;!I||A.isDev||y||(K="/index"===(K=E)?"/":K);let L=!0===A.isDev||!I,M=I&&!L;G&&F&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:F,serverActionsManifest:G});let N=a.method||"GET",O=(0,i.getTracer)(),P=O.getActiveScopeSpan(),Q=!!(null==B?void 0:B.isWrappedByNextServer),R=!!(0,h.getRequestMeta)(a,"minimalMode"),S=(0,h.getRequestMeta)(a,"incrementalCache")||await A.getIncrementalCache(a,w,z,R);null==S||S.resetRequestCache(),globalThis.__incrementalCache=S;let T={params:v,previewProps:z.preview,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts},cacheComponents:!!w.cacheComponents,supportsDynamicResponse:L,incrementalCache:S,cacheLifeProfiles:w.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>A.onRequestError(a,b,d,e,B)},sharedContext:{buildId:g}},U=new l.NodeNextRequest(a),V=new l.NodeNextResponse(b),W=m.NextRequestAdapter.fromNodeNextRequest(U,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>A.handle(W,T).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=O.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${N} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${N} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!R&&C&&D&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=T.renderOpts.fetchMetrics;let h=T.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=T.renderOpts.collectedTags;if(!I)return await (0,p.I)(U,V,d,T.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==T.renderOpts.collectedRevalidate&&!(T.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&T.renderOpts.collectedRevalidate,e=void 0===T.renderOpts.collectedExpire||T.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:T.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await A.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),b}},k=await A.handleResponse({req:a,nextConfig:w,cacheKey:K,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:z,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:R});if(!I)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});R||b.setHeader("x-nextjs-cache",C?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),y&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return R&&I||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(U,V,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};Q&&P?await h(P):(e=O.getActiveScopeSpan(),await O.withPropagatedContext(a.headers,()=>O.trace(n.BaseServerSpan.handleRequest,{spanName:`${N} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":N,"http.target":a.url}},h),void 0,!Q))}catch(b){if(b instanceof t.NoFallbackError||await A.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),I)throw b;return await (0,p.I)(U,V,new Response(null,{status:500})),null}}},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},31421:a=>{"use strict";a.exports=require("node:child_process")},39773:(a,b,c)=>{"use strict";c.d(b,{X:()=>g,w:()=>f});var d=c(55511);let e=new Map;function f(a){let b=(0,d.randomUUID)().replace(/-/g,"").slice(0,24);return e.set(b,{...a,token:b,expiresAt:Date.now()+18e5}),b}function g(a){let b=e.get(a);return b?Date.now()>b.expiresAt?(e.delete(a),null):b:null}setInterval(()=>{let a=Date.now();for(let[b,c]of e)a>c.expiresAt&&e.delete(b)},3e5)},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},48161:a=>{"use strict";a.exports=require("node:os")},51455:a=>{"use strict";a.exports=require("node:fs/promises")},55511:a=>{"use strict";a.exports=require("crypto")},57975:a=>{"use strict";a.exports=require("node:util")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{"use strict";a.exports=require("node:fs")},76760:a=>{"use strict";a.exports=require("node:path")},77598:a=>{"use strict";a.exports=require("node:crypto")},78335:()=>{},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},96487:()=>{}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,1813,5193],()=>b(b.s=2836));module.exports=c})();
1
+ (()=>{var a={};a.id=9626,a.ids=[9626],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},31421:a=>{"use strict";a.exports=require("node:child_process")},39773:(a,b,c)=>{"use strict";c.d(b,{X:()=>g,w:()=>f});var d=c(55511);let e=new Map;function f(a){let b=(0,d.randomUUID)().replace(/-/g,"").slice(0,24);return e.set(b,{...a,token:b,expiresAt:Date.now()+18e5}),b}function g(a){let b=e.get(a);return b?Date.now()>b.expiresAt?(e.delete(a),null):b:null}setInterval(()=>{let a=Date.now();for(let[b,c]of e)a>c.expiresAt&&e.delete(b)},3e5)},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},48161:a=>{"use strict";a.exports=require("node:os")},51455:a=>{"use strict";a.exports=require("node:fs/promises")},55511:a=>{"use strict";a.exports=require("crypto")},57975:a=>{"use strict";a.exports=require("node:util")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{"use strict";a.exports=require("node:fs")},76760:a=>{"use strict";a.exports=require("node:path")},77598:a=>{"use strict";a.exports=require("node:crypto")},78335:()=>{},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},90728:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>F,patchFetch:()=>E,routeModule:()=>A,serverHooks:()=>D,workAsyncStorage:()=>B,workUnitAsyncStorage:()=>C});var d={};c.r(d),c.d(d,{POST:()=>z,dynamic:()=>y});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(23211),w=c(15193),x=c(39773);let y="force-dynamic";async function z(a){try{let{replayToken:b,format:c,dpi:d,width:e,height:f}=await a.json();if(!b)return v.NextResponse.json({error:"replayToken required"},{status:400});let g=(0,x.X)(b);if(!g)return v.NextResponse.json({error:"Save session expired. Re-render the plot."},{status:410});let h=await (0,w.n6)();if(!h.save)return v.NextResponse.json({error:"kernel-lite-core does not support save"},{status:501});let i=await h.save({scriptPath:g.scriptPath,outputDir:g.outputDir,language:g.language,format:"png"===c||"svg"===c?c:"pdf",dpi:"number"==typeof d&&Number.isFinite(d)&&d>=72&&d<=1200?d:300,width:"number"==typeof e&&Number.isFinite(e)&&e>=100?e:800,height:"number"==typeof f&&Number.isFinite(f)&&f>=100?f:600});return v.NextResponse.json({ok:!0,savedPath:i.savedPath,artifacts:i.artifacts})}catch(a){return v.NextResponse.json({error:String(a)},{status:500})}}let A=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/plot-kernels/save/route",pathname:"/api/plot-kernels/save",filename:"route",bundlePath:"app/api/plot-kernels/save/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/annovibe/annovibe/app/api/plot-kernels/save/route.ts",nextConfigOutput:"",userland:d}),{workAsyncStorage:B,workUnitAsyncStorage:C,serverHooks:D}=A;function E(){return(0,g.patchFetch)({workAsyncStorage:B,workUnitAsyncStorage:C})}async function F(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),A.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/plot-kernels/save/route";"/index"===d&&(d="/");let e=await A.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,params:v,nextConfig:w,parsedUrl:x,isDraftMode:y,prerenderManifest:z,routerServerContext:B,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,resolvedPathname:E,clientReferenceManifest:F,serverActionsManifest:G}=e,H=(0,k.normalizeAppPath)(d),I=!!(z.dynamicRoutes[H]||z.routes[E]),J=async()=>((null==B?void 0:B.render404)?await B.render404(a,b,x,!1):b.end("This page could not be found"),null);if(I&&!y){let a=!!z.routes[E],b=z.dynamicRoutes[H];if(b&&!1===b.fallback&&!a){if(w.adapterPath)return await J();throw new t.NoFallbackError}}let K=null;!I||A.isDev||y||(K="/index"===(K=E)?"/":K);let L=!0===A.isDev||!I,M=I&&!L;G&&F&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:F,serverActionsManifest:G});let N=a.method||"GET",O=(0,i.getTracer)(),P=O.getActiveScopeSpan(),Q=!!(null==B?void 0:B.isWrappedByNextServer),R=!!(0,h.getRequestMeta)(a,"minimalMode"),S=(0,h.getRequestMeta)(a,"incrementalCache")||await A.getIncrementalCache(a,w,z,R);null==S||S.resetRequestCache(),globalThis.__incrementalCache=S;let T={params:v,previewProps:z.preview,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts},cacheComponents:!!w.cacheComponents,supportsDynamicResponse:L,incrementalCache:S,cacheLifeProfiles:w.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>A.onRequestError(a,b,d,e,B)},sharedContext:{buildId:g}},U=new l.NodeNextRequest(a),V=new l.NodeNextResponse(b),W=m.NextRequestAdapter.fromNodeNextRequest(U,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>A.handle(W,T).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=O.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${N} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${N} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!R&&C&&D&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=T.renderOpts.fetchMetrics;let h=T.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=T.renderOpts.collectedTags;if(!I)return await (0,p.I)(U,V,d,T.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==T.renderOpts.collectedRevalidate&&!(T.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&T.renderOpts.collectedRevalidate,e=void 0===T.renderOpts.collectedExpire||T.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:T.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await A.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),b}},k=await A.handleResponse({req:a,nextConfig:w,cacheKey:K,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:z,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:R});if(!I)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});R||b.setHeader("x-nextjs-cache",C?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),y&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return R&&I||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(U,V,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};Q&&P?await h(P):(e=O.getActiveScopeSpan(),await O.withPropagatedContext(a.headers,()=>O.trace(n.BaseServerSpan.handleRequest,{spanName:`${N} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":N,"http.target":a.url}},h),void 0,!Q))}catch(b){if(b instanceof t.NoFallbackError||await A.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),I)throw b;return await (0,p.I)(U,V,new Response(null,{status:500})),null}}},96487:()=>{}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,1813,5193],()=>b(b.s=90728));module.exports=c})();
@@ -1 +1 @@
1
- "use strict";(()=>{var a={};a.id=2007,a.ids=[2007],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},7766:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{GET:()=>h,dynamic:()=>i});var e=c(23211),f=c(79022),g=a([f]);f=(g.then?(await g)():g)[0];let i="force-dynamic";async function h(a){try{await (0,f.Y1)();let{searchParams:b}=new URL(a.url),c=b.get("cwd"),d=b.get("sessionId"),g=await (0,f.tJ)({cwd:c,sessionId:d});return e.NextResponse.json(g)}catch(a){return e.NextResponse.json({error:a instanceof Error?a.message:String(a)},{status:500})}}d()}catch(a){d(a)}})},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},21820:a=>{a.exports=require("os")},28354:a=>{a.exports=require("util")},28802:a=>{a.exports=import("@earendil-works/pi-ai")},29021:a=>{a.exports=require("fs")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},31421:a=>{a.exports=require("node:child_process")},33873:a=>{a.exports=require("path")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},48161:a=>{a.exports=require("node:os")},51455:a=>{a.exports=require("node:fs/promises")},55511:a=>{a.exports=require("crypto")},57975:a=>{a.exports=require("node:util")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{a.exports=require("node:fs")},75430:a=>{a.exports=import("@earendil-works/pi-coding-agent")},75993:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{handler:()=>y,patchFetch:()=>x,routeModule:()=>z,serverHooks:()=>C,workAsyncStorage:()=>A,workUnitAsyncStorage:()=>B});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(7766),w=a([v]);v=(w.then?(await w)():w)[0];let z=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/plot-kernels/status/route",pathname:"/api/plot-kernels/status",filename:"route",bundlePath:"app/api/plot-kernels/status/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/annovibe/annovibe/app/api/plot-kernels/status/route.ts",nextConfigOutput:"",userland:v}),{workAsyncStorage:A,workUnitAsyncStorage:B,serverHooks:C}=z;function x(){return(0,g.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:B})}async function y(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),z.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/plot-kernels/status/route";"/index"===d&&(d="/");let e=await z.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,params:v,nextConfig:w,parsedUrl:x,isDraftMode:y,prerenderManifest:A,routerServerContext:B,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,resolvedPathname:E,clientReferenceManifest:F,serverActionsManifest:G}=e,H=(0,k.normalizeAppPath)(d),I=!!(A.dynamicRoutes[H]||A.routes[E]),J=async()=>((null==B?void 0:B.render404)?await B.render404(a,b,x,!1):b.end("This page could not be found"),null);if(I&&!y){let a=!!A.routes[E],b=A.dynamicRoutes[H];if(b&&!1===b.fallback&&!a){if(w.adapterPath)return await J();throw new t.NoFallbackError}}let K=null;!I||z.isDev||y||(K=E,K="/index"===K?"/":K);let L=!0===z.isDev||!I,M=I&&!L;G&&F&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:F,serverActionsManifest:G});let N=a.method||"GET",O=(0,i.getTracer)(),P=O.getActiveScopeSpan(),Q=!!(null==B?void 0:B.isWrappedByNextServer),R=!!(0,h.getRequestMeta)(a,"minimalMode"),S=(0,h.getRequestMeta)(a,"incrementalCache")||await z.getIncrementalCache(a,w,A,R);null==S||S.resetRequestCache(),globalThis.__incrementalCache=S;let T={params:v,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts},cacheComponents:!!w.cacheComponents,supportsDynamicResponse:L,incrementalCache:S,cacheLifeProfiles:w.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>z.onRequestError(a,b,d,e,B)},sharedContext:{buildId:g}},U=new l.NodeNextRequest(a),V=new l.NodeNextResponse(b),W=m.NextRequestAdapter.fromNodeNextRequest(U,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>z.handle(W,T).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=O.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${N} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${N} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!R&&C&&D&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=T.renderOpts.fetchMetrics;let h=T.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=T.renderOpts.collectedTags;if(!I)return await (0,p.I)(U,V,d,T.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==T.renderOpts.collectedRevalidate&&!(T.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&T.renderOpts.collectedRevalidate,e=void 0===T.renderOpts.collectedExpire||T.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:T.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await z.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),b}},k=await z.handleResponse({req:a,nextConfig:w,cacheKey:K,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:R});if(!I)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});R||b.setHeader("x-nextjs-cache",C?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),y&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return R&&I||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(U,V,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};Q&&P?await h(P):(e=O.getActiveScopeSpan(),await O.withPropagatedContext(a.headers,()=>O.trace(n.BaseServerSpan.handleRequest,{spanName:`${N} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":N,"http.target":a.url}},h),void 0,!Q))}catch(b){if(b instanceof t.NoFallbackError||await z.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),I)throw b;return await (0,p.I)(U,V,new Response(null,{status:500})),null}}d()}catch(a){d(a)}})},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},79022:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{VJ:()=>q,Y1:()=>s,tJ:()=>p});var e=c(79646),f=c(79748),g=c(33873),h=c(28354),i=c(9774),j=c(56429),k=a([i,j]);[i,j]=k.then?(await k)():k;let t=(0,h.promisify)(e.execFile);function l(a){let b=[];for(let c of a.split(/\r?\n/)){let a=c.match(/^\s*(\d+)\s+(\d+)\s+(\d+)\s+([\s\S]+)$/);a&&b.push({pid:Number(a[1]),ppid:Number(a[2]),rssBytes:1024*Number(a[3]),command:a[4]})}return b}async function m(a){try{return(0,g.resolve)(await (0,f.readlink)(`/proc/${a}/cwd`))}catch{try{let{stdout:b}=await t("pwdx",[String(a)],{timeout:2500}),c=b.match(/^\d+:\s*(.+)\s*$/);return c?.[1]?(0,g.resolve)(c[1]):null}catch{return null}}}async function n(){try{let{stdout:a}=await t("ps",["-axo","pid=,ppid=,rss=,command="],{timeout:2500,maxBuffer:2097152});return l(a)}catch{let{stdout:a}=await t("ps",["-eo","pid=,ppid=,rss=,args="],{timeout:2500,maxBuffer:2097152});return l(a)}}async function o(a){let b;if(!a)return[];let c=(0,g.join)(a,".pi","kernel-lite","sessions"),d=[];try{b=await (0,f.readdir)(c,{withFileTypes:!0})}catch{return d}let e=Date.now()-6048e5;for(let i of b){let b;if(!i.isDirectory())continue;let j=(0,g.join)(c,i.name,"runs");try{b=await (0,f.readdir)(j,{withFileTypes:!0})}catch{continue}for(let c of b){if(!c.isDirectory())continue;let b=(0,g.join)(j,c.name,"manifest.json");try{var h;let[c,g]=await Promise.all([(0,f.stat)(b),(0,f.readFile)(b,"utf8")]);if(c.mtimeMs<e)continue;let i=JSON.parse(g);if("string"!=typeof i.ownerId||(h=i.language,"python"!==h&&"r"!==h))continue;d.push({cwd:a,sessionId:i.ownerId,language:i.language,updatedMs:c.mtimeMs})}catch{continue}}}return d.sort((a,b)=>b.updatedMs-a.updatedMs)}async function p(a={}){var b;let[c,d]=await Promise.all([n(),o(a.cwd??null)]),e=(b=(await Promise.all(c.flatMap(b=>{var c;let e=(c=b.command,/(^|\s|\/)R\s+--slave\s+--vanilla(\s|$)/.test(c)?"r":c.includes("WARMPLOT_KERNEL_RESPONSE")?/(^|\s)R(\s|$)|--slave|--vanilla/.test(c)?"r":/(^|\s)python[0-9.]*\s/i.test(c)||c.includes("python")?"python":null:null);return e?[m(b.pid).then(c=>{let f=c?(0,g.resolve)(c):a.cwd?(0,g.resolve)(a.cwd):null,h=f?d.filter(a=>(0,g.resolve)(a.cwd)===f):d;return"r"!==e||h.some(a=>"r"===a.language)?{pid:b.pid,ppid:b.ppid,rssBytes:b.rssBytes,language:e,command:b.command,cwd:f,sessionId:function(a){if(a.sessionId){let b=a.owners.find(b=>b.sessionId===a.sessionId&&b.language===a.language);if(b)return b.sessionId}return a.owners.find(b=>b.language===a.language)?.sessionId??null}({cwd:f,language:e,sessionId:a.sessionId??null,owners:h}),lastActivity:null,source:"process"}:null})]:[]}))).filter(a=>null!==a),b.map(a=>{let b=d.find(b=>b.language===a.language&&b.sessionId===a.sessionId&&(!a.cwd||(0,g.resolve)(b.cwd)===a.cwd));return b?{...a,lastActivity:new Date(b.updatedMs).toISOString()}:{...a,lastActivity:null}})),f={};for(let a of e)a.cwd&&(f[a.cwd]=(f[a.cwd]??0)+a.rssBytes);return{totalBytes:e.reduce((a,b)=>a+b.rssBytes,0),currentSessionBytes:e.filter(b=>a.sessionId&&b.sessionId===a.sessionId).reduce((a,b)=>a+b.rssBytes,0),kernels:e,projects:f,generatedAt:new Date().toISOString(),precision:"process"}}async function q(a){let b=(0,j.A4)(a.sessionId);if(b?.isAlive()){let c=b.inner.getToolDefinition?.("kernel_plot_stop"),d=b.inner.extensionRunner?.createContext?.();if(c&&d)return void await c.execute(`annovibe-plot-stop-${Date.now()}`,a.language?{language:a.language}:{},void 0,void 0,d)}let c=(await p({sessionId:a.sessionId})).kernels.filter(b=>b.sessionId===a.sessionId&&(!a.language||b.language===a.language));if(0===c.length)throw Error("No matching plot kernel process was detected for this chat");await r(c)}async function r(a){let b=[...new Set(a.map(a=>a.pid))].filter(a=>a>0&&a!==process.pid);for(let a of b)try{process.kill(a,"SIGTERM")}catch{}for(let a of(await new Promise(a=>setTimeout(a,1500)),b))try{process.kill(a,0),process.kill(a,"SIGKILL")}catch{}return b.length}async function s(){let a=(0,i.cV)().plotIdleTimeoutMs;if(a<=0)return 0;let b=await p(),c=Date.now()-a,d=b.kernels.filter(a=>{if(!a.lastActivity)return!1;let b=new Date(a.lastActivity).getTime();return Number.isFinite(b)&&b<c});return 0===d.length?0:r(d)}d()}catch(a){d(a)}})},79646:a=>{a.exports=require("child_process")},79748:a=>{a.exports=require("fs/promises")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,1813,5193,7914,6429],()=>b(b.s=75993));module.exports=c})();
1
+ "use strict";(()=>{var a={};a.id=2007,a.ids=[2007],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},7766:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{GET:()=>h,dynamic:()=>i});var e=c(23211),f=c(79022),g=a([f]);f=(g.then?(await g)():g)[0];let i="force-dynamic";async function h(a){try{await (0,f.Y1)();let{searchParams:b}=new URL(a.url),c=b.get("cwd"),d=b.get("sessionId"),g=await (0,f.tJ)({cwd:c,sessionId:d});return e.NextResponse.json(g)}catch(a){return e.NextResponse.json({error:a instanceof Error?a.message:String(a)},{status:500})}}d()}catch(a){d(a)}})},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},21820:a=>{a.exports=require("os")},28354:a=>{a.exports=require("util")},28511:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{handler:()=>y,patchFetch:()=>x,routeModule:()=>z,serverHooks:()=>C,workAsyncStorage:()=>A,workUnitAsyncStorage:()=>B});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(7766),w=a([v]);v=(w.then?(await w)():w)[0];let z=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/plot-kernels/status/route",pathname:"/api/plot-kernels/status",filename:"route",bundlePath:"app/api/plot-kernels/status/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/annovibe/annovibe/app/api/plot-kernels/status/route.ts",nextConfigOutput:"",userland:v}),{workAsyncStorage:A,workUnitAsyncStorage:B,serverHooks:C}=z;function x(){return(0,g.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:B})}async function y(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),z.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/plot-kernels/status/route";"/index"===d&&(d="/");let e=await z.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,params:v,nextConfig:w,parsedUrl:x,isDraftMode:y,prerenderManifest:A,routerServerContext:B,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,resolvedPathname:E,clientReferenceManifest:F,serverActionsManifest:G}=e,H=(0,k.normalizeAppPath)(d),I=!!(A.dynamicRoutes[H]||A.routes[E]),J=async()=>((null==B?void 0:B.render404)?await B.render404(a,b,x,!1):b.end("This page could not be found"),null);if(I&&!y){let a=!!A.routes[E],b=A.dynamicRoutes[H];if(b&&!1===b.fallback&&!a){if(w.adapterPath)return await J();throw new t.NoFallbackError}}let K=null;!I||z.isDev||y||(K=E,K="/index"===K?"/":K);let L=!0===z.isDev||!I,M=I&&!L;G&&F&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:F,serverActionsManifest:G});let N=a.method||"GET",O=(0,i.getTracer)(),P=O.getActiveScopeSpan(),Q=!!(null==B?void 0:B.isWrappedByNextServer),R=!!(0,h.getRequestMeta)(a,"minimalMode"),S=(0,h.getRequestMeta)(a,"incrementalCache")||await z.getIncrementalCache(a,w,A,R);null==S||S.resetRequestCache(),globalThis.__incrementalCache=S;let T={params:v,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts},cacheComponents:!!w.cacheComponents,supportsDynamicResponse:L,incrementalCache:S,cacheLifeProfiles:w.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>z.onRequestError(a,b,d,e,B)},sharedContext:{buildId:g}},U=new l.NodeNextRequest(a),V=new l.NodeNextResponse(b),W=m.NextRequestAdapter.fromNodeNextRequest(U,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>z.handle(W,T).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=O.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${N} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${N} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!R&&C&&D&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=T.renderOpts.fetchMetrics;let h=T.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=T.renderOpts.collectedTags;if(!I)return await (0,p.I)(U,V,d,T.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==T.renderOpts.collectedRevalidate&&!(T.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&T.renderOpts.collectedRevalidate,e=void 0===T.renderOpts.collectedExpire||T.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:T.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await z.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),b}},k=await z.handleResponse({req:a,nextConfig:w,cacheKey:K,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:R});if(!I)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});R||b.setHeader("x-nextjs-cache",C?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),y&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return R&&I||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(U,V,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};Q&&P?await h(P):(e=O.getActiveScopeSpan(),await O.withPropagatedContext(a.headers,()=>O.trace(n.BaseServerSpan.handleRequest,{spanName:`${N} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":N,"http.target":a.url}},h),void 0,!Q))}catch(b){if(b instanceof t.NoFallbackError||await z.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),I)throw b;return await (0,p.I)(U,V,new Response(null,{status:500})),null}}d()}catch(a){d(a)}})},28802:a=>{a.exports=import("@earendil-works/pi-ai")},29021:a=>{a.exports=require("fs")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},31421:a=>{a.exports=require("node:child_process")},33873:a=>{a.exports=require("path")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},48161:a=>{a.exports=require("node:os")},51455:a=>{a.exports=require("node:fs/promises")},55511:a=>{a.exports=require("crypto")},57975:a=>{a.exports=require("node:util")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{a.exports=require("node:fs")},75430:a=>{a.exports=import("@earendil-works/pi-coding-agent")},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},79022:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Lm:()=>r,VJ:()=>q,Y1:()=>t,tJ:()=>p});var e=c(79646),f=c(79748),g=c(33873),h=c(28354),i=c(9774),j=c(56429),k=a([i,j]);[i,j]=k.then?(await k)():k;let u=(0,h.promisify)(e.execFile);function l(a){let b=[];for(let c of a.split(/\r?\n/)){let a=c.match(/^\s*(\d+)\s+(\d+)\s+(\d+)\s+([\s\S]+)$/);a&&b.push({pid:Number(a[1]),ppid:Number(a[2]),rssBytes:1024*Number(a[3]),command:a[4]})}return b}async function m(a){try{return(0,g.resolve)(await (0,f.readlink)(`/proc/${a}/cwd`))}catch{try{let{stdout:b}=await u("pwdx",[String(a)],{timeout:2500}),c=b.match(/^\d+:\s*(.+)\s*$/);return c?.[1]?(0,g.resolve)(c[1]):null}catch{return null}}}async function n(){try{let{stdout:a}=await u("ps",["-axo","pid=,ppid=,rss=,command="],{timeout:2500,maxBuffer:2097152});return l(a)}catch{let{stdout:a}=await u("ps",["-eo","pid=,ppid=,rss=,args="],{timeout:2500,maxBuffer:2097152});return l(a)}}async function o(a){let b;if(!a)return[];let c=(0,g.join)(a,".pi","kernel-lite","sessions"),d=[];try{b=await (0,f.readdir)(c,{withFileTypes:!0})}catch{return d}let e=Date.now()-6048e5;for(let i of b){let b;if(!i.isDirectory())continue;let j=(0,g.join)(c,i.name,"runs");try{b=await (0,f.readdir)(j,{withFileTypes:!0})}catch{continue}for(let c of b){if(!c.isDirectory())continue;let b=(0,g.join)(j,c.name,"manifest.json");try{var h;let[c,g]=await Promise.all([(0,f.stat)(b),(0,f.readFile)(b,"utf8")]);if(c.mtimeMs<e)continue;let i=JSON.parse(g);if("string"!=typeof i.ownerId||(h=i.language,"python"!==h&&"r"!==h))continue;d.push({cwd:a,sessionId:i.ownerId,language:i.language,updatedMs:c.mtimeMs})}catch{continue}}}return d.sort((a,b)=>b.updatedMs-a.updatedMs)}async function p(a={}){var b;let c=await n(),d=await Promise.all(c.flatMap(b=>{var c;let d=(c=b.command,/(^|\s|\/)R\s+--slave\s+--vanilla(\s|$)/.test(c)?"r":c.includes("WARMPLOT_KERNEL_RESPONSE")?/(^|\s)R(\s|$)|--slave|--vanilla/.test(c)?"r":/(^|\s)python[0-9.]*\s/i.test(c)||c.includes("python")?"python":null:null);return d?[m(b.pid).then(c=>({row:b,language:d,cwd:c?(0,g.resolve)(c):a.cwd?(0,g.resolve)(a.cwd):null}))]:[]})),e=[...new Set([...a.cwd?[(0,g.resolve)(a.cwd)]:[],...d.map(a=>a.cwd).filter(a=>!!a)])],f=(await Promise.all(e.map(a=>o(a)))).flat(),h=(b=d.map(b=>{let c=b.cwd?f.filter(a=>(0,g.resolve)(a.cwd)===b.cwd):f;return"r"!==b.language||c.some(a=>"r"===a.language)?{pid:b.row.pid,ppid:b.row.ppid,rssBytes:b.row.rssBytes,language:b.language,command:b.row.command,cwd:b.cwd,sessionId:function(a){if(a.sessionId){let b=a.owners.find(b=>b.sessionId===a.sessionId&&b.language===a.language);if(b)return b.sessionId}return a.owners.find(b=>b.language===a.language)?.sessionId??null}({cwd:b.cwd,language:b.language,sessionId:a.sessionId??null,owners:c}),lastActivity:null,source:"process"}:null}).filter(a=>null!==a),b.map(a=>{let b=f.find(b=>b.language===a.language&&b.sessionId===a.sessionId&&(!a.cwd||(0,g.resolve)(b.cwd)===a.cwd));return b?{...a,lastActivity:new Date(b.updatedMs).toISOString()}:{...a,lastActivity:null}})),i={};for(let a of h)a.cwd&&(i[a.cwd]=(i[a.cwd]??0)+a.rssBytes);return{totalBytes:h.reduce((a,b)=>a+b.rssBytes,0),currentSessionBytes:h.filter(b=>a.sessionId&&b.sessionId===a.sessionId).reduce((a,b)=>a+b.rssBytes,0),kernels:h,projects:i,generatedAt:new Date().toISOString(),precision:"process"}}async function q(a){let b=(0,j.A4)(a.sessionId);if(b?.isAlive()){let c=b.inner.getToolDefinition?.("kernel_plot_stop"),d=b.inner.extensionRunner?.createContext?.();if(c&&d)return void await c.execute(`annovibe-plot-stop-${Date.now()}`,a.language?{language:a.language}:{},void 0,void 0,d)}let c=(await p({sessionId:a.sessionId})).kernels.filter(b=>b.sessionId===a.sessionId&&(!a.language||b.language===a.language));if(0===c.length)throw Error("No matching plot kernel process was detected for this chat");await s(c)}async function r(a){if(!Number.isInteger(a.pid)||a.pid<=0)throw Error("Invalid plot kernel pid");let b=(await p({cwd:a.cwd??null,sessionId:a.sessionId??null})).kernels.find(b=>b.pid===a.pid&&(!a.language||b.language===a.language)&&(!a.cwd||!b.cwd||(0,g.resolve)(b.cwd)===(0,g.resolve)(a.cwd))&&(!a.sessionId||!b.sessionId||b.sessionId===a.sessionId));if(!b)throw Error("No matching plot kernel process was detected for this pid");let c=await s([b]);if(0===c)throw Error("No matching plot kernel process was stopped")}async function s(a){let b=[...new Set(a.map(a=>a.pid))].filter(a=>a>0&&a!==process.pid);for(let a of b)try{process.kill(a,"SIGTERM")}catch{}for(let a of(await new Promise(a=>setTimeout(a,1500)),b))try{process.kill(a,0),process.kill(a,"SIGKILL")}catch{}return b.length}async function t(){let a=(0,i.cV)().plotIdleTimeoutMs;if(a<=0)return 0;let b=await p(),c=Date.now()-a,d=b.kernels.filter(a=>{if(!a.lastActivity)return!1;let b=new Date(a.lastActivity).getTime();return Number.isFinite(b)&&b<c});return 0===d.length?0:s(d)}d()}catch(a){d(a)}})},79646:a=>{a.exports=require("child_process")},79748:a=>{a.exports=require("fs/promises")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,1813,5193,7914,6429],()=>b(b.s=28511));module.exports=c})();