@seqyuan/annodex 0.1.47 → 0.1.50

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 (221) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +11 -5
  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 +36 -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 +1 -1
  29. package/.next/server/app/api/agent/[id]/events/route.js.nft.json +1 -1
  30. package/.next/server/app/api/agent/[id]/route.js +1 -1
  31. package/.next/server/app/api/agent/[id]/route.js.nft.json +1 -1
  32. package/.next/server/app/api/agent/new/route.js +1 -1
  33. package/.next/server/app/api/agent/new/route.js.nft.json +1 -1
  34. package/.next/server/app/api/agent/runtime/route.js +1 -1
  35. package/.next/server/app/api/agent/runtime/route.js.nft.json +1 -1
  36. package/.next/server/app/api/auth/all-providers/route.js +1 -1
  37. package/.next/server/app/api/auth/api-key/[provider]/route.js +1 -1
  38. package/.next/server/app/api/auth/login/[provider]/route.js +1 -1
  39. package/.next/server/app/api/auth/login/route.js +1 -1
  40. package/.next/server/app/api/auth/logout/[provider]/route.js +1 -1
  41. package/.next/server/app/api/auth/providers/route.js +1 -1
  42. package/.next/server/app/api/auth/status/route.js +1 -1
  43. package/.next/server/app/api/default-cwd/route.js +1 -1
  44. package/.next/server/app/api/extensions/discover/route.js +1 -0
  45. package/.next/server/app/api/extensions/discover/route.js.nft.json +1 -0
  46. package/.next/server/app/api/extensions/discover/route_client-reference-manifest.js +1 -0
  47. package/.next/server/app/api/extensions/mcp/route.js +1 -0
  48. package/.next/server/app/api/extensions/mcp/route.js.nft.json +1 -0
  49. package/.next/server/app/api/extensions/mcp/route_client-reference-manifest.js +1 -0
  50. package/.next/server/app/api/extensions/plugin/route.js +1 -0
  51. package/.next/server/app/api/extensions/plugin/route.js.nft.json +1 -0
  52. package/.next/server/app/api/extensions/plugin/route_client-reference-manifest.js +1 -0
  53. package/.next/server/app/api/extensions/plugin-marketplace/route.js +1 -0
  54. package/.next/server/app/api/extensions/plugin-marketplace/route.js.nft.json +1 -0
  55. package/.next/server/app/api/extensions/plugin-marketplace/route_client-reference-manifest.js +1 -0
  56. package/.next/server/app/api/extensions/route.js +1 -0
  57. package/.next/server/app/api/extensions/route.js.nft.json +1 -0
  58. package/.next/server/app/api/extensions/route_client-reference-manifest.js +1 -0
  59. package/.next/server/app/api/extensions/session/route.js +1 -0
  60. package/.next/server/app/api/extensions/session/route.js.nft.json +1 -0
  61. package/.next/server/app/api/extensions/session/route_client-reference-manifest.js +1 -0
  62. package/.next/server/app/api/files/[...path]/route.js +1 -1
  63. package/.next/server/app/api/files/[...path]/route.js.nft.json +1 -1
  64. package/.next/server/app/api/harness/route.js +1 -1
  65. package/.next/server/app/api/home/route.js +1 -1
  66. package/.next/server/app/api/internal/runtime/route.js +1 -1
  67. package/.next/server/app/api/internal/runtime/route.js.nft.json +1 -1
  68. package/.next/server/app/api/models/route.js +1 -1
  69. package/.next/server/app/api/models-config/discover/route.js +1 -1
  70. package/.next/server/app/api/models-config/route.js +1 -1
  71. package/.next/server/app/api/models-config/test/route.js +1 -1
  72. package/.next/server/app/api/projects/browse/route.js +1 -1
  73. package/.next/server/app/api/projects/route.js +1 -1
  74. package/.next/server/app/api/projects/route.js.nft.json +1 -1
  75. package/.next/server/app/api/search/route.js +1 -1
  76. package/.next/server/app/api/search/route.js.nft.json +1 -1
  77. package/.next/server/app/api/sessions/[id]/context/route.js +1 -1
  78. package/.next/server/app/api/sessions/[id]/context/route.js.nft.json +1 -1
  79. package/.next/server/app/api/sessions/[id]/route.js +1 -1
  80. package/.next/server/app/api/sessions/[id]/route.js.nft.json +1 -1
  81. package/.next/server/app/api/sessions/new/route.js +1 -1
  82. package/.next/server/app/api/sessions/route.js +1 -1
  83. package/.next/server/app/api/sessions/route.js.nft.json +1 -1
  84. package/.next/server/app/api/settings/route.js +1 -1
  85. package/.next/server/app/api/skills/install/route.js +2 -2
  86. package/.next/server/app/api/skills/route.js +2 -2
  87. package/.next/server/app/api/skills/search/route.js +1 -1
  88. package/.next/server/app/api/soul/route.js +1 -1
  89. package/.next/server/app/api/version/route.js +1 -1
  90. package/.next/server/app/index.html +1 -1
  91. package/.next/server/app/index.rsc +2 -2
  92. package/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  93. package/.next/server/app/index.segments/_full.segment.rsc +2 -2
  94. package/.next/server/app/index.segments/_head.segment.rsc +1 -1
  95. package/.next/server/app/index.segments/_index.segment.rsc +2 -2
  96. package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  97. package/.next/server/app/login/page.js +2 -2
  98. package/.next/server/app/login/page_client-reference-manifest.js +1 -1
  99. package/.next/server/app/login.html +1 -1
  100. package/.next/server/app/login.rsc +2 -2
  101. package/.next/server/app/login.segments/_full.segment.rsc +2 -2
  102. package/.next/server/app/login.segments/_head.segment.rsc +1 -1
  103. package/.next/server/app/login.segments/_index.segment.rsc +2 -2
  104. package/.next/server/app/login.segments/_tree.segment.rsc +2 -2
  105. package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +1 -1
  106. package/.next/server/app/login.segments/login.segment.rsc +1 -1
  107. package/.next/server/app/page.js +2 -2
  108. package/.next/server/app/page_client-reference-manifest.js +1 -1
  109. package/.next/server/app/workspace/page.js +7 -7
  110. package/.next/server/app/workspace/page_client-reference-manifest.js +1 -1
  111. package/.next/server/app/workspace.html +1 -1
  112. package/.next/server/app/workspace.rsc +3 -3
  113. package/.next/server/app/workspace.segments/_full.segment.rsc +3 -3
  114. package/.next/server/app/workspace.segments/_head.segment.rsc +1 -1
  115. package/.next/server/app/workspace.segments/_index.segment.rsc +2 -2
  116. package/.next/server/app/workspace.segments/_tree.segment.rsc +2 -2
  117. package/.next/server/app/workspace.segments/workspace/__PAGE__.segment.rsc +2 -2
  118. package/.next/server/app/workspace.segments/workspace.segment.rsc +1 -1
  119. package/.next/server/app-paths-manifest.json +11 -5
  120. package/.next/server/chunks/402.js +1 -4
  121. package/.next/server/chunks/6429.js +1 -1
  122. package/.next/server/chunks/6983.js +4 -0
  123. package/.next/server/functions-config-manifest.json +5 -0
  124. package/.next/server/middleware-build-manifest.js +1 -1
  125. package/.next/server/next-font-manifest.js +1 -1
  126. package/.next/server/next-font-manifest.json +1 -1
  127. package/.next/server/pages/404.html +1 -1
  128. package/.next/server/pages/500.html +1 -1
  129. package/.next/server/server-reference-manifest.json +1 -1
  130. package/.next/static/KJcCXdQp2I3HuifmczGCK/_buildManifest.js +1 -0
  131. package/.next/static/chunks/app/_global-error/page-80e98c5a11ec6fc9.js +1 -0
  132. package/.next/static/chunks/app/api/agent/[id]/events/route-80e98c5a11ec6fc9.js +1 -0
  133. package/.next/static/chunks/app/api/agent/[id]/route-80e98c5a11ec6fc9.js +1 -0
  134. package/.next/static/chunks/app/api/agent/new/route-80e98c5a11ec6fc9.js +1 -0
  135. package/.next/static/chunks/app/api/agent/runtime/route-80e98c5a11ec6fc9.js +1 -0
  136. package/.next/static/chunks/app/api/auth/all-providers/route-80e98c5a11ec6fc9.js +1 -0
  137. package/.next/static/chunks/app/api/auth/api-key/[provider]/route-80e98c5a11ec6fc9.js +1 -0
  138. package/.next/static/chunks/app/api/auth/login/[provider]/route-80e98c5a11ec6fc9.js +1 -0
  139. package/.next/static/chunks/app/api/auth/login/route-80e98c5a11ec6fc9.js +1 -0
  140. package/.next/static/chunks/app/api/auth/logout/[provider]/route-80e98c5a11ec6fc9.js +1 -0
  141. package/.next/static/chunks/app/api/auth/providers/route-80e98c5a11ec6fc9.js +1 -0
  142. package/.next/static/chunks/app/api/auth/status/route-80e98c5a11ec6fc9.js +1 -0
  143. package/.next/static/chunks/app/api/default-cwd/route-80e98c5a11ec6fc9.js +1 -0
  144. package/.next/static/chunks/app/api/extensions/discover/route-80e98c5a11ec6fc9.js +1 -0
  145. package/.next/static/chunks/app/api/extensions/mcp/route-80e98c5a11ec6fc9.js +1 -0
  146. package/.next/static/chunks/app/api/extensions/plugin/route-80e98c5a11ec6fc9.js +1 -0
  147. package/.next/static/chunks/app/api/extensions/plugin-marketplace/route-80e98c5a11ec6fc9.js +1 -0
  148. package/.next/static/chunks/app/api/extensions/route-80e98c5a11ec6fc9.js +1 -0
  149. package/.next/static/chunks/app/api/extensions/session/route-80e98c5a11ec6fc9.js +1 -0
  150. package/.next/static/chunks/app/api/files/[...path]/route-80e98c5a11ec6fc9.js +1 -0
  151. package/.next/static/chunks/app/api/harness/route-80e98c5a11ec6fc9.js +1 -0
  152. package/.next/static/chunks/app/api/home/route-80e98c5a11ec6fc9.js +1 -0
  153. package/.next/static/chunks/app/api/internal/runtime/route-80e98c5a11ec6fc9.js +1 -0
  154. package/.next/static/chunks/app/api/models/route-80e98c5a11ec6fc9.js +1 -0
  155. package/.next/static/chunks/app/api/models-config/discover/route-80e98c5a11ec6fc9.js +1 -0
  156. package/.next/static/chunks/app/api/models-config/route-80e98c5a11ec6fc9.js +1 -0
  157. package/.next/static/chunks/app/api/models-config/test/route-80e98c5a11ec6fc9.js +1 -0
  158. package/.next/static/chunks/app/api/projects/browse/route-80e98c5a11ec6fc9.js +1 -0
  159. package/.next/static/chunks/app/api/projects/route-80e98c5a11ec6fc9.js +1 -0
  160. package/.next/static/chunks/app/api/search/route-80e98c5a11ec6fc9.js +1 -0
  161. package/.next/static/chunks/app/api/sessions/[id]/context/route-80e98c5a11ec6fc9.js +1 -0
  162. package/.next/static/chunks/app/api/sessions/[id]/route-80e98c5a11ec6fc9.js +1 -0
  163. package/.next/static/chunks/app/api/sessions/new/route-80e98c5a11ec6fc9.js +1 -0
  164. package/.next/static/chunks/app/api/sessions/route-80e98c5a11ec6fc9.js +1 -0
  165. package/.next/static/chunks/app/api/settings/route-80e98c5a11ec6fc9.js +1 -0
  166. package/.next/static/chunks/app/api/skills/install/route-80e98c5a11ec6fc9.js +1 -0
  167. package/.next/static/chunks/app/api/skills/route-80e98c5a11ec6fc9.js +1 -0
  168. package/.next/static/chunks/app/api/skills/search/route-80e98c5a11ec6fc9.js +1 -0
  169. package/.next/static/chunks/app/api/soul/route-80e98c5a11ec6fc9.js +1 -0
  170. package/.next/static/chunks/app/api/version/route-80e98c5a11ec6fc9.js +1 -0
  171. package/.next/static/chunks/app/page-80e98c5a11ec6fc9.js +1 -0
  172. package/.next/static/chunks/app/workspace/page-70164751e59673d8.js +262 -0
  173. package/.next/static/chunks/next/dist/client/components/builtin/app-error-80e98c5a11ec6fc9.js +1 -0
  174. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-80e98c5a11ec6fc9.js +1 -0
  175. package/.next/static/chunks/next/dist/client/components/builtin/not-found-80e98c5a11ec6fc9.js +1 -0
  176. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-80e98c5a11ec6fc9.js +1 -0
  177. package/.next/static/css/7cdc2b85523b8b05.css +1 -0
  178. package/package.json +1 -1
  179. package/.next/static/HQlxW700z3VnIxRy07W3H/_buildManifest.js +0 -1
  180. package/.next/static/chunks/app/_global-error/page-59077df354d3cef3.js +0 -1
  181. package/.next/static/chunks/app/api/agent/[id]/events/route-59077df354d3cef3.js +0 -1
  182. package/.next/static/chunks/app/api/agent/[id]/route-59077df354d3cef3.js +0 -1
  183. package/.next/static/chunks/app/api/agent/new/route-59077df354d3cef3.js +0 -1
  184. package/.next/static/chunks/app/api/agent/runtime/route-59077df354d3cef3.js +0 -1
  185. package/.next/static/chunks/app/api/auth/all-providers/route-59077df354d3cef3.js +0 -1
  186. package/.next/static/chunks/app/api/auth/api-key/[provider]/route-59077df354d3cef3.js +0 -1
  187. package/.next/static/chunks/app/api/auth/login/[provider]/route-59077df354d3cef3.js +0 -1
  188. package/.next/static/chunks/app/api/auth/login/route-59077df354d3cef3.js +0 -1
  189. package/.next/static/chunks/app/api/auth/logout/[provider]/route-59077df354d3cef3.js +0 -1
  190. package/.next/static/chunks/app/api/auth/providers/route-59077df354d3cef3.js +0 -1
  191. package/.next/static/chunks/app/api/auth/status/route-59077df354d3cef3.js +0 -1
  192. package/.next/static/chunks/app/api/default-cwd/route-59077df354d3cef3.js +0 -1
  193. package/.next/static/chunks/app/api/files/[...path]/route-59077df354d3cef3.js +0 -1
  194. package/.next/static/chunks/app/api/harness/route-59077df354d3cef3.js +0 -1
  195. package/.next/static/chunks/app/api/home/route-59077df354d3cef3.js +0 -1
  196. package/.next/static/chunks/app/api/internal/runtime/route-59077df354d3cef3.js +0 -1
  197. package/.next/static/chunks/app/api/models/route-59077df354d3cef3.js +0 -1
  198. package/.next/static/chunks/app/api/models-config/discover/route-59077df354d3cef3.js +0 -1
  199. package/.next/static/chunks/app/api/models-config/route-59077df354d3cef3.js +0 -1
  200. package/.next/static/chunks/app/api/models-config/test/route-59077df354d3cef3.js +0 -1
  201. package/.next/static/chunks/app/api/projects/browse/route-59077df354d3cef3.js +0 -1
  202. package/.next/static/chunks/app/api/projects/route-59077df354d3cef3.js +0 -1
  203. package/.next/static/chunks/app/api/search/route-59077df354d3cef3.js +0 -1
  204. package/.next/static/chunks/app/api/sessions/[id]/context/route-59077df354d3cef3.js +0 -1
  205. package/.next/static/chunks/app/api/sessions/[id]/route-59077df354d3cef3.js +0 -1
  206. package/.next/static/chunks/app/api/sessions/new/route-59077df354d3cef3.js +0 -1
  207. package/.next/static/chunks/app/api/sessions/route-59077df354d3cef3.js +0 -1
  208. package/.next/static/chunks/app/api/settings/route-59077df354d3cef3.js +0 -1
  209. package/.next/static/chunks/app/api/skills/install/route-59077df354d3cef3.js +0 -1
  210. package/.next/static/chunks/app/api/skills/route-59077df354d3cef3.js +0 -1
  211. package/.next/static/chunks/app/api/skills/search/route-59077df354d3cef3.js +0 -1
  212. package/.next/static/chunks/app/api/soul/route-59077df354d3cef3.js +0 -1
  213. package/.next/static/chunks/app/api/version/route-59077df354d3cef3.js +0 -1
  214. package/.next/static/chunks/app/page-59077df354d3cef3.js +0 -1
  215. package/.next/static/chunks/app/workspace/page-eceb4c967cb27e85.js +0 -262
  216. package/.next/static/chunks/next/dist/client/components/builtin/app-error-59077df354d3cef3.js +0 -1
  217. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-59077df354d3cef3.js +0 -1
  218. package/.next/static/chunks/next/dist/client/components/builtin/not-found-59077df354d3cef3.js +0 -1
  219. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-59077df354d3cef3.js +0 -1
  220. package/.next/static/css/d0aebb8f91e62782.css +0 -1
  221. /package/.next/static/{HQlxW700z3VnIxRy07W3H → KJcCXdQp2I3HuifmczGCK}/_ssgManifest.js +0 -0
@@ -1,4 +1,4 @@
1
1
  "use strict";exports.id=6429,exports.ids=[6429],exports.modules={4087:(a,b,c)=>{let d=c(29021),e=c(33873),f=c(21820);function g(){return process.env.ANNODEX_CONFIG_DIR??process.env.ANNOVIBE_CONFIG_DIR??e.join(f.homedir(),".config","annodex")}function h(){return e.join(g(),"settings.json")}function i(){let a=h();if(!d.existsSync(a))return{};try{let b=JSON.parse(d.readFileSync(a,"utf8"));return"object"!=typeof b||null===b||Array.isArray(b)?{}:b}catch{return{}}}function j(){let a=i();return{autoRestart:"boolean"==typeof a.autoRestart?a.autoRestart:void 0}}function k(a){let b=g();d.existsSync(b)||d.mkdirSync(b,{recursive:!0});let c={...i(),..."boolean"==typeof a?.autoRestart?{autoRestart:a.autoRestart}:{}};return d.writeFileSync(h(),JSON.stringify(c,null,2),"utf8"),j()}a.exports={readAppSettings:j,writeAppSettings:k,ensureAppSettings:function(a={autoRestart:!0}){return"boolean"==typeof i().autoRestart?j():k(a)}}},9805:(a,b,c)=>{c.d(b,{FE:()=>h,zN:()=>i});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){return a.replace(e,"\n").replace(f,"\n").replace(g,"\n").replace(/\n{3,}/g,"\n\n").trim()}function i(a){return a.includes("<widget-capability>")?a:a.trim()?`${a.trimEnd()}
2
2
 
3
3
  ${d}`:d}},11002:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{WK:()=>j,z2:()=>k});var e=c(46983),f=c(65369),g=a([e]);function h(a){return"agentMessage"===a.type&&"string"==typeof a.text?a.text:"reasoning"===a.type?[...a.summary??[],...a.content??[]].join("\n"):"plan"===a.type&&"string"==typeof a.text?a.text:""}function i(a){return"commandExecution"===a.type?"bash":"fileChange"===a.type?"edit":"mcpToolCall"===a.type?a.tool||a.server||"mcp":"dynamicToolCall"===a.type?a.tool||"tool":"collabAgentToolCall"===a.type?"agents":a.type}e=(g.then?(await g)():g)[0];class l{constructor(a,b,c,d){this.threadId=a,this.cwd=b,this.connection=c,this.baseInstructions=d,this.listeners=[],this.cleanupFns=[],this._alive=!0,this._isStreaming=!1,this._isCompacting=!1,this._accumulatedText="",this._activeTurnId=null,this._activeAgentItemId=null,this._activeItems=new Map,this._currentModel=null,this._wireModel=null,this._sandboxMode="workspace-write",this._pendingApprovals=new Map,this.setupNotifications()}get sessionId(){return this.threadId}get sessionFile(){return""}get isAlive(){return this._alive}get isStreaming(){return this._isStreaming}get isCompacting(){return this._isCompacting}get model(){return this._currentModel}get wireModel(){return this._wireModel}get sandboxMode(){return this._sandboxMode}onEvent(a){return this.listeners.push(a),()=>{let b=this.listeners.indexOf(a);-1!==b&&this.listeners.splice(b,1)}}emit(a){for(let b of this.listeners)try{b(a)}catch{}}assistantMeta(){return{model:this._currentModel?.modelId??"",provider:this._currentModel?.provider??""}}restoreActiveTurnFromThread(a){let b=[...a?.turns??[]].reverse().find(a=>(0,e.pU)(a));if(!b)return;this._isStreaming=!0,this._activeTurnId=b.id;let c=[...b.items??[]].reverse().find(a=>"agentMessage"===a.type);c?.type==="agentMessage"&&(this._activeAgentItemId=c.id,this._accumulatedText=h(c))}setupNotifications(){let a=this.connection.onAnyNotification((a,b)=>this.handleCodexNotification(a,b));this.cleanupFns.push(a);let b=this.connection.onServerRequest(a=>this.handleServerRequest(a));this.cleanupFns.push(b)}handleCodexNotification(a,b){switch(a){case"turn/started":this.handleTurnStarted(b);break;case"item/agentMessage/delta":this.handleAgentMessageDelta(b);break;case"item/reasoning/textDelta":case"item/reasoning/summaryTextDelta":this.handleReasoningDelta(b);break;case"item/started":this.handleItemStarted(b);break;case"item/completed":this.handleItemCompleted(b);break;case"turn/completed":this.handleTurnCompleted(b);break;case"turn/failed":case"error":this.handleError(b);break;case"thread/status/changed":this.handleThreadStatusChanged(b);break;case"thread/compacted":this.handleCompacted(b)}}ensureStreamingStarted(a){a&&(this._activeTurnId=a),this._isStreaming||(this._isStreaming=!0,this.emit({type:"agent_start"}),this.emit({type:"message_start",message:{role:"assistant",content:[],...this.assistantMeta()}}))}activeItem(a,b){let c=this._activeItems.get(a);if(c)return c;let d={kind:b,textSoFar:"",receivedDelta:!1};return this._activeItems.set(a,d),d}emitTextUpdate(a){this.emit({type:"message_update",message:{role:"assistant",content:[{type:"text",text:a}],...this.assistantMeta()}})}emitThinkingUpdate(a){this.emit({type:"message_update",message:{role:"assistant",content:[{type:"thinking",thinking:a}],...this.assistantMeta()}})}sandboxPolicy(){return"danger-full-access"===this._sandboxMode?{type:"dangerFullAccess"}:{type:"workspaceWrite",writableRoots:this.cwd?[this.cwd]:[],readOnlyAccess:{type:"fullAccess"},networkAccess:!0,excludeTmpdirEnvVar:!1,excludeSlashTmp:!1}}approvalPolicy(){return"danger-full-access"===this._sandboxMode?"never":"on-request"}requestBelongsToSession(a){return("string"==typeof a?.threadId?a.threadId:"string"==typeof a?.conversationId?a.conversationId:null)===this.threadId}isLegacyApprovalMethod(a){return"execCommandApproval"===a||"applyPatchApproval"===a}handleServerRequest(a){if("item/commandExecution/requestApproval"!==a.method&&"item/fileChange/requestApproval"!==a.method&&"item/permissions/requestApproval"!==a.method&&"execCommandApproval"!==a.method&&"applyPatchApproval"!==a.method)return;let b=a.params;if(!this.requestBelongsToSession(b))return;let c="string"==typeof b?.itemId?b.itemId:"string"==typeof b?.callId?b.callId:null;if(!c)return;let d="string"==typeof b?.approvalId&&b.approvalId?b.approvalId:null,e=d?`${c}:${d}`:c,f=`${a.method}:${e}`;return new Promise(b=>{this._pendingApprovals.set(f,{request:{id:f,method:a.method,serverRequestId:a.id,params:a.params},resolve:b}),this.emit({type:"approval_request",requestId:f,method:a.method,params:a.params})})}eventBelongsToThread(a){return a.threadId===this.threadId}handleTurnStarted(a){this.eventBelongsToThread(a)&&this.ensureStreamingStarted(a.turnId)}handleAgentMessageDelta(a){if(!this.eventBelongsToThread(a))return;let b=a.delta??"";if(!b)return;this.ensureStreamingStarted(a.turnId),this._activeAgentItemId=a.itemId;let c=this.activeItem(a.itemId,"text");c.textSoFar+=b,c.receivedDelta=!0,this._accumulatedText=c.textSoFar,this.emitTextUpdate(c.textSoFar)}handleReasoningDelta(a){if(!this.eventBelongsToThread(a))return;let b=a.delta??"";if(!b)return;this.ensureStreamingStarted(a.turnId);let c=this.activeItem(a.itemId,"thinking");c.textSoFar+=b,c.receivedDelta=!0,this.emitThinkingUpdate(c.textSoFar)}handleItemStarted(a){if(!this.eventBelongsToThread(a))return;let b=a.item;if("commandExecution"===b.type||"fileChange"===b.type||"mcpToolCall"===b.type||"dynamicToolCall"===b.type||"collabAgentToolCall"===b.type){if(this._activeTurnId=a.turnId,"collabAgentToolCall"===b.type)return void this.emit({type:"subagent_progress",runs:(0,f.k8)(b,Date.now())});this.emit({type:"tool_execution_start",toolCallId:b.id,toolName:i(b)})}}handleItemCompleted(a){if(!this.eventBelongsToThread(a))return;let b=a.item;if(this._activeTurnId=a.turnId,"agentMessage"===b.type){this.ensureStreamingStarted(a.turnId);let c=this._activeItems.get(b.id),d=h(b),e=c?.textSoFar||d||this._accumulatedText;!c?.receivedDelta&&e&&this.emitTextUpdate(e),this.emit({type:"message_end",message:{role:"assistant",content:[{type:"text",text:e}],...this.assistantMeta()}}),this._activeItems.delete(b.id),this._accumulatedText="",this._activeAgentItemId=null}else if("reasoning"===b.type){let c=this._activeItems.get(b.id),d=c?.textSoFar||h(b);d&&!c?.receivedDelta&&(this.ensureStreamingStarted(a.turnId),this.emitThinkingUpdate(d)),this._activeItems.delete(b.id)}else if("collabAgentToolCall"===b.type)this.emit({type:"subagent_progress",runs:(0,f.k8)(b,Date.now())});else("commandExecution"===b.type||"fileChange"===b.type||"mcpToolCall"===b.type||"dynamicToolCall"===b.type)&&this.emit({type:"tool_execution_end",toolCallId:b.id,toolName:i(b),result:function(a){if("commandExecution"===a.type){let b=a.aggregatedOutput??"",c=null!==a.exitCode&&void 0!==a.exitCode?`Exit code: ${a.exitCode}`:"";return b?c?`${b}
4
- ${c}`:b:c}return"fileChange"===a.type?JSON.stringify(a.changes??[]):"mcpToolCall"===a.type?a.error?"string"==typeof a.error?a.error:JSON.stringify(a.error):a.result?"string"==typeof a.result?a.result:JSON.stringify(a.result):"":"dynamicToolCall"===a.type?JSON.stringify(a.contentItems??[]):"collabAgentToolCall"===a.type?JSON.stringify(a.agentsStates??[]):""}(b),isError:"status"in b&&"string"==typeof b.status?"failed"===b.status||"declined"===b.status:"dynamicToolCall"===b.type&&!1===b.success})}handleTurnCompleted(a){if(!this.eventBelongsToThread(a))return;this._isStreaming=!1,this._activeTurnId=null;let b=!1;for(let[a,c]of[...this._activeItems])"text"===c.kind&&c.textSoFar&&(this.emit({type:"message_end",message:{role:"assistant",content:[{type:"text",text:c.textSoFar}],...this.assistantMeta()}}),b=!0),this._activeItems.delete(a);b&&(this._accumulatedText=""),this._accumulatedText&&(this.emit({type:"message_end",message:{role:"assistant",content:[{type:"text",text:this._accumulatedText}],...this.assistantMeta()}}),this._accumulatedText=""),this.emit({type:"agent_end",...a.turn?.status==="failed"?{error:a.turn.error?.message??"Turn failed"}:{}})}handleThreadStatusChanged(a){this.eventBelongsToThread(a)&&a.status?.type==="idle"&&this._isStreaming&&(this._isStreaming=!1,this._activeTurnId=null,this._activeItems.clear(),this.emit({type:"agent_end"}))}handleCompacted(a){this.eventBelongsToThread(a)&&(this._isCompacting=!1,this.emit({type:"compaction_end"}))}handleError(a){if(!this.eventBelongsToThread(a))return;let b=a.error?.message||a.error?.additionalDetails||"Codex turn failed";this._isStreaming=!1,this._activeTurnId=null,this._activeItems.clear(),this.emit({type:"agent_end",error:b})}async prompt(a,b){if(this._isStreaming)throw Error("Session already has a running turn");this._isStreaming=!0,this._accumulatedText="",this._activeItems.clear(),this.emit({type:"agent_start"}),this.emit({type:"message_start",message:{role:"assistant",content:[],...this.assistantMeta()}});try{let c=await this.connection.request("turn/start",{threadId:this.threadId,input:function(a,b){let c=[];for(let d of(a.trim()&&c.push({type:"text",text:a,text_elements:[]}),b??[])){let a=d.mimeType||"image/png";c.push({type:"image",url:`data:${a};base64,${d.data}`})}return c.length>0?c:[{type:"text",text:"",text_elements:[]}]}(a,b),...this.cwd?{cwd:this.cwd}:{},...(this._wireModel??this._currentModel)?.modelId?{model:(this._wireModel??this._currentModel).modelId}:{},approvalPolicy:this.approvalPolicy(),approvalsReviewer:"user",sandboxPolicy:this.sandboxPolicy()});this._activeTurnId=c.turn?.id??null}catch(a){this._isStreaming=!1,this._activeItems.clear(),this.emit({type:"agent_end",error:a instanceof Error?a.message:String(a)})}}async abort(){if(this._activeTurnId)try{await this.connection.request("turn/interrupt",{threadId:this.threadId,turnId:this._activeTurnId})}catch{}this._isStreaming=!1,this._activeTurnId=null,this._activeItems.clear()}async setModel(a,b,c){this._currentModel={provider:a,modelId:b},this._wireModel=c??null}async setSandboxMode(a){this._sandboxMode=a}async resume(a,b){let c=await this.connection.request("thread/resume",{threadId:this.threadId,...this.cwd?{cwd:this.cwd}:{},...a?.modelId?{model:a.modelId}:{},...a?.provider?{modelProvider:a.provider}:{},...b?{baseInstructions:b}:{},approvalPolicy:this.approvalPolicy(),sandbox:this._sandboxMode});if(a&&this._currentModel)this._wireModel=a;else if(c.model){let a=(0,e.g8)(c.modelProvider??c.thread?.modelProvider)??"codex";await this.setModel(a,c.model,c.modelProvider?{provider:c.modelProvider,modelId:c.model}:void 0)}this.restoreActiveTurnFromThread(c.thread)}async fork(){try{let a=await this.connection.request("thread/fork",{threadId:this.threadId,persistExtendedHistory:!0}),b=a.thread?.id;if(!b)return{cancelled:!0};return{newThreadId:b}}catch{return{cancelled:!0}}}async navigateTree(a){try{let b=await this.connection.request("thread/read",{threadId:this.threadId,includeTurns:!0}),c=b.thread?.turns??[],d=c.findIndex(b=>b.items.some(b=>b.id===a));if(d<0||d>=c.length-1)return{cancelled:!1};let e=c.length-d-1;return await this.connection.request("thread/rollback",{threadId:this.threadId,numTurns:e}),{cancelled:!1}}catch{return{cancelled:!0}}}async compact(){this._isCompacting=!0,this.emit({type:"compaction_start"});try{await this.connection.request("thread/compact/start",{threadId:this.threadId})}catch(a){this._isCompacting=!1,this.emit({type:"compaction_end",errorMessage:a instanceof Error?a.message:String(a)})}}async rename(a){try{await this.connection.request("thread/name/set",{threadId:this.threadId,name:a})}catch{}}async resolveApproval(a,b){let c=this._pendingApprovals.get(a);if(!c)throw Error(`Approval request not found: ${a}`);this._pendingApprovals.delete(a),"item/permissions/requestApproval"===c.request.method?c.resolve({permissions:b.permissions??{},scope:b.scope??"turn"}):this.isLegacyApprovalMethod(c.request.method)?c.resolve({decision:"accept"===b.decision||"acceptForSession"===b.decision||"approved"===b.decision?"approved":"denied"}):c.resolve({decision:b.decision??"decline"}),this.emit({type:"approval_resolved",requestId:a})}destroy(){if(this._alive){for(let a of(this._alive=!1,this._isStreaming=!1,this.cleanupFns))try{a()}catch{}for(let[,a]of(this.cleanupFns=[],this.listeners=[],this._pendingApprovals))"item/permissions/requestApproval"===a.request.method?a.resolve({permissions:{},scope:"turn"}):this.isLegacyApprovalMethod(a.request.method)?a.resolve({decision:"denied"}):a.resolve({decision:"cancel"});this._pendingApprovals.clear()}}}async function j(a,b){let c=await a.request("thread/start",{cwd:b.cwd,...b.baseInstructions?{baseInstructions:b.baseInstructions}:{},...b.model?{model:(b.wireModel??b.model).modelId,modelProvider:(b.wireModel??b.model).provider}:{},approvalPolicy:"danger-full-access"===b.sandboxMode?"never":"on-request",sandbox:b.sandboxMode??"workspace-write",experimentalRawEvents:!1,persistExtendedHistory:!0}),d=c.thread?.id;if(!d)throw Error("Failed to create codex thread: no thread.id returned");let f=new l(d,b.cwd,a,b.baseInstructions);return await f.setSandboxMode(b.sandboxMode??"workspace-write"),b.model?f.setModel(b.model.provider,b.model.modelId,b.wireModel):b.acceptReturnedModel&&c.model&&f.setModel((0,e.g8)(c.modelProvider)??"codex",c.model,c.modelProvider?{provider:c.modelProvider,modelId:c.model}:void 0),f}async function k(a,b,c,d={}){let f=await a.request("thread/resume",{threadId:b,cwd:c,...d.baseInstructions?{baseInstructions:d.baseInstructions}:{},...d.model?{model:(d.wireModel??d.model).modelId,modelProvider:(d.wireModel??d.model).provider}:{},approvalPolicy:"danger-full-access"===d.sandboxMode?"never":"on-request",sandbox:d.sandboxMode??"workspace-write"}),g=new l(b,c,a);return await g.setSandboxMode(d.sandboxMode??"workspace-write"),d.model?g.setModel(d.model.provider,d.model.modelId,d.wireModel):f.model&&g.setModel((0,e.g8)(f.modelProvider??f.thread?.modelProvider)??"codex",f.model,f.modelProvider?{provider:f.modelProvider,modelId:f.model}:void 0),g.restoreActiveTurnFromThread(f.thread),g}d()}catch(a){d(a)}})},56429:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{A4:()=>w,Bj:()=>x,OF:()=>y});var e=c(11002),f=c(46983),g=c(55132),h=c(9805),i=c(29021),j=c(33873),k=c(21820),l=c(40402),m=c(26257),n=c(72801),o=c(54167),p=c(4087),q=a([e,f,l]);function r(a){return a instanceof Error?a.message:String(a)}function s(a,b,c){return(0,o.w5)(a.providers,b,c)}[e,f,l]=q.then?(await q)():q;class z{constructor(a,b={}){this.inner=a,this.listeners=[],this.cleanupEventSub=null,this.idleTimer=null,this.onDestroyCallback=null,this.busyOperations=new Set,this.busyStartedAtMs=null,this.activeTools=new Map,this.runStartedAtMs=null,this.firstModelEventAtMs=null,this.lastEventAtMs=null,this.lastEventType=null,this.errorMessage=null,this._alive=!0,this._thinkingLevel="auto",this._serverConnection=a.connection,this._needsResumeBeforePrompt=b.needsResumeBeforePrompt??!0,this._sandboxMode=a.sandboxMode}get sessionId(){return this.inner.sessionId}get sessionFile(){return this.inner.sessionFile}get cwd(){return this.inner.cwd}isAlive(){return this._alive&&this.inner.isAlive}isBusy(){return this.busyOperations.size>0||this.inner.isStreaming||this.inner.isCompacting}getRuntimeStatus(){let a=Date.now(),b=this.getRuntimePhase(),c=this.runStartedAtMs??(this.isBusy()?this.busyStartedAtMs:null);return{sessionId:this.sessionId,sessionFile:this.sessionFile,cwd:this.cwd||null,busy:this.isBusy(),operations:[...this.busyOperations],isStreaming:this.inner.isStreaming,isCompacting:this.inner.isCompacting,phase:b,model:this.inner.model?{provider:this.inner.model.provider,id:this.inner.model.modelId}:null,sandboxMode:this._sandboxMode,activeTools:[...this.activeTools.values()],runStartedAt:c?new Date(c).toISOString():null,firstModelEventAt:this.firstModelEventAtMs?new Date(this.firstModelEventAtMs).toISOString():null,lastEventAt:this.lastEventAtMs?new Date(this.lastEventAtMs).toISOString():null,lastEventType:this.lastEventType,uptimeMs:this.isBusy()&&c?a-c:null,waitingForModelMs:"waiting_model"===b&&c?a-c:null,pendingMessageCount:0,errorMessage:this.errorMessage}}start(){this.cleanupEventSub?.(),this.cleanupEventSub=this.inner.onEvent(a=>{this.resetIdleTimer(),this.emitToListeners(a)}),this.resetIdleTimer()}resetIdleTimer(){this.idleTimer&&clearTimeout(this.idleTimer),this.idleTimer=setTimeout(()=>{this.isBusy()?this.resetIdleTimer():this.destroy()},6e5)}onEvent(a){return this.listeners.push(a),()=>{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":{let b=a.images,c=a.message;return this.trackBusy("prompt",(async()=>{if(this.inner.isStreaming||(await this.resumeWithCurrentModel(),this.inner.isStreaming))throw Error("Session already has a running turn");await this.inner.prompt(c,b?.map(a=>({data:a.data,mimeType:a.mimeType})))})()).catch(a=>this.emitAgentError(a)),null}case"abort":return await this.inner.abort(),this.emitToListeners({type:"agent_end"}),null;case"get_state":{let a=(0,n.l)((0,l.bd)(this.inner.sessionId),this.inner.model?.modelId);return{sessionId:this.inner.sessionId,sessionFile:"",isStreaming:this.inner.isStreaming,isCompacting:this.inner.isCompacting,autoCompactionEnabled:!0,autoRetryEnabled:!0,model:this.inner.model?{id:this.inner.model.modelId,provider:this.inner.model.provider,...a.contextUsage?.contextWindow?{contextWindow:a.contextUsage.contextWindow}:{}}:void 0,messageCount:0,pendingMessageCount:0,contextUsage:a.contextUsage,systemPrompt:this.inner.baseInstructions??"",thinkingLevel:this._thinkingLevel,sandboxMode:this._sandboxMode}}case"set_model":{let{provider:b,modelId:c}=a,d=(0,g.Dw)(),e=(0,g.wB)(d,b),h=(0,g.AX)(d,c,e??b),i=h?.provider.id??e??b,j=h?.modelId??c,k=(0,f.kW)(d.providers,i,j);return await this.inner.setModel(i,j,k),(0,m.yJ)(this.sessionId,{cwd:this.cwd,provider:this.inner.model?.provider??i,modelId:this.inner.model?.modelId??j,sandboxMode:this._sandboxMode}),{id:j,provider:i}}case"set_sandbox_mode":{let b="danger-full-access"===a.mode?"danger-full-access":"workspace-write";return this._sandboxMode=b,await this.inner.setSandboxMode(b),(0,m.yJ)(this.sessionId,{cwd:this.cwd,provider:this.inner.model?.provider,modelId:this.inner.model?.modelId,thinkingLevel:this._thinkingLevel,sandboxMode:this._sandboxMode}),{mode:this._sandboxMode}}case"resolve_approval":{let b="string"==typeof a.requestId?a.requestId:"";if(!b)throw Error("requestId is required");return await this.inner.resolveApproval(b,{decision:"string"==typeof a.decision?a.decision:void 0,permissions:a.permissions,scope:"session"===a.scope?"session":"turn"}),{ok:!0}}case"rename":{let b="string"==typeof a.name?a.name:"";return await this.inner.rename(b),null}case"fork":{let a=await this.inner.fork();if("newThreadId"in a)return(0,m.yJ)(a.newThreadId,{cwd:this.cwd,provider:this.inner.model?.provider,modelId:this.inner.model?.modelId,thinkingLevel:this._thinkingLevel,sandboxMode:this._sandboxMode}),this.destroy(),{cancelled:!1,newSessionId:a.newThreadId};return{cancelled:!0}}case"navigate_tree":{let b=a.targetId;return{cancelled:(await this.inner.navigateTree(b)).cancelled}}case"compact":return await this.trackBusy("compact",this.inner.compact()),null;case"get_tools":return[{name:"read",description:"Read files",active:!0},{name:"bash",description:"Run shell commands",active:!0},{name:"edit",description:"Edit files",active:!0},{name:"write",description:"Create files",active:!0},{name:"grep",description:"Search files",active:!0},{name:"find",description:"List files",active:!0}];case"set_tools":case"abort_compaction":case"set_auto_compaction":case"set_auto_retry":return null;case"set_thinking_level":return this._thinkingLevel="string"==typeof a.level?a.level:"auto",(0,m.yJ)(this.sessionId,{cwd:this.cwd,thinkingLevel:this._thinkingLevel,provider:this.inner.model?.provider,modelId:this.inner.model?.modelId,sandboxMode:this._sandboxMode}),null;default:throw Error(`Unsupported command: ${b}`)}}async trackBusy(a,b){let c=!this.isBusy()&&0===this.busyOperations.size;this.busyOperations.add(a),(c||!this.busyStartedAtMs)&&(this.busyStartedAtMs=Date.now()),"prompt"===a&&(this.runStartedAtMs=this.busyStartedAtMs,this.firstModelEventAtMs=null,this.errorMessage=null,this.activeTools.clear(),this.lastEventAtMs=this.busyStartedAtMs,this.lastEventType="prompt"),this.resetIdleTimer();try{return await b}finally{this.busyOperations.delete(a),this.isBusy()||0!==this.busyOperations.size||(this.busyStartedAtMs=null),this.resetIdleTimer()}}emitToListeners(a){for(let b of(this.recordRuntimeEvent(a),"agent_end"===a.type&&(this.busyOperations.delete("prompt"),this.busyStartedAtMs=this.isBusy()||this.busyOperations.size>0?this.busyStartedAtMs:null),this.listeners))try{b(a)}catch{}}emitAgentError(a){let b={type:"agent_end",error:r(a)};this.emitToListeners(b)}getRuntimePhase(){return this.inner.isCompacting||this.busyOperations.has("compact")?"compacting":this.activeTools.size>0?"running_tools":this.inner.isStreaming||this.busyOperations.has("prompt")?this.firstModelEventAtMs?"streaming":"waiting_model":"idle"}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.errorMessage=null,this.activeTools.clear();break;case"message_update":case"message_end":this.firstModelEventAtMs??=b;break;case"tool_execution_start":{this.firstModelEventAtMs??=b;let c="string"==typeof a.toolCallId&&a.toolCallId?a.toolCallId:`tool:${b}`,d="string"==typeof a.toolName&&a.toolName?a.toolName:"tool";this.activeTools.set(c,{id:c,name:d});break}case"tool_execution_end":{let b="string"==typeof a.toolCallId?a.toolCallId:"";b&&this.activeTools.delete(b),a.isError&&"string"==typeof a.result&&a.result&&(this.errorMessage=a.result);break}case"subagent_progress":this.firstModelEventAtMs??=b,this.recordSubagentTools(a.runs);break;case"compaction_start":case"auto_compaction_start":this.runStartedAtMs??=b;break;case"compaction_end":case"auto_compaction_end":"string"==typeof a.errorMessage&&a.errorMessage&&(this.errorMessage=a.errorMessage);break;case"agent_end":this.activeTools.clear(),"string"==typeof a.error&&a.error&&(this.errorMessage=a.error)}}recordSubagentTools(a){if(Array.isArray(a))for(let b of a){if("object"!=typeof b||null===b)continue;let a=b.id??b.threadId??b.agent,c="string"==typeof a&&a?`subagent:${a}`:`subagent:${Date.now()}`,d=b.agent??b.role??b.threadId,e="string"==typeof d&&d?d:"agent",f="string"==typeof b.status?b.status:"";"running"===f||"pending"===f?this.activeTools.set(c,{id:c,name:e}):this.activeTools.delete(c)}}resolveCurrentModel(){let a=(0,g.Dw)(),b=(0,m.zZ)(this.sessionId),c=s(a,b?.provider,b?.modelId),d=(0,f.g8)(c.provider)??c.provider,e=d?(0,g.wB)(a,d):this.inner.model?.provider,h=c.modelId??this.inner.model?.modelId;if(!h)return null;let i=(0,g.AX)(a,h,e),j=i?.provider.id??e,k=i?.modelId??h;return j&&k?{provider:j,modelId:k,wireModel:(0,f.kW)(a.providers,j,k)}:null}async resumeWithCurrentModel(){let a=this.resolveCurrentModel();if(!this._needsResumeBeforePrompt){a&&await this.inner.setModel(a.provider,a.modelId,a.wireModel),this._needsResumeBeforePrompt=!0;return}a?(await this.inner.setModel(a.provider,a.modelId,a.wireModel),await this.inner.resume(a.wireModel,this.inner.baseInstructions),(0,m.yJ)(this.sessionId,{cwd:this.cwd,provider:a.provider,modelId:a.modelId,thinkingLevel:this._thinkingLevel,sandboxMode:this._sandboxMode})):await this.inner.resume(void 0,this.inner.baseInstructions)}destroy(){this._alive&&(this._alive=!1,this.idleTimer&&clearTimeout(this.idleTimer),this.cleanupEventSub?.(),this.inner.destroy(),(0,f.sM)(this._serverConnection),this.onDestroyCallback?.())}}function t(){if(!globalThis.__annodexSessions){globalThis.__annodexSessions=new Map;let a=()=>globalThis.__annodexSessions?.forEach(a=>a.destroy());process.once("exit",a),process.once("SIGINT",a),process.once("SIGTERM",a)}return globalThis.__annodexSessions}function u(){return globalThis.__annodexSessionAliases||(globalThis.__annodexSessionAliases=new Map),globalThis.__annodexSessionAliases}function v(a){let b=a,c=new Set;for(;!c.has(b);){c.add(b);let a=u().get(b);if(!a)break;b=a}return b}function w(a){return t().get(v(a))}function x(){let a=[...t().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 y(a,b,c,d,n,o,q){let w=t(),x=(globalThis.__annodexStartLocks||(globalThis.__annodexStartLocks=new Map),globalThis.__annodexStartLocks),y=v(a),A=w.get(y);if(A?.isAlive())return{session:A,realSessionId:y};let B=x.get(y);if(B)return B;let C=(async()=>{let d,t=(0,g.Dw)(),v=function(a,b){let c=(0,l.$M)(),d=["## Annodex Runtime Rules — higher priority than persona guidance\n\nThese rules override conflicting language in persona-style files such as SOUL.md.\n\n- When the user explicitly asks for an external action in the current conversation, treat that request as authorization to execute it with available tools.\n- Do not refuse solely because the action touches GitHub, Vercel, remote APIs, publishing systems, or other external services.\n- Distinguish authorization from capability. If a tool such as `gh`, `git`, `curl`, or `vercel` may solve the task, try it before claiming it is unavailable. Report the concrete failure only if the command or permission is actually missing.\n- Ask before acting only when the user has not clearly requested the action, the action is unexpectedly destructive beyond the stated request, or it would reveal or transfer secrets beyond the user's instruction."],e=(()=>{let a=(0,j.join)(c,"SOUL.md"),b=(0,j.join)((0,k.homedir)(),".pi","agent","SOUL.md");if(!(0,i.existsSync)(a)&&(0,i.existsSync)(b))try{let c=(0,i.readFileSync)(b,"utf-8");(0,i.existsSync)((0,j.dirname)(a))||(0,i.mkdirSync)((0,j.dirname)(a),{recursive:!0}),(0,i.writeFileSync)(a,c,"utf-8")}catch{}let d=(0,j.join)(c,"soul.md");return(0,i.existsSync)(a)?a:d})();if((0,i.existsSync)(e))try{let a=(0,i.readFileSync)(e,"utf-8").trim();a&&d.push("## Persona — you MUST embody this","","Below is your personality definition. You MUST adopt this persona and tone in all replies. Avoid stiff, generic, or AI-assistant-style responses. Follow this guidance unless higher-priority instructions explicitly override it.","",a)}catch{}let f=(()=>{let a=(0,j.join)(c,"HARNESS.md"),b=(0,j.join)((0,k.homedir)(),".pi","agent","HARNESS.md");if(!(0,i.existsSync)(a)&&(0,i.existsSync)(b))try{let c=(0,i.readFileSync)(b,"utf-8");(0,i.existsSync)((0,j.dirname)(a))||(0,i.mkdirSync)((0,j.dirname)(a),{recursive:!0}),(0,i.writeFileSync)(a,c,"utf-8")}catch{}let d=(0,j.join)(c,"harness.md");return(0,i.existsSync)(a)?a:d})();if((0,i.existsSync)(f))try{let a=(0,i.readFileSync)(f,"utf-8").trim();a&&d.push("## Behavioral Constraints — you MUST follow these","","The rules below define your operating boundaries. You MUST comply with every constraint. These are NOT suggestions — they are mandatory behavioral rules that supersede conflicting persona preferences.","",a)}catch{}for(let b of[(0,j.join)(a,"AGENTS.md"),(0,j.join)(a,"CLAUDE.md")])if((0,i.existsSync)(b))try{let a=(0,i.readFileSync)(b,"utf-8").trim();if(a){d.push("## Project Instructions","",a);break}}catch{}let g=(0,i.existsSync)((0,j.join)(a,"MEMORY.md"))?(0,j.join)(a,"MEMORY.md"):(0,j.join)(a,"memory.md");if((0,i.existsSync)(g))try{let a=(0,i.readFileSync)(g,"utf-8").trim();a&&d.push("## Project Memory","",a)}catch{}let m=d.join("\n\n");return m=b.generativeUI?(0,h.zN)((0,h.FE)(m)):(0,h.FE)(m)}(c,t),x=b?(0,l.Qx)(a):null,y=b?(0,m.zZ)(a):null,A=s(t,x?.provider,x?.modelId),B=A.provider?(0,g.wB)(t,A.provider):void 0,C=n??(A.modelId?{provider:B,modelId:A.modelId}:void 0),D=C?.provider??B,E=o??x?.thinkingLevel,F=q??y?.sandboxMode??(0,p.readAppSettings)().defaultSandboxMode??"workspace-write",G=C?null:(0,g.fZ)(t),H=C??G??void 0,I=H?.provider??D,J=H?(0,g.AX)(t,H.modelId,I):null,K=J?.modelId??H?.modelId,L=J?.provider.id??I,M=K&&L?(0,f.kW)(t.providers,L,K):void 0,N=await (0,f.gu)(c,(0,f.H3)(t.providers));if(b)try{d=await (0,e.z2)(N,a,c,{baseInstructions:v,sandboxMode:F,...K&&L?{model:{provider:L,modelId:K},wireModel:M}:{}})}catch(f){if(!/thread not found|not found/i.test(r(f)))throw f;if(b&&(0,l.PF)(a))throw Error(`Codex thread not found for existing session ${a}. Check the session provider/model configuration.`);d=await (0,e.WK)(N,{cwd:c,baseInstructions:v,acceptReturnedModel:!!t.codexDefaults.model,sandboxMode:F,...K&&L?{model:{provider:L,modelId:K},wireModel:M}:{}})}else d=await (0,e.WK)(N,{cwd:c,baseInstructions:v,acceptReturnedModel:!!t.codexDefaults.model,sandboxMode:F,...K&&L?{model:{provider:L,modelId:K},wireModel:M}:{}});let O=d.model?.provider??L,P=d.model?.modelId??K;O&&P&&await d.setModel(O,P,(0,f.kW)(t.providers,O,P));let Q=new z(d,{needsResumeBeforePrompt:!!b}),R=d.sessionId;return a&&a!==R&&u().set(a,R),(0,m.yJ)(R,{cwd:c,provider:d.model?.provider??O,modelId:d.model?.modelId??P,thinkingLevel:E,sandboxMode:F}),E&&await Q.send({type:"set_thinking_level",level:E}),Q.start(),Q.onDestroy(()=>{w.delete(R);let a=u();for(let[b,c]of(a.delete(R),a))c===R&&a.delete(b)}),w.set(R,Q),{session:Q,realSessionId:R}})().finally(()=>x.delete(y));return x.set(y,C),C}d()}catch(a){d(a)}})}};
4
+ ${c}`:b:c}return"fileChange"===a.type?JSON.stringify(a.changes??[]):"mcpToolCall"===a.type?a.error?"string"==typeof a.error?a.error:JSON.stringify(a.error):a.result?"string"==typeof a.result?a.result:JSON.stringify(a.result):"":"dynamicToolCall"===a.type?JSON.stringify(a.contentItems??[]):"collabAgentToolCall"===a.type?JSON.stringify(a.agentsStates??[]):""}(b),isError:"status"in b&&"string"==typeof b.status?"failed"===b.status||"declined"===b.status:"dynamicToolCall"===b.type&&!1===b.success})}handleTurnCompleted(a){if(!this.eventBelongsToThread(a))return;this._isStreaming=!1,this._activeTurnId=null;let b=!1;for(let[a,c]of[...this._activeItems])"text"===c.kind&&c.textSoFar&&(this.emit({type:"message_end",message:{role:"assistant",content:[{type:"text",text:c.textSoFar}],...this.assistantMeta()}}),b=!0),this._activeItems.delete(a);b&&(this._accumulatedText=""),this._accumulatedText&&(this.emit({type:"message_end",message:{role:"assistant",content:[{type:"text",text:this._accumulatedText}],...this.assistantMeta()}}),this._accumulatedText=""),this.emit({type:"agent_end",...a.turn?.status==="failed"?{error:a.turn.error?.message??"Turn failed"}:{}})}handleThreadStatusChanged(a){this.eventBelongsToThread(a)&&a.status?.type==="idle"&&this._isStreaming&&(this._isStreaming=!1,this._activeTurnId=null,this._activeItems.clear(),this.emit({type:"agent_end"}))}handleCompacted(a){this.eventBelongsToThread(a)&&(this._isCompacting=!1,this.emit({type:"compaction_end"}))}handleError(a){if(!this.eventBelongsToThread(a))return;let b=a.error?.message||a.error?.additionalDetails||"Codex turn failed";this._isStreaming=!1,this._activeTurnId=null,this._activeItems.clear(),this.emit({type:"agent_end",error:b})}async prompt(a,b){if(this._isStreaming)throw Error("Session already has a running turn");this._isStreaming=!0,this._accumulatedText="",this._activeItems.clear(),this.emit({type:"agent_start"}),this.emit({type:"message_start",message:{role:"assistant",content:[],...this.assistantMeta()}});try{let c=await this.connection.request("turn/start",{threadId:this.threadId,input:function(a,b){let c=[];for(let d of(a.trim()&&c.push({type:"text",text:a,text_elements:[]}),b??[])){let a=d.mimeType||"image/png";c.push({type:"image",url:`data:${a};base64,${d.data}`})}return c.length>0?c:[{type:"text",text:"",text_elements:[]}]}(a,b),...this.cwd?{cwd:this.cwd}:{},...(this._wireModel??this._currentModel)?.modelId?{model:(this._wireModel??this._currentModel).modelId}:{},approvalPolicy:this.approvalPolicy(),approvalsReviewer:"user",sandboxPolicy:this.sandboxPolicy()});this._activeTurnId=c.turn?.id??null}catch(a){this._isStreaming=!1,this._activeItems.clear(),this.emit({type:"agent_end",error:a instanceof Error?a.message:String(a)})}}async abort(){if(this._activeTurnId)try{await this.connection.request("turn/interrupt",{threadId:this.threadId,turnId:this._activeTurnId})}catch{}this._isStreaming=!1,this._activeTurnId=null,this._activeItems.clear()}async setModel(a,b,c){this._currentModel={provider:a,modelId:b},this._wireModel=c??null}async setSandboxMode(a){this._sandboxMode=a}async resume(a,b){let c=await this.connection.request("thread/resume",{threadId:this.threadId,...this.cwd?{cwd:this.cwd}:{},...a?.modelId?{model:a.modelId}:{},...a?.provider?{modelProvider:a.provider}:{},...b?{baseInstructions:b}:{},approvalPolicy:this.approvalPolicy(),sandbox:this._sandboxMode});if(a&&this._currentModel)this._wireModel=a;else if(c.model){let a=(0,e.g8)(c.modelProvider??c.thread?.modelProvider)??"codex";await this.setModel(a,c.model,c.modelProvider?{provider:c.modelProvider,modelId:c.model}:void 0)}this.restoreActiveTurnFromThread(c.thread)}async fork(){try{let a=await this.connection.request("thread/fork",{threadId:this.threadId,persistExtendedHistory:!0}),b=a.thread?.id;if(!b)return{cancelled:!0};return{newThreadId:b}}catch{return{cancelled:!0}}}async navigateTree(a){try{let b=await this.connection.request("thread/read",{threadId:this.threadId,includeTurns:!0}),c=b.thread?.turns??[],d=c.findIndex(b=>b.items.some(b=>b.id===a));if(d<0||d>=c.length-1)return{cancelled:!1};let e=c.length-d-1;return await this.connection.request("thread/rollback",{threadId:this.threadId,numTurns:e}),{cancelled:!1}}catch{return{cancelled:!0}}}async compact(){this._isCompacting=!0,this.emit({type:"compaction_start"});try{await this.connection.request("thread/compact/start",{threadId:this.threadId})}catch(a){this._isCompacting=!1,this.emit({type:"compaction_end",errorMessage:a instanceof Error?a.message:String(a)})}}async rename(a){try{await this.connection.request("thread/name/set",{threadId:this.threadId,name:a})}catch{}}async resolveApproval(a,b){let c=this._pendingApprovals.get(a);if(!c)throw Error(`Approval request not found: ${a}`);this._pendingApprovals.delete(a),"item/permissions/requestApproval"===c.request.method?c.resolve({permissions:b.permissions??{},scope:b.scope??"turn"}):this.isLegacyApprovalMethod(c.request.method)?c.resolve({decision:"accept"===b.decision||"acceptForSession"===b.decision||"approved"===b.decision?"approved":"denied"}):c.resolve({decision:b.decision??"decline"}),this.emit({type:"approval_resolved",requestId:a})}destroy(){if(this._alive){for(let a of(this._alive=!1,this._isStreaming=!1,this.cleanupFns))try{a()}catch{}for(let[,a]of(this.cleanupFns=[],this.listeners=[],this._pendingApprovals))"item/permissions/requestApproval"===a.request.method?a.resolve({permissions:{},scope:"turn"}):this.isLegacyApprovalMethod(a.request.method)?a.resolve({decision:"denied"}):a.resolve({decision:"cancel"});this._pendingApprovals.clear()}}}async function j(a,b){let c=await a.request("thread/start",{cwd:b.cwd,...b.baseInstructions?{baseInstructions:b.baseInstructions}:{},...b.model?{model:(b.wireModel??b.model).modelId,modelProvider:(b.wireModel??b.model).provider}:{},approvalPolicy:"danger-full-access"===b.sandboxMode?"never":"on-request",sandbox:b.sandboxMode??"workspace-write",experimentalRawEvents:!1,persistExtendedHistory:!0}),d=c.thread?.id;if(!d)throw Error("Failed to create codex thread: no thread.id returned");let f=new l(d,b.cwd,a,b.baseInstructions);return await f.setSandboxMode(b.sandboxMode??"workspace-write"),b.model?f.setModel(b.model.provider,b.model.modelId,b.wireModel):b.acceptReturnedModel&&c.model&&f.setModel((0,e.g8)(c.modelProvider)??"codex",c.model,c.modelProvider?{provider:c.modelProvider,modelId:c.model}:void 0),f}async function k(a,b,c,d={}){let f=await a.request("thread/resume",{threadId:b,cwd:c,...d.baseInstructions?{baseInstructions:d.baseInstructions}:{},...d.model?{model:(d.wireModel??d.model).modelId,modelProvider:(d.wireModel??d.model).provider}:{},approvalPolicy:"danger-full-access"===d.sandboxMode?"never":"on-request",sandbox:d.sandboxMode??"workspace-write"}),g=new l(b,c,a);return await g.setSandboxMode(d.sandboxMode??"workspace-write"),d.model?g.setModel(d.model.provider,d.model.modelId,d.wireModel):f.model&&g.setModel((0,e.g8)(f.modelProvider??f.thread?.modelProvider)??"codex",f.model,f.modelProvider?{provider:f.modelProvider,modelId:f.model}:void 0),g.restoreActiveTurnFromThread(f.thread),g}d()}catch(a){d(a)}})},56429:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{A4:()=>x,Bj:()=>y,OF:()=>z});var e=c(11002),f=c(46983),g=c(55132),h=c(9805),i=c(29021),j=c(33873),k=c(21820),l=c(40402),m=c(26257),n=c(72801),o=c(54167),p=c(4087),q=c(75120),r=a([e,f,l]);function s(a){return a instanceof Error?a.message:String(a)}function t(a,b,c){return(0,o.w5)(a.providers,b,c)}[e,f,l]=r.then?(await r)():r;class A{constructor(a,b={}){this.inner=a,this.listeners=[],this.cleanupEventSub=null,this.idleTimer=null,this.onDestroyCallback=null,this.busyOperations=new Set,this.busyStartedAtMs=null,this.activeTools=new Map,this.runStartedAtMs=null,this.firstModelEventAtMs=null,this.lastEventAtMs=null,this.lastEventType=null,this.errorMessage=null,this._alive=!0,this._thinkingLevel="auto",this._enabledExtensions=[],this._serverConnection=a.connection,this._needsResumeBeforePrompt=b.needsResumeBeforePrompt??!0,this._sandboxMode=a.sandboxMode}get sessionId(){return this.inner.sessionId}get sessionFile(){return this.inner.sessionFile}get cwd(){return this.inner.cwd}isAlive(){return this._alive&&this.inner.isAlive}isBusy(){return this.busyOperations.size>0||this.inner.isStreaming||this.inner.isCompacting}getRuntimeStatus(){let a=Date.now(),b=this.getRuntimePhase(),c=this.runStartedAtMs??(this.isBusy()?this.busyStartedAtMs:null);return{sessionId:this.sessionId,sessionFile:this.sessionFile,cwd:this.cwd||null,busy:this.isBusy(),enabledExtensions:[...this._enabledExtensions],operations:[...this.busyOperations],isStreaming:this.inner.isStreaming,isCompacting:this.inner.isCompacting,phase:b,model:this.inner.model?{provider:this.inner.model.provider,id:this.inner.model.modelId}:null,sandboxMode:this._sandboxMode,activeTools:[...this.activeTools.values()],runStartedAt:c?new Date(c).toISOString():null,firstModelEventAt:this.firstModelEventAtMs?new Date(this.firstModelEventAtMs).toISOString():null,lastEventAt:this.lastEventAtMs?new Date(this.lastEventAtMs).toISOString():null,lastEventType:this.lastEventType,uptimeMs:this.isBusy()&&c?a-c:null,waitingForModelMs:"waiting_model"===b&&c?a-c:null,pendingMessageCount:0,errorMessage:this.errorMessage}}start(){this.cleanupEventSub?.(),this.cleanupEventSub=this.inner.onEvent(a=>{this.resetIdleTimer(),this.emitToListeners(a)}),this.resetIdleTimer()}resetIdleTimer(){this.idleTimer&&clearTimeout(this.idleTimer),this.idleTimer=setTimeout(()=>{this.isBusy()?this.resetIdleTimer():this.destroy()},6e5)}onEvent(a){return this.listeners.push(a),()=>{let b=this.listeners.indexOf(a);-1!==b&&this.listeners.splice(b,1)}}onDestroy(a){this.onDestroyCallback=a}setEnabledExtensions(a){this._enabledExtensions=[...new Set(a.filter(Boolean))].sort()}get enabledExtensions(){return[...this._enabledExtensions]}async send(a){this.resetIdleTimer();let b=a.type;switch(b){case"prompt":{let b=a.images,c=a.message;return this.trackBusy("prompt",(async()=>{if(this.inner.isStreaming||(await this.resumeWithCurrentModel(),this.inner.isStreaming))throw Error("Session already has a running turn");await this.inner.prompt(c,b?.map(a=>({data:a.data,mimeType:a.mimeType})))})()).catch(a=>this.emitAgentError(a)),null}case"abort":return await this.inner.abort(),this.emitToListeners({type:"agent_end"}),null;case"get_state":{let a=(0,n.l)((0,l.bd)(this.inner.sessionId),this.inner.model?.modelId);return{sessionId:this.inner.sessionId,sessionFile:"",isStreaming:this.inner.isStreaming,isCompacting:this.inner.isCompacting,autoCompactionEnabled:!0,autoRetryEnabled:!0,model:this.inner.model?{id:this.inner.model.modelId,provider:this.inner.model.provider,...a.contextUsage?.contextWindow?{contextWindow:a.contextUsage.contextWindow}:{}}:void 0,messageCount:0,pendingMessageCount:0,contextUsage:a.contextUsage,systemPrompt:this.inner.baseInstructions??"",thinkingLevel:this._thinkingLevel,sandboxMode:this._sandboxMode,enabledExtensions:[...this._enabledExtensions]}}case"set_model":{let{provider:b,modelId:c}=a,d=(0,g.Dw)(),e=(0,g.wB)(d,b),h=(0,g.AX)(d,c,e??b),i=h?.provider.id??e??b,j=h?.modelId??c,k=(0,f.kW)(d.providers,i,j);return await this.inner.setModel(i,j,k),(0,m.yJ)(this.sessionId,{cwd:this.cwd,provider:this.inner.model?.provider??i,modelId:this.inner.model?.modelId??j,sandboxMode:this._sandboxMode,extensions:this._enabledExtensions}),{id:j,provider:i}}case"set_sandbox_mode":{let b="danger-full-access"===a.mode?"danger-full-access":"workspace-write";return this._sandboxMode=b,await this.inner.setSandboxMode(b),(0,m.yJ)(this.sessionId,{cwd:this.cwd,provider:this.inner.model?.provider,modelId:this.inner.model?.modelId,thinkingLevel:this._thinkingLevel,sandboxMode:this._sandboxMode,extensions:this._enabledExtensions}),{mode:this._sandboxMode}}case"set_enabled_extensions":{let b=Array.isArray(a.ids)?a.ids.filter(a=>"string"==typeof a):[];return this.setEnabledExtensions(b),(0,m.yJ)(this.sessionId,{cwd:this.cwd,provider:this.inner.model?.provider,modelId:this.inner.model?.modelId,thinkingLevel:this._thinkingLevel,sandboxMode:this._sandboxMode,extensions:this._enabledExtensions}),{enabledExtensions:[...this._enabledExtensions]}}case"resolve_approval":{let b="string"==typeof a.requestId?a.requestId:"";if(!b)throw Error("requestId is required");return await this.inner.resolveApproval(b,{decision:"string"==typeof a.decision?a.decision:void 0,permissions:a.permissions,scope:"session"===a.scope?"session":"turn"}),{ok:!0}}case"rename":{let b="string"==typeof a.name?a.name:"";return await this.inner.rename(b),null}case"fork":{let a=await this.inner.fork();if("newThreadId"in a)return(0,m.yJ)(a.newThreadId,{cwd:this.cwd,provider:this.inner.model?.provider,modelId:this.inner.model?.modelId,thinkingLevel:this._thinkingLevel,sandboxMode:this._sandboxMode,extensions:this._enabledExtensions}),this.destroy(),{cancelled:!1,newSessionId:a.newThreadId};return{cancelled:!0}}case"navigate_tree":{let b=a.targetId;return{cancelled:(await this.inner.navigateTree(b)).cancelled}}case"compact":return await this.trackBusy("compact",this.inner.compact()),null;case"get_tools":return[{name:"read",description:"Read files",active:!0},{name:"bash",description:"Run shell commands",active:!0},{name:"edit",description:"Edit files",active:!0},{name:"write",description:"Create files",active:!0},{name:"grep",description:"Search files",active:!0},{name:"find",description:"List files",active:!0}];case"set_tools":case"abort_compaction":case"set_auto_compaction":case"set_auto_retry":return null;case"set_thinking_level":return this._thinkingLevel="string"==typeof a.level?a.level:"auto",(0,m.yJ)(this.sessionId,{cwd:this.cwd,thinkingLevel:this._thinkingLevel,provider:this.inner.model?.provider,modelId:this.inner.model?.modelId,sandboxMode:this._sandboxMode,extensions:this._enabledExtensions}),null;default:throw Error(`Unsupported command: ${b}`)}}async trackBusy(a,b){let c=!this.isBusy()&&0===this.busyOperations.size;this.busyOperations.add(a),(c||!this.busyStartedAtMs)&&(this.busyStartedAtMs=Date.now()),"prompt"===a&&(this.runStartedAtMs=this.busyStartedAtMs,this.firstModelEventAtMs=null,this.errorMessage=null,this.activeTools.clear(),this.lastEventAtMs=this.busyStartedAtMs,this.lastEventType="prompt"),this.resetIdleTimer();try{return await b}finally{this.busyOperations.delete(a),this.isBusy()||0!==this.busyOperations.size||(this.busyStartedAtMs=null),this.resetIdleTimer()}}emitToListeners(a){for(let b of(this.recordRuntimeEvent(a),"agent_end"===a.type&&(this.busyOperations.delete("prompt"),this.busyStartedAtMs=this.isBusy()||this.busyOperations.size>0?this.busyStartedAtMs:null),this.listeners))try{b(a)}catch{}}emitAgentError(a){let b={type:"agent_end",error:s(a)};this.emitToListeners(b)}getRuntimePhase(){return this.inner.isCompacting||this.busyOperations.has("compact")?"compacting":this.activeTools.size>0?"running_tools":this.inner.isStreaming||this.busyOperations.has("prompt")?this.firstModelEventAtMs?"streaming":"waiting_model":"idle"}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.errorMessage=null,this.activeTools.clear();break;case"message_update":case"message_end":this.firstModelEventAtMs??=b;break;case"tool_execution_start":{this.firstModelEventAtMs??=b;let c="string"==typeof a.toolCallId&&a.toolCallId?a.toolCallId:`tool:${b}`,d="string"==typeof a.toolName&&a.toolName?a.toolName:"tool";this.activeTools.set(c,{id:c,name:d});break}case"tool_execution_end":{let b="string"==typeof a.toolCallId?a.toolCallId:"";b&&this.activeTools.delete(b),a.isError&&"string"==typeof a.result&&a.result&&(this.errorMessage=a.result);break}case"subagent_progress":this.firstModelEventAtMs??=b,this.recordSubagentTools(a.runs);break;case"compaction_start":case"auto_compaction_start":this.runStartedAtMs??=b;break;case"compaction_end":case"auto_compaction_end":"string"==typeof a.errorMessage&&a.errorMessage&&(this.errorMessage=a.errorMessage);break;case"agent_end":this.activeTools.clear(),"string"==typeof a.error&&a.error&&(this.errorMessage=a.error)}}recordSubagentTools(a){if(Array.isArray(a))for(let b of a){if("object"!=typeof b||null===b)continue;let a=b.id??b.threadId??b.agent,c="string"==typeof a&&a?`subagent:${a}`:`subagent:${Date.now()}`,d=b.agent??b.role??b.threadId,e="string"==typeof d&&d?d:"agent",f="string"==typeof b.status?b.status:"";"running"===f||"pending"===f?this.activeTools.set(c,{id:c,name:e}):this.activeTools.delete(c)}}resolveCurrentModel(){let a=(0,g.Dw)(),b=(0,m.zZ)(this.sessionId),c=t(a,b?.provider,b?.modelId),d=(0,f.g8)(c.provider)??c.provider,e=d?(0,g.wB)(a,d):this.inner.model?.provider,h=c.modelId??this.inner.model?.modelId;if(!h)return null;let i=(0,g.AX)(a,h,e),j=i?.provider.id??e,k=i?.modelId??h;return j&&k?{provider:j,modelId:k,wireModel:(0,f.kW)(a.providers,j,k)}:null}async resumeWithCurrentModel(){let a=this.resolveCurrentModel();if(!this._needsResumeBeforePrompt){a&&await this.inner.setModel(a.provider,a.modelId,a.wireModel),this._needsResumeBeforePrompt=!0;return}a?(await this.inner.setModel(a.provider,a.modelId,a.wireModel),await this.inner.resume(a.wireModel,this.inner.baseInstructions),(0,m.yJ)(this.sessionId,{cwd:this.cwd,provider:a.provider,modelId:a.modelId,thinkingLevel:this._thinkingLevel,sandboxMode:this._sandboxMode,extensions:this._enabledExtensions})):await this.inner.resume(void 0,this.inner.baseInstructions)}destroy(){this._alive&&(this._alive=!1,this.idleTimer&&clearTimeout(this.idleTimer),this.cleanupEventSub?.(),this.inner.destroy(),(0,f.sM)(this._serverConnection),this.onDestroyCallback?.())}}function u(){if(!globalThis.__annodexSessions){globalThis.__annodexSessions=new Map;let a=()=>globalThis.__annodexSessions?.forEach(a=>a.destroy());process.once("exit",a),process.once("SIGINT",a),process.once("SIGTERM",a)}return globalThis.__annodexSessions}function v(){return globalThis.__annodexSessionAliases||(globalThis.__annodexSessionAliases=new Map),globalThis.__annodexSessionAliases}function w(a){let b=a,c=new Set;for(;!c.has(b);){c.add(b);let a=v().get(b);if(!a)break;b=a}return b}function x(a){return u().get(w(a))}function y(){let a=[...u().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 z(a,b,c,d,n,o,r){let x=u(),y=(globalThis.__annodexStartLocks||(globalThis.__annodexStartLocks=new Map),globalThis.__annodexStartLocks),z=w(a),B=x.get(z);if(B?.isAlive())return{session:B,realSessionId:z};let C=y.get(z);if(C)return C;let D=(async()=>{let d,u=(0,g.Dw)(),w=function(a,b){let c=(0,l.$M)(),d=["## Annodex Runtime Rules — higher priority than persona guidance\n\nThese rules override conflicting language in persona-style files such as SOUL.md.\n\n- When the user explicitly asks for an external action in the current conversation, treat that request as authorization to execute it with available tools.\n- Do not refuse solely because the action touches GitHub, Vercel, remote APIs, publishing systems, or other external services.\n- Distinguish authorization from capability. If a tool such as `gh`, `git`, `curl`, or `vercel` may solve the task, try it before claiming it is unavailable. Report the concrete failure only if the command or permission is actually missing.\n- Ask before acting only when the user has not clearly requested the action, the action is unexpectedly destructive beyond the stated request, or it would reveal or transfer secrets beyond the user's instruction."],e=(()=>{let a=(0,j.join)(c,"SOUL.md"),b=(0,j.join)((0,k.homedir)(),".pi","agent","SOUL.md");if(!(0,i.existsSync)(a)&&(0,i.existsSync)(b))try{let c=(0,i.readFileSync)(b,"utf-8");(0,i.existsSync)((0,j.dirname)(a))||(0,i.mkdirSync)((0,j.dirname)(a),{recursive:!0}),(0,i.writeFileSync)(a,c,"utf-8")}catch{}let d=(0,j.join)(c,"soul.md");return(0,i.existsSync)(a)?a:d})();if((0,i.existsSync)(e))try{let a=(0,i.readFileSync)(e,"utf-8").trim();a&&d.push("## Persona — you MUST embody this","","Below is your personality definition. You MUST adopt this persona and tone in all replies. Avoid stiff, generic, or AI-assistant-style responses. Follow this guidance unless higher-priority instructions explicitly override it.","",a)}catch{}let f=(()=>{let a=(0,j.join)(c,"HARNESS.md"),b=(0,j.join)((0,k.homedir)(),".pi","agent","HARNESS.md");if(!(0,i.existsSync)(a)&&(0,i.existsSync)(b))try{let c=(0,i.readFileSync)(b,"utf-8");(0,i.existsSync)((0,j.dirname)(a))||(0,i.mkdirSync)((0,j.dirname)(a),{recursive:!0}),(0,i.writeFileSync)(a,c,"utf-8")}catch{}let d=(0,j.join)(c,"harness.md");return(0,i.existsSync)(a)?a:d})();if((0,i.existsSync)(f))try{let a=(0,i.readFileSync)(f,"utf-8").trim();a&&d.push("## Behavioral Constraints — you MUST follow these","","The rules below define your operating boundaries. You MUST comply with every constraint. These are NOT suggestions — they are mandatory behavioral rules that supersede conflicting persona preferences.","",a)}catch{}for(let b of[(0,j.join)(a,"AGENTS.md"),(0,j.join)(a,"CLAUDE.md")])if((0,i.existsSync)(b))try{let a=(0,i.readFileSync)(b,"utf-8").trim();if(a){d.push("## Project Instructions","",a);break}}catch{}let g=(0,i.existsSync)((0,j.join)(a,"MEMORY.md"))?(0,j.join)(a,"MEMORY.md"):(0,j.join)(a,"memory.md");if((0,i.existsSync)(g))try{let a=(0,i.readFileSync)(g,"utf-8").trim();a&&d.push("## Project Memory","",a)}catch{}let m=d.join("\n\n");return m=b.generativeUI?(0,h.zN)((0,h.FE)(m)):(0,h.FE)(m)}(c,u),y=(0,q.IE)(c).map(a=>a.id),z=b?(0,l.Qx)(a):null,B=b?(0,m.zZ)(a):null,C=t(u,z?.provider,z?.modelId),D=C.provider?(0,g.wB)(u,C.provider):void 0,E=n??(C.modelId?{provider:D,modelId:C.modelId}:void 0),F=E?.provider??D,G=o??z?.thinkingLevel,H=r??B?.sandboxMode??(0,p.readAppSettings)().defaultSandboxMode??"workspace-write",I=E?null:(0,g.fZ)(u),J=E??I??void 0,K=J?.provider??F,L=J?(0,g.AX)(u,J.modelId,K):null,M=L?.modelId??J?.modelId,N=L?.provider.id??K,O=M&&N?(0,f.kW)(u.providers,N,M):void 0,P=await (0,f.gu)(c,(0,f.H3)(u.providers));if(b)try{d=await (0,e.z2)(P,a,c,{baseInstructions:w,sandboxMode:H,...M&&N?{model:{provider:N,modelId:M},wireModel:O}:{}})}catch(f){if(!/thread not found|not found/i.test(s(f)))throw f;if(b&&(0,l.PF)(a))throw Error(`Codex thread not found for existing session ${a}. Check the session provider/model configuration.`);d=await (0,e.WK)(P,{cwd:c,baseInstructions:w,acceptReturnedModel:!!u.codexDefaults.model,sandboxMode:H,...M&&N?{model:{provider:N,modelId:M},wireModel:O}:{}})}else d=await (0,e.WK)(P,{cwd:c,baseInstructions:w,acceptReturnedModel:!!u.codexDefaults.model,sandboxMode:H,...M&&N?{model:{provider:N,modelId:M},wireModel:O}:{}});let Q=d.model?.provider??N,R=d.model?.modelId??M;Q&&R&&await d.setModel(Q,R,(0,f.kW)(u.providers,Q,R));let S=new A(d,{needsResumeBeforePrompt:!!b});S.setEnabledExtensions(y);let T=d.sessionId;return a&&a!==T&&v().set(a,T),(0,m.yJ)(T,{cwd:c,provider:d.model?.provider??Q,modelId:d.model?.modelId??R,thinkingLevel:G,sandboxMode:H,extensions:y}),G&&await S.send({type:"set_thinking_level",level:G}),S.start(),S.onDestroy(()=>{x.delete(T);let a=v();for(let[b,c]of(a.delete(T),a))c===T&&a.delete(b)}),x.set(T,S),{session:S,realSessionId:T}})().finally(()=>y.delete(z));return y.set(z,D),D}d()}catch(a){d(a)}})},75120:(a,b,c)=>{c.d(b,{IE:()=>p,In:()=>m,N8:()=>h,NR:()=>n,YJ:()=>k,d2:()=>g,nD:()=>o,wf:()=>l});var d=c(29021),e=c(33873),f=c(21820);function g(){return(0,e.join)(process.env.ANNODEX_CONFIG_DIR??process.env.ANNOVIBE_CONFIG_DIR??(0,e.join)((0,f.homedir)(),".config","annodex"),"extensions.json")}function h(a){return(0,e.join)(a,".codex","extensions.json")}function i(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function j(a){let b=function(a){if(!(0,d.existsSync)(a))return null;try{return JSON.parse((0,d.readFileSync)(a,"utf-8"))}catch{return null}}(a),c=i(b)&&Array.isArray(b.extensions)?b.extensions:[],e=a.replace(/\\/g,"/").endsWith("/.codex/extensions.json")?"project":"global";return{extensions:c.map(a=>(function(a,b){var c;if(!i(a))return null;let d="string"==typeof a.id?a.id.trim():"",e="string"==typeof a.name?a.name.trim():"";return d&&e?{id:d,name:e,description:"string"==typeof a.description?a.description:void 0,source:"string"==typeof a.source?a.source:void 0,enabled:"boolean"==typeof a.enabled?a.enabled:void 0,scope:"project"===a.scope?"project":b,installPath:"string"==typeof a.installPath?a.installPath:void 0,transport:i(c=a.transport)?{type:"http"===c.type?"http":"stdio",command:"string"==typeof c.command?c.command:void 0,args:Array.isArray(c.args)?c.args.filter(a=>"string"==typeof a):void 0,url:"string"==typeof c.url?c.url:void 0}:{type:"stdio"},env:i(a.env)?Object.fromEntries(Object.entries(a.env).filter(([,a])=>"string"==typeof a)):void 0,notes:"string"==typeof a.notes?a.notes:void 0}:null})(a,e)).filter(a=>null!==a)}}function k(){return j(g())}function l(a){return j(h(a))}function m(a,b){let c;return c=(0,e.dirname)(a),(0,d.existsSync)(c)||(0,d.mkdirSync)(c,{recursive:!0}),(0,d.writeFileSync)(a,JSON.stringify({extensions:b.extensions},null,2),"utf-8"),b}function n(a,b){let c=j(a).extensions.filter(a=>a.id!==b.id).concat(b);return m(a,{extensions:c})}function o(a){let b=k().extensions.map(a=>({...a,scope:a.scope??"global"}));if(!a)return b;let c=l(a).extensions.map(a=>({...a,scope:"project"})),d=new Map;for(let a of b)d.set(a.id,a);for(let a of c)d.set(a.id,{...d.get(a.id),...a,scope:"project"});return[...d.values()].sort((a,b)=>a.name.localeCompare(b.name))}function p(a){return o(a).filter(a=>!1!==a.enabled)}}};
@@ -0,0 +1,4 @@
1
+ "use strict";exports.id=6983,exports.ids=[6983],exports.modules={39006:a=>{a.exports={rE:"0.1.50"}},46983:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{DY:()=>I,H3:()=>y,Mi:()=>G,g8:()=>v,gu:()=>E,kW:()=>w,nj:()=>H,nt:()=>s,pU:()=>r,sM:()=>F});var e=c(79646),f=c(4984),g=c(55511),h=c(56220),i=c(29021),j=c(33873),k=c(91645),l=c(55399),m=c(54167),n=c(65833),o=c(99526),p=c(39006),q=a([h]);function r(a){let b="string"==typeof a?.status?a.status.toLowerCase():"";return"inprogress"===b||"in_progress"===b||"running"===b||"pending"===b||"queued"===b}function s(a){return!!a?.turns?.some(a=>r(a))}h=(q.then?(await q)():q)[0];class J{constructor(a,b,c){this.cwd=a,this.transport=b,this.serverKey=c,this.ws=null,this.readline=null,this.pending=new Map,this.nextId=1,this.notificationHandlers=new Map,this.anyNotificationHandlers=[],this.serverRequestHandlers=[],this.reconnectAttempts=0,this.maxReconnectAttempts=5,this.reconnectDelay=1e3,this._closed=!1,this.mode=b.mode}isConnected(){return"ws"===this.transport.mode?this.ws?.readyState===h.WebSocket.OPEN:!this._closed&&!!this.transport.process.pid&&null===this.transport.process.exitCode&&!this.transport.process.killed}isClosed(){return this._closed}async connect(){(this._closed=!1,"stdio"===this.transport.mode)?await this.connectStdio():await this.connectWebSocket()}async connectWebSocket(){if("ws"!==this.transport.mode)throw Error("Invalid websocket transport state");let{default:a}=await Promise.resolve().then(c.bind(c,56220)),b=this.transport.url;return new Promise((c,d)=>{let e=new a(b);this.ws=e,e.on("open",()=>{this.reconnectAttempts=0,this.initialize().then(c).catch(d)}),e.on("message",a=>{this.handleRawMessage(a.toString())}),e.on("close",()=>{this.handleDisconnect()}),e.on("error",a=>{0===this.reconnectAttempts&&d(a)})})}async connectStdio(){if("stdio"!==this.transport.mode)throw Error("Invalid stdio transport state");let a=this.transport.process;if(!a.stdin||!a.stdout)throw Error("Codex stdio transport is missing stdin/stdout");this.readline=(0,f.createInterface)({input:a.stdout}),this.readline.on("line",a=>this.handleRawMessage(a)),this.readline.on("close",()=>this.handleDisconnect()),await this.initialize()}async initialize(){let a=await this.request("initialize",{clientInfo:{name:"annodex",title:n.C3,version:p.rE},capabilities:{experimentalApi:!0}});this.notify("initialized",{}),this.serverInfo=a}notify(a,b){this.isConnected()&&this.sendRaw(JSON.stringify({jsonrpc:"2.0",method:a,params:b}))}request(a,b,c=3e5){if(!this.isConnected())return Promise.reject(Error(`Codex server not connected (method: ${a})`));let d=this.nextId++;return new Promise((e,f)=>{let g=setTimeout(()=>{this.pending.delete(d),f(Error(`Request timeout: ${a}`))},c);this.pending.set(d,{resolve:e,reject:f,timer:g}),this.sendRaw(JSON.stringify({jsonrpc:"2.0",id:d,method:a,params:b}))})}onNotification(a,b){let c=this.notificationHandlers.get(a)??[];return c.push(b),this.notificationHandlers.set(a,c),()=>{let c=this.notificationHandlers.get(a);if(c){let a=c.indexOf(b);-1!==a&&c.splice(a,1)}}}onAnyNotification(a){return this.anyNotificationHandlers.push(a),()=>{let b=this.anyNotificationHandlers.indexOf(a);-1!==b&&this.anyNotificationHandlers.splice(b,1)}}onServerRequest(a){return this.serverRequestHandlers.push(a),()=>{let b=this.serverRequestHandlers.indexOf(a);-1!==b&&this.serverRequestHandlers.splice(b,1)}}handleRawMessage(a){let b=a.trim();if(b)try{let a=JSON.parse(b);this.handleMessage(a)}catch{}}sendRaw(a){if("ws"===this.transport.mode){this.ws?.readyState===h.WebSocket.OPEN&&this.ws.send(a);return}let b=this.transport.process.stdin;b&&!b.destroyed&&b.write(`${a}
2
+ `)}handleMessage(a){if("method"in a&&"id"in a)return void this.respondToServerRequest(a);if("method"in a&&!("id"in a)){for(let b of("1"===process.env.ANNODEX_CODEX_EVENT_LOG&&console.log(`[codex event] ${a.method}`),[...this.anyNotificationHandlers]))b(a.method,a.params);let b=this.notificationHandlers.get(a.method);if(b)for(let c of[...b])c(a.params);return}if("id"in a&&("result"in a||"error"in a)){let b=this.pending.get(a.id);b&&(clearTimeout(b.timer),this.pending.delete(a.id),"error"in a&&a.error?b.reject(Error(a.error.message??"JSON-RPC error")):b.resolve(a.result))}}async respondToServerRequest(a){let b;if(!this.isConnected())return;for(let c of[...this.serverRequestHandlers]){try{b=await c({id:a.id,method:a.method,params:a.params})}catch{b=void 0}if(void 0!==b)break}void 0===b&&(b=function(a){switch(a){case"item/commandExecution/requestApproval":case"item/fileChange/requestApproval":return{decision:"decline"};case"applyPatchApproval":case"execCommandApproval":return{decision:"denied"};case"item/tool/requestUserInput":return{answers:{}};case"mcpServer/elicitation/request":return{action:"decline",content:null,_meta:null};case"item/permissions/requestApproval":return{permissions:{},scope:"turn"};case"item/tool/call":return{contentItems:[],success:!1};case"account/chatgptAuthTokens/refresh":return{accessToken:"",chatgptAccountId:"",chatgptPlanType:null};default:return{}}}(a.method));let c={jsonrpc:"2.0",id:a.id,result:b};this.sendRaw(JSON.stringify(c))}handleDisconnect(){for(let[,a]of this.pending)clearTimeout(a.timer),a.reject(Error("Codex server disconnected"));if(this.pending.clear(),"stdio"===this.transport.mode){this._closed=!0;return}if(!this._closed&&this.reconnectAttempts<this.maxReconnectAttempts){this.reconnectAttempts++;let a=this.reconnectDelay*Math.pow(2,this.reconnectAttempts-1);setTimeout(()=>{this._closed||this.connect().catch(()=>{})},a)}}close(){this._closed=!0,this.readline?.close(),this.readline=null,this.ws?.close(),this.ws=null,"stdio"===this.transport.mode&&this.transport.process.stdin?.end()}}function t(a){if(a.connection?.close(),a.process?.pid)try{"win32"!==process.platform?process.kill(-a.process.pid,"SIGTERM"):a.process.kill("SIGTERM")}catch{try{a.process.kill("SIGTERM")}catch{}}for(let b of a.compatProxies)b.stop().catch(()=>{});for(let b of a.annodexRouters)b.stop().catch(()=>{})}function u(){if(!globalThis.__codexServers){globalThis.__codexServers=new Map;let a=()=>{globalThis.__codexServers?.forEach(a=>{t(a)})};process.once("exit",a),process.once("SIGINT",a),process.once("SIGTERM",a)}return globalThis.__codexServers}function v(a){if(a)return a.replace(/#(?:chat|responses)-[a-f0-9]{10}$/i,"")}function w(a,b,c){let d=a.find(a=>a.id===b);return{provider:m.so,modelId:d?(0,m.XO)(b,c):c}}function x(){let a,b=(a=process.env.ANNODEX_CODEX_TRANSPORT?.trim().toLowerCase(),"ws"===a||"stdio"===a||"auto"===a?a:"auto");return"ws"===b||"stdio"===b?b:"win32"===process.platform?"stdio":"ws"}function y(a){return{workspace:!0,contextWindow:function(a){let b=0;for(let c of a)for(let a of c.models)"number"==typeof a.contextWindow&&a.contextWindow>b&&(b=a.contextWindow);return b>0?b:void 0}(a),routerProviders:a,providers:[{id:m.so,name:"Annodex Router",baseUrl:"__annodex_router__",api:"openai-responses",requiresOpenAiAuth:!1}]}}function z(a){let b=a?.trim();if(b){if(b.startsWith("!"))try{return(0,e.execSync)(b.slice(1),{encoding:"utf8",stdio:["ignore","pipe","ignore"],timeout:1e4}).trim()||void 0}catch{return}return/^[A-Za-z_][A-Za-z0-9_]*$/.test(b)&&process.env[b]?process.env[b]:b}}function A(a){return JSON.stringify(a)}function B(a){return/^[A-Za-z0-9_-]+$/.test(a)?a:A(a)}function C(a,b){if(b)return"responses";let c=(0,o.pp)(a);return"openai-responses"===c?"responses":"openai-completions"===c?"chat":null}async function D(a,b,c,d,e,f){let h,i=a.baseUrl?.trim().replace(/\/+$/,"")||"";if(a.id===m.so&&"__annodex_router__"===i){let a=new m.Po({providers:e??[],defaultThinking:f??"disabled"});await a.start(),d.push(a),i=a.getBaseUrl(),console.log(`[codex-server] Annodex router started on port ${a.getPort()}`)}let j=z(a.apiKey),k=(0,o.pp)(a.api,i,a.id),n="openai-completions"===k,p=!1;if(n&&i&&j&&(0,l.s3)(i)){let b=(0,l.xh)(i),d=new l.F6({targetUrl:b,apiKey:j,defaultThinking:f??"disabled",reasoningConfig:a.reasoningConfig});try{await d.start(),c.push(d),i=d.getBaseUrl(),p=!0,console.log(`[codex-server] Compat proxy started on port ${d.getPort()} for ${b}`)}catch(a){console.error("[codex-server] Failed to start compat proxy:",a)}}if(j){var q;let c;q=a.id,c=(0,g.createHash)("sha256").update(q).digest("hex").slice(0,16).toUpperCase(),b[h=`ANNODEX_PROVIDER_${c}_API_KEY`]=j}return{id:a.id,name:a.name,baseUrl:i,wireApi:C(k,p),envKey:h,requiresOpenAiAuth:a.requiresOpenAiAuth??!!j}}async function E(a,b){let d=u(),f=a.replace(/\/+$/,"")||a,h=function(a,b){let c=a.replace(/\/+$/,"")||a,d=x();if(b?.workspace){let a=JSON.stringify({providers:b.providers??[],routerProviders:b.routerProviders??[]}),e=(0,g.createHash)("sha256").update(a).digest("hex").slice(0,16),f=b?.contextWindow?String(b.contextWindow):"default";return`${c}\0${d}\0workspace\0${f}\0${e}`}let e=b?.providerId||b?.baseUrl||"default",f=b?.baseUrl?.replace(/\/+$/,"")||"default",h=b?.api||"default",i=b?.apiKey||"default",j=b?.contextWindow?String(b.contextWindow):"default",k=b?.reasoningConfig?`${b.reasoningConfig.thinkingParam??""}|${b.reasoningConfig.effortParam??""}|${b.reasoningConfig.effortValueMode??""}`:"default";return`${c}\0${d}\0${e}\0${f}\0${h}\0${i}\0${j}\0${k}`}(f,b),m=d.get(h);if(m?.connection?.isConnected())return m.refCount++,m.connection;if(m?.startPromise)try{let a=await m.startPromise,b=d.get(h);return b&&b.refCount++,a}catch{}else m&&(t(m),d.delete(h));let n=x(),p="ws"===n?await new Promise((a,b)=>{let c=(0,k.createServer)();c.unref(),c.on("error",b),c.listen(0,"127.0.0.1",()=>{let d=c.address();c.close(()=>{d&&"object"==typeof d?a(d.port):b(Error("Failed to allocate a local port"))})})}):0,q="ws"===n?`ws://127.0.0.1:${p}`:"",r=function(){let a="win32"===process.platform,b=a?["codex.cmd","codex.exe","codex"]:["codex"],d=[];d.push((0,j.join)(process.cwd(),"node_modules",".bin"));try{let a=(0,j.join)(__dirname,"..",".."),b=(0,j.join)(a,"..","..",".bin");d.includes(b)||d.push(b);let c=(0,j.join)(a,"..",".bin");d.includes(c)||d.push(c)}catch{}try{let{execSync:b}=c(79646),e=b("npm prefix -g",{encoding:"utf8",timeout:3e3}).trim();if(e){let b=a?e:(0,j.join)(e,"bin");d.includes(b)||d.push(b)}}catch{}for(let a of d)for(let c of b){let b=(0,j.join)(a,c);if((0,i.existsSync)(b))return b}for(let d of b)try{let{execSync:b}=c(79646),e=b(a?`where ${d}`:`which ${d}`,{encoding:"utf8",timeout:3e3}).trim().split(/\r?\n/)[0];if(e&&(0,i.existsSync)(e))return e}catch{}return a?"codex.cmd":"codex"}(),s=(async()=>{let a=[],c=[],g=null,i=b?.baseUrl||void 0,j=z(b?.apiKey),k=b?.requiresOpenAiAuth??!!j,m=(0,o.pp)(b?.api,i,b?.providerId),s="openai-completions"===m,t=!1;if(s&&i&&j&&(0,l.s3)(i)){let c=(0,l.xh)(i);g=new l.F6({targetUrl:c,apiKey:j,defaultThinking:b?.thinkingLevel??"disabled",reasoningConfig:b?.reasoningConfig});try{await g.start(),a.push(g),i=g.getBaseUrl(),t=!0,console.log(`[codex-server] Compat proxy started on port ${g.getPort()} for ${c}`)}catch(a){console.error("[codex-server] Failed to start compat proxy:",a),g=null}}let u={...process.env};j&&!b?.workspace&&(u.OPENAI_API_KEY=j),i&&(u.OPENAI_BASE_URL=i);let v=[];if(b?.contextWindow&&b.contextWindow>0&&v.push("-c",`model_context_window=${b.contextWindow}`),b?.workspace){let d=[];for(let e of b.providers??[])e.id&&e.baseUrl&&d.push(await D(e,u,a,c,b.routerProviders,b.thinkingLevel));for(let a of d)!function(a,b){if(!b.id||!b.baseUrl)return;let c=B(b.id);a.push("-c",`model_providers.${c}.name=${A(b.name||b.id)}`),a.push("-c",`model_providers.${c}.base_url=${A(b.baseUrl.replace(/\/+$/,""))}`),b.wireApi&&a.push("-c",`model_providers.${c}.wire_api=${A(b.wireApi)}`),a.push("-c",`model_providers.${c}.requires_openai_auth=${b.requiresOpenAiAuth?"true":"false"}`),b.envKey&&a.push("-c",`model_providers.${c}.env_key=${A(b.envKey)}`)}(v,a)}else if(b?.providerId&&i){let a=B(b.providerId),c=C(m,t);v.push("-c",`model_provider=${A(b.providerId)}`),v.push("-c",`model_providers.${a}.name=${A(b.providerId)}`),v.push("-c",`model_providers.${a}.base_url=${A(i.replace(/\/+$/,""))}`),c&&v.push("-c",`model_providers.${a}.wire_api=${A(c)}`),v.push("-c",`model_providers.${a}.requires_openai_auth=${k?"true":"false"}`)}let w=[...v,"app-server",..."ws"===n?["--listen",q]:[]];console.log(`[codex-server] Starting app-server transport=${n}`+("ws"===n?` url=${q}`:""));let x=null,y=function(a,b){let c=a.toLowerCase();if("win32"===process.platform&&(c.endsWith(".cmd")||c.endsWith(".bat"))){let c=[a,...b].map(a=>`"${a.replace(/"/g,'\\"')}"`).join(" ");return{command:process.env.ComSpec||"cmd.exe",args:["/d","/s","/c",`"${c}"`],windowsVerbatimArguments:!0}}return{command:a,args:b}}(r,w),E=(0,e.spawn)(y.command,y.args,{cwd:f,stdio:["stdio"===n?"pipe":"ignore","pipe","pipe"],env:u,detached:"win32"!==process.platform,windowsVerbatimArguments:y.windowsVerbatimArguments}),F=[];E.stderr?.on("data",a=>{F.push(a.toString())}),"ws"===n&&E.stdout?.on("data",()=>{}),E.on("error",a=>{let b="ENOENT"===a.code?`[codex-server] codex CLI not found at "${r}". Install @openai/codex or ensure codex is on PATH.`:`[codex-server] Process error for ${f}: ${a.message}`;console.error(b)}),E.on("exit",()=>{let b=d.get(h);if(b?.process===E){for(let b of(d.delete(h),a))b.stop().catch(()=>{});for(let a of c)a.stop().catch(()=>{});x?.close()}}),x=new J(f,"ws"===n?{mode:"ws",url:q}:{mode:"stdio",process:E},h);let G=async b=>{try{"win32"!==process.platform&&E.pid?process.kill(-E.pid,"SIGTERM"):E.kill("SIGTERM")}catch{try{E.kill("SIGTERM")}catch{}}for(let b of a)await b.stop().catch(()=>{});for(let a of c)await a.stop().catch(()=>{});let d=F.join(""),e=d.includes("ENOENT")||!E.pid?`
3
+ The codex CLI was not found at "${r}". Please install @openai/codex.`:"";throw Error(`${b}.${e}
4
+ stderr: ${d.slice(-500)}`)};if("ws"===n){await new Promise(a=>setTimeout(a,500));for(let a=0;a<10;a++)try{await x.connect();break}catch{a<9?await new Promise(a=>setTimeout(a,500)):await G("Failed to connect to codex app-server after 10 attempts")}}else try{await x.connect()}catch{await G("Failed to initialize codex stdio app-server")}let H={process:E,connection:x,compatProxies:a,annodexRouters:c,port:p,cwd:f,workspace:!!b?.workspace,refCount:1,startPromise:null};return d.set(h,H),x})(),v={process:null,connection:null,compatProxies:[],annodexRouters:[],port:p,cwd:f,workspace:!!b?.workspace,refCount:0,startPromise:s};d.set(h,v);try{return await s}catch(a){throw d.delete(h),a}}function F(a){let b=u(),c=b.get(a.serverKey);c&&(c.refCount--,c.refCount<=0&&(t(c),b.delete(a.serverKey)))}async function G(a,b){let c=[],d=null;do{let e=await a.request("thread/list",{...d?{cursor:d}:{},...b?{cwd:b}:{},limit:100,sortKey:"updated_at",archived:!1});c.push(...e.data??[]),d=e.nextCursor??null}while(d);return c}async function H(a,b){try{return(await a.request("thread/read",{threadId:b,includeTurns:!0})).thread??null}catch(b){let a=b instanceof Error?b.message:String(b);if(/no rollout found|thread not found|not found/i.test(a))return null;throw b}}function I(a){let b=u(),c=a.replace(/\/+$/,"")||a;for(let a of b.values())if(a.cwd===c&&a.workspace&&a.connection?.isConnected())return a.connection}d()}catch(a){d(a)}})},54167:(a,b,c)=>{c.d(b,{Po:()=>o,XO:()=>l,so:()=>k,w5:()=>n});var d=c(81630),e=c(55591),f=c(79646),g=c(55511),h=c(1932),i=c(99526),j=c(55399);let k="annodex-router";function l(a,b){let c=(0,g.createHash)("sha256").update(`${a}\0${b}`).digest("hex").slice(0,10),d=a.replace(/[^A-Za-z0-9_.-]+/g,"-"),e=b.replace(/[^A-Za-z0-9_.-]+/g,"-");return`annodex-${d}-${e}-${c}`}function m(a){let b=[];for(let c of a){let a=c.baseUrl.trim().replace(/\/+$/,"");if(!a)continue;let d=(0,i.pp)(c.api,a,c.id);for(let e of c.models.length?c.models:[{id:c.id,name:c.name||c.id}]){let g=(0,i.pp)(e.api??d,a,c.id);("openai-responses"===g||"openai-completions"===g)&&b.push({key:l(c.id,e.id),providerId:c.id,modelId:e.id,upstreamModelId:e.id,baseUrl:a,apiKey:function(a){let b=a?.trim();if(b){if(b.startsWith("!"))try{return(0,f.execSync)(b.slice(1),{encoding:"utf8",stdio:["ignore","pipe","ignore"],timeout:1e4}).trim()||void 0}catch{return}return/^[A-Za-z_][A-Za-z0-9_]*$/.test(b)&&process.env[b]?process.env[b]:b}}(c.apiKey),api:g,requiresOpenAiAuth:c.requiresOpenAiAuth,reasoningConfig:e.reasoningConfig??c.reasoningConfig})}}return b}function n(a,b,c){if(b!==k)return{provider:b??void 0,modelId:c??void 0};let d=function(a,b){if(b)return m(a).find(a=>a.key===b)}(a,c);return d?{provider:d.providerId,modelId:d.modelId}:{provider:b??void 0,modelId:c??void 0}}class o{constructor(a){for(const b of(this.server=null,this.port=0,this.targets=new Map,this.defaultThinking=a.defaultThinking??"disabled",a.port&&(this.port=a.port),m(a.providers)))this.targets.set(b.key,b)}async start(){return new Promise((a,b)=>{this.server=(0,d.createServer)((a,b)=>this.handleRequest(a,b)),this.server.on("error",b),this.server.listen(this.port,"127.0.0.1",()=>{let c=this.server?.address();c&&"object"==typeof c?(this.port=c.port,a(this.port)):b(Error("Failed to get annodex router address"))})})}async stop(){return new Promise(a=>{this.server?(this.server.close(()=>a()),this.server=null):a()})}getPort(){return this.port}getBaseUrl(){return`http://127.0.0.1:${this.port}/v1`}handleRequest(a,b){if("/health"===a.url){b.writeHead(200,{"Content-Type":"application/json"}),b.end(JSON.stringify({status:"ok",models:this.targets.size}));return}if("POST"!==a.method||!a.url?.startsWith("/v1/responses")){b.writeHead(404),b.end();return}let c=[];a.on("data",a=>c.push(a)),a.on("end",()=>{try{let a=JSON.parse(Buffer.concat(c).toString());this.proxyRequest(a,b)}catch{b.writeHead(400,{"Content-Type":"application/json"}),b.end(JSON.stringify({error:{message:"Invalid JSON",type:"invalid_request_error"}}))}})}proxyRequest(a,b){let c="string"==typeof a.model?a.model:"",d=this.targets.get(c);if(!d){b.writeHead(404,{"Content-Type":"application/json"}),b.end(JSON.stringify({error:{message:`Unknown Annodex router model: ${c}`,type:"invalid_request_error"}}));return}let e={...a,model:d.upstreamModelId};"openai-completions"===d.api?(0,j.y3)(e,b,{targetUrl:d.baseUrl,apiKey:d.apiKey??"",defaultThinking:this.defaultThinking,reasoningConfig:d.reasoningConfig}):this.proxyResponsesNative(e,d,b)}proxyResponsesNative(a,b,c){let f=new h.URL(function(a){let b=a.trim().replace(/\/+$/,"");if(!b||/\/responses$/i.test(b))return b;let c=(b.split("://")[1]??b).includes("/")?`${b}/responses`:`${b}/v1/responses`;for(;c.includes("/v1/v1/");)c=c.replace("/v1/v1/","/v1/");return c}(b.baseUrl)),g="https:"===f.protocol,i=(g?e.request:d.request)({hostname:f.hostname,port:f.port||(g?443:80),path:f.pathname+f.search,method:"POST",headers:{"Content-Type":"application/json",...b.apiKey?{Authorization:`Bearer ${b.apiKey}`}:{}}},b=>{let d={},e=b.headers["content-type"];if("string"==typeof e)d["Content-Type"]=e;else d["Content-Type"]="object"!=typeof a||null===a||Array.isArray(a)||!0!==a.stream?"application/json":"text/event-stream";c.writeHead(b.statusCode??502,d),b.pipe(c)});i.on("error",a=>{c.writeHead(502,{"Content-Type":"application/json"}),c.end(JSON.stringify({error:{message:`Upstream error: ${a.message}`,type:"upstream_error"}}))}),i.write(JSON.stringify(a)),i.end()}}},65833:(a,b,c)=>{c.d(b,{AQ:()=>f,C3:()=>d,JD:()=>e});let d="annodex",e="@seqyuan/annodex",f="annodex update"}};
@@ -10,6 +10,11 @@
10
10
  }
11
11
  ]
12
12
  },
13
+ "/api/extensions": {},
14
+ "/api/extensions/discover": {},
15
+ "/api/extensions/mcp": {},
16
+ "/api/extensions/plugin": {},
17
+ "/api/extensions/plugin-marketplace": {},
13
18
  "/api/skills": {},
14
19
  "/api/skills/install": {}
15
20
  }
@@ -1 +1 @@
1
- globalThis.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-42372ed130431b0a.js"],devFiles:[],lowPriorityFiles:["static/HQlxW700z3VnIxRy07W3H/_buildManifest.js","static/HQlxW700z3VnIxRy07W3H/_ssgManifest.js"],rootMainFiles:["static/chunks/webpack-4056c182d935c524.js","static/chunks/4bd1b696-e356ca5ba0218e27.js","static/chunks/3794-123fdf632563f469.js","static/chunks/main-app-45a0f19af99d61b6.js"],rootMainFilesTree:{},pages:{"/_app":[]}};
1
+ globalThis.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-42372ed130431b0a.js"],devFiles:[],lowPriorityFiles:["static/KJcCXdQp2I3HuifmczGCK/_buildManifest.js","static/KJcCXdQp2I3HuifmczGCK/_ssgManifest.js"],rootMainFiles:["static/chunks/webpack-4056c182d935c524.js","static/chunks/4bd1b696-e356ca5ba0218e27.js","static/chunks/3794-123fdf632563f469.js","static/chunks/main-app-45a0f19af99d61b6.js"],rootMainFilesTree:{},pages:{"/_app":[]}};
@@ -1 +1 @@
1
- self.__NEXT_FONT_MANIFEST='{"pages":{},"app":{"/home/runner/work/annodex/annodex/app/layout":["static/media/7deddc85b7ffd1dc-s.p.woff2","static/media/ec14413c594b3356-s.p.woff2"]},"appUsingSizeAdjust":true,"pagesUsingSizeAdjust":false}';
1
+ self.__NEXT_FONT_MANIFEST='{"pages":{},"app":{"/home/runner/work/annodex/annodex/app/layout":["static/media/ec14413c594b3356-s.p.woff2","static/media/7deddc85b7ffd1dc-s.p.woff2"]},"appUsingSizeAdjust":true,"pagesUsingSizeAdjust":false}';
@@ -1 +1 @@
1
- {"pages":{},"app":{"/home/runner/work/annodex/annodex/app/layout":["static/media/7deddc85b7ffd1dc-s.p.woff2","static/media/ec14413c594b3356-s.p.woff2"]},"appUsingSizeAdjust":true,"pagesUsingSizeAdjust":false}
1
+ {"pages":{},"app":{"/home/runner/work/annodex/annodex/app/layout":["static/media/ec14413c594b3356-s.p.woff2","static/media/7deddc85b7ffd1dc-s.p.woff2"]},"appUsingSizeAdjust":true,"pagesUsingSizeAdjust":false}
@@ -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/fddca953485158e4.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/d0aebb8f91e62782.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-4056c182d935c524.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-45a0f19af99d61b6.js" async=""></script><script src="/_next/static/chunks/4550-a87684eaeae37462.js" async=""></script><script src="/_next/static/chunks/app/layout-6f383e02b7aa4d93.js" async=""></script><meta name="robots" content="noindex"/><meta name="next-size-adjust" content=""/><title>404: This page could not be found.</title><title>annodex</title><meta name="description" content="AI-native bioinformatics workspace by Annoroad"/><link rel="shortcut icon" href="/favicon.svg" type="image/svg+xml"/><link rel="icon" href="/favicon.svg" type="image/svg+xml"/><script>(function(){try{var t=localStorage.getItem("annodex-theme");if(t==="dark")document.documentElement.classList.add("dark")}catch(e){}})();</script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body style="min-height:100dvh;display:flex;flex-direction:column"><div hidden=""><!--$--><!--/$--></div><script>((a,b,c,d,e,f,g,h)=>{let i=document.documentElement,j=["light","dark"];function k(b){var c;(Array.isArray(a)?a:[a]).forEach(a=>{let c="class"===a,d=c&&f?e.map(a=>f[a]||a):e;c?(i.classList.remove(...d),i.classList.add(f&&f[b]?f[b]:b)):i.setAttribute(a,b)}),c=b,h&&j.includes(c)&&(i.style.colorScheme=c)}if(d)k(d);else try{let a=localStorage.getItem(b)||c,d=g&&"system"===a?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":a;k(d)}catch(a){}})("class","theme","system",null,["light","dark"],null,true,true)</script><!--$--><div class="bg-fd-secondary/50 p-3 empty: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-4056c182d935c524.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[11056,[\"4550\",\"static/chunks/4550-a87684eaeae37462.js\",\"7177\",\"static/chunks/app/layout-6f383e02b7aa4d93.js\"],\"RootProvider\"]\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/fddca953485158e4.css\",\"style\"]\n:HL[\"/_next/static/css/d0aebb8f91e62782.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/fddca953485158e4.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/d0aebb8f91e62782.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"__variable_66b8ca\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"(function(){try{var t=localStorage.getItem(\\\"annodex-theme\\\");if(t===\\\"dark\\\")document.documentElement.classList.add(\\\"dark\\\")}catch(e){}})();\"}}]}],[\"$\",\"body\",null,{\"style\":{\"minHeight\":\"100dvh\",\"display\":\"flex\",\"flexDirection\":\"column\"},\"children\":[\"$\",\"$L2\",null,{\"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\":\"HQlxW700z3VnIxRy07W3H\"}\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\":\"annodex\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"AI-native bioinformatics workspace by Annoroad\"}],[\"$\",\"link\",\"2\",{\"rel\":\"shortcut icon\",\"href\":\"/favicon.svg\",\"type\":\"image/svg+xml\"}],[\"$\",\"link\",\"3\",{\"rel\":\"icon\",\"href\":\"/favicon.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/fddca953485158e4.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/7cdc2b85523b8b05.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-4056c182d935c524.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-45a0f19af99d61b6.js" async=""></script><script src="/_next/static/chunks/4550-a87684eaeae37462.js" async=""></script><script src="/_next/static/chunks/app/layout-6f383e02b7aa4d93.js" async=""></script><meta name="robots" content="noindex"/><meta name="next-size-adjust" content=""/><title>404: This page could not be found.</title><title>annodex</title><meta name="description" content="AI-native bioinformatics workspace by Annoroad"/><link rel="shortcut icon" href="/favicon.svg" type="image/svg+xml"/><link rel="icon" href="/favicon.svg" type="image/svg+xml"/><script>(function(){try{var t=localStorage.getItem("annodex-theme");if(t==="dark")document.documentElement.classList.add("dark")}catch(e){}})();</script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body style="min-height:100dvh;display:flex;flex-direction:column"><div hidden=""><!--$--><!--/$--></div><script>((a,b,c,d,e,f,g,h)=>{let i=document.documentElement,j=["light","dark"];function k(b){var c;(Array.isArray(a)?a:[a]).forEach(a=>{let c="class"===a,d=c&&f?e.map(a=>f[a]||a):e;c?(i.classList.remove(...d),i.classList.add(f&&f[b]?f[b]:b)):i.setAttribute(a,b)}),c=b,h&&j.includes(c)&&(i.style.colorScheme=c)}if(d)k(d);else try{let a=localStorage.getItem(b)||c,d=g&&"system"===a?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":a;k(d)}catch(a){}})("class","theme","system",null,["light","dark"],null,true,true)</script><!--$--><div class="bg-fd-secondary/50 p-3 empty: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-4056c182d935c524.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[11056,[\"4550\",\"static/chunks/4550-a87684eaeae37462.js\",\"7177\",\"static/chunks/app/layout-6f383e02b7aa4d93.js\"],\"RootProvider\"]\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/fddca953485158e4.css\",\"style\"]\n:HL[\"/_next/static/css/7cdc2b85523b8b05.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/fddca953485158e4.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/7cdc2b85523b8b05.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"__variable_66b8ca\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"(function(){try{var t=localStorage.getItem(\\\"annodex-theme\\\");if(t===\\\"dark\\\")document.documentElement.classList.add(\\\"dark\\\")}catch(e){}})();\"}}]}],[\"$\",\"body\",null,{\"style\":{\"minHeight\":\"100dvh\",\"display\":\"flex\",\"flexDirection\":\"column\"},\"children\":[\"$\",\"$L2\",null,{\"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\":\"KJcCXdQp2I3HuifmczGCK\"}\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\":\"annodex\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"AI-native bioinformatics workspace by Annoroad\"}],[\"$\",\"link\",\"2\",{\"rel\":\"shortcut icon\",\"href\":\"/favicon.svg\",\"type\":\"image/svg+xml\"}],[\"$\",\"link\",\"3\",{\"rel\":\"icon\",\"href\":\"/favicon.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-4056c182d935c524.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-45a0f19af99d61b6.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-4056c182d935c524.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\":\"HQlxW700z3VnIxRy07W3H\"}\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-4056c182d935c524.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-45a0f19af99d61b6.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-4056c182d935c524.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\":\"KJcCXdQp2I3HuifmczGCK\"}\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":"cODqTYK4/aroo//JxPGqXnIKV520N+JzZdv0W4HuvdQ="}
1
+ {"node":{},"edge":{},"encryptionKey":"9voGAq0lq7kCtAP3SoGFb7x3hOsu+F7Y6hCM1z2KEPQ="}
@@ -0,0 +1 @@
1
+ self.__BUILD_MANIFEST={__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},__routerFilterStatic:{numItems:36,errorRate:1e-4,numBits:691,numHashes:14,bitArray:[0,0,0,1,1,1,1,0,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,1,1,0,0,0,0,1,1,0,0,1,0,0,0,1,1,0,0,0,0,1,0,1,1,1,0,1,1,0,1,1,0,1,0,1,0,1,0,1,1,0,1,0,1,0,1,0,1,1,0,0,0,0,0,0,1,0,1,0,0,0,1,1,0,0,1,1,0,1,1,1,1,1,0,1,1,0,0,0,1,0,0,1,0,1,0,1,1,1,0,1,0,0,1,0,1,0,1,1,0,0,0,1,0,1,0,1,1,1,0,0,1,0,1,1,1,1,0,1,1,0,0,1,1,1,1,1,0,1,0,1,1,0,1,1,1,1,0,1,1,1,1,1,1,0,1,0,0,0,0,1,0,1,1,0,0,1,1,0,0,1,0,1,0,1,0,1,1,1,1,0,1,0,0,1,1,0,0,1,1,1,1,1,0,1,1,0,0,0,1,1,1,0,1,0,1,0,0,0,1,1,1,0,1,0,1,1,1,1,0,1,1,0,1,0,1,0,1,1,0,0,1,0,1,0,1,1,0,0,1,0,1,1,1,1,0,0,0,0,1,1,1,1,0,1,1,0,1,0,1,1,1,0,0,1,1,1,1,1,0,1,1,0,0,1,1,1,1,1,0,1,0,1,0,1,0,1,0,1,1,1,0,0,1,0,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,0,1,0,0,0,0,0,1,1,1,1,0,0,1,0,0,1,0,1,0,0,0,0,1,0,0,1,0,1,0,0,0,0,1,1,0,0,1,0,0,0,1,1,0,1,0,1,0,1,0,1,0,0,0,0,1,0,1,0,0,0,0,1,0,1,1,1,0,1,0,1,0,0,0,1,0,1,0,0,1,1,1,0,1,1,0,1,1,0,1,1,1,0,1,0,0,1,0,0,1,0,0,1,0,1,1,1,1,0,1,1,0,0,0,0,0,0,1,0,0,0,0,1,0,1,1,0,1,1,1,1,0,1,0,1,1,1,0,0,1,0,0,0,0,0,1,1,1,0,1,1,1,1,1,1,0,1,1,1,1,0,0,0,0,1,0,0,0,0,0,1,0,0,1,1,1,0,0,1,0,0,0,1,1,0,1,0,0,0,1,0,0,1,0,0,0,1,0,0,1,1,1,0,1,0,0,1,0,0,1,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,0,1,1,1,0,1,0,1,1,1,1,0,1,1,0,1,0,0,1,0,1,1,0,0,0,1,1,1,1,0,0,1,0,1,0,1,0,1,0,1,0,0,1,1,1,1,1,0,1,0,0,1,1,1,0,1,0,1,0,0,1,1,1,0,0,0,1,0,1,1,0,1,1,1,0,1,1,0,1,0,1,0,0,0,1,0,1,0,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,0,1,0,0,0,1,1,1,0,1,1,0,1,0]},__routerFilterDynamic:{numItems:6,errorRate:1e-4,numBits:116,numHashes:14,bitArray:[1,1,0,0,0,1,0,1,1,1,1,0,1,0,1,0,0,1,1,1,0,1,1,0,1,1,0,1,0,1,1,0,0,0,1,0,0,1,0,1,1,0,0,1,1,1,0,0,0,1,0,0,1,1,0,0,0,0,1,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,1,0,0,0,1,1,1,0,1,0,0,1,0,1,0,0,0,1,0,0,1,0,0,0,1,1,1,1,1,1,0,0,1,0,1,0,0,1,1,0,0,0]},sortedPages:["/_app"]},self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,3412,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5907,6202,6450,6709,6819,6849,6919,6988,7473,7483,7758,7812,7851,8167,8658,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,3412,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5907,6202,6450,6709,6819,6849,6919,6988,7473,7483,7758,7812,7851,8167,8658,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,3412,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5907,6202,6450,6709,6819,6849,6919,6988,7473,7483,7758,7812,7851,8167,8658,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,3412,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5907,6202,6450,6709,6819,6849,6919,6988,7473,7483,7758,7812,7851,8167,8658,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,3412,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5907,6202,6450,6709,6819,6849,6919,6988,7473,7483,7758,7812,7851,8167,8658,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,3412,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5907,6202,6450,6709,6819,6849,6919,6988,7473,7483,7758,7812,7851,8167,8658,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,3412,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5907,6202,6450,6709,6819,6849,6919,6988,7473,7483,7758,7812,7851,8167,8658,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,3412,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5907,6202,6450,6709,6819,6849,6919,6988,7473,7483,7758,7812,7851,8167,8658,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,3412,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5907,6202,6450,6709,6819,6849,6919,6988,7473,7483,7758,7812,7851,8167,8658,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,3412,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5907,6202,6450,6709,6819,6849,6919,6988,7473,7483,7758,7812,7851,8167,8658,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,3412,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5907,6202,6450,6709,6819,6849,6919,6988,7473,7483,7758,7812,7851,8167,8658,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,3412,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5907,6202,6450,6709,6819,6849,6919,6988,7473,7483,7758,7812,7851,8167,8658,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,3412,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5907,6202,6450,6709,6819,6849,6919,6988,7473,7483,7758,7812,7851,8167,8658,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,3412,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5907,6202,6450,6709,6819,6849,6919,6988,7473,7483,7758,7812,7851,8167,8658,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,3412,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5907,6202,6450,6709,6819,6849,6919,6988,7473,7483,7758,7812,7851,8167,8658,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,3412,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5907,6202,6450,6709,6819,6849,6919,6988,7473,7483,7758,7812,7851,8167,8658,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,3412,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5907,6202,6450,6709,6819,6849,6919,6988,7473,7483,7758,7812,7851,8167,8658,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,3412,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5907,6202,6450,6709,6819,6849,6919,6988,7473,7483,7758,7812,7851,8167,8658,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,3412,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5907,6202,6450,6709,6819,6849,6919,6988,7473,7483,7758,7812,7851,8167,8658,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,3412,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5907,6202,6450,6709,6819,6849,6919,6988,7473,7483,7758,7812,7851,8167,8658,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,3412,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5907,6202,6450,6709,6819,6849,6919,6988,7473,7483,7758,7812,7851,8167,8658,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,3412,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5907,6202,6450,6709,6819,6849,6919,6988,7473,7483,7758,7812,7851,8167,8658,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,3412,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5907,6202,6450,6709,6819,6849,6919,6988,7473,7483,7758,7812,7851,8167,8658,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,3412,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5907,6202,6450,6709,6819,6849,6919,6988,7473,7483,7758,7812,7851,8167,8658,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,3412,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5907,6202,6450,6709,6819,6849,6919,6988,7473,7483,7758,7812,7851,8167,8658,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,3412,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5907,6202,6450,6709,6819,6849,6919,6988,7473,7483,7758,7812,7851,8167,8658,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,3412,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5907,6202,6450,6709,6819,6849,6919,6988,7473,7483,7758,7812,7851,8167,8658,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,3412,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5907,6202,6450,6709,6819,6849,6919,6988,7473,7483,7758,7812,7851,8167,8658,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,3412,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5907,6202,6450,6709,6819,6849,6919,6988,7473,7483,7758,7812,7851,8167,8658,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,3412,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5907,6202,6450,6709,6819,6849,6919,6988,7473,7483,7758,7812,7851,8167,8658,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,3412,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5907,6202,6450,6709,6819,6849,6919,6988,7473,7483,7758,7812,7851,8167,8658,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,3412,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5907,6202,6450,6709,6819,6849,6919,6988,7473,7483,7758,7812,7851,8167,8658,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,3412,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5907,6202,6450,6709,6819,6849,6919,6988,7473,7483,7758,7812,7851,8167,8658,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,3412,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5907,6202,6450,6709,6819,6849,6919,6988,7473,7483,7758,7812,7851,8167,8658,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,3412,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5907,6202,6450,6709,6819,6849,6919,6988,7473,7483,7758,7812,7851,8167,8658,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,3412,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5907,6202,6450,6709,6819,6849,6919,6988,7473,7483,7758,7812,7851,8167,8658,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,3412,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5907,6202,6450,6709,6819,6849,6919,6988,7473,7483,7758,7812,7851,8167,8658,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,3412,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5907,6202,6450,6709,6819,6849,6919,6988,7473,7483,7758,7812,7851,8167,8658,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,3412,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5907,6202,6450,6709,6819,6849,6919,6988,7473,7483,7758,7812,7851,8167,8658,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,3412,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5907,6202,6450,6709,6819,6849,6919,6988,7473,7483,7758,7812,7851,8167,8658,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,3412,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5907,6202,6450,6709,6819,6849,6919,6988,7473,7483,7758,7812,7851,8167,8658,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);