@seqyuan/annovibe 0.8.123 → 0.8.126

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 (296) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +9 -8
  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 +8 -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 +2 -2
  22. package/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  23. package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  24. package/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  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 +2 -2
  28. package/.next/server/app/api/agent/[id]/events/route.js +2 -2
  29. package/.next/server/app/api/agent/[id]/prepare/route.js +1 -1
  30. package/.next/server/app/api/agent/[id]/route.js +1 -1
  31. package/.next/server/app/api/agent/new/route.js +2 -1
  32. package/.next/server/app/api/agent/running/events/route.js +1 -1
  33. package/.next/server/app/api/agent/running/route.js +1 -1
  34. package/.next/server/app/api/agent/runtime/route.js +1 -1
  35. package/.next/server/app/api/apps/[id]/[[...path]]/route.js +2 -2
  36. package/.next/server/app/api/apps/route.js +1 -1
  37. package/.next/server/app/api/auth/all-providers/route.js +1 -1
  38. package/.next/server/app/api/auth/api-key/[provider]/route.js +1 -1
  39. package/.next/server/app/api/auth/login/[provider]/route.js +2 -2
  40. package/.next/server/app/api/auth/login/route.js +1 -1
  41. package/.next/server/app/api/auth/logout/[provider]/route.js +1 -1
  42. package/.next/server/app/api/auth/providers/route.js +1 -1
  43. package/.next/server/app/api/auth/status/route.js +1 -1
  44. package/.next/server/app/api/auth/totp/route.js +1 -1
  45. package/.next/server/app/api/debug-models/route.js +1 -1
  46. package/.next/server/app/api/default-cwd/route.js +1 -1
  47. package/.next/server/app/api/file-tree/delete/route.js +1 -1
  48. package/.next/server/app/api/file-tree/mkdir/route.js +1 -1
  49. package/.next/server/app/api/file-tree/rename/route.js +1 -1
  50. package/.next/server/app/api/file-tree/reveal/route.js +1 -1
  51. package/.next/server/app/api/file-tree/write/route.js +1 -1
  52. package/.next/server/app/api/file-watch/route.js +2 -2
  53. package/.next/server/app/api/files/[...path]/route.js +1 -1
  54. package/.next/server/app/api/harness/route.js +1 -1
  55. package/.next/server/app/api/home/route.js +1 -1
  56. package/.next/server/app/api/im/cancel/route.js +1 -1
  57. package/.next/server/app/api/im/gateway-status/route.js +1 -1
  58. package/.next/server/app/api/im/gateway-token/route.js +1 -1
  59. package/.next/server/app/api/im/project/route.js +1 -1
  60. package/.next/server/app/api/im/projects/route.js +1 -1
  61. package/.next/server/app/api/im/session-ids/route.js +1 -1
  62. package/.next/server/app/api/im/turn/route.js +2 -2
  63. package/.next/server/app/api/images/upload/route.js +1 -1
  64. package/.next/server/app/api/internal/runtime/route.js +1 -1
  65. package/.next/server/app/api/memory/dismiss/route.js +2 -2
  66. package/.next/server/app/api/memory/promote/route.js +2 -2
  67. package/.next/server/app/api/models/route.js +1 -1
  68. package/.next/server/app/api/models-config/discover/route.js +1 -1
  69. package/.next/server/app/api/models-config/route.js +1 -1
  70. package/.next/server/app/api/models-config/test/route.js +1 -1
  71. package/.next/server/app/api/plot-kernels/route.js +1 -1
  72. package/.next/server/app/api/plot-kernels/save/route.js +1 -1
  73. package/.next/server/app/api/plot-kernels/status/route.js +1 -1
  74. package/.next/server/app/api/plot-kernels/stop/route.js +1 -1
  75. package/.next/server/app/api/projects/browse/route.js +1 -1
  76. package/.next/server/app/api/projects/route.js +1 -1
  77. package/.next/server/app/api/search/route.js +1 -1
  78. package/.next/server/app/api/sessions/[id]/context/route.js +1 -1
  79. package/.next/server/app/api/sessions/[id]/kernel-state/route.js +1 -1
  80. package/.next/server/app/api/sessions/[id]/plan/route.js +1 -1
  81. package/.next/server/app/api/sessions/[id]/route.js +1 -1
  82. package/.next/server/app/api/sessions/[id]/shadowed/route.js +1 -0
  83. package/.next/server/app/api/sessions/[id]/shadowed/route_client-reference-manifest.js +1 -0
  84. package/.next/server/app/api/sessions/[id]/workbench-artifact/route.js +1 -1
  85. package/.next/server/app/api/sessions/[id]/workbench-review/route.js +1 -1
  86. package/.next/server/app/api/sessions/new/route.js +1 -1
  87. package/.next/server/app/api/sessions/route.js +1 -1
  88. package/.next/server/app/api/settings/route.js +1 -1
  89. package/.next/server/app/api/skills/install/route.js +2 -2
  90. package/.next/server/app/api/skills/route.js +2 -2
  91. package/.next/server/app/api/skills/search/route.js +1 -1
  92. package/.next/server/app/api/smoke/prompt-admission/route.js +1 -1
  93. package/.next/server/app/api/soul/route.js +1 -1
  94. package/.next/server/app/api/subagents/status/route.js +1 -1
  95. package/.next/server/app/api/version/route.js +1 -1
  96. package/.next/server/app/favicon.ico/route.js +1 -1
  97. package/.next/server/app/icon.svg/route.js +1 -1
  98. package/.next/server/app/index.html +1 -1
  99. package/.next/server/app/index.rsc +3 -3
  100. package/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  101. package/.next/server/app/index.segments/_full.segment.rsc +3 -3
  102. package/.next/server/app/index.segments/_head.segment.rsc +1 -1
  103. package/.next/server/app/index.segments/_index.segment.rsc +2 -2
  104. package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  105. package/.next/server/app/login/page.js +2 -2
  106. package/.next/server/app/login/page_client-reference-manifest.js +1 -1
  107. package/.next/server/app/login.html +1 -1
  108. package/.next/server/app/login.rsc +2 -2
  109. package/.next/server/app/login.segments/_full.segment.rsc +2 -2
  110. package/.next/server/app/login.segments/_head.segment.rsc +1 -1
  111. package/.next/server/app/login.segments/_index.segment.rsc +2 -2
  112. package/.next/server/app/login.segments/_tree.segment.rsc +2 -2
  113. package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +1 -1
  114. package/.next/server/app/login.segments/login.segment.rsc +1 -1
  115. package/.next/server/app/page.js +22 -22
  116. package/.next/server/app/page_client-reference-manifest.js +1 -1
  117. package/.next/server/app/smoke/page.js +3 -3
  118. package/.next/server/app/smoke/page_client-reference-manifest.js +1 -1
  119. package/.next/server/app/smoke/session-stream/page.js +2 -2
  120. package/.next/server/app/smoke/session-stream/page_client-reference-manifest.js +1 -1
  121. package/.next/server/app/smoke/session-stream.html +1 -1
  122. package/.next/server/app/smoke/session-stream.rsc +3 -3
  123. package/.next/server/app/smoke/session-stream.segments/_full.segment.rsc +3 -3
  124. package/.next/server/app/smoke/session-stream.segments/_head.segment.rsc +1 -1
  125. package/.next/server/app/smoke/session-stream.segments/_index.segment.rsc +2 -2
  126. package/.next/server/app/smoke/session-stream.segments/_tree.segment.rsc +2 -2
  127. package/.next/server/app/smoke/session-stream.segments/smoke/session-stream/__PAGE__.segment.rsc +2 -2
  128. package/.next/server/app/smoke/session-stream.segments/smoke/session-stream.segment.rsc +1 -1
  129. package/.next/server/app/smoke/session-stream.segments/smoke.segment.rsc +1 -1
  130. package/.next/server/app/smoke.html +2 -2
  131. package/.next/server/app/smoke.rsc +3 -3
  132. package/.next/server/app/smoke.segments/_full.segment.rsc +3 -3
  133. package/.next/server/app/smoke.segments/_head.segment.rsc +1 -1
  134. package/.next/server/app/smoke.segments/_index.segment.rsc +2 -2
  135. package/.next/server/app/smoke.segments/_tree.segment.rsc +2 -2
  136. package/.next/server/app/smoke.segments/smoke/__PAGE__.segment.rsc +2 -2
  137. package/.next/server/app/smoke.segments/smoke.segment.rsc +1 -1
  138. package/.next/server/app-paths-manifest.json +9 -8
  139. package/.next/server/chunks/3041.js +5 -5
  140. package/.next/server/chunks/4584.js +2 -2
  141. package/.next/server/chunks/5582.js +2 -2
  142. package/.next/server/chunks/6429.js +3 -3
  143. package/.next/server/middleware-build-manifest.js +1 -1
  144. package/.next/server/pages/404.html +1 -1
  145. package/.next/server/pages/500.html +1 -1
  146. package/.next/server/server-reference-manifest.json +1 -1
  147. package/.next/static/chunks/{4456-2ebe94e87b59562c.js → 4456-544da31731420516.js} +3 -3
  148. package/.next/static/chunks/5377-cbe3cc0d0dd42e56.js +22 -0
  149. package/.next/static/chunks/app/_global-error/{page-2ea89149f3a75cf0.js → page-28655a0b22ddd86a.js} +1 -1
  150. package/.next/static/chunks/app/api/agent/[id]/events/{route-2ea89149f3a75cf0.js → route-28655a0b22ddd86a.js} +1 -1
  151. package/.next/static/chunks/app/api/agent/[id]/prepare/{route-2ea89149f3a75cf0.js → route-28655a0b22ddd86a.js} +1 -1
  152. package/.next/static/chunks/app/api/agent/[id]/{route-2ea89149f3a75cf0.js → route-28655a0b22ddd86a.js} +1 -1
  153. package/.next/static/chunks/app/api/agent/new/route-28655a0b22ddd86a.js +1 -0
  154. package/.next/static/chunks/app/api/agent/running/events/route-28655a0b22ddd86a.js +1 -0
  155. package/.next/static/chunks/app/api/agent/running/route-28655a0b22ddd86a.js +1 -0
  156. package/.next/static/chunks/app/api/agent/runtime/route-28655a0b22ddd86a.js +1 -0
  157. package/.next/static/chunks/app/api/apps/[id]/[[...path]]/route-28655a0b22ddd86a.js +1 -0
  158. package/.next/static/chunks/app/api/apps/route-28655a0b22ddd86a.js +1 -0
  159. package/.next/static/chunks/app/api/auth/all-providers/route-28655a0b22ddd86a.js +1 -0
  160. package/.next/static/chunks/app/api/auth/api-key/[provider]/route-28655a0b22ddd86a.js +1 -0
  161. package/.next/static/chunks/app/api/auth/login/[provider]/route-28655a0b22ddd86a.js +1 -0
  162. package/.next/static/chunks/app/api/auth/login/route-28655a0b22ddd86a.js +1 -0
  163. package/.next/static/chunks/app/api/auth/logout/[provider]/route-28655a0b22ddd86a.js +1 -0
  164. package/.next/static/chunks/app/api/auth/providers/route-28655a0b22ddd86a.js +1 -0
  165. package/.next/static/chunks/app/api/auth/status/route-28655a0b22ddd86a.js +1 -0
  166. package/.next/static/chunks/app/api/auth/totp/route-28655a0b22ddd86a.js +1 -0
  167. package/.next/static/chunks/app/api/debug-models/route-28655a0b22ddd86a.js +1 -0
  168. package/.next/static/chunks/app/api/default-cwd/route-28655a0b22ddd86a.js +1 -0
  169. package/.next/static/chunks/app/api/file-tree/delete/route-28655a0b22ddd86a.js +1 -0
  170. package/.next/static/chunks/app/api/file-tree/mkdir/route-28655a0b22ddd86a.js +1 -0
  171. package/.next/static/chunks/app/api/file-tree/rename/route-28655a0b22ddd86a.js +1 -0
  172. package/.next/static/chunks/app/api/file-tree/reveal/route-28655a0b22ddd86a.js +1 -0
  173. package/.next/static/chunks/app/api/file-tree/write/route-28655a0b22ddd86a.js +1 -0
  174. package/.next/static/chunks/app/api/file-watch/route-28655a0b22ddd86a.js +1 -0
  175. package/.next/static/chunks/app/api/files/[...path]/route-28655a0b22ddd86a.js +1 -0
  176. package/.next/static/chunks/app/api/harness/route-28655a0b22ddd86a.js +1 -0
  177. package/.next/static/chunks/app/api/home/route-28655a0b22ddd86a.js +1 -0
  178. package/.next/static/chunks/app/api/im/cancel/route-28655a0b22ddd86a.js +1 -0
  179. package/.next/static/chunks/app/api/im/gateway-status/route-28655a0b22ddd86a.js +1 -0
  180. package/.next/static/chunks/app/api/im/gateway-token/route-28655a0b22ddd86a.js +1 -0
  181. package/.next/static/chunks/app/api/im/project/route-28655a0b22ddd86a.js +1 -0
  182. package/.next/static/chunks/app/api/im/projects/route-28655a0b22ddd86a.js +1 -0
  183. package/.next/static/chunks/app/api/im/session-ids/route-28655a0b22ddd86a.js +1 -0
  184. package/.next/static/chunks/app/api/im/turn/route-28655a0b22ddd86a.js +1 -0
  185. package/.next/static/chunks/app/api/images/upload/route-28655a0b22ddd86a.js +1 -0
  186. package/.next/static/chunks/app/api/internal/runtime/route-28655a0b22ddd86a.js +1 -0
  187. package/.next/static/chunks/app/api/memory/dismiss/route-28655a0b22ddd86a.js +1 -0
  188. package/.next/static/chunks/app/api/memory/promote/route-28655a0b22ddd86a.js +1 -0
  189. package/.next/static/chunks/app/api/models/route-28655a0b22ddd86a.js +1 -0
  190. package/.next/static/chunks/app/api/models-config/discover/route-28655a0b22ddd86a.js +1 -0
  191. package/.next/static/chunks/app/api/models-config/route-28655a0b22ddd86a.js +1 -0
  192. package/.next/static/chunks/app/api/models-config/test/route-28655a0b22ddd86a.js +1 -0
  193. package/.next/static/chunks/app/api/plot-kernels/route-28655a0b22ddd86a.js +1 -0
  194. package/.next/static/chunks/app/api/plot-kernels/save/route-28655a0b22ddd86a.js +1 -0
  195. package/.next/static/chunks/app/api/plot-kernels/status/route-28655a0b22ddd86a.js +1 -0
  196. package/.next/static/chunks/app/api/plot-kernels/stop/route-28655a0b22ddd86a.js +1 -0
  197. package/.next/static/chunks/app/api/projects/browse/route-28655a0b22ddd86a.js +1 -0
  198. package/.next/static/chunks/app/api/projects/route-28655a0b22ddd86a.js +1 -0
  199. package/.next/static/chunks/app/api/search/route-28655a0b22ddd86a.js +1 -0
  200. package/.next/static/chunks/app/api/sessions/[id]/context/route-28655a0b22ddd86a.js +1 -0
  201. package/.next/static/chunks/app/api/sessions/[id]/kernel-state/route-28655a0b22ddd86a.js +1 -0
  202. package/.next/static/chunks/app/api/sessions/[id]/plan/route-28655a0b22ddd86a.js +1 -0
  203. package/.next/static/chunks/app/api/sessions/[id]/route-28655a0b22ddd86a.js +1 -0
  204. package/.next/static/chunks/app/api/sessions/[id]/shadowed/route-28655a0b22ddd86a.js +1 -0
  205. package/.next/static/chunks/app/api/sessions/[id]/workbench-artifact/route-28655a0b22ddd86a.js +1 -0
  206. package/.next/static/chunks/app/api/sessions/[id]/workbench-review/route-28655a0b22ddd86a.js +1 -0
  207. package/.next/static/chunks/app/api/sessions/new/route-28655a0b22ddd86a.js +1 -0
  208. package/.next/static/chunks/app/api/sessions/route-28655a0b22ddd86a.js +1 -0
  209. package/.next/static/chunks/app/api/settings/route-28655a0b22ddd86a.js +1 -0
  210. package/.next/static/chunks/app/api/skills/install/route-28655a0b22ddd86a.js +1 -0
  211. package/.next/static/chunks/app/api/skills/route-28655a0b22ddd86a.js +1 -0
  212. package/.next/static/chunks/app/api/skills/search/route-28655a0b22ddd86a.js +1 -0
  213. package/.next/static/chunks/app/api/smoke/prompt-admission/route-28655a0b22ddd86a.js +1 -0
  214. package/.next/static/chunks/app/api/soul/route-28655a0b22ddd86a.js +1 -0
  215. package/.next/static/chunks/app/api/subagents/status/route-28655a0b22ddd86a.js +1 -0
  216. package/.next/static/chunks/app/api/version/route-28655a0b22ddd86a.js +1 -0
  217. package/.next/static/chunks/app/favicon.ico/route-28655a0b22ddd86a.js +1 -0
  218. package/.next/static/chunks/app/{page-7816338a1e8f2d4d.js → page-edbf8cd5ad82d387.js} +20 -20
  219. package/.next/static/chunks/next/dist/client/components/builtin/app-error-28655a0b22ddd86a.js +1 -0
  220. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-28655a0b22ddd86a.js +1 -0
  221. package/.next/static/chunks/next/dist/client/components/builtin/not-found-28655a0b22ddd86a.js +1 -0
  222. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-28655a0b22ddd86a.js +1 -0
  223. package/.next/static/css/98d226d636ddce16.css +1 -0
  224. package/package.json +1 -1
  225. package/.next/static/chunks/5377-70343e4bd39d4239.js +0 -22
  226. package/.next/static/chunks/app/api/agent/new/route-2ea89149f3a75cf0.js +0 -1
  227. package/.next/static/chunks/app/api/agent/running/events/route-2ea89149f3a75cf0.js +0 -1
  228. package/.next/static/chunks/app/api/agent/running/route-2ea89149f3a75cf0.js +0 -1
  229. package/.next/static/chunks/app/api/agent/runtime/route-2ea89149f3a75cf0.js +0 -1
  230. package/.next/static/chunks/app/api/apps/[id]/[[...path]]/route-2ea89149f3a75cf0.js +0 -1
  231. package/.next/static/chunks/app/api/apps/route-2ea89149f3a75cf0.js +0 -1
  232. package/.next/static/chunks/app/api/auth/all-providers/route-2ea89149f3a75cf0.js +0 -1
  233. package/.next/static/chunks/app/api/auth/api-key/[provider]/route-2ea89149f3a75cf0.js +0 -1
  234. package/.next/static/chunks/app/api/auth/login/[provider]/route-2ea89149f3a75cf0.js +0 -1
  235. package/.next/static/chunks/app/api/auth/login/route-2ea89149f3a75cf0.js +0 -1
  236. package/.next/static/chunks/app/api/auth/logout/[provider]/route-2ea89149f3a75cf0.js +0 -1
  237. package/.next/static/chunks/app/api/auth/providers/route-2ea89149f3a75cf0.js +0 -1
  238. package/.next/static/chunks/app/api/auth/status/route-2ea89149f3a75cf0.js +0 -1
  239. package/.next/static/chunks/app/api/auth/totp/route-2ea89149f3a75cf0.js +0 -1
  240. package/.next/static/chunks/app/api/debug-models/route-2ea89149f3a75cf0.js +0 -1
  241. package/.next/static/chunks/app/api/default-cwd/route-2ea89149f3a75cf0.js +0 -1
  242. package/.next/static/chunks/app/api/file-tree/delete/route-2ea89149f3a75cf0.js +0 -1
  243. package/.next/static/chunks/app/api/file-tree/mkdir/route-2ea89149f3a75cf0.js +0 -1
  244. package/.next/static/chunks/app/api/file-tree/rename/route-2ea89149f3a75cf0.js +0 -1
  245. package/.next/static/chunks/app/api/file-tree/reveal/route-2ea89149f3a75cf0.js +0 -1
  246. package/.next/static/chunks/app/api/file-tree/write/route-2ea89149f3a75cf0.js +0 -1
  247. package/.next/static/chunks/app/api/file-watch/route-2ea89149f3a75cf0.js +0 -1
  248. package/.next/static/chunks/app/api/files/[...path]/route-2ea89149f3a75cf0.js +0 -1
  249. package/.next/static/chunks/app/api/harness/route-2ea89149f3a75cf0.js +0 -1
  250. package/.next/static/chunks/app/api/home/route-2ea89149f3a75cf0.js +0 -1
  251. package/.next/static/chunks/app/api/im/cancel/route-2ea89149f3a75cf0.js +0 -1
  252. package/.next/static/chunks/app/api/im/gateway-status/route-2ea89149f3a75cf0.js +0 -1
  253. package/.next/static/chunks/app/api/im/gateway-token/route-2ea89149f3a75cf0.js +0 -1
  254. package/.next/static/chunks/app/api/im/project/route-2ea89149f3a75cf0.js +0 -1
  255. package/.next/static/chunks/app/api/im/projects/route-2ea89149f3a75cf0.js +0 -1
  256. package/.next/static/chunks/app/api/im/session-ids/route-2ea89149f3a75cf0.js +0 -1
  257. package/.next/static/chunks/app/api/im/turn/route-2ea89149f3a75cf0.js +0 -1
  258. package/.next/static/chunks/app/api/images/upload/route-2ea89149f3a75cf0.js +0 -1
  259. package/.next/static/chunks/app/api/internal/runtime/route-2ea89149f3a75cf0.js +0 -1
  260. package/.next/static/chunks/app/api/memory/dismiss/route-2ea89149f3a75cf0.js +0 -1
  261. package/.next/static/chunks/app/api/memory/promote/route-2ea89149f3a75cf0.js +0 -1
  262. package/.next/static/chunks/app/api/models/route-2ea89149f3a75cf0.js +0 -1
  263. package/.next/static/chunks/app/api/models-config/discover/route-2ea89149f3a75cf0.js +0 -1
  264. package/.next/static/chunks/app/api/models-config/route-2ea89149f3a75cf0.js +0 -1
  265. package/.next/static/chunks/app/api/models-config/test/route-2ea89149f3a75cf0.js +0 -1
  266. package/.next/static/chunks/app/api/plot-kernels/route-2ea89149f3a75cf0.js +0 -1
  267. package/.next/static/chunks/app/api/plot-kernels/save/route-2ea89149f3a75cf0.js +0 -1
  268. package/.next/static/chunks/app/api/plot-kernels/status/route-2ea89149f3a75cf0.js +0 -1
  269. package/.next/static/chunks/app/api/plot-kernels/stop/route-2ea89149f3a75cf0.js +0 -1
  270. package/.next/static/chunks/app/api/projects/browse/route-2ea89149f3a75cf0.js +0 -1
  271. package/.next/static/chunks/app/api/projects/route-2ea89149f3a75cf0.js +0 -1
  272. package/.next/static/chunks/app/api/search/route-2ea89149f3a75cf0.js +0 -1
  273. package/.next/static/chunks/app/api/sessions/[id]/context/route-2ea89149f3a75cf0.js +0 -1
  274. package/.next/static/chunks/app/api/sessions/[id]/kernel-state/route-2ea89149f3a75cf0.js +0 -1
  275. package/.next/static/chunks/app/api/sessions/[id]/plan/route-2ea89149f3a75cf0.js +0 -1
  276. package/.next/static/chunks/app/api/sessions/[id]/route-2ea89149f3a75cf0.js +0 -1
  277. package/.next/static/chunks/app/api/sessions/[id]/workbench-artifact/route-2ea89149f3a75cf0.js +0 -1
  278. package/.next/static/chunks/app/api/sessions/[id]/workbench-review/route-2ea89149f3a75cf0.js +0 -1
  279. package/.next/static/chunks/app/api/sessions/new/route-2ea89149f3a75cf0.js +0 -1
  280. package/.next/static/chunks/app/api/sessions/route-2ea89149f3a75cf0.js +0 -1
  281. package/.next/static/chunks/app/api/settings/route-2ea89149f3a75cf0.js +0 -1
  282. package/.next/static/chunks/app/api/skills/install/route-2ea89149f3a75cf0.js +0 -1
  283. package/.next/static/chunks/app/api/skills/route-2ea89149f3a75cf0.js +0 -1
  284. package/.next/static/chunks/app/api/skills/search/route-2ea89149f3a75cf0.js +0 -1
  285. package/.next/static/chunks/app/api/smoke/prompt-admission/route-2ea89149f3a75cf0.js +0 -1
  286. package/.next/static/chunks/app/api/soul/route-2ea89149f3a75cf0.js +0 -1
  287. package/.next/static/chunks/app/api/subagents/status/route-2ea89149f3a75cf0.js +0 -1
  288. package/.next/static/chunks/app/api/version/route-2ea89149f3a75cf0.js +0 -1
  289. package/.next/static/chunks/app/favicon.ico/route-2ea89149f3a75cf0.js +0 -1
  290. package/.next/static/chunks/next/dist/client/components/builtin/app-error-2ea89149f3a75cf0.js +0 -1
  291. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-2ea89149f3a75cf0.js +0 -1
  292. package/.next/static/chunks/next/dist/client/components/builtin/not-found-2ea89149f3a75cf0.js +0 -1
  293. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-2ea89149f3a75cf0.js +0 -1
  294. package/.next/static/css/82991d37d91b75fd.css +0 -1
  295. /package/.next/static/{-zDFcEPiS1rhVSLb5AN96 → Q9Mb3eiyTmQOb-kfjSWQO}/_buildManifest.js +0 -0
  296. /package/.next/static/{-zDFcEPiS1rhVSLb5AN96 → Q9Mb3eiyTmQOb-kfjSWQO}/_ssgManifest.js +0 -0
@@ -36,7 +36,7 @@ for (.name in sort(ls(envir=.GlobalEnv))) {
36
36
  if (!is.null(.names) && length(.names) > 0) .attrs <- c(.attrs, paste0("names=", paste(head(.names, 20), collapse=",")))
37
37
  cat(.name, "\\t", .class, "\\t", .shape, "\\t", paste(.attrs, collapse=" ; "), "\\n", sep="")
38
38
  }
39
- cat("WORKBENCH_INSPECT_END\\n")`),title:"Inspect live workbench kernel state",timeoutMs:b.timeoutMs??15e3,signal:c});return{content:[{type:"text",text:function(a){let b=s(a.stdout),c=[`kernel_plot_inspect ${a.status}`,`run_id: ${a.runId}`,`runtime: ${a.runtime}`,`objects: ${b.length}`];for(let a of b.slice(0,80))c.push(`- ${a.name}: ${a.type}${a.shape?` (${a.shape})`:""}${a.attrs?` — ${a.attrs}`:""}`);let d=p(a.stderr,1200).trim();return d&&c.push("stderr:",d),a.error&&c.push(`error: ${a.error}`),c.join("\n")}(h)}],details:{schema:"kernel-plot.inspect.v1",kind:"inspect",run:{runId:h.runId,status:h.status,language:h.language,runtime:h.runtime,title:h.title},objects:s(h.stdout),stderrPreview:p(h.stderr),error:h.error}}}})),a.registerTool((0,f.defineTool)({name:"kernel_plot_stop",label:"Workbench Stop",description:"Stop the current Pi session's warm Workbench kernel for one language or all languages.",promptSnippet:"Stop warm R/Python Workbench kernels and release their memory.",promptGuidelines:u,executionMode:"sequential",parameters:e.Type.Object({language:e.Type.Optional(e.Type.Union([e.Type.Literal("python"),e.Type.Literal("r")]))}),async execute(a,b,c,d,e){let f=await m(),g=n(e);return await f.stopSession({ownerId:g,language:b.language}),{content:[{type:"text",text:`kernel_plot_stop stopped ${b.language??"all languages"}`}],details:{schema:"kernel-plot.result.v1",kind:"stop",stopped:{ownerId:g,language:b.language},artifacts:[],nextAction:"Use kernel_plot_run to start a fresh warm kernel when needed."}}}})),a.registerTool((0,f.defineTool)({name:"kernel_plot_artifacts",label:"Workbench Artifacts",description:"List recent archived Workbench artifacts for the current Pi session.",promptSnippet:"List recent R/Python Workbench artifact paths for this session.",promptGuidelines:u,parameters:e.Type.Object({limit:e.Type.Optional(e.Type.Number({description:"Maximum number of recent artifacts to list."}))}),async execute(a,b,c,d,e){let f=await m(),g=n(e),h=await f.listArtifacts({cwd:e.cwd,ownerId:g,limit:b.limit});return{content:[{type:"text",text:["kernel_plot_artifacts",...q(h)].join("\n")}],details:{schema:"kernel-plot.result.v1",kind:"artifacts",ownerId:g,artifacts:h,nextAction:"Open or inspect the listed artifact paths, or continue plotting with kernel_plot_run."}}}})),a.on("session_shutdown",async(a,b)=>{let c=await m();await c.stopSession({ownerId:n(b)}).catch(a=>{b.ui.notify(`kernel plot cleanup failed: ${a instanceof Error?a.message:String(a)}`,"warning")})})}d()}catch(a){d(a)}})},7048:(a,b,c)=>{"use strict";c.d(b,{Y:()=>j});var d=c(29021),e=c(21820),f=c(33873);let g="pi-subagents";function h(a){try{return JSON.parse((0,d.readFileSync)(a,"utf-8"))}catch{return null}}function i(a){return"string"==typeof a?a:a&&"object"==typeof a?"string"==typeof a.source?a.source:"string"==typeof a.name?a.name:"string"==typeof a.package?a.package:null:null}function j(a=process.env.PI_CODING_AGENT_DIR??(0,f.join)((0,e.homedir)(),".pi","agent")){let b=(0,f.join)(a,"npm","node_modules",g),c=(0,f.join)(b,"package.json"),k=h(c),l=(0,d.existsSync)(c),m=h((0,f.join)(a,"settings.json")),n=(Array.isArray(m?.packages)?m.packages:[]).map(i).some(a=>a===g||a===`npm:${g}`||a?.endsWith(`/${g}`));return{installed:l,configured:n,ready:l&&n,packageName:g,packagePath:b,version:"string"==typeof k?.version?k.version:void 0,installCommand:"pi install npm:pi-subagents"}}},9774:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{cV:()=>k,p6:()=>l});var e=c(29021),f=c(33873),g=c(75430),h=a([g]);g=(h.then?(await h)():h)[0];let m={generativeUI:!0,plotIdleTimeoutMs:1728e5,saveFormat:"pdf",saveDpi:300,saveWidth:800,saveHeight:600};function i(){return(0,f.join)((0,g.getAgentDir)(),"annovibe-settings.json")}function j(a){if(!a||"object"!=typeof a)return{...m};let b="number"==typeof a.plotIdleTimeoutMs&&Number.isFinite(a.plotIdleTimeoutMs)&&a.plotIdleTimeoutMs>=0?Math.min(Math.round(a.plotIdleTimeoutMs),2592e6):m.plotIdleTimeoutMs;return{generativeUI:"boolean"==typeof a.generativeUI?a.generativeUI:m.generativeUI,plotIdleTimeoutMs:b,saveFormat:"png"===a.saveFormat||"svg"===a.saveFormat?a.saveFormat:"pdf",saveDpi:"number"==typeof a.saveDpi&&Number.isFinite(a.saveDpi)&&a.saveDpi>=72&&a.saveDpi<=1200?a.saveDpi:m.saveDpi,saveWidth:"number"==typeof a.saveWidth&&Number.isFinite(a.saveWidth)&&a.saveWidth>=100&&a.saveWidth<=8e3?a.saveWidth:m.saveWidth,saveHeight:"number"==typeof a.saveHeight&&Number.isFinite(a.saveHeight)&&a.saveHeight>=100&&a.saveHeight<=8e3?a.saveHeight:m.saveHeight}}function k(){let a=i(),b=(0,e.existsSync)(a)?a:(0,f.join)((0,g.getAgentDir)(),"pidex-settings.json");if(!(0,e.existsSync)(b))return{...m};try{return j(JSON.parse((0,e.readFileSync)(b,"utf8")))}catch{return{...m}}}function l(a){let b=j({...k(),...a}),c=i(),d=(0,f.dirname)(c);return(0,e.existsSync)(d)||(0,e.mkdirSync)(d,{recursive:!0}),(0,e.writeFileSync)(c,JSON.stringify(b,null,2),"utf8"),b}d()}catch(a){d(a)}})},9805:(a,b,c)=>{"use strict";c.d(b,{FE:()=>i,J:()=>h,zN:()=>j});let d='<widget-capability>\nYou can create interactive visualizations using the `show-widget` code fence.\n\nUse `show-widget` by default when visual output is the primary answer. This includes charts, diagrams, flowcharts, dashboards, UI prototypes, mockups, SVG illustrations, icons, logos, infographics, timelines, hierarchies, comparison views, and visual explanations.\n\nFor diagrams, flowcharts, architecture maps, sequence-style explanations, and Markdown-to-diagram requests, prefer `show-widget` with SVG/HTML over Mermaid. Widgets stream more reliably in this UI. Use Mermaid only when the user explicitly asks for Mermaid source, raw Mermaid, raw Markdown, or a saved Mermaid/Markdown file.\n\nFormat:\n```show-widget\n{"title":"Human-readable title","widget_code":"<raw HTML/SVG string>"}\n```\n\nDetailed specs:\nWhen a `<widget-guidelines>` block is present, follow it. It contains the module-specific design rules for the current request.\n\nRequired rules:\n1. `widget_code` is a JSON string: escape quotes and newlines. Always close the JSON object and fence.\n2. Do not include DOCTYPE, html, head, body, iframe, object, embed, form, link, base, or meta tags.\n3. Keep outer backgrounds transparent. The host supplies theme variables.\n4. Use a single concise widget per fence. For multiple widgets, interleave prose and use a separate `show-widget` fence for each widget.\n5. Streaming order: SVG puts `<defs>` before visible shapes; HTML uses `<style>`, then visible markup, then `<script>` last.\n6. Prefer responsive SVG for static visuals and small HTML widgets for controls.\n7. SVG widgets use `<svg width="100%" viewBox="0 0 680 H">` and keep all content inside the viewBox.\n8. Interactive controls must visibly update the output. For Chart.js, call `chart.update()` after changes.\n9. Clickable drill-down actions call `window.__widgetSendMessage("short request")`.\n10. Cross-widget filters publish with `window.__widgetPublish("topic", { key: "value" })`; other widgets listen for `widget-filter`.\n11. Allowed CDN hosts: `cdnjs.cloudflare.com`, `cdn.jsdelivr.net`, `unpkg.com`, `esm.sh`.\n12. CDN scripts must use an `onload` initializer plus an `if (window.Lib) init();` fallback.\n13. Use `min-height` instead of fixed outer `height` to prevent clipping.\n14. Title should be human-readable in the user\'s language.\n15. Put explanatory prose outside the code fence.\n16. Do not output raw ```svg, ```html, or plain Mermaid for visual answers unless the user explicitly asks for source code, raw Markdown, raw Mermaid, or a saved file.\n17. Do not convert Markdown outlines into Mermaid by default. Render them as a `show-widget` diagram unless Mermaid/source text is explicitly requested.\n</widget-capability>',e=/\n?\s*<widget-capability>[\s\S]*?<\/widget-capability>\s*/g,f=/\n?\s*<visualization_harness>[\s\S]*?<\/visualization_harness>\s*/g,g=/\n?\s*<widget-guidelines\b[^>]*>[\s\S]*?<\/widget-guidelines>\s*/g;function h(a){let b=a.toLowerCase();return b.includes("show-widget")&&(b.includes("# visualization harness")||b.includes("## when to visualize")||b.includes("widget format"))}function i(a){return a.replace(e,"\n").replace(f,"\n").replace(g,"\n").replace(/\n{3,}/g,"\n\n").trim()}function j(a){return a.includes("<widget-capability>")?a:a.trim()?`${a.trimEnd()}
39
+ cat("WORKBENCH_INSPECT_END\\n")`),title:"Inspect live workbench kernel state",timeoutMs:b.timeoutMs??15e3,signal:c});return{content:[{type:"text",text:function(a){let b=s(a.stdout),c=[`kernel_plot_inspect ${a.status}`,`run_id: ${a.runId}`,`runtime: ${a.runtime}`,`objects: ${b.length}`];for(let a of b.slice(0,80))c.push(`- ${a.name}: ${a.type}${a.shape?` (${a.shape})`:""}${a.attrs?` — ${a.attrs}`:""}`);let d=p(a.stderr,1200).trim();return d&&c.push("stderr:",d),a.error&&c.push(`error: ${a.error}`),c.join("\n")}(h)}],details:{schema:"kernel-plot.inspect.v1",kind:"inspect",run:{runId:h.runId,status:h.status,language:h.language,runtime:h.runtime,title:h.title},objects:s(h.stdout),stderrPreview:p(h.stderr),error:h.error}}}})),a.registerTool((0,f.defineTool)({name:"kernel_plot_stop",label:"Workbench Stop",description:"Stop the current Pi session's warm Workbench kernel for one language or all languages.",promptSnippet:"Stop warm R/Python Workbench kernels and release their memory.",promptGuidelines:u,executionMode:"sequential",parameters:e.Type.Object({language:e.Type.Optional(e.Type.Union([e.Type.Literal("python"),e.Type.Literal("r")]))}),async execute(a,b,c,d,e){let f=await m(),g=n(e);return await f.stopSession({ownerId:g,language:b.language}),{content:[{type:"text",text:`kernel_plot_stop stopped ${b.language??"all languages"}`}],details:{schema:"kernel-plot.result.v1",kind:"stop",stopped:{ownerId:g,language:b.language},artifacts:[],nextAction:"Use kernel_plot_run to start a fresh warm kernel when needed."}}}})),a.registerTool((0,f.defineTool)({name:"kernel_plot_artifacts",label:"Workbench Artifacts",description:"List recent archived Workbench artifacts for the current Pi session.",promptSnippet:"List recent R/Python Workbench artifact paths for this session.",promptGuidelines:u,parameters:e.Type.Object({limit:e.Type.Optional(e.Type.Number({description:"Maximum number of recent artifacts to list."}))}),async execute(a,b,c,d,e){let f=await m(),g=n(e),h=await f.listArtifacts({cwd:e.cwd,ownerId:g,limit:b.limit});return{content:[{type:"text",text:["kernel_plot_artifacts",...q(h)].join("\n")}],details:{schema:"kernel-plot.result.v1",kind:"artifacts",ownerId:g,artifacts:h,nextAction:"Open or inspect the listed artifact paths, or continue plotting with kernel_plot_run."}}}})),a.on("session_shutdown",async(a,b)=>{let c=await m();await c.stopSession({ownerId:n(b)}).catch(a=>{b.ui.notify(`kernel plot cleanup failed: ${a instanceof Error?a.message:String(a)}`,"warning")})})}d()}catch(a){d(a)}})},7048:(a,b,c)=>{"use strict";c.d(b,{Y:()=>j});var d=c(29021),e=c(21820),f=c(33873);let g="pi-subagents";function h(a){try{return JSON.parse((0,d.readFileSync)(a,"utf-8"))}catch{return null}}function i(a){return"string"==typeof a?a:a&&"object"==typeof a?"string"==typeof a.source?a.source:"string"==typeof a.name?a.name:"string"==typeof a.package?a.package:null:null}function j(a=process.env.PI_CODING_AGENT_DIR??(0,f.join)((0,e.homedir)(),".pi","agent")){let b=(0,f.join)(a,"npm","node_modules",g),c=(0,f.join)(b,"package.json"),k=h(c),l=(0,d.existsSync)(c),m=h((0,f.join)(a,"settings.json")),n=(Array.isArray(m?.packages)?m.packages:[]).map(i).some(a=>a===g||a===`npm:${g}`||a?.endsWith(`/${g}`));return{installed:l,configured:n,ready:l&&n,packageName:g,packagePath:b,version:"string"==typeof k?.version?k.version:void 0,installCommand:"pi install npm:pi-subagents"}}},9774:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{cV:()=>k,p6:()=>l});var e=c(29021),f=c(33873),g=c(75430),h=a([g]);g=(h.then?(await h)():h)[0];let m={generativeUI:!0,plotIdleTimeoutMs:1728e5,saveFormat:"pdf",saveDpi:300,saveWidth:800,saveHeight:600,forkEnabled:!0,forkSuggestTokens:18e4,forkAutoTokens:4e5,forkMinMessages:20};function i(){return(0,f.join)((0,g.getAgentDir)(),"annovibe-settings.json")}function j(a){if(!a||"object"!=typeof a)return{...m};let b="number"==typeof a.plotIdleTimeoutMs&&Number.isFinite(a.plotIdleTimeoutMs)&&a.plotIdleTimeoutMs>=0?Math.min(Math.round(a.plotIdleTimeoutMs),2592e6):m.plotIdleTimeoutMs;return{generativeUI:"boolean"==typeof a.generativeUI?a.generativeUI:m.generativeUI,plotIdleTimeoutMs:b,saveFormat:"png"===a.saveFormat||"svg"===a.saveFormat?a.saveFormat:"pdf",saveDpi:"number"==typeof a.saveDpi&&Number.isFinite(a.saveDpi)&&a.saveDpi>=72&&a.saveDpi<=1200?a.saveDpi:m.saveDpi,saveWidth:"number"==typeof a.saveWidth&&Number.isFinite(a.saveWidth)&&a.saveWidth>=100&&a.saveWidth<=8e3?a.saveWidth:m.saveWidth,saveHeight:"number"==typeof a.saveHeight&&Number.isFinite(a.saveHeight)&&a.saveHeight>=100&&a.saveHeight<=8e3?a.saveHeight:m.saveHeight,forkEnabled:"boolean"==typeof a.forkEnabled?a.forkEnabled:m.forkEnabled,forkSuggestTokens:"number"==typeof a.forkSuggestTokens&&Number.isFinite(a.forkSuggestTokens)&&a.forkSuggestTokens>=1e4?Math.min(Math.round(a.forkSuggestTokens),9e5):m.forkSuggestTokens,forkAutoTokens:"number"==typeof a.forkAutoTokens&&Number.isFinite(a.forkAutoTokens)&&a.forkAutoTokens>=2e4?Math.min(Math.round(a.forkAutoTokens),2e6):m.forkAutoTokens,forkMinMessages:"number"==typeof a.forkMinMessages&&Number.isFinite(a.forkMinMessages)&&a.forkMinMessages>=5?Math.min(Math.round(a.forkMinMessages),500):m.forkMinMessages}}function k(){let a=i(),b=(0,e.existsSync)(a)?a:(0,f.join)((0,g.getAgentDir)(),"pidex-settings.json");if(!(0,e.existsSync)(b))return{...m};try{return j(JSON.parse((0,e.readFileSync)(b,"utf8")))}catch{return{...m}}}function l(a){let b=j({...k(),...a}),c=i(),d=(0,f.dirname)(c);return(0,e.existsSync)(d)||(0,e.mkdirSync)(d,{recursive:!0}),(0,e.writeFileSync)(c,JSON.stringify(b,null,2),"utf8"),b}d()}catch(a){d(a)}})},9805:(a,b,c)=>{"use strict";c.d(b,{FE:()=>i,J:()=>h,zN:()=>j});let d='<widget-capability>\nYou can create interactive visualizations using the `show-widget` code fence.\n\nUse `show-widget` by default when visual output is the primary answer. This includes charts, diagrams, flowcharts, dashboards, UI prototypes, mockups, SVG illustrations, icons, logos, infographics, timelines, hierarchies, comparison views, and visual explanations.\n\nFor diagrams, flowcharts, architecture maps, sequence-style explanations, and Markdown-to-diagram requests, prefer `show-widget` with SVG/HTML over Mermaid. Widgets stream more reliably in this UI. Use Mermaid only when the user explicitly asks for Mermaid source, raw Mermaid, raw Markdown, or a saved Mermaid/Markdown file.\n\nFormat:\n```show-widget\n{"title":"Human-readable title","widget_code":"<raw HTML/SVG string>"}\n```\n\nDetailed specs:\nWhen a `<widget-guidelines>` block is present, follow it. It contains the module-specific design rules for the current request.\n\nRequired rules:\n1. `widget_code` is a JSON string: escape quotes and newlines. Always close the JSON object and fence.\n - ✅ Correct: {"title":"T","widget_code":"<div>\\n <p>hi</p>\\n</div>"}\n - ❌ Wrong — raw newlines inside the string are invalid JSON (write \\n instead):\n {"title":"T","widget_code":"<div>\n <p>hi</p>\n </div>"}\n - ❌ Wrong — bare quotes inside HTML/SVG text must be escaped as \\":\n {"title":"T","widget_code":"<svg><text>say "hi"</text></svg>"}\n - ❌ Wrong — only the keys `title` and `widget_code` are allowed; never add extra keys like `widget_code2`, and always put a comma between members:\n {"title":"T","widget_code":"<svg/>" "widget_code2":""}\n - The entire object must be valid JSON, ending with a closing `}` before the closing fence. If the widget is large, write compact one-line JSON rather than pretty-printing with raw newlines.\n2. Do not include DOCTYPE, html, head, body, iframe, object, embed, form, link, base, or meta tags.\n3. Keep outer backgrounds transparent. The host supplies theme variables.\n4. Use a single concise widget per fence. For multiple widgets, interleave prose and use a separate `show-widget` fence for each widget.\n5. Streaming order: SVG puts `<defs>` before visible shapes; HTML uses `<style>`, then visible markup, then `<script>` last.\n6. Prefer responsive SVG for static visuals and small HTML widgets for controls.\n7. SVG widgets use `<svg width="100%" viewBox="0 0 680 H">` and keep all content inside the viewBox.\n8. Interactive controls must visibly update the output. For Chart.js, call `chart.update()` after changes.\n9. Clickable drill-down actions call `window.__widgetSendMessage("short request")`.\n10. Cross-widget filters publish with `window.__widgetPublish("topic", { key: "value" })`; other widgets listen for `widget-filter`.\n11. Allowed CDN hosts: `cdnjs.cloudflare.com`, `cdn.jsdelivr.net`, `unpkg.com`, `esm.sh`.\n12. CDN scripts must use an `onload` initializer plus an `if (window.Lib) init();` fallback.\n13. Use `min-height` instead of fixed outer `height` to prevent clipping.\n14. Title should be human-readable in the user\'s language.\n15. Put explanatory prose outside the code fence.\n16. Do not output raw ```svg, ```html, or plain Mermaid for visual answers unless the user explicitly asks for source code, raw Markdown, raw Mermaid, or a saved file.\n17. Do not convert Markdown outlines into Mermaid by default. Render them as a `show-widget` diagram unless Mermaid/source text is explicitly requested.\n</widget-capability>',e=/\n?\s*<widget-capability>[\s\S]*?<\/widget-capability>\s*/g,f=/\n?\s*<visualization_harness>[\s\S]*?<\/visualization_harness>\s*/g,g=/\n?\s*<widget-guidelines\b[^>]*>[\s\S]*?<\/widget-guidelines>\s*/g;function h(a){let b=a.toLowerCase();return b.includes("show-widget")&&(b.includes("# visualization harness")||b.includes("## when to visualize")||b.includes("widget format"))}function i(a){return a.replace(e,"\n").replace(f,"\n").replace(g,"\n").replace(/\n{3,}/g,"\n\n").trim()}function j(a){return a.includes("<widget-capability>")?a:a.trim()?`${a.trimEnd()}
40
40
 
41
41
  ${d}`:d}},11745:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{$:()=>j});var e=c(28802),f=c(75430),g=a([e,f]);function h(a){return a>=1e6?`${(a/1e6).toFixed(1)}M`:a>=1e3?`${(a/1e3).toFixed(1)}K`:String(a)}function i(a){if(a<60)return`${a}s`;let b=Math.floor(a/60);if(b<60)return`${b}m ${String(a%60).padStart(2,"0")}s`;let c=Math.floor(b/60);return`${c}h ${b%60}m`}function j(a){let b=null,c=null,d=!1;function g(){return Date.now()}function j(){return{input:0,output:0,cacheRead:0,cacheWrite:0}}function k(){var a;if(!d||!b||!c)return;let e=j(),f=(a=c,Math.max(0,e.input-a.input)+Math.max(0,e.cacheWrite-a.cacheWrite)+Math.max(0,e.output-a.output));f>0&&(b.tokensUsed+=f,b.updatedAt=g(),void 0!==b.tokenBudget&&b.tokensUsed>=b.tokenBudget&&"active"===b.status&&(b.status="budget-limited")),c={...e}}function l(){a.appendEntry("goal-mode",b?{...b}:null)}a.registerTool((0,f.defineTool)({name:"goal",label:"Goal",description:'Use the goal tool to manage your current task objective.\n- goal(op="create", objective="...", token_budget=N?) — set a goal with optional token budget\n- goal(op="get") — check current goal status\n- goal(op="complete") — mark goal as complete\n- goal(op="drop") — abandon the current goal\nWhen you have a clear objective, set a goal to track progress and budget.',parameters:e.Type.Object({op:e.Type.Union([e.Type.Literal("create"),e.Type.Literal("get"),e.Type.Literal("complete"),e.Type.Literal("drop"),e.Type.Literal("resume")],{description:"goal operation"}),objective:e.Type.Optional(e.Type.String({description:"goal objective (required for create)"})),token_budget:e.Type.Optional(e.Type.Number({description:"token budget limit (optional)"}))}),execute:async(a,e,f,m)=>{let n=e.op,o=e.objective?.trim(),p=e.token_budget;switch(n){case"create":{if(!o)return{content:[{type:"text",text:"Error: objective is required for goal create."}],details:null};if(b&&"dropped"!==b.status&&"complete"!==b.status)return{content:[{type:"text",text:"Error: a goal is already active. Complete or drop it first."}],details:null};let a=g();b={id:`goal-${a}`,objective:o,status:"active",tokenBudget:p&&p>0?p:void 0,tokensUsed:0,timeUsedSeconds:0,createdAt:a,updatedAt:a},d=!0,c=j(),l();let e=b.tokenBudget?` | budget: ${h(b.tokenBudget)} tokens`:"";return{content:[{type:"text",text:`Goal set: "${o}"${e}`}],details:{...b}}}case"get":{if(!b)return{content:[{type:"text",text:"No active goal."}],details:null};k();let a=Math.floor((g()-b.createdAt)/1e3);b.timeUsedSeconds=Math.max(b.timeUsedSeconds,a);let c=b.tokenBudget?` | ${h(b.tokensUsed)} / ${h(b.tokenBudget)} tokens`:` | ${h(b.tokensUsed)} tokens`;return{content:[{type:"text",text:`Goal: "${b.objective}"
42
42
  Status: ${b.status}${c}
@@ -175,11 +175,11 @@ ${b}
175
175
 
176
176
  Continue executing from where you left off.`,display:!0},{triggerTurn:!0})):"Delete plan file"===c&&o(g.cwd)}}}),a.on("turn_start",async(a,b)=>{u(b.sessionManager.getSessionId()),c=!1,s()}),a.on("turn_end",async(a,b)=>{if(e&&0!==p.length&&!c){let a=p.find(a=>!a.completed);a&&(a.completed=!0,s())}})}},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)},41761:(a,b,c)=>{"use strict";c.d(b,{C1:()=>e,lA:()=>d});let d="subagent",e=["bash","read","edit","write","grep","find","ls"];[...e],[...e]},44036:(a,b,c)=>{"use strict";c.d(b,{FJ:()=>g,R4:()=>h,X8:()=>f});let d="<workbench-guidelines>\nAnnoVibe Workbench is active. Use it for reproducible R/Python analysis plots, data visualizations, and warm-runtime analysis work.\n\nTool routing:\n- Use `kernel_plot_render` for one-shot iterative plot previews — images auto-render inline in chat without saving files. Call `render_plot()` to mark the preview target. ggplot2 (R) and plt.show() (Python) are auto-captured as convenience.\n- Use `kernel_plot_inspect` after resuming a workbench session, after suspected kernel restart, or whenever you are unsure whether objects like `adata`/`seurat_obj` are still live in memory.\n- Use `kernel_plot_run` when plots depend on data already loaded in warm kernel memory, or when saving final artifacts to disk.\n- Use `runtime: \"kernel-lite\"` in `kernel_plot_run` when variables or loaded data should persist across turns.\n- Use `runtime: \"worker\"` for one-shot scripts that should be isolated.\n- Do not run Rscript/python plotting through `bash` unless the workbench tools are unavailable.\n- Do not use bash with `conda run python`, `Rscript`, or direct interpreter calls for analysis code — always prefer `kernel_plot_run`.\n\nkernel-lite memory rules — CRITICAL:\n- Packages imported (import scanpy, library(Seurat), etc.) and variables assigned in one kernel_plot_run call persist while the same kernel-lite runtime is alive. Do NOT repeat imports in every call. Import each package only once, in the first call that needs it.\n- Large data objects loaded via sc.read(), readRDS(), qread(), pd.read_csv(), etc. stay in memory while the warm kernel is alive. Before calling any load function, check whether the object already exists:\n Python: `if 'adata' not in globals(): adata = sc.read(path)`\n R: `if (!exists('seurat_obj')) seurat_obj <- readRDS(path)`\n Print a brief note when reusing in-memory data vs loading fresh.\n- Do NOT put sc.read() / readRDS() / qread() at the top of every call. This reloads multi-GB files needlessly and is the #1 performance mistake in workbench sessions.\n- After browser refreshes, model switches, compaction, or a resumed workbench session, treat prior history as inferred only: first use `kernel_plot_inspect` or an explicit existence check to see whether required objects still exist, then reload only missing objects from the known source path.\n\nWorkbench artifact rules:\n- Save every output under `WARMPLOT_OUTPUT_DIR` or `PI_KERNEL_PLOT_OUTPUT_DIR`.\n- Create a primary PNG/JPEG/WebP preview for chat display whenever a figure is produced, not PDF-only output. Keep the preview reasonably sized so it can be embedded inline.\n- If a publication-quality PDF/SVG is needed, save it in addition to the preview image.\n- Name the primary preview clearly, for example `00_preview.png`, so it is easy to identify.\n- When the user asks to save final outputs to a specific project directory, use that directory (not WARMPLOT_OUTPUT_DIR) for the final artifacts.\n\nChat display rules:\n- The web chat renders returned image artifacts inline. Do not say that images cannot be displayed.\n- Do not use `open`, `xdg-open`, or desktop viewers to show plots.\n- After generating any plot, make the chat response displayable by including the PNG/JPEG/WebP preview path in the final answer or by returning it as a tool image artifact. Do not mention only PDF paths when an image preview exists.\n- When using shell tools for plotting, still save a PNG/JPEG/WebP preview and include that preview path in the final answer; avoid a final answer that only says a desktop window was opened.\n- When the user asks to show an existing PNG/JPEG/WebP file, use `read` on that image path; the UI will display the image even if the model cannot inspect pixels.\n- If only a PDF exists and the user asks to see it in chat, generate a PNG preview with `kernel_plot_run` or report the PDF path only if conversion is not practical.\n- After a successful plot, summarize the result briefly and include both preview image paths and any publication-quality PDF/SVG paths.\n</workbench-guidelines>",e=/\n?\s*(?:<plot-mode-guidelines>[\s\S]*?<\/plot-mode-guidelines>|<workbench-guidelines>[\s\S]*?<\/workbench-guidelines>)\s*/g;function f(a){return a.replace(e,"\n").replace(/\n{3,}/g,"\n\n").trim()}function g(a){return a.includes("<plot-mode-guidelines>")||a.includes("<workbench-guidelines>")?a:a.trim()?`${a.trimEnd()}
177
177
 
178
- ${d}`:d}function h(a){for(let b of a)if("kernel_plot_run"===b)return!0;return!1}},56429:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{A4:()=>K,Bj:()=>Q,Fn:()=>N,HG:()=>L,OF:()=>R,V$:()=>O,dU:()=>U,kp:()=>C});var e=c(75430),f=c(40402),g=c(9774),h=c(3867),i=c(85097),j=c(39737),k=c(11745),l=c(9805),m=c(27348),n=c(44036),o=c(66469),p=c(29021),q=c(33873),r=c(55511),s=c(7048),t=c(41761),u=c(74788),v=c(57149),w=c(23537),x=c(86585),y=c(60103),z=c(36945),A=c(34429),B=a([e,f,g,h,i,k,u]);[e,f,g,h,i,k,u]=B.then?(await B)():B;class S extends Error{constructor(a){super(`Session ${a} is already processing another command`),this.code="SESSION_BUSY",this.name="SessionBusyError"}}function C(a){return a instanceof S||!!a&&"object"==typeof a&&"SESSION_BUSY"===a.code}let T=t.C1;class U{constructor(a,b,c={}){this.inner=a,this.modelRegistry=b,this.options=c,this.listeners=[],this.replayEvents=[],this.unsubscribe=null,this.idleTimer=null,this.onDestroyCallback=null,this.busyOperations=new Set,this.activeTools=new Map,this.currentRuntimePhase="idle",this.phaseStartedAtMs=null,this.promptRunId=0,this.activePromptRunId=null,this.abortedPromptRunId=0,this.runStartedAtMs=null,this.firstModelEventAtMs=null,this.lastEventAtMs=null,this.lastEventType=null,this.lastErrorMessage=null,this.streamEpoch=(0,r.randomUUID)(),this.nextEventId=1,this._alive=!0,this._lastAppliedPromptKey="",this._kernelStateCache=null,(0,A.O)(a)}get sessionId(){return this.inner.sessionId}get sessionFile(){return this.inner.sessionFile??""}isAlive(){return this._alive}isBusy(){return this.busyOperations.size>0||this.inner.isStreaming||this.inner.isCompacting}getRuntimeStatus(){let a=Date.now(),b=this.getPhase(),c=this.inner.model?{provider:this.inner.model.provider,id:this.inner.model.id}:null;return{sessionId:this.sessionId,sessionFile:this.sessionFile,cwd:function(a){try{let b=a.sessionManager;return b.getCwd?.()??null}catch{return null}}(this.inner),busy:this.isBusy(),operations:[...this.busyOperations],isStreaming:this.inner.isStreaming,isCompacting:this.inner.isCompacting,phase:b,model:c,activeTools:[...this.activeTools.entries()].map(([a,b])=>({id:a,name:b})),runStartedAt:F(this.runStartedAtMs),firstModelEventAt:F(this.firstModelEventAtMs),lastEventAt:F(this.lastEventAtMs),lastEventType:this.lastEventType,uptimeMs:this.runStartedAtMs?Math.max(0,a-this.runStartedAtMs):null,waitingForModelMs:"waiting_model"===b&&this.phaseStartedAtMs?Math.max(0,a-this.phaseStartedAtMs):null,pendingMessageCount:"number"==typeof this.inner.pendingMessageCount?this.inner.pendingMessageCount:null,errorMessage:this.lastErrorMessage}}start(){this.unsubscribe=this.inner.subscribe(a=>{"message_end"===a.type?queueMicrotask(()=>this.forwardEvent(this.withLatestEntryId(a))):this.forwardEvent(a)}),this.resetIdleTimer(),P()}forwardEvent(a){let b=null!==this.activePromptRunId&&void 0===a.__runId?{...a,__runId:this.activePromptRunId}:a;this.recordRuntimeEvent(b);let c=this.sequenceEvent(b);for(let b of(this.bufferReplayEvent(c),this.resetIdleTimer(),("agent_end"===a.type||"agent_start"===a.type)&&P(),this.listeners))b(c)}withLatestEntryId(a){let b=a.message;if(!b||"user"!==b.role&&"assistant"!==b.role&&"toolResult"!==b.role)return a;try{let c=this.inner.sessionManager.getEntries(),d=JSON.stringify(b);for(let b=c.length-1;b>=0;b--){let e=c[b];if("message"===e.type&&"string"==typeof e.id&&JSON.stringify(e.message)===d)return{...a,__entryId:e.id}}}catch{}return a}resetIdleTimer(){this.idleTimer&&clearTimeout(this.idleTimer),this.idleTimer=setTimeout(()=>{this.isBusy()?this.resetIdleTimer():this.destroy()},6e5)}sequenceEvent(a){"string"!=typeof this.streamEpoch&&(this.streamEpoch=(0,r.randomUUID)());let b=Number.isSafeInteger(this.nextEventId)?this.nextEventId:1;return this.nextEventId=b+1,{...a,__eventId:`${this.streamEpoch}:${b}`,__eventSequence:b,__streamEpoch:this.streamEpoch}}bufferReplayEvent(a){"agent_start"===a.type&&(this.replayEvents=[]),this.replayEvents.push(a),this.replayEvents.length>200&&this.replayEvents.splice(0,this.replayEvents.length-200)}onEvent(a,b={}){if(this.listeners.push(a),b.replay){let c=(0,z.Z)({streamEpoch:this.streamEpoch,nextSequence:this.nextEventId,events:this.replayEvents,afterEventId:b.afterEventId}),{afterSequence:d}=c;for(let e of(c.replayGap&&(a({type:"replay_gap",requestedAfter:b.afterEventId,streamEpoch:this.streamEpoch,oldestEventId:this.replayEvents[0]?.__eventId??null}),d=void 0),this.replayEvents)){let b="number"==typeof e.__eventSequence?e.__eventSequence:0;(void 0===d||b>d)&&a(e)}}return()=>{let b=this.listeners.indexOf(a);-1!==b&&this.listeners.splice(b,1)}}onDestroy(a){this.onDestroyCallback=a}async send(a){this.resetIdleTimer();let b=a.type;switch(b){case"prompt":{if(null!==this.activePromptRunId||this.isBusy())throw new S(this.sessionId);Number.isSafeInteger(this.promptRunId)||(this.promptRunId=0);let b=++this.promptRunId;this.activePromptRunId=b,this.busyOperations.add("prompt"),this.setRuntimePhase("waiting_model"),this.resetIdleTimer(),this.replayEvents=[],this.emit({type:"prompt_admitted",__runId:b}),P();try{let c="string"==typeof a.leafId&&a.leafId.trim()?a.leafId:null;if(c&&this.inner.sessionManager.getLeafId()!==c&&(await this.inner.navigateTree(c,{})).cancelled)throw Error(`Failed to navigate session to leaf ${c}`);if("string"==typeof a.provider&&"string"==typeof a.modelId&&await this.applyModelSelection(a.provider,a.modelId),"string"==typeof a.thinkingLevel&&this.applyThinkingLevel(a.thinkingLevel),"boolean"==typeof a.planMode&&this.setPlanModeState(a.planMode),Array.isArray(a.toolNames)){let b=this.filterAvailableToolNames(a.toolNames);this.inner.setActiveToolsByName(b)}this.preparePromptContext(a.message);let d=a.images,e=this.inner.model?.input,f=!e||0===e.length||e.includes("image")?d:void 0;return this.inner.prompt(a.message,f?.length?{images:f}:void 0).then(()=>{this.emit({type:"prompt_done",__runId:b})}).catch(a=>{this.abortedPromptRunId!==b&&this.emit({type:"prompt_error",__runId:b,error:a instanceof Error?a.message:String(a)})}).finally(()=>this.finishPromptRun(b)),{runId:b}}catch(a){throw this.emit({type:"prompt_error",__runId:b,error:a instanceof Error?a.message:String(a)}),this.finishPromptRun(b),a}}case"abort":return this.abortedPromptRunId=this.promptRunId,await this.inner.abort(),null;case"get_state":{let a=this.inner.model,b=this.inner.getContextUsage(),c=this.inner.agent.state?.systemPrompt??"",d=(0,g.cV)(),e=(0,u.U5)(this.inner.sessionId),f=this.getRuntimeStatus();return{sessionId:this.inner.sessionId,sessionFile:this.inner.sessionFile??"",isStreaming:this.inner.isStreaming,isCompacting:this.inner.isCompacting,autoCompactionEnabled:this.inner.autoCompactionEnabled,autoRetryEnabled:this.inner.autoRetryEnabled,model:a?{id:a.id,provider:a.provider}:void 0,messageCount:0,pendingMessageCount:0,phase:f.phase,activeTools:f.activeTools,lastEventAt:f.lastEventAt,lastEventType:f.lastEventType,errorMessage:f.errorMessage,goal:e?.goal??null,planMode:(0,x.Ws)(this.inner.sessionManager.getEntries()),contextUsage:b?{percent:b.percent,contextWindow:b.contextWindow,tokens:b.tokens}:null,systemPrompt:d.generativeUI?c:(0,l.FE)(c),thinkingLevel:this.inner.agent.state?.thinkingLevel??"off"}}case"set_model":{if(this.isBusy())throw new S(this.sessionId);let{provider:b,modelId:c}=a,d=await this.applyModelSelection(b,c);return{id:d.id,provider:d.provider,thinkingLevel:this.inner.agent.state?.thinkingLevel??"off"}}case"fork":{let b;if(this.isBusy())throw new S(this.sessionId);let c=a.entryId,d=this.inner.sessionManager,g=this.inner.sessionFile;if(!d.isPersisted())return{cancelled:!0};if(!g)throw Error("Persisted session is missing a session file");let h=d.getEntry(c);if(!h)throw Error("Invalid entry ID for forking");let i=d.getSessionDir();if(h.parentId){let a=e.SessionManager.open(g,i).createBranchedSession(h.parentId);if(!a)throw Error("Failed to create forked session");b=a}else{let a=e.SessionManager.create(d.getCwd(),i);a.newSession({parentSession:g}),b=a.getSessionFile()}let j=e.SessionManager.open(b,i).getSessionId();(0,f.O8)(j,b);let k=(0,u.U5)(this.sessionId);return k&&await (0,u.oR)(j,{...k,createdBy:"fork",createdAt:new Date().toISOString()}),this.destroy(),{cancelled:!1,newSessionId:j}}case"navigate_tree":if(this.isBusy())throw new S(this.sessionId);return{cancelled:(await this.inner.navigateTree(a.targetId,{})).cancelled};case"set_thinking_level":if(this.isBusy())throw new S(this.sessionId);return this.applyThinkingLevel(a.level),null;case"compact":{if(this.isBusy())throw new S(this.sessionId);let{findCutPoint:b,DEFAULT_COMPACTION_SETTINGS:d}=await Promise.resolve().then(c.bind(c,75430)),e=this.inner.sessionManager.getBranch(),f={...d,...this.inner.settingsManager.getCompactionSettings()},g=-1;for(let a=e.length-1;a>=0;a--)if("compaction"===e[a].type){g=a;break}let h=g+1,i=b(e,h,e.length,f.keepRecentTokens);if((i.isSplitTurn?i.turnStartIndex:i.firstKeptEntryIndex)<=h)throw Error("Conversation too short to compact");return await this.trackBusy("compact",this.inner.compact(a.customInstructions))}case"set_auto_compaction":return this.inner.setAutoCompactionEnabled(a.enabled),null;case"steer":{this.preparePromptContext(a.message);let b=a.images,c=this.inner.model?.input,d=!c||0===c.length||c.includes("image")?b:void 0;return await this.trackBusy("steer",this.inner.steer(a.message,d?.length?d:void 0)),null}case"follow_up":{this.preparePromptContext(a.message);let b=a.images,c=this.inner.model?.input,d=!c||0===c.length||c.includes("image")?b:void 0;return await this.trackBusy("follow_up",this.inner.followUp(a.message,d?.length?d:void 0)),null}case"get_tools":{let a=this.inner.getAllTools(),b=new Set(this.inner.getActiveToolNames());return a.map(a=>({name:a.name,description:a.description,active:b.has(a.name)}))}case"set_tools":{if(this.isBusy())throw new S(this.sessionId);"boolean"==typeof a.planMode&&this.setPlanModeState(a.planMode,!0);let b=this.filterAvailableToolNames(a.toolNames);return this.inner.setActiveToolsByName(b),this.applyRuntimePrompts(),(0,u.LN)(this.sessionId,{lastToolNames:this.inner.getActiveToolNames()}).catch(()=>{}),null}case"abort_compaction":return this.inner.abortCompaction(),null;case"set_auto_retry":return this.inner.setAutoRetryEnabled(a.enabled),null;default:throw Error(`Unsupported command: ${b}`)}}destroy(){this._alive&&(this._alive=!1,this.idleTimer&&clearTimeout(this.idleTimer),(0,w.Mc)(this.sessionId),this.unsubscribe?.(),this.onDestroyCallback?.(),P())}async applyModelSelection(a,b){let c=this.modelRegistry.find(a,b);if(!c){let d=a.toLowerCase().replace(/-/g,"");d!==a&&(c=this.modelRegistry.find(d,b))}if(!c)throw Error(`Model not found: ${a}/${b}`);return await this.inner.setModel(c),c}applyThinkingLevel(a){this.inner.setThinkingLevel(a),"xhigh"===a&&this.inner.model?.compat?.thinkingFormat==="deepseek"&&this.inner.agent?.state&&(this.inner.agent.state.thinkingLevel="xhigh")}preparePromptContext(a){this.applyRuntimePrompts(a)}setPlanModeState(a,b=!1){(0,w.hv)(this.sessionId,a),b&&this.inner.sessionManager.appendCustomEntry("plan-mode",{enabled:a,todos:[],executing:!1})}finishPromptRun(a){this.activePromptRunId===a&&(this.activePromptRunId=null,this.busyOperations.delete("prompt"),this.isBusy()||this.setRuntimePhase("idle"),this.resetIdleTimer(),P())}async trackBusy(a,b){this.busyOperations.add(a),this.setRuntimePhase("compact"===a?"compacting":"waiting_model"),this.resetIdleTimer(),P();try{return await b}finally{this.busyOperations.delete(a),this.isBusy()||this.setRuntimePhase("idle"),this.resetIdleTimer(),P()}}setRuntimePhase(a,b=Date.now()){this.currentRuntimePhase!==a&&(this.currentRuntimePhase=a,this.phaseStartedAtMs="idle"===a?null:b)}getPhase(){if(this.inner.isCompacting||this.busyOperations.has("compact"))return"compacting";if(this.activeTools.size>0)return"running_tools";if(this.isBusy()){let a=this.currentRuntimePhase;return a&&"idle"!==a?a:"waiting_model"}return"idle"}emit(a){let b=this.sequenceEvent(a);for(let a of(this.bufferReplayEvent(b),this.listeners))a(b)}recordRuntimeEvent(a){let b=Date.now();switch(this.lastEventAtMs=b,this.lastEventType=a.type,a.type){case"agent_start":this.runStartedAtMs=b,this.firstModelEventAtMs=null,this.lastErrorMessage=null,this.activeTools.clear(),this.setRuntimePhase("waiting_model",b);break;case"message_start":case"message_update":{let c=a.message;c?.role==="assistant"?(this.firstModelEventAtMs||(this.firstModelEventAtMs=b),"string"==typeof c.errorMessage&&(this.lastErrorMessage=c.errorMessage),this.setRuntimePhase("streaming",b)):c?.role==="user"&&this.setRuntimePhase("waiting_model",b);break}case"message_end":{let c=a.message;c?.role==="assistant"&&"string"==typeof c.errorMessage&&(this.lastErrorMessage=c.errorMessage),this.setRuntimePhase("waiting_model",b);break}case"tool_execution_start":{let c="string"==typeof a.toolCallId?a.toolCallId:"",d="string"==typeof a.toolName?a.toolName:"tool";c&&this.activeTools.set(c,d),this.setRuntimePhase("running_tools",b);break}case"tool_execution_end":{let c="string"==typeof a.toolCallId?a.toolCallId:"";c&&this.activeTools.delete(c),this.setRuntimePhase(this.activeTools.size>0?"running_tools":"waiting_model",b);break}case"auto_retry_start":this.setRuntimePhase("waiting_model",b);break;case"compaction_start":case"auto_compaction_start":this.setRuntimePhase("compacting",b);break;case"compaction_end":case"auto_compaction_end":this.setRuntimePhase(this.isBusy()?"waiting_model":"idle",b);break;case"agent_end":this.activeTools.clear(),!0===a.willRetry?this.setRuntimePhase("waiting_model",b):(this.setRuntimePhase("idle",b),this.runStartedAtMs=null,this.firstModelEventAtMs=null)}}applyRuntimePrompts(a){if(!this.inner.agent.state||this.options.systemPromptDisabled)return;let b=(0,g.cV)(),c=this.inner.getActiveToolNames(),d=(0,n.R4)(c),e=D(this.inner),f=0;if(this.sessionFile)try{f=(0,p.statSync)(this.sessionFile).mtimeMs}catch{f=0}let h=null;if(d&&this.sessionFile)if(this._kernelStateCache&&this._kernelStateCache.mtime===f)h=this._kernelStateCache.summary;else{let a=(0,y.f)(this.sessionFile);a?(h=(0,y.v)(a),this._kernelStateCache={mtime:f,summary:h}):this._kernelStateCache=null}else this._kernelStateCache=null;let i=h?`|mtime=${f}`:"",j=a??"",k=`${d}|${b.generativeUI}|${j.length>0?"msg":"no-msg"}${i}`;if(this._lastAppliedPromptKey===k&&e.length>0)return;if(!b.generativeUI){let a=(0,n.X8)((0,l.FE)(e)),b=G(a,d),c=h?`${b}
178
+ ${d}`:d}function h(a){for(let b of a)if("kernel_plot_run"===b)return!0;return!1}},56429:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{A4:()=>K,Bj:()=>Q,Fn:()=>N,HG:()=>L,OF:()=>R,V$:()=>O,dU:()=>V,kp:()=>C});var e=c(75430),f=c(40402),g=c(9774),h=c(3867),i=c(85097),j=c(39737),k=c(11745),l=c(9805),m=c(27348),n=c(44036),o=c(66469),p=c(29021),q=c(33873),r=c(55511),s=c(7048),t=c(41761),u=c(74788),v=c(57149),w=c(23537),x=c(86585),y=c(60103),z=c(36945),A=c(34429),B=a([e,f,g,h,i,k,u]);[e,f,g,h,i,k,u]=B.then?(await B)():B;class S extends Error{constructor(a){super(`Session ${a} is already processing another command`),this.code="SESSION_BUSY",this.name="SessionBusyError"}}function C(a){return a instanceof S||!!a&&"object"==typeof a&&"SESSION_BUSY"===a.code}class T extends Error{constructor(a,b){super(b),this.reason=a,this.code="COMPACTION_ERROR",this.name="CompactionError"}}let U=t.C1;class V{constructor(a,b,c={}){this.inner=a,this.modelRegistry=b,this.options=c,this.listeners=[],this.replayEvents=[],this.unsubscribe=null,this.idleTimer=null,this.onDestroyCallback=null,this.busyOperations=new Set,this.activeTools=new Map,this.currentRuntimePhase="idle",this.phaseStartedAtMs=null,this.promptRunId=0,this.activePromptRunId=null,this.abortedPromptRunId=0,this.runStartedAtMs=null,this.firstModelEventAtMs=null,this.lastEventAtMs=null,this.lastEventType=null,this.lastErrorMessage=null,this.streamEpoch=(0,r.randomUUID)(),this.nextEventId=1,this._alive=!0,this._lastAppliedPromptKey="",this._kernelStateCache=null,(0,A.O)(a)}get sessionId(){return this.inner.sessionId}get sessionFile(){return this.inner.sessionFile??""}isAlive(){return this._alive}isBusy(){return this.busyOperations.size>0||this.inner.isStreaming||this.inner.isCompacting}getRuntimeStatus(){let a=Date.now(),b=this.getPhase(),c=this.inner.model?{provider:this.inner.model.provider,id:this.inner.model.id}:null;return{sessionId:this.sessionId,sessionFile:this.sessionFile,cwd:function(a){try{let b=a.sessionManager;return b.getCwd?.()??null}catch{return null}}(this.inner),busy:this.isBusy(),operations:[...this.busyOperations],isStreaming:this.inner.isStreaming,isCompacting:this.inner.isCompacting,phase:b,model:c,activeTools:[...this.activeTools.entries()].map(([a,b])=>({id:a,name:b})),runStartedAt:F(this.runStartedAtMs),firstModelEventAt:F(this.firstModelEventAtMs),lastEventAt:F(this.lastEventAtMs),lastEventType:this.lastEventType,uptimeMs:this.runStartedAtMs?Math.max(0,a-this.runStartedAtMs):null,waitingForModelMs:"waiting_model"===b&&this.phaseStartedAtMs?Math.max(0,a-this.phaseStartedAtMs):null,pendingMessageCount:"number"==typeof this.inner.pendingMessageCount?this.inner.pendingMessageCount:null,errorMessage:this.lastErrorMessage}}start(){this.unsubscribe=this.inner.subscribe(a=>{"message_end"===a.type?queueMicrotask(()=>this.forwardEvent(this.withLatestEntryId(a))):"agent_end"===a.type?queueMicrotask(()=>this.forwardEvent(a)):this.forwardEvent(a)}),this.resetIdleTimer(),P()}forwardEvent(a){let b=null!==this.activePromptRunId&&void 0===a.__runId?{...a,__runId:this.activePromptRunId}:a;this.recordRuntimeEvent(b);let c=this.sequenceEvent(b);for(let b of(this.bufferReplayEvent(c),this.resetIdleTimer(),("agent_end"===a.type||"agent_start"===a.type)&&P(),this.listeners))b(c)}withLatestEntryId(a){let b=a.message;if(!b||"user"!==b.role&&"assistant"!==b.role&&"toolResult"!==b.role)return a;try{let c=this.inner.sessionManager.getEntries(),d=JSON.stringify(b);for(let b=c.length-1;b>=0;b--){let e=c[b];if("message"===e.type&&"string"==typeof e.id&&JSON.stringify(e.message)===d)return{...a,__entryId:e.id}}}catch{}return a}resetIdleTimer(){this.idleTimer&&clearTimeout(this.idleTimer),this.idleTimer=setTimeout(()=>{this.isBusy()?this.resetIdleTimer():this.destroy()},6e5)}sequenceEvent(a){"string"!=typeof this.streamEpoch&&(this.streamEpoch=(0,r.randomUUID)());let b=Number.isSafeInteger(this.nextEventId)?this.nextEventId:1;return this.nextEventId=b+1,{...a,__eventId:`${this.streamEpoch}:${b}`,__eventSequence:b,__streamEpoch:this.streamEpoch}}bufferReplayEvent(a){"agent_start"===a.type&&(this.replayEvents=[]),this.replayEvents.push(a),this.replayEvents.length>200&&this.replayEvents.splice(0,this.replayEvents.length-200)}onEvent(a,b={}){if(this.listeners.push(a),b.replay){let c=(0,z.Z)({streamEpoch:this.streamEpoch,nextSequence:this.nextEventId,events:this.replayEvents,afterEventId:b.afterEventId}),{afterSequence:d}=c;for(let e of(c.replayGap&&(a({type:"replay_gap",requestedAfter:b.afterEventId,streamEpoch:this.streamEpoch,oldestEventId:this.replayEvents[0]?.__eventId??null}),d=void 0),this.replayEvents)){let b="number"==typeof e.__eventSequence?e.__eventSequence:0;(void 0===d||b>d)&&a(e)}}return()=>{let b=this.listeners.indexOf(a);-1!==b&&this.listeners.splice(b,1)}}onDestroy(a){this.onDestroyCallback=a}async send(a){this.resetIdleTimer();let b=a.type;switch(b){case"prompt":{if(null!==this.activePromptRunId||this.isBusy())throw new S(this.sessionId);Number.isSafeInteger(this.promptRunId)||(this.promptRunId=0);let b=++this.promptRunId;this.activePromptRunId=b,this.busyOperations.add("prompt"),this.setRuntimePhase("waiting_model"),this.resetIdleTimer(),this.replayEvents=[],this.emit({type:"prompt_admitted",__runId:b}),P();try{let c="string"==typeof a.leafId&&a.leafId.trim()?a.leafId:null;if(c&&this.inner.sessionManager.getLeafId()!==c&&(await this.inner.navigateTree(c,{})).cancelled)throw Error(`Failed to navigate session to leaf ${c}`);if("string"==typeof a.provider&&"string"==typeof a.modelId&&await this.applyModelSelection(a.provider,a.modelId),"string"==typeof a.thinkingLevel&&this.applyThinkingLevel(a.thinkingLevel),"boolean"==typeof a.planMode&&this.setPlanModeState(a.planMode),Array.isArray(a.toolNames)){let b=this.filterAvailableToolNames(a.toolNames);this.inner.setActiveToolsByName(b)}this.preparePromptContext(a.message);let d=a.images,e=this.inner.model?.input,f=!e||0===e.length||e.includes("image")?d:void 0;return this.inner.prompt(a.message,f?.length?{images:f}:void 0).then(()=>{this.emit({type:"prompt_done",__runId:b})}).catch(a=>{this.abortedPromptRunId!==b&&this.emit({type:"prompt_error",__runId:b,error:a instanceof Error?a.message:String(a)})}).finally(()=>this.finishPromptRun(b)),{runId:b}}catch(a){throw this.emit({type:"prompt_error",__runId:b,error:a instanceof Error?a.message:String(a)}),this.finishPromptRun(b),a}}case"abort":return this.abortedPromptRunId=this.promptRunId,await this.inner.abort(),null;case"get_state":{let a=this.inner.model,b=this.inner.getContextUsage(),c=this.inner.agent.state?.systemPrompt??"",d=(0,g.cV)(),e=(0,u.U5)(this.inner.sessionId),f=this.getRuntimeStatus();return{sessionId:this.inner.sessionId,sessionFile:this.inner.sessionFile??"",isStreaming:this.inner.isStreaming,isCompacting:this.inner.isCompacting,autoCompactionEnabled:this.inner.autoCompactionEnabled,autoRetryEnabled:this.inner.autoRetryEnabled,model:a?{id:a.id,provider:a.provider}:void 0,messageCount:0,pendingMessageCount:0,phase:f.phase,activeTools:f.activeTools,lastEventAt:f.lastEventAt,lastEventType:f.lastEventType,errorMessage:f.errorMessage,goal:e?.goal??null,planMode:(0,x.Ws)(this.inner.sessionManager.getEntries()),contextUsage:b?{percent:b.percent,contextWindow:b.contextWindow,tokens:b.tokens}:null,systemPrompt:d.generativeUI?c:(0,l.FE)(c),thinkingLevel:this.inner.agent.state?.thinkingLevel??"off"}}case"set_model":{if(this.isBusy())throw new S(this.sessionId);let{provider:b,modelId:c}=a,d=await this.applyModelSelection(b,c);return{id:d.id,provider:d.provider,thinkingLevel:this.inner.agent.state?.thinkingLevel??"off"}}case"fork":{let b;if(this.isBusy())throw new S(this.sessionId);let c=a.entryId,d=this.inner.sessionManager,g=this.inner.sessionFile;if(!d.isPersisted())return{cancelled:!0};if(!g)throw Error("Persisted session is missing a session file");let h=d.getEntry(c);if(!h)throw Error("Invalid entry ID for forking");let i=d.getSessionDir();if(h.parentId){let a=e.SessionManager.open(g,i).createBranchedSession(h.parentId);if(!a)throw Error("Failed to create forked session");b=a}else{let a=e.SessionManager.create(d.getCwd(),i);a.newSession({parentSession:g}),b=a.getSessionFile()}let j=e.SessionManager.open(b,i).getSessionId();(0,f.O8)(j,b);let k=(0,u.U5)(this.sessionId);return k&&await (0,u.oR)(j,{...k,createdBy:"fork",createdAt:new Date().toISOString()}),this.destroy(),{cancelled:!1,newSessionId:j}}case"navigate_tree":if(this.isBusy())throw new S(this.sessionId);return{cancelled:(await this.inner.navigateTree(a.targetId,{})).cancelled};case"set_thinking_level":if(this.isBusy())throw new S(this.sessionId);return this.applyThinkingLevel(a.level),null;case"compact":{let b;if(this.isBusy())throw new S(this.sessionId);let{findCutPoint:d,DEFAULT_COMPACTION_SETTINGS:e}=await Promise.resolve().then(c.bind(c,75430)),f=this.inner.sessionManager.getBranch(),g={...e,...this.inner.settingsManager.getCompactionSettings()},h=-1;for(let a=f.length-1;a>=0;a--)if("compaction"===f[a].type){h=a;break}let i=h+1,j=d(f,i,f.length,g.keepRecentTokens);if((j.isSplitTurn?j.turnStartIndex:j.firstKeptEntryIndex)<=i)throw new T("too-short","Conversation is too short to compact");try{b=await this.trackBusy("compact",this.inner.compact(a.customInstructions))}catch(c){let a,b;throw(b=(a=c instanceof Error?c.message:String(c)).toLowerCase()).includes("already compacted")?new T("already-compacted","This session has already been compacted"):b.includes("too small")||b.includes("nothing to compact")||b.includes("too short")?new T("too-short","Conversation is too short to compact"):b.includes("cancelled")||b.includes("abort")?new T("cancelled","Compaction was cancelled"):new T("failed",a||"Compaction failed")}let k=b;return{tokensBefore:"number"==typeof k?.tokensBefore?k.tokensBefore:null,tokensAfter:"number"==typeof k?.estimatedTokensAfter?k.estimatedTokensAfter:null,reducedBy:"number"==typeof k?.tokensBefore&&"number"==typeof k?.estimatedTokensAfter?Math.max(0,k.tokensBefore-k.estimatedTokensAfter):null}}case"set_auto_compaction":return this.inner.setAutoCompactionEnabled(a.enabled),null;case"steer":{this.preparePromptContext(a.message);let b=a.images,c=this.inner.model?.input,d=!c||0===c.length||c.includes("image")?b:void 0;return await this.trackBusy("steer",this.inner.steer(a.message,d?.length?d:void 0)),null}case"follow_up":{this.preparePromptContext(a.message);let b=a.images,c=this.inner.model?.input,d=!c||0===c.length||c.includes("image")?b:void 0;return await this.trackBusy("follow_up",this.inner.followUp(a.message,d?.length?d:void 0)),null}case"get_tools":{let a=this.inner.getAllTools(),b=new Set(this.inner.getActiveToolNames());return a.map(a=>({name:a.name,description:a.description,active:b.has(a.name)}))}case"set_tools":{if(this.isBusy())throw new S(this.sessionId);"boolean"==typeof a.planMode&&this.setPlanModeState(a.planMode,!0);let b=this.filterAvailableToolNames(a.toolNames);return this.inner.setActiveToolsByName(b),this.applyRuntimePrompts(),(0,u.LN)(this.sessionId,{lastToolNames:this.inner.getActiveToolNames()}).catch(()=>{}),null}case"abort_compaction":return this.inner.abortCompaction(),null;case"append_message":{if(this.isBusy())throw new S(this.sessionId);let b=a.message;if("string"!=typeof b||!b.trim())return null;if(!this.inner.sendCustomMessage)throw Error("Session does not support append_message");return await this.inner.sendCustomMessage({customType:"string"==typeof a.customType&&a.customType?a.customType:"context-note",content:b,display:"boolean"!=typeof a.display||a.display},{triggerTurn:!1}),null}case"set_auto_retry":return this.inner.setAutoRetryEnabled(a.enabled),null;default:throw Error(`Unsupported command: ${b}`)}}destroy(){this._alive&&(this._alive=!1,this.idleTimer&&clearTimeout(this.idleTimer),(0,w.Mc)(this.sessionId),this.unsubscribe?.(),this.onDestroyCallback?.(),P())}async applyModelSelection(a,b){let c=this.modelRegistry.find(a,b);if(!c){let d=a.toLowerCase().replace(/-/g,"");d!==a&&(c=this.modelRegistry.find(d,b))}if(!c)throw Error(`Model not found: ${a}/${b}`);return await this.inner.setModel(c),c}applyThinkingLevel(a){this.inner.setThinkingLevel(a),"xhigh"===a&&this.inner.model?.compat?.thinkingFormat==="deepseek"&&this.inner.agent?.state&&(this.inner.agent.state.thinkingLevel="xhigh")}preparePromptContext(a){this.applyRuntimePrompts(a)}setPlanModeState(a,b=!1){(0,w.hv)(this.sessionId,a),b&&this.inner.sessionManager.appendCustomEntry("plan-mode",{enabled:a,todos:[],executing:!1})}finishPromptRun(a){this.activePromptRunId===a&&(this.activePromptRunId=null,this.busyOperations.delete("prompt"),this.isBusy()||this.setRuntimePhase("idle"),this.resetIdleTimer(),P())}async trackBusy(a,b){this.busyOperations.add(a),this.setRuntimePhase("compact"===a?"compacting":"waiting_model"),this.resetIdleTimer(),P();try{return await b}finally{this.busyOperations.delete(a),this.isBusy()||this.setRuntimePhase("idle"),this.resetIdleTimer(),P()}}setRuntimePhase(a,b=Date.now()){this.currentRuntimePhase!==a&&(this.currentRuntimePhase=a,this.phaseStartedAtMs="idle"===a?null:b)}getPhase(){if(this.inner.isCompacting||this.busyOperations.has("compact"))return"compacting";if(this.activeTools.size>0)return"running_tools";if(this.isBusy()){let a=this.currentRuntimePhase;return a&&"idle"!==a?a:"waiting_model"}return"idle"}emit(a){let b=this.sequenceEvent(a);for(let a of(this.bufferReplayEvent(b),this.listeners))a(b)}recordRuntimeEvent(a){let b=Date.now();switch(this.lastEventAtMs=b,this.lastEventType=a.type,a.type){case"agent_start":this.runStartedAtMs=b,this.firstModelEventAtMs=null,this.lastErrorMessage=null,this.activeTools.clear(),this.setRuntimePhase("waiting_model",b);break;case"message_start":case"message_update":{let c=a.message;c?.role==="assistant"?(this.firstModelEventAtMs||(this.firstModelEventAtMs=b),"string"==typeof c.errorMessage&&(this.lastErrorMessage=c.errorMessage),this.setRuntimePhase("streaming",b)):c?.role==="user"&&this.setRuntimePhase("waiting_model",b);break}case"message_end":{let c=a.message;c?.role==="assistant"&&"string"==typeof c.errorMessage&&(this.lastErrorMessage=c.errorMessage),this.setRuntimePhase("waiting_model",b);break}case"tool_execution_start":{let c="string"==typeof a.toolCallId?a.toolCallId:"",d="string"==typeof a.toolName?a.toolName:"tool";c&&this.activeTools.set(c,d),this.setRuntimePhase("running_tools",b);break}case"tool_execution_end":{let c="string"==typeof a.toolCallId?a.toolCallId:"";c&&this.activeTools.delete(c),this.setRuntimePhase(this.activeTools.size>0?"running_tools":"waiting_model",b);break}case"auto_retry_start":this.setRuntimePhase("waiting_model",b);break;case"compaction_start":case"auto_compaction_start":this.setRuntimePhase("compacting",b);break;case"compaction_end":case"auto_compaction_end":this.setRuntimePhase(this.isBusy()?"waiting_model":"idle",b);break;case"agent_end":this.activeTools.clear(),!0===a.willRetry?this.setRuntimePhase("waiting_model",b):(this.setRuntimePhase("idle",b),this.runStartedAtMs=null,this.firstModelEventAtMs=null)}}applyRuntimePrompts(a){if(!this.inner.agent.state||this.options.systemPromptDisabled)return;let b=(0,g.cV)(),c=this.inner.getActiveToolNames(),d=(0,n.R4)(c),e=D(this.inner),f=0;if(this.sessionFile)try{f=(0,p.statSync)(this.sessionFile).mtimeMs}catch{f=0}let h=null;if(d&&this.sessionFile)if(this._kernelStateCache&&this._kernelStateCache.mtime===f)h=this._kernelStateCache.summary;else{let a=(0,y.f)(this.sessionFile);a?(h=(0,y.v)(a),this._kernelStateCache={mtime:f,summary:h}):this._kernelStateCache=null}else this._kernelStateCache=null;let i=h?`|mtime=${f}`:"",j=a??"",k=`${d}|${b.generativeUI}|${j.length>0?"msg":"no-msg"}${i}`;if(this._lastAppliedPromptKey===k&&e.length>0)return;if(!b.generativeUI){let a=(0,n.X8)((0,l.FE)(e)),b=G(a,d),c=h?`${b}
179
179
 
180
180
  ${h}`:b;E(this.inner,c),this._lastAppliedPromptKey=k;return}let o=(0,n.X8)((0,l.FE)(e)),q=(0,l.zN)(o),r=G(q,d),s=a?(0,m.WO)(r,a,{force:function(a){try{return a.getBranch().some(a=>!!a&&"object"==typeof a&&"message"===a.type&&!!a.message&&JSON.stringify(a.message).includes("show-widget"))}catch{return!1}}(this.inner.sessionManager)}):r;h&&(s=`${s}
181
181
 
182
- ${h}`),E(this.inner,s),this._lastAppliedPromptKey=k}filterAvailableToolNames(a){if(!Array.isArray(a))return[];let b=a.filter(a=>"string"==typeof a);if(!b.includes(t.lA))return b;let c=(0,e.getAgentDir)();return(0,s.Y)(c).ready?b:b.filter(a=>a!==t.lA)}}function D(a){return"string"==typeof a._baseSystemPrompt?a._baseSystemPrompt:a.agent.state?.systemPrompt??""}function E(a,b){"string"==typeof a._baseSystemPrompt&&(a._baseSystemPrompt=b),a.agent.state&&(a.agent.state.systemPrompt=b)}function F(a){return a?new Date(a).toISOString():null}function G(a,b){let c=(0,n.X8)(a);return b?(0,n.FJ)(c):c}function H(a){let b=(0,n.X8)((0,l.FE)(a.systemPrompt)),c=a.generativeUI?(0,l.zN)(b):b;return G(c,a.plotMode)}function I(a){let b=[],c=(0,o.sz)(a.agentDir);if((0,p.existsSync)(c))try{let a=(0,p.readFileSync)(c,"utf-8").trim();a&&b.push((0,o.Is)(a,(0,o.Tg)(c)))}catch{}let d=(0,o.td)(a.agentDir);if((0,p.existsSync)(d))try{let a=(0,p.readFileSync)(d,"utf-8").trim();a&&!(0,l.J)(a)&&b.push((0,o.x9)(a,(0,o.Tg)(d)))}catch{}let e=(0,o.o7)(a.cwd);if((0,p.existsSync)(e))try{let a=(0,p.readFileSync)(e,"utf-8").trim();a&&b.push((0,o.w0)(a,(0,o.Tg)(e)))}catch{}let f=a.piSystemPrompt.trim();return f&&b.push(["## Tool, Skill, and Project Instructions\n\nThe following instructions were generated by AnnoVibe/pi for tools, skills, and project-specific guidance.\nFollow them as system instructions, with SOUL/HARNESS above defining identity and global behavior.\n",f].join("\n")),b.join("\n\n").trim()}function J(){if(!globalThis.__piSessions){globalThis.__piSessions=new Map;let a=()=>globalThis.__piSessions?.forEach(a=>a.destroy());process.once("exit",a),process.once("SIGINT",a),process.once("SIGTERM",a)}return globalThis.__piSessions}function K(a){return J().get(a)}function L(){let a=new Set;for(let[b,c]of J())c.isAlive()&&c.isBusy()&&a.add(c.sessionId||b);return[...a]}function M(){return globalThis.__piRunningListeners||(globalThis.__piRunningListeners=new Set),globalThis.__piRunningListeners}function N(a){let b=M();return b.add(a),()=>{b.delete(a)}}function O(){return M().size}let V="";function P(){let a=L(),b=JSON.stringify([...a].sort());if(b!==V)for(let c of(V=b,M()))try{c(a)}catch{}}function Q(){let a=[...J().values()].filter(a=>a.isAlive()).map(a=>a.getRuntimeStatus()),b=a.filter(a=>a.busy);return{busy:b.length>0,activeSessions:a.length,busySessions:b,sessions:a}}async function R(a,b,d,l,m){let o=J(),p=(globalThis.__piStartLocks||(globalThis.__piStartLocks=new Map),globalThis.__piStartLocks),r=o.get(a);if(r?.isAlive())return{session:r,realSessionId:a};let w=p.get(a);if(w)return w;let x=(async()=>{let p=(0,e.getAgentDir)(),r=b?e.SessionManager.open(b,void 0):e.SessionManager.create(d,void 0),w=e.SettingsManager.create(d,p),x=function(a){try{let b=c(83026).resolve(`${a}/package.json`);return(0,q.dirname)(b)}catch{if(!(process.env.ANNOVIBE_PACKAGE_ROOT??process.env.PIDEX_PACKAGE_ROOT))return null;try{let b=(void 0).resolve(`${a}/package.json`);return(0,q.dirname)(b)}catch{return null}}}("@seqyuan/pi-kernel-plot"),y=await (0,e.createAgentSessionServices)({cwd:d,agentDir:p,settingsManager:w,resourceLoaderOptions:{additionalSkillPaths:x?[(0,q.join)(x,"skills")]:[],extensionFactories:[h.H,i.A,j.L,k.$]}}),z=!l&&a?(0,u.U5)(a)?.lastToolNames:void 0,A=function(a,b){if(a)return!a.includes(t.lA)||(0,s.Y)(b).ready?a:a.filter(a=>a!==t.lA)}(l??z,p),{session:B}=await (0,e.createAgentSessionFromServices)({services:y,sessionManager:r,tools:A??T}),C=(0,g.cV)(),F=B.agent.state?.systemPrompt??"";E(B,I({cwd:d,agentDir:p,piSystemPrompt:F})),E(B,H({systemPrompt:D(B),generativeUI:C.generativeUI,plotMode:(0,n.R4)(A??B.getActiveToolNames())})),A&&A.length>0&&(B.setActiveToolsByName(A),E(B,H({systemPrompt:D(B),generativeUI:C.generativeUI,plotMode:(0,n.R4)(A)}))),A?.length===0&&E(B,I({cwd:d,agentDir:p,piSystemPrompt:""}));let G=new U(B,y.modelRegistry,{systemPromptDisabled:A?.length===0});G.start(),"im"===m&&E(B,(0,v.N9)(D(B)));let J=B.sessionId,K=B.sessionFile;return K&&(0,f.O8)(J,K),G.onDestroy(()=>o.delete(J)),o.set(J,G),{session:G,realSessionId:J}})().finally(()=>p.delete(a));return p.set(a,x),x}d()}catch(a){d(a)}})},57149:(a,b,c)=>{"use strict";c.d(b,{N9:()=>e});let d="<wecom_im_channel>";function e(a){return a.includes(d)?a:`${a}
182
+ ${h}`),E(this.inner,s),this._lastAppliedPromptKey=k}filterAvailableToolNames(a){if(!Array.isArray(a))return[];let b=a.filter(a=>"string"==typeof a);if(!b.includes(t.lA))return b;let c=(0,e.getAgentDir)();return(0,s.Y)(c).ready?b:b.filter(a=>a!==t.lA)}}function D(a){return"string"==typeof a._baseSystemPrompt?a._baseSystemPrompt:a.agent.state?.systemPrompt??""}function E(a,b){"string"==typeof a._baseSystemPrompt&&(a._baseSystemPrompt=b),a.agent.state&&(a.agent.state.systemPrompt=b)}function F(a){return a?new Date(a).toISOString():null}function G(a,b){let c=(0,n.X8)(a);return b?(0,n.FJ)(c):c}function H(a){let b=(0,n.X8)((0,l.FE)(a.systemPrompt)),c=a.generativeUI?(0,l.zN)(b):b;return G(c,a.plotMode)}function I(a){let b=[],c=(0,o.sz)(a.agentDir);if((0,p.existsSync)(c))try{let a=(0,p.readFileSync)(c,"utf-8").trim();a&&b.push((0,o.Is)(a,(0,o.Tg)(c)))}catch{}let d=(0,o.td)(a.agentDir);if((0,p.existsSync)(d))try{let a=(0,p.readFileSync)(d,"utf-8").trim();a&&!(0,l.J)(a)&&b.push((0,o.x9)(a,(0,o.Tg)(d)))}catch{}let e=(0,o.o7)(a.cwd);if((0,p.existsSync)(e))try{let a=(0,p.readFileSync)(e,"utf-8").trim();a&&b.push((0,o.w0)(a,(0,o.Tg)(e)))}catch{}let f=a.piSystemPrompt.trim();return f&&b.push(["## Tool, Skill, and Project Instructions\n\nThe following instructions were generated by AnnoVibe/pi for tools, skills, and project-specific guidance.\nFollow them as system instructions, with SOUL/HARNESS above defining identity and global behavior.\n",f].join("\n")),b.join("\n\n").trim()}function J(){if(!globalThis.__piSessions){globalThis.__piSessions=new Map;let a=()=>globalThis.__piSessions?.forEach(a=>a.destroy());process.once("exit",a),process.once("SIGINT",a),process.once("SIGTERM",a)}return globalThis.__piSessions}function K(a){return J().get(a)}function L(){let a=new Set;for(let[b,c]of J())c.isAlive()&&c.isBusy()&&a.add(c.sessionId||b);return[...a]}function M(){return globalThis.__piRunningListeners||(globalThis.__piRunningListeners=new Set),globalThis.__piRunningListeners}function N(a){let b=M();return b.add(a),()=>{b.delete(a)}}function O(){return M().size}let W="";function P(){let a=L(),b=JSON.stringify([...a].sort());if(b!==W)for(let c of(W=b,M()))try{c(a)}catch{}}function Q(){let a=[...J().values()].filter(a=>a.isAlive()).map(a=>a.getRuntimeStatus()),b=a.filter(a=>a.busy);return{busy:b.length>0,activeSessions:a.length,busySessions:b,sessions:a}}async function R(a,b,d,l,m){let o=J(),p=(globalThis.__piStartLocks||(globalThis.__piStartLocks=new Map),globalThis.__piStartLocks),r=o.get(a);if(r?.isAlive())return{session:r,realSessionId:a};let w=p.get(a);if(w)return w;let x=(async()=>{let p=(0,e.getAgentDir)(),r=b?e.SessionManager.open(b,void 0):e.SessionManager.create(d,void 0),w=e.SettingsManager.create(d,p),x=function(a){try{let b=c(83026).resolve(`${a}/package.json`);return(0,q.dirname)(b)}catch{if(!(process.env.ANNOVIBE_PACKAGE_ROOT??process.env.PIDEX_PACKAGE_ROOT))return null;try{let b=(void 0).resolve(`${a}/package.json`);return(0,q.dirname)(b)}catch{return null}}}("@seqyuan/pi-kernel-plot"),y=await (0,e.createAgentSessionServices)({cwd:d,agentDir:p,settingsManager:w,resourceLoaderOptions:{additionalSkillPaths:x?[(0,q.join)(x,"skills")]:[],extensionFactories:[h.H,i.A,j.L,k.$]}}),z=!l&&a?(0,u.U5)(a)?.lastToolNames:void 0,A=function(a,b){if(a)return!a.includes(t.lA)||(0,s.Y)(b).ready?a:a.filter(a=>a!==t.lA)}(l??z,p),{session:B}=await (0,e.createAgentSessionFromServices)({services:y,sessionManager:r,tools:A??U}),C=(0,g.cV)(),F=B.agent.state?.systemPrompt??"";E(B,I({cwd:d,agentDir:p,piSystemPrompt:F})),E(B,H({systemPrompt:D(B),generativeUI:C.generativeUI,plotMode:(0,n.R4)(A??B.getActiveToolNames())})),A&&A.length>0&&(B.setActiveToolsByName(A),E(B,H({systemPrompt:D(B),generativeUI:C.generativeUI,plotMode:(0,n.R4)(A)}))),A?.length===0&&E(B,I({cwd:d,agentDir:p,piSystemPrompt:""}));let G=new V(B,y.modelRegistry,{systemPromptDisabled:A?.length===0});G.start(),"im"===m&&E(B,(0,v.N9)(D(B)));let J=B.sessionId,K=B.sessionFile;return K&&(0,f.O8)(J,K),G.onDestroy(()=>o.delete(J)),o.set(J,G),{session:G,realSessionId:J}})().finally(()=>p.delete(a));return p.set(a,x),x}d()}catch(a){d(a)}})},57149:(a,b,c)=>{"use strict";c.d(b,{N9:()=>e});let d="<wecom_im_channel>";function e(a){return a.includes(d)?a:`${a}
183
183
 
184
184
  ${d}
185
185
  ## WeCom IM Channel Constraints
@@ -1 +1 @@
1
- globalThis.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-42372ed130431b0a.js"],devFiles:[],lowPriorityFiles:["static/-zDFcEPiS1rhVSLb5AN96/_buildManifest.js","static/-zDFcEPiS1rhVSLb5AN96/_ssgManifest.js"],rootMainFiles:["static/chunks/webpack-fb1763edb92ee346.js","static/chunks/4bd1b696-e356ca5ba0218e27.js","static/chunks/3794-123fdf632563f469.js","static/chunks/main-app-8d81a93b58bb990f.js"],rootMainFilesTree:{},pages:{"/_app":[]}};
1
+ globalThis.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-42372ed130431b0a.js"],devFiles:[],lowPriorityFiles:["static/Q9Mb3eiyTmQOb-kfjSWQO/_buildManifest.js","static/Q9Mb3eiyTmQOb-kfjSWQO/_ssgManifest.js"],rootMainFiles:["static/chunks/webpack-fb1763edb92ee346.js","static/chunks/4bd1b696-e356ca5ba0218e27.js","static/chunks/3794-123fdf632563f469.js","static/chunks/main-app-8d81a93b58bb990f.js"],rootMainFilesTree:{},pages:{"/_app":[]}};
@@ -1 +1 @@
1
- <!DOCTYPE html><html lang="en" class="__variable_66b8ca"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/7deddc85b7ffd1dc-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/ec14413c594b3356-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/88714c00e109ce28.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/82991d37d91b75fd.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-fb1763edb92ee346.js"/><script src="/_next/static/chunks/4bd1b696-e356ca5ba0218e27.js" async=""></script><script src="/_next/static/chunks/3794-123fdf632563f469.js" async=""></script><script src="/_next/static/chunks/main-app-8d81a93b58bb990f.js" async=""></script><script src="/_next/static/chunks/app/layout-5608bfe5e8f4e4c0.js" async=""></script><meta name="robots" content="noindex"/><meta name="next-size-adjust" content=""/><title>404: This page could not be found.</title><title>AnnoVibe</title><meta name="description" content="AI-native bioinformatics workspace by Annoroad"/><link rel="shortcut icon" href="/icon.svg" type="image/svg+xml"/><link rel="icon" href="/icon.svg" type="image/svg+xml"/><script>(self.__next_s=self.__next_s||[]).push([0,{"children":"(function(){try{var t=localStorage.getItem(\"pi-theme\");if(t===\"dark\")document.documentElement.classList.add(\"dark\")}catch(e){}})();","id":"theme-init"}])</script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body style="height:100dvh;display:flex;flex-direction:column"><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-fb1763edb92ee346.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[42593,[\"7177\",\"static/chunks/app/layout-5608bfe5e8f4e4c0.js\"],\"\"]\n3:I[57121,[],\"\"]\n4:I[74581,[],\"\"]\n5:I[90484,[],\"OutletBoundary\"]\n6:\"$Sreact.suspense\"\n9:I[90484,[],\"ViewportBoundary\"]\nb:I[90484,[],\"MetadataBoundary\"]\nd:I[27123,[],\"default\",1]\n:HL[\"/_next/static/media/7deddc85b7ffd1dc-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/ec14413c594b3356-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/css/88714c00e109ce28.css\",\"style\"]\n:HL[\"/_next/static/css/82991d37d91b75fd.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_not-found\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",16],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/88714c00e109ce28.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/82991d37d91b75fd.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"__variable_66b8ca\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"$L2\",null,{\"id\":\"theme-init\",\"strategy\":\"beforeInteractive\",\"children\":\"(function(){try{var t=localStorage.getItem(\\\"pi-theme\\\");if(t===\\\"dark\\\")document.documentElement.classList.add(\\\"dark\\\")}catch(e){}})();\"}]}],[\"$\",\"body\",null,{\"style\":{\"height\":\"100dvh\",\"display\":\"flex\",\"flexDirection\":\"column\"},\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L5\",null,{\"children\":[\"$\",\"$6\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@7\"}]}]]}],{},null,false,null]},null,false,\"$@8\"]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$L9\",null,{\"children\":\"$La\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Lb\",null,{\"children\":[\"$\",\"$6\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lc\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$d\",[]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"-zDFcEPiS1rhVSLb5AN96\"}\n"])</script><script>self.__next_f.push([1,"e:[]\n8:\"$We\"\n"])</script><script>self.__next_f.push([1,"a:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"f:I[86869,[],\"IconMark\"]\n7:null\nc:[[\"$\",\"title\",\"0\",{\"children\":\"AnnoVibe\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"AI-native bioinformatics workspace by Annoroad\"}],[\"$\",\"link\",\"2\",{\"rel\":\"shortcut icon\",\"href\":\"/icon.svg\",\"type\":\"image/svg+xml\"}],[\"$\",\"link\",\"3\",{\"rel\":\"icon\",\"href\":\"/icon.svg\",\"type\":\"image/svg+xml\"}],[\"$\",\"$Lf\",\"4\",{}]]\n"])</script></body></html>
1
+ <!DOCTYPE html><html lang="en" class="__variable_66b8ca"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/7deddc85b7ffd1dc-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/ec14413c594b3356-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/88714c00e109ce28.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/98d226d636ddce16.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-fb1763edb92ee346.js"/><script src="/_next/static/chunks/4bd1b696-e356ca5ba0218e27.js" async=""></script><script src="/_next/static/chunks/3794-123fdf632563f469.js" async=""></script><script src="/_next/static/chunks/main-app-8d81a93b58bb990f.js" async=""></script><script src="/_next/static/chunks/app/layout-5608bfe5e8f4e4c0.js" async=""></script><meta name="robots" content="noindex"/><meta name="next-size-adjust" content=""/><title>404: This page could not be found.</title><title>AnnoVibe</title><meta name="description" content="AI-native bioinformatics workspace by Annoroad"/><link rel="shortcut icon" href="/icon.svg" type="image/svg+xml"/><link rel="icon" href="/icon.svg" type="image/svg+xml"/><script>(self.__next_s=self.__next_s||[]).push([0,{"children":"(function(){try{var t=localStorage.getItem(\"pi-theme\");if(t===\"dark\")document.documentElement.classList.add(\"dark\")}catch(e){}})();","id":"theme-init"}])</script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body style="height:100dvh;display:flex;flex-direction:column"><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-fb1763edb92ee346.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[42593,[\"7177\",\"static/chunks/app/layout-5608bfe5e8f4e4c0.js\"],\"\"]\n3:I[57121,[],\"\"]\n4:I[74581,[],\"\"]\n5:I[90484,[],\"OutletBoundary\"]\n6:\"$Sreact.suspense\"\n9:I[90484,[],\"ViewportBoundary\"]\nb:I[90484,[],\"MetadataBoundary\"]\nd:I[27123,[],\"default\",1]\n:HL[\"/_next/static/media/7deddc85b7ffd1dc-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/ec14413c594b3356-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/css/88714c00e109ce28.css\",\"style\"]\n:HL[\"/_next/static/css/98d226d636ddce16.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_not-found\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",16],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/88714c00e109ce28.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/98d226d636ddce16.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"__variable_66b8ca\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"$L2\",null,{\"id\":\"theme-init\",\"strategy\":\"beforeInteractive\",\"children\":\"(function(){try{var t=localStorage.getItem(\\\"pi-theme\\\");if(t===\\\"dark\\\")document.documentElement.classList.add(\\\"dark\\\")}catch(e){}})();\"}]}],[\"$\",\"body\",null,{\"style\":{\"height\":\"100dvh\",\"display\":\"flex\",\"flexDirection\":\"column\"},\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L5\",null,{\"children\":[\"$\",\"$6\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@7\"}]}]]}],{},null,false,null]},null,false,\"$@8\"]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$L9\",null,{\"children\":\"$La\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Lb\",null,{\"children\":[\"$\",\"$6\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lc\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$d\",[]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"Q9Mb3eiyTmQOb-kfjSWQO\"}\n"])</script><script>self.__next_f.push([1,"e:[]\n8:\"$We\"\n"])</script><script>self.__next_f.push([1,"a:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"f:I[86869,[],\"IconMark\"]\n7:null\nc:[[\"$\",\"title\",\"0\",{\"children\":\"AnnoVibe\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"AI-native bioinformatics workspace by Annoroad\"}],[\"$\",\"link\",\"2\",{\"rel\":\"shortcut icon\",\"href\":\"/icon.svg\",\"type\":\"image/svg+xml\"}],[\"$\",\"link\",\"3\",{\"rel\":\"icon\",\"href\":\"/icon.svg\",\"type\":\"image/svg+xml\"}],[\"$\",\"$Lf\",\"4\",{}]]\n"])</script></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-fb1763edb92ee346.js"/><script src="/_next/static/chunks/4bd1b696-e356ca5ba0218e27.js" async=""></script><script src="/_next/static/chunks/3794-123fdf632563f469.js" async=""></script><script src="/_next/static/chunks/main-app-8d81a93b58bb990f.js" async=""></script><meta name="next-size-adjust" content=""/><title>500: This page couldn’t load</title><style>:root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }</style><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;display:flex;align-items:center;justify-content:center"><div style="margin-top:-32px;max-width:325px;padding:32px 28px;text-align:left"><svg width="32" height="32" viewBox="-0.2 -1.5 32 32" fill="none" style="margin-bottom:24px"><path d="M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z" fill="var(--next-error-title)"></path></svg><h1 style="font-size:24px;font-weight:500;letter-spacing:-0.02em;line-height:32px;margin:0 0 12px 0;color:var(--next-error-title)">This page couldn’t load</h1><p style="font-size:14px;font-weight:400;line-height:21px;margin:0 0 20px 0;color:var(--next-error-message)">A server error occurred. Reload to try again.</p><form style="margin:0"><button type="submit" style="display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 12px;font-size:14px;font-weight:500;line-height:20px;border-radius:6px;cursor:pointer;color:var(--next-error-btn-text);background:var(--next-error-btn-bg);border:var(--next-error-btn-border)">Reload</button></form></div></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-fb1763edb92ee346.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[57121,[],\"\"]\n3:I[74581,[],\"\"]\n4:I[90484,[],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n8:I[90484,[],\"ViewportBoundary\"]\na:I[90484,[],\"MetadataBoundary\"]\nc:I[27123,[],\"default\",1]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"_global-error\",{\"children\":[\"__PAGE__\",{}]}]}],[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"title\",null,{\"children\":\"500: This page couldn’t load\"}],[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }\"}}]]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"display\":\"flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"marginTop\":\"-32px\",\"maxWidth\":\"325px\",\"padding\":\"32px 28px\",\"textAlign\":\"left\"},\"children\":[[\"$\",\"svg\",null,{\"width\":\"32\",\"height\":\"32\",\"viewBox\":\"-0.2 -1.5 32 32\",\"fill\":\"none\",\"style\":{\"marginBottom\":\"24px\"},\"children\":[\"$\",\"path\",null,{\"d\":\"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z\",\"fill\":\"var(--next-error-title)\"}]}],[\"$\",\"h1\",null,{\"style\":{\"fontSize\":\"24px\",\"fontWeight\":500,\"letterSpacing\":\"-0.02em\",\"lineHeight\":\"32px\",\"margin\":\"0 0 12px 0\",\"color\":\"var(--next-error-title)\"},\"children\":\"This page couldn’t load\"}],[\"$\",\"p\",null,{\"style\":{\"fontSize\":\"14px\",\"fontWeight\":400,\"lineHeight\":\"21px\",\"margin\":\"0 0 20px 0\",\"color\":\"var(--next-error-message)\"},\"children\":\"A server error occurred. Reload to try again.\"}],[\"$\",\"form\",null,{\"style\":{\"margin\":0},\"children\":[\"$\",\"button\",null,{\"type\":\"submit\",\"style\":{\"display\":\"inline-flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\",\"height\":\"32px\",\"padding\":\"0 12px\",\"fontSize\":\"14px\",\"fontWeight\":500,\"lineHeight\":\"20px\",\"borderRadius\":\"6px\",\"cursor\":\"pointer\",\"color\":\"var(--next-error-btn-text)\",\"background\":\"var(--next-error-btn-bg)\",\"border\":\"var(--next-error-btn-border)\"},\"children\":\"Reload\"}]}]]}]}]}]]}],null,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,null]},null,false,\"$@7\"]},null,false,\"$@7\"],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",[]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"-zDFcEPiS1rhVSLb5AN96\"}\n"])</script><script>self.__next_f.push([1,"d:[]\n7:\"$Wd\"\n"])</script><script>self.__next_f.push([1,"9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"6:null\nb:[]\n"])</script></body></html>
1
+ <!DOCTYPE html><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-fb1763edb92ee346.js"/><script src="/_next/static/chunks/4bd1b696-e356ca5ba0218e27.js" async=""></script><script src="/_next/static/chunks/3794-123fdf632563f469.js" async=""></script><script src="/_next/static/chunks/main-app-8d81a93b58bb990f.js" async=""></script><meta name="next-size-adjust" content=""/><title>500: This page couldn’t load</title><style>:root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }</style><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;display:flex;align-items:center;justify-content:center"><div style="margin-top:-32px;max-width:325px;padding:32px 28px;text-align:left"><svg width="32" height="32" viewBox="-0.2 -1.5 32 32" fill="none" style="margin-bottom:24px"><path d="M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z" fill="var(--next-error-title)"></path></svg><h1 style="font-size:24px;font-weight:500;letter-spacing:-0.02em;line-height:32px;margin:0 0 12px 0;color:var(--next-error-title)">This page couldn’t load</h1><p style="font-size:14px;font-weight:400;line-height:21px;margin:0 0 20px 0;color:var(--next-error-message)">A server error occurred. Reload to try again.</p><form style="margin:0"><button type="submit" style="display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 12px;font-size:14px;font-weight:500;line-height:20px;border-radius:6px;cursor:pointer;color:var(--next-error-btn-text);background:var(--next-error-btn-bg);border:var(--next-error-btn-border)">Reload</button></form></div></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-fb1763edb92ee346.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[57121,[],\"\"]\n3:I[74581,[],\"\"]\n4:I[90484,[],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n8:I[90484,[],\"ViewportBoundary\"]\na:I[90484,[],\"MetadataBoundary\"]\nc:I[27123,[],\"default\",1]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"_global-error\",{\"children\":[\"__PAGE__\",{}]}]}],[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"title\",null,{\"children\":\"500: This page couldn’t load\"}],[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }\"}}]]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"display\":\"flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"marginTop\":\"-32px\",\"maxWidth\":\"325px\",\"padding\":\"32px 28px\",\"textAlign\":\"left\"},\"children\":[[\"$\",\"svg\",null,{\"width\":\"32\",\"height\":\"32\",\"viewBox\":\"-0.2 -1.5 32 32\",\"fill\":\"none\",\"style\":{\"marginBottom\":\"24px\"},\"children\":[\"$\",\"path\",null,{\"d\":\"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z\",\"fill\":\"var(--next-error-title)\"}]}],[\"$\",\"h1\",null,{\"style\":{\"fontSize\":\"24px\",\"fontWeight\":500,\"letterSpacing\":\"-0.02em\",\"lineHeight\":\"32px\",\"margin\":\"0 0 12px 0\",\"color\":\"var(--next-error-title)\"},\"children\":\"This page couldn’t load\"}],[\"$\",\"p\",null,{\"style\":{\"fontSize\":\"14px\",\"fontWeight\":400,\"lineHeight\":\"21px\",\"margin\":\"0 0 20px 0\",\"color\":\"var(--next-error-message)\"},\"children\":\"A server error occurred. Reload to try again.\"}],[\"$\",\"form\",null,{\"style\":{\"margin\":0},\"children\":[\"$\",\"button\",null,{\"type\":\"submit\",\"style\":{\"display\":\"inline-flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\",\"height\":\"32px\",\"padding\":\"0 12px\",\"fontSize\":\"14px\",\"fontWeight\":500,\"lineHeight\":\"20px\",\"borderRadius\":\"6px\",\"cursor\":\"pointer\",\"color\":\"var(--next-error-btn-text)\",\"background\":\"var(--next-error-btn-bg)\",\"border\":\"var(--next-error-btn-border)\"},\"children\":\"Reload\"}]}]]}]}]}]]}],null,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,null]},null,false,\"$@7\"]},null,false,\"$@7\"],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",[]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"Q9Mb3eiyTmQOb-kfjSWQO\"}\n"])</script><script>self.__next_f.push([1,"d:[]\n7:\"$Wd\"\n"])</script><script>self.__next_f.push([1,"9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"6:null\nb:[]\n"])</script></body></html>
@@ -1 +1 @@
1
- {"node":{},"edge":{},"encryptionKey":"nYzhE2dHT/7Bn+AJlmJqqb7Og4V1KkAhCtmoogXhWzQ="}
1
+ {"node":{},"edge":{},"encryptionKey":"FyngtmnYhf5Xn0BFLOd97GrrvBjG1vFIqegVeYx/hr8="}