@seqyuan/annodex 0.1.67 → 0.1.68

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 (230) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +9 -8
  3. package/.next/build-manifest.json +2 -2
  4. package/.next/prerender-manifest.json +3 -3
  5. package/.next/required-server-files.js +1 -1
  6. package/.next/required-server-files.json +1 -1
  7. package/.next/routes-manifest.json +6 -0
  8. package/.next/server/app/_global-error/page.js +3 -3
  9. package/.next/server/app/_global-error.html +1 -1
  10. package/.next/server/app/_global-error.rsc +1 -1
  11. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  12. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  13. package/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  14. package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  15. package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  16. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  17. package/.next/server/app/_not-found/page.js +2 -2
  18. package/.next/server/app/_not-found.html +1 -1
  19. package/.next/server/app/_not-found.rsc +1 -1
  20. package/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
  21. package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  22. package/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
  23. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  24. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  25. package/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  26. package/.next/server/app/api/agent/[id]/events/route.js +2 -2
  27. package/.next/server/app/api/agent/[id]/route.js +1 -1
  28. package/.next/server/app/api/agent/new/route.js +1 -1
  29. package/.next/server/app/api/agent/runtime/route.js +2 -2
  30. package/.next/server/app/api/auth/all-providers/route.js +1 -1
  31. package/.next/server/app/api/auth/api-key/[provider]/route.js +1 -1
  32. package/.next/server/app/api/auth/login/[provider]/route.js +1 -1
  33. package/.next/server/app/api/auth/login/route.js +1 -1
  34. package/.next/server/app/api/auth/logout/[provider]/route.js +1 -1
  35. package/.next/server/app/api/auth/providers/route.js +1 -1
  36. package/.next/server/app/api/auth/status/route.js +1 -1
  37. package/.next/server/app/api/default-cwd/route.js +1 -1
  38. package/.next/server/app/api/extensions/discover/route.js +1 -1
  39. package/.next/server/app/api/extensions/mcp/route.js +1 -1
  40. package/.next/server/app/api/extensions/plugin/route.js +1 -1
  41. package/.next/server/app/api/extensions/plugin-marketplace/route.js +1 -1
  42. package/.next/server/app/api/extensions/route.js +1 -1
  43. package/.next/server/app/api/extensions/session/route.js +1 -1
  44. package/.next/server/app/api/files/[...path]/route.js +1 -1
  45. package/.next/server/app/api/harness/route.js +1 -1
  46. package/.next/server/app/api/home/route.js +1 -1
  47. package/.next/server/app/api/im/gateway-token/route.js +2 -0
  48. package/.next/server/app/api/im/gateway-token/route.js.nft.json +1 -0
  49. package/.next/server/app/api/im/gateway-token/route_client-reference-manifest.js +1 -0
  50. package/.next/server/app/api/im/project/route.js +2 -2
  51. package/.next/server/app/api/im/projects/route.js +2 -2
  52. package/.next/server/app/api/im/turn/route.js +2 -2
  53. package/.next/server/app/api/images/upload/route.js +1 -1
  54. package/.next/server/app/api/internal/runtime/route.js +1 -1
  55. package/.next/server/app/api/memory/promote/route.js +2 -2
  56. package/.next/server/app/api/memory/recall/route.js +4 -4
  57. package/.next/server/app/api/memory/reflect/route.js +2 -2
  58. package/.next/server/app/api/memory/retain/route.js +1 -1
  59. package/.next/server/app/api/memory/status/route.js +1 -1
  60. package/.next/server/app/api/models/route.js +1 -1
  61. package/.next/server/app/api/models-config/discover/route.js +1 -1
  62. package/.next/server/app/api/models-config/route.js +1 -1
  63. package/.next/server/app/api/models-config/test/route.js +1 -1
  64. package/.next/server/app/api/projects/browse/route.js +1 -1
  65. package/.next/server/app/api/projects/route.js +1 -1
  66. package/.next/server/app/api/search/route.js +1 -1
  67. package/.next/server/app/api/sessions/[id]/context/route.js +1 -1
  68. package/.next/server/app/api/sessions/[id]/route.js +1 -1
  69. package/.next/server/app/api/sessions/new/route.js +1 -1
  70. package/.next/server/app/api/sessions/route.js +1 -1
  71. package/.next/server/app/api/settings/route.js +1 -1
  72. package/.next/server/app/api/skills/install/route.js +2 -2
  73. package/.next/server/app/api/skills/route.js +2 -2
  74. package/.next/server/app/api/skills/search/route.js +1 -1
  75. package/.next/server/app/api/soul/route.js +1 -1
  76. package/.next/server/app/api/version/route.js +1 -1
  77. package/.next/server/app/docs/changelog/page.js +2 -2
  78. package/.next/server/app/docs/changelog.html +2 -2
  79. package/.next/server/app/docs/changelog.rsc +1 -1
  80. package/.next/server/app/docs/changelog.segments/_full.segment.rsc +1 -1
  81. package/.next/server/app/docs/changelog.segments/_head.segment.rsc +1 -1
  82. package/.next/server/app/docs/changelog.segments/_index.segment.rsc +1 -1
  83. package/.next/server/app/docs/changelog.segments/_tree.segment.rsc +1 -1
  84. package/.next/server/app/docs/changelog.segments/docs/changelog/__PAGE__.segment.rsc +1 -1
  85. package/.next/server/app/docs/changelog.segments/docs/changelog.segment.rsc +1 -1
  86. package/.next/server/app/docs/changelog.segments/docs.segment.rsc +1 -1
  87. package/.next/server/app/index.html +1 -1
  88. package/.next/server/app/index.rsc +1 -1
  89. package/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  90. package/.next/server/app/index.segments/_full.segment.rsc +1 -1
  91. package/.next/server/app/index.segments/_head.segment.rsc +1 -1
  92. package/.next/server/app/index.segments/_index.segment.rsc +1 -1
  93. package/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  94. package/.next/server/app/login/page.js +2 -2
  95. package/.next/server/app/login.html +1 -1
  96. package/.next/server/app/login.rsc +1 -1
  97. package/.next/server/app/login.segments/_full.segment.rsc +1 -1
  98. package/.next/server/app/login.segments/_head.segment.rsc +1 -1
  99. package/.next/server/app/login.segments/_index.segment.rsc +1 -1
  100. package/.next/server/app/login.segments/_tree.segment.rsc +1 -1
  101. package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +1 -1
  102. package/.next/server/app/login.segments/login.segment.rsc +1 -1
  103. package/.next/server/app/page.js +2 -2
  104. package/.next/server/app/workspace/page.js +4 -4
  105. package/.next/server/app/workspace/page_client-reference-manifest.js +1 -1
  106. package/.next/server/app/workspace.html +1 -1
  107. package/.next/server/app/workspace.rsc +2 -2
  108. package/.next/server/app/workspace.segments/_full.segment.rsc +2 -2
  109. package/.next/server/app/workspace.segments/_head.segment.rsc +1 -1
  110. package/.next/server/app/workspace.segments/_index.segment.rsc +1 -1
  111. package/.next/server/app/workspace.segments/_tree.segment.rsc +1 -1
  112. package/.next/server/app/workspace.segments/workspace/__PAGE__.segment.rsc +2 -2
  113. package/.next/server/app/workspace.segments/workspace.segment.rsc +1 -1
  114. package/.next/server/app-paths-manifest.json +9 -8
  115. package/.next/server/chunks/6983.js +1 -1
  116. package/.next/server/middleware-build-manifest.js +1 -1
  117. package/.next/server/pages/404.html +1 -1
  118. package/.next/server/pages/500.html +1 -1
  119. package/.next/server/server-reference-manifest.json +1 -1
  120. package/.next/static/7BglIWL5yK7XDQoDORyhc/_buildManifest.js +1 -0
  121. package/.next/static/chunks/app/{api/agent/[id]/route-44cbd53a31a3f701.js → _global-error/page-e4c3159b5453fb6b.js} +1 -1
  122. package/.next/static/chunks/app/api/agent/{new/route-44cbd53a31a3f701.js → [id]/events/route-e4c3159b5453fb6b.js} +1 -1
  123. package/.next/static/chunks/app/{_global-error/page-44cbd53a31a3f701.js → api/agent/[id]/route-e4c3159b5453fb6b.js} +1 -1
  124. package/.next/static/chunks/app/api/agent/{[id]/events/route-44cbd53a31a3f701.js → new/route-e4c3159b5453fb6b.js} +1 -1
  125. package/.next/static/chunks/app/api/agent/runtime/route-e4c3159b5453fb6b.js +1 -0
  126. package/.next/static/chunks/app/api/auth/all-providers/route-e4c3159b5453fb6b.js +1 -0
  127. package/.next/static/chunks/app/api/auth/api-key/[provider]/route-e4c3159b5453fb6b.js +1 -0
  128. package/.next/static/chunks/app/api/auth/login/[provider]/route-e4c3159b5453fb6b.js +1 -0
  129. package/.next/static/chunks/app/api/auth/login/route-e4c3159b5453fb6b.js +1 -0
  130. package/.next/static/chunks/app/api/auth/logout/[provider]/route-e4c3159b5453fb6b.js +1 -0
  131. package/.next/static/chunks/app/api/auth/providers/route-e4c3159b5453fb6b.js +1 -0
  132. package/.next/static/chunks/app/api/auth/status/route-e4c3159b5453fb6b.js +1 -0
  133. package/.next/static/chunks/app/api/default-cwd/route-e4c3159b5453fb6b.js +1 -0
  134. package/.next/static/chunks/app/api/extensions/discover/route-e4c3159b5453fb6b.js +1 -0
  135. package/.next/static/chunks/app/api/extensions/mcp/route-e4c3159b5453fb6b.js +1 -0
  136. package/.next/static/chunks/app/api/extensions/plugin/route-e4c3159b5453fb6b.js +1 -0
  137. package/.next/static/chunks/app/api/extensions/plugin-marketplace/route-e4c3159b5453fb6b.js +1 -0
  138. package/.next/static/chunks/app/api/extensions/route-e4c3159b5453fb6b.js +1 -0
  139. package/.next/static/chunks/app/api/extensions/session/route-e4c3159b5453fb6b.js +1 -0
  140. package/.next/static/chunks/app/api/files/[...path]/route-e4c3159b5453fb6b.js +1 -0
  141. package/.next/static/chunks/app/api/harness/route-e4c3159b5453fb6b.js +1 -0
  142. package/.next/static/chunks/app/api/home/route-e4c3159b5453fb6b.js +1 -0
  143. package/.next/static/chunks/app/api/im/gateway-token/route-e4c3159b5453fb6b.js +1 -0
  144. package/.next/static/chunks/app/api/im/project/route-e4c3159b5453fb6b.js +1 -0
  145. package/.next/static/chunks/app/api/im/projects/route-e4c3159b5453fb6b.js +1 -0
  146. package/.next/static/chunks/app/api/im/turn/route-e4c3159b5453fb6b.js +1 -0
  147. package/.next/static/chunks/app/api/images/upload/route-e4c3159b5453fb6b.js +1 -0
  148. package/.next/static/chunks/app/api/internal/runtime/route-e4c3159b5453fb6b.js +1 -0
  149. package/.next/static/chunks/app/api/memory/promote/route-e4c3159b5453fb6b.js +1 -0
  150. package/.next/static/chunks/app/api/memory/recall/route-e4c3159b5453fb6b.js +1 -0
  151. package/.next/static/chunks/app/api/memory/reflect/route-e4c3159b5453fb6b.js +1 -0
  152. package/.next/static/chunks/app/api/memory/retain/route-e4c3159b5453fb6b.js +1 -0
  153. package/.next/static/chunks/app/api/memory/status/route-e4c3159b5453fb6b.js +1 -0
  154. package/.next/static/chunks/app/api/models/route-e4c3159b5453fb6b.js +1 -0
  155. package/.next/static/chunks/app/api/models-config/discover/route-e4c3159b5453fb6b.js +1 -0
  156. package/.next/static/chunks/app/api/models-config/route-e4c3159b5453fb6b.js +1 -0
  157. package/.next/static/chunks/app/api/models-config/test/route-e4c3159b5453fb6b.js +1 -0
  158. package/.next/static/chunks/app/api/projects/browse/route-e4c3159b5453fb6b.js +1 -0
  159. package/.next/static/chunks/app/api/projects/route-e4c3159b5453fb6b.js +1 -0
  160. package/.next/static/chunks/app/api/search/route-e4c3159b5453fb6b.js +1 -0
  161. package/.next/static/chunks/app/api/sessions/[id]/context/route-e4c3159b5453fb6b.js +1 -0
  162. package/.next/static/chunks/app/api/sessions/[id]/route-e4c3159b5453fb6b.js +1 -0
  163. package/.next/static/chunks/app/api/sessions/new/route-e4c3159b5453fb6b.js +1 -0
  164. package/.next/static/chunks/app/api/sessions/route-e4c3159b5453fb6b.js +1 -0
  165. package/.next/static/chunks/app/api/settings/route-e4c3159b5453fb6b.js +1 -0
  166. package/.next/static/chunks/app/api/skills/install/route-e4c3159b5453fb6b.js +1 -0
  167. package/.next/static/chunks/app/api/skills/route-e4c3159b5453fb6b.js +1 -0
  168. package/.next/static/chunks/app/api/skills/search/route-e4c3159b5453fb6b.js +1 -0
  169. package/.next/static/chunks/app/api/soul/route-e4c3159b5453fb6b.js +1 -0
  170. package/.next/static/chunks/app/api/version/route-e4c3159b5453fb6b.js +1 -0
  171. package/.next/static/chunks/app/page-e4c3159b5453fb6b.js +1 -0
  172. package/.next/static/chunks/app/workspace/{page-ff1403a471d556ca.js → page-7d5911e67935fbde.js} +8 -8
  173. package/.next/static/chunks/next/dist/client/components/builtin/app-error-e4c3159b5453fb6b.js +1 -0
  174. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-e4c3159b5453fb6b.js +1 -0
  175. package/.next/static/chunks/next/dist/client/components/builtin/not-found-e4c3159b5453fb6b.js +1 -0
  176. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-e4c3159b5453fb6b.js +1 -0
  177. package/bin/annodex-im-gateway.js +76 -34
  178. package/package.json +1 -1
  179. package/.next/static/35GeCDRUeg9OBUsdN7kvk/_buildManifest.js +0 -1
  180. package/.next/static/chunks/app/api/agent/runtime/route-44cbd53a31a3f701.js +0 -1
  181. package/.next/static/chunks/app/api/auth/all-providers/route-44cbd53a31a3f701.js +0 -1
  182. package/.next/static/chunks/app/api/auth/api-key/[provider]/route-44cbd53a31a3f701.js +0 -1
  183. package/.next/static/chunks/app/api/auth/login/[provider]/route-44cbd53a31a3f701.js +0 -1
  184. package/.next/static/chunks/app/api/auth/login/route-44cbd53a31a3f701.js +0 -1
  185. package/.next/static/chunks/app/api/auth/logout/[provider]/route-44cbd53a31a3f701.js +0 -1
  186. package/.next/static/chunks/app/api/auth/providers/route-44cbd53a31a3f701.js +0 -1
  187. package/.next/static/chunks/app/api/auth/status/route-44cbd53a31a3f701.js +0 -1
  188. package/.next/static/chunks/app/api/default-cwd/route-44cbd53a31a3f701.js +0 -1
  189. package/.next/static/chunks/app/api/extensions/discover/route-44cbd53a31a3f701.js +0 -1
  190. package/.next/static/chunks/app/api/extensions/mcp/route-44cbd53a31a3f701.js +0 -1
  191. package/.next/static/chunks/app/api/extensions/plugin/route-44cbd53a31a3f701.js +0 -1
  192. package/.next/static/chunks/app/api/extensions/plugin-marketplace/route-44cbd53a31a3f701.js +0 -1
  193. package/.next/static/chunks/app/api/extensions/route-44cbd53a31a3f701.js +0 -1
  194. package/.next/static/chunks/app/api/extensions/session/route-44cbd53a31a3f701.js +0 -1
  195. package/.next/static/chunks/app/api/files/[...path]/route-44cbd53a31a3f701.js +0 -1
  196. package/.next/static/chunks/app/api/harness/route-44cbd53a31a3f701.js +0 -1
  197. package/.next/static/chunks/app/api/home/route-44cbd53a31a3f701.js +0 -1
  198. package/.next/static/chunks/app/api/im/project/route-44cbd53a31a3f701.js +0 -1
  199. package/.next/static/chunks/app/api/im/projects/route-44cbd53a31a3f701.js +0 -1
  200. package/.next/static/chunks/app/api/im/turn/route-44cbd53a31a3f701.js +0 -1
  201. package/.next/static/chunks/app/api/images/upload/route-44cbd53a31a3f701.js +0 -1
  202. package/.next/static/chunks/app/api/internal/runtime/route-44cbd53a31a3f701.js +0 -1
  203. package/.next/static/chunks/app/api/memory/promote/route-44cbd53a31a3f701.js +0 -1
  204. package/.next/static/chunks/app/api/memory/recall/route-44cbd53a31a3f701.js +0 -1
  205. package/.next/static/chunks/app/api/memory/reflect/route-44cbd53a31a3f701.js +0 -1
  206. package/.next/static/chunks/app/api/memory/retain/route-44cbd53a31a3f701.js +0 -1
  207. package/.next/static/chunks/app/api/memory/status/route-44cbd53a31a3f701.js +0 -1
  208. package/.next/static/chunks/app/api/models/route-44cbd53a31a3f701.js +0 -1
  209. package/.next/static/chunks/app/api/models-config/discover/route-44cbd53a31a3f701.js +0 -1
  210. package/.next/static/chunks/app/api/models-config/route-44cbd53a31a3f701.js +0 -1
  211. package/.next/static/chunks/app/api/models-config/test/route-44cbd53a31a3f701.js +0 -1
  212. package/.next/static/chunks/app/api/projects/browse/route-44cbd53a31a3f701.js +0 -1
  213. package/.next/static/chunks/app/api/projects/route-44cbd53a31a3f701.js +0 -1
  214. package/.next/static/chunks/app/api/search/route-44cbd53a31a3f701.js +0 -1
  215. package/.next/static/chunks/app/api/sessions/[id]/context/route-44cbd53a31a3f701.js +0 -1
  216. package/.next/static/chunks/app/api/sessions/[id]/route-44cbd53a31a3f701.js +0 -1
  217. package/.next/static/chunks/app/api/sessions/new/route-44cbd53a31a3f701.js +0 -1
  218. package/.next/static/chunks/app/api/sessions/route-44cbd53a31a3f701.js +0 -1
  219. package/.next/static/chunks/app/api/settings/route-44cbd53a31a3f701.js +0 -1
  220. package/.next/static/chunks/app/api/skills/install/route-44cbd53a31a3f701.js +0 -1
  221. package/.next/static/chunks/app/api/skills/route-44cbd53a31a3f701.js +0 -1
  222. package/.next/static/chunks/app/api/skills/search/route-44cbd53a31a3f701.js +0 -1
  223. package/.next/static/chunks/app/api/soul/route-44cbd53a31a3f701.js +0 -1
  224. package/.next/static/chunks/app/api/version/route-44cbd53a31a3f701.js +0 -1
  225. package/.next/static/chunks/app/page-44cbd53a31a3f701.js +0 -1
  226. package/.next/static/chunks/next/dist/client/components/builtin/app-error-44cbd53a31a3f701.js +0 -1
  227. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-44cbd53a31a3f701.js +0 -1
  228. package/.next/static/chunks/next/dist/client/components/builtin/not-found-44cbd53a31a3f701.js +0 -1
  229. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-44cbd53a31a3f701.js +0 -1
  230. /package/.next/static/{35GeCDRUeg9OBUsdN7kvk → 7BglIWL5yK7XDQoDORyhc}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,186,222,552,976,1004,1097,1109,1327,1541,1852,1921,2234,2752,2922,2976,3412,3785,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5781,5907,6202,6450,6709,6819,6849,6919,6988,7070,7473,7483,7758,7778,7812,7851,8167,8658,8733,8743,8933,8974,9787,9815,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,186,222,552,976,1004,1097,1109,1327,1541,1852,1921,2234,2752,2922,2976,3412,3785,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5781,5907,6202,6450,6709,6819,6849,6919,6988,7070,7473,7483,7758,7778,7812,7851,8167,8658,8733,8743,8933,8974,9787,9815,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,186,222,552,976,1004,1097,1109,1327,1541,1852,1921,2234,2752,2922,2976,3412,3785,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5781,5907,6202,6450,6709,6819,6849,6919,6988,7070,7473,7483,7758,7778,7812,7851,8167,8658,8733,8743,8933,8974,9787,9815,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,186,222,552,976,1004,1097,1109,1327,1541,1852,1921,2234,2752,2922,2976,3412,3785,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5781,5907,6202,6450,6709,6819,6849,6919,6988,7070,7473,7483,7758,7778,7812,7851,8167,8658,8733,8743,8933,8974,9787,9815,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -33,36 +33,23 @@ function readGatewayToken() {
33
33
  }
34
34
  }
35
35
 
36
- function resolveBaseUrl() {
37
- const explicit = envFirst("ANNODEX_URL", "ANNOVIBE_URL");
38
- if (explicit) return explicit.replace(/\/$/, "");
39
-
40
- const port = envFirst("ANNODEX_PORT", "PORT") ?? readStatePort() ?? "30121";
41
- const hostname = envFirst("ANNODEX_HOST", "HOSTNAME") ?? "127.0.0.1";
42
- return `http://${hostname}:${port}`;
43
- }
44
-
45
- function readStatePort() {
46
- const statePath = path.join(getAgentDir(), "annodex.json");
47
- try {
48
- const state = JSON.parse(fs.readFileSync(statePath, "utf8"));
49
- if (state?.port) return String(state.port);
50
- if (state?.url) {
51
- const url = new URL(String(state.url));
52
- return url.port || (url.protocol === "https:" ? "443" : "80");
53
- }
54
- } catch {
55
- // ignore
36
+ function formatImApiError(statusCode, parsed) {
37
+ const message = parsed.error || parsed.reply || `HTTP ${statusCode}`;
38
+ if (statusCode === 401) {
39
+ return `${message}. Set ANNODEX_CONFIG_DIR to the same path as the annodex server (gateway currently uses ${getAgentDir()}).`;
56
40
  }
57
- return undefined;
41
+ if (statusCode === 403) {
42
+ return `${message}. annodex-im-gateway must reach annodex on localhost, or configure a gateway token in Settings → Project → WeCom IM.`;
43
+ }
44
+ return message;
58
45
  }
59
46
 
60
- function requestJson(method, pathname, body) {
47
+ function requestJsonRaw(method, pathname, body, options = {}) {
61
48
  const baseUrl = resolveBaseUrl();
62
49
  const url = new URL(pathname, baseUrl);
63
50
  const payload = body === undefined ? undefined : JSON.stringify(body);
64
51
  const lib = url.protocol === "https:" ? https : http;
65
- const token = readGatewayToken();
52
+ const token = options.skipAuth ? "" : readGatewayToken();
66
53
 
67
54
  return new Promise((resolve, reject) => {
68
55
  const req = lib.request(
@@ -92,7 +79,7 @@ function requestJson(method, pathname, body) {
92
79
  return;
93
80
  }
94
81
  if (res.statusCode && res.statusCode >= 400) {
95
- reject(new Error(parsed.error || parsed.reply || `HTTP ${res.statusCode}`));
82
+ reject(new Error(formatImApiError(res.statusCode, parsed)));
96
83
  return;
97
84
  }
98
85
  resolve(parsed);
@@ -105,12 +92,56 @@ function requestJson(method, pathname, body) {
105
92
  });
106
93
  }
107
94
 
108
- function readSecret(secretPath) {
95
+ function requestJson(method, pathname, body) {
96
+ return requestJsonRaw(method, pathname, body);
97
+ }
98
+
99
+ function resolveBaseUrl() {
100
+ const explicit = envFirst("ANNODEX_URL", "ANNOVIBE_URL");
101
+ if (explicit) return explicit.replace(/\/$/, "");
102
+
103
+ const port = envFirst("ANNODEX_PORT", "PORT") ?? readStatePort() ?? "30121";
104
+ const hostname = envFirst("ANNODEX_HOST", "HOSTNAME") ?? "127.0.0.1";
105
+ return `http://${hostname}:${port}`;
106
+ }
107
+
108
+ function readStatePort() {
109
+ const statePath = path.join(getAgentDir(), "annodex.json");
109
110
  try {
110
- const raw = JSON.parse(fs.readFileSync(secretPath, "utf8"));
111
- return typeof raw.botSecret === "string" ? raw.botSecret.trim() : "";
111
+ const state = JSON.parse(fs.readFileSync(statePath, "utf8"));
112
+ if (state?.port) return String(state.port);
113
+ if (state?.url) {
114
+ const url = new URL(String(state.url));
115
+ return url.port || (url.protocol === "https:" ? "443" : "80");
116
+ }
112
117
  } catch {
113
- return "";
118
+ // ignore
119
+ }
120
+ return undefined;
121
+ }
122
+
123
+ async function syncGatewayTokenFromServer() {
124
+ try {
125
+ const payload = await requestJsonRaw("GET", "/api/im/gateway-token", undefined, { skipAuth: true });
126
+ const serverToken = typeof payload.token === "string" ? payload.token.trim() : "";
127
+ const serverConfigDir = typeof payload.configDir === "string" ? payload.configDir.trim() : "";
128
+ const localConfigDir = getAgentDir();
129
+
130
+ if (serverConfigDir && serverConfigDir !== localConfigDir) {
131
+ console.error(
132
+ `[im] warning: ANNODEX_CONFIG_DIR mismatch. annodex server uses ${serverConfigDir}, gateway uses ${localConfigDir}. Run: ANNODEX_CONFIG_DIR=${serverConfigDir} annodex-im-gateway`,
133
+ );
134
+ }
135
+
136
+ if (!serverToken) return;
137
+
138
+ const localToken = readGatewayToken();
139
+ if (localToken === serverToken) return;
140
+
141
+ writeGatewayState({ token: serverToken });
142
+ console.error("[im] synced gateway token from annodex server");
143
+ } catch (error) {
144
+ console.error(`[im] could not sync gateway token: ${String(error)}`);
114
145
  }
115
146
  }
116
147
 
@@ -390,9 +421,9 @@ class ProjectWeComBridge {
390
421
 
391
422
  async start() {
392
423
  if (this.stopped) return;
393
- const secret = readSecret(this.project.secretPath);
424
+ const secret = typeof this.project.botSecret === "string" ? this.project.botSecret.trim() : "";
394
425
  if (!secret) {
395
- console.error(`[im] missing bot secret for ${this.project.cwd}`);
426
+ console.error(`[im] missing bot secret for ${this.project.cwd} (annodex server did not return botSecret)`);
396
427
  this.scheduleReconnect(30_000);
397
428
  return;
398
429
  }
@@ -492,7 +523,7 @@ class ImGateway {
492
523
  const activeKeys = new Set();
493
524
 
494
525
  for (const project of projects) {
495
- if (!project?.cwd || !project?.botId || !project?.secretPath) continue;
526
+ if (!project?.cwd || !project?.botId || !project?.botSecret) continue;
496
527
  activeKeys.add(project.cwd);
497
528
  if (this.bridges.has(project.cwd)) {
498
529
  this.bridges.get(project.cwd).project = project;
@@ -536,8 +567,18 @@ function writeGatewayState(patch) {
536
567
  } catch {
537
568
  // ignore
538
569
  }
539
- fs.mkdirSync(path.dirname(statePath), { recursive: true });
540
- fs.writeFileSync(statePath, JSON.stringify({ ...state, ...patch }, null, 2), "utf8");
570
+ try {
571
+ fs.mkdirSync(path.dirname(statePath), { recursive: true });
572
+ fs.writeFileSync(statePath, JSON.stringify({ ...state, ...patch }, null, 2), "utf8");
573
+ } catch (error) {
574
+ if (error && typeof error === "object" && "code" in error && error.code === "EACCES") {
575
+ console.error(
576
+ `[im] warning: cannot write ${statePath}. Set ANNODEX_CONFIG_DIR to a writable path shared with the annodex server.`,
577
+ );
578
+ return;
579
+ }
580
+ throw error;
581
+ }
541
582
  }
542
583
 
543
584
  async function main() {
@@ -550,7 +591,8 @@ async function main() {
550
591
  process.on("SIGINT", () => { void shutdown(); });
551
592
  process.on("SIGTERM", () => { void shutdown(); });
552
593
 
553
- console.error(`[im] annodex-im-gateway starting (${resolveBaseUrl()})`);
594
+ console.error(`[im] annodex-im-gateway starting (${resolveBaseUrl()}, config ${getAgentDir()})`);
595
+ await syncGatewayTokenFromServer();
554
596
  await gateway.start();
555
597
  }
556
598
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seqyuan/annodex",
3
- "version": "0.1.67",
3
+ "version": "0.1.68",
4
4
  "description": "AI-native bioinformatics workspace by Annoroad",
5
5
  "license": "MIT",
6
6
  "bin": {
@@ -1 +0,0 @@
1
- self.__BUILD_MANIFEST={__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},__routerFilterStatic:{numItems:46,errorRate:1e-4,numBits:882,numHashes:14,bitArray:[1,1,1,0,0,0,1,0,1,0,1,0,0,0,1,1,1,0,0,1,0,1,1,1,1,0,1,1,0,0,1,0,1,0,1,1,1,1,1,0,0,0,1,1,0,0,0,0,1,1,1,1,1,0,1,1,1,1,0,1,1,1,0,1,1,0,0,0,0,1,1,1,1,0,1,0,1,0,1,0,0,0,1,0,1,1,1,1,0,0,0,1,1,1,1,0,0,1,0,0,0,1,1,0,0,1,0,0,1,1,1,1,0,0,0,1,0,0,1,0,1,0,1,1,0,1,0,1,0,0,1,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,1,0,0,0,1,1,1,1,1,1,0,0,0,1,1,0,0,1,1,1,0,1,0,1,0,1,0,1,0,1,0,1,1,0,0,1,1,1,1,0,0,1,0,1,0,0,0,1,0,1,1,0,1,1,0,0,1,0,1,1,0,0,1,1,0,0,1,1,1,0,1,0,0,0,1,1,1,0,0,1,1,1,0,1,1,1,1,0,0,0,1,1,0,0,0,1,0,0,0,0,0,0,1,1,1,1,1,0,0,1,1,1,0,1,0,1,1,1,1,1,1,0,1,0,1,0,1,1,1,0,1,1,1,1,0,1,0,0,1,0,0,1,1,0,1,0,0,1,0,1,0,1,0,1,1,0,1,1,0,0,1,0,0,0,1,1,1,0,1,1,1,0,1,0,0,1,0,1,0,1,0,1,0,1,0,0,1,1,1,0,0,1,0,1,1,1,1,1,0,0,1,0,1,0,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,1,0,0,0,0,1,0,1,1,0,1,0,0,0,1,1,1,0,1,1,1,1,0,1,1,0,1,1,0,0,0,1,0,1,0,1,1,0,1,0,1,0,0,1,0,0,1,0,0,1,1,0,0,1,1,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,1,1,0,1,1,0,0,1,0,0,1,1,1,1,1,1,0,1,1,1,0,1,0,0,1,0,0,0,0,0,0,0,1,0,0,0,1,1,0,0,0,0,1,0,1,0,0,1,1,1,1,0,0,1,0,1,1,0,1,1,0,0,0,1,0,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,0,0,0,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,0,0,1,0,0,1,0,0,1,1,1,0,0,0,0,1,0,1,0,1,0,0,0,0,1,0,1,1,1,0,1,0,1,1,0,0,0,1,0,1,0,1,0,1,0,0,1,0,1,0,0,1,1,0,0,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,1,0,0,1,1,0,0,0,1,0,1,1,0,0,1,1,0,1,1,1,0,0,0,1,0,0,1,1,1,0,1,1,0,1,1,1,0,0,0,0,0,1,0,1,0,1,0,0,0,1,0,1,0,1,1,0,1,1,1,0,1,0,1,0,1,1,1,0,0,0,0,0,1,1,1,0,1,1,0,1,0,1,0,0,0,1,0,1,1,0,0,1,0,1,0,0,1,0,0,0,1,0,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,0,1,1,0,0,0,0,1,0,0,1,0,1,1,1,0,0,1,1,0,0,0,1,0,0,0,0,0,1,0,1,0,0,1,0,0,0,1,1,0,0,1,0,0,1,0,1,1,1,0,1,1,1,0,1,0,1,0,0,0,0,0,1,0,1,0,0,0,1,1,0,0,1,0,0,0,1,1,0,0,1,0,1,1,0,1,1,1,1,0,0,1,1,0,0,0,1,0,1,0,1,1,1,0,1,0,1,1,1,0,1,1,1,0,0,1,0,1,0,1,1,1,1,0,1,0,1,1,1,0,1,1,0,0,0,0,0,1,1,0,1,1,0,1,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();
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,186,222,552,976,1004,1097,1109,1327,1541,1852,1921,2234,2752,2922,2976,3412,3785,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5781,5907,6202,6450,6709,6819,6849,6919,6988,7070,7473,7483,7758,7778,7812,7851,8167,8658,8733,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,186,222,552,976,1004,1097,1109,1327,1541,1852,1921,2234,2752,2922,2976,3412,3785,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5781,5907,6202,6450,6709,6819,6849,6919,6988,7070,7473,7483,7758,7778,7812,7851,8167,8658,8733,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,186,222,552,976,1004,1097,1109,1327,1541,1852,1921,2234,2752,2922,2976,3412,3785,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5781,5907,6202,6450,6709,6819,6849,6919,6988,7070,7473,7483,7758,7778,7812,7851,8167,8658,8733,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,186,222,552,976,1004,1097,1109,1327,1541,1852,1921,2234,2752,2922,2976,3412,3785,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5781,5907,6202,6450,6709,6819,6849,6919,6988,7070,7473,7483,7758,7778,7812,7851,8167,8658,8733,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,186,222,552,976,1004,1097,1109,1327,1541,1852,1921,2234,2752,2922,2976,3412,3785,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5781,5907,6202,6450,6709,6819,6849,6919,6988,7070,7473,7483,7758,7778,7812,7851,8167,8658,8733,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,186,222,552,976,1004,1097,1109,1327,1541,1852,1921,2234,2752,2922,2976,3412,3785,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5781,5907,6202,6450,6709,6819,6849,6919,6988,7070,7473,7483,7758,7778,7812,7851,8167,8658,8733,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,186,222,552,976,1004,1097,1109,1327,1541,1852,1921,2234,2752,2922,2976,3412,3785,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5781,5907,6202,6450,6709,6819,6849,6919,6988,7070,7473,7483,7758,7778,7812,7851,8167,8658,8733,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,186,222,552,976,1004,1097,1109,1327,1541,1852,1921,2234,2752,2922,2976,3412,3785,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5781,5907,6202,6450,6709,6819,6849,6919,6988,7070,7473,7483,7758,7778,7812,7851,8167,8658,8733,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,186,222,552,976,1004,1097,1109,1327,1541,1852,1921,2234,2752,2922,2976,3412,3785,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5781,5907,6202,6450,6709,6819,6849,6919,6988,7070,7473,7483,7758,7778,7812,7851,8167,8658,8733,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,186,222,552,976,1004,1097,1109,1327,1541,1852,1921,2234,2752,2922,2976,3412,3785,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5781,5907,6202,6450,6709,6819,6849,6919,6988,7070,7473,7483,7758,7778,7812,7851,8167,8658,8733,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,186,222,552,976,1004,1097,1109,1327,1541,1852,1921,2234,2752,2922,2976,3412,3785,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5781,5907,6202,6450,6709,6819,6849,6919,6988,7070,7473,7483,7758,7778,7812,7851,8167,8658,8733,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,186,222,552,976,1004,1097,1109,1327,1541,1852,1921,2234,2752,2922,2976,3412,3785,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5781,5907,6202,6450,6709,6819,6849,6919,6988,7070,7473,7483,7758,7778,7812,7851,8167,8658,8733,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,186,222,552,976,1004,1097,1109,1327,1541,1852,1921,2234,2752,2922,2976,3412,3785,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5781,5907,6202,6450,6709,6819,6849,6919,6988,7070,7473,7483,7758,7778,7812,7851,8167,8658,8733,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,186,222,552,976,1004,1097,1109,1327,1541,1852,1921,2234,2752,2922,2976,3412,3785,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5781,5907,6202,6450,6709,6819,6849,6919,6988,7070,7473,7483,7758,7778,7812,7851,8167,8658,8733,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,186,222,552,976,1004,1097,1109,1327,1541,1852,1921,2234,2752,2922,2976,3412,3785,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5781,5907,6202,6450,6709,6819,6849,6919,6988,7070,7473,7483,7758,7778,7812,7851,8167,8658,8733,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,186,222,552,976,1004,1097,1109,1327,1541,1852,1921,2234,2752,2922,2976,3412,3785,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5781,5907,6202,6450,6709,6819,6849,6919,6988,7070,7473,7483,7758,7778,7812,7851,8167,8658,8733,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,186,222,552,976,1004,1097,1109,1327,1541,1852,1921,2234,2752,2922,2976,3412,3785,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5781,5907,6202,6450,6709,6819,6849,6919,6988,7070,7473,7483,7758,7778,7812,7851,8167,8658,8733,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,186,222,552,976,1004,1097,1109,1327,1541,1852,1921,2234,2752,2922,2976,3412,3785,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5781,5907,6202,6450,6709,6819,6849,6919,6988,7070,7473,7483,7758,7778,7812,7851,8167,8658,8733,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,186,222,552,976,1004,1097,1109,1327,1541,1852,1921,2234,2752,2922,2976,3412,3785,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5781,5907,6202,6450,6709,6819,6849,6919,6988,7070,7473,7483,7758,7778,7812,7851,8167,8658,8733,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,186,222,552,976,1004,1097,1109,1327,1541,1852,1921,2234,2752,2922,2976,3412,3785,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5781,5907,6202,6450,6709,6819,6849,6919,6988,7070,7473,7483,7758,7778,7812,7851,8167,8658,8733,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,186,222,552,976,1004,1097,1109,1327,1541,1852,1921,2234,2752,2922,2976,3412,3785,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5781,5907,6202,6450,6709,6819,6849,6919,6988,7070,7473,7483,7758,7778,7812,7851,8167,8658,8733,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,186,222,552,976,1004,1097,1109,1327,1541,1852,1921,2234,2752,2922,2976,3412,3785,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5781,5907,6202,6450,6709,6819,6849,6919,6988,7070,7473,7483,7758,7778,7812,7851,8167,8658,8733,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,186,222,552,976,1004,1097,1109,1327,1541,1852,1921,2234,2752,2922,2976,3412,3785,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5781,5907,6202,6450,6709,6819,6849,6919,6988,7070,7473,7483,7758,7778,7812,7851,8167,8658,8733,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,186,222,552,976,1004,1097,1109,1327,1541,1852,1921,2234,2752,2922,2976,3412,3785,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5781,5907,6202,6450,6709,6819,6849,6919,6988,7070,7473,7483,7758,7778,7812,7851,8167,8658,8733,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,186,222,552,976,1004,1097,1109,1327,1541,1852,1921,2234,2752,2922,2976,3412,3785,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5781,5907,6202,6450,6709,6819,6849,6919,6988,7070,7473,7483,7758,7778,7812,7851,8167,8658,8733,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,186,222,552,976,1004,1097,1109,1327,1541,1852,1921,2234,2752,2922,2976,3412,3785,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5781,5907,6202,6450,6709,6819,6849,6919,6988,7070,7473,7483,7758,7778,7812,7851,8167,8658,8733,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,186,222,552,976,1004,1097,1109,1327,1541,1852,1921,2234,2752,2922,2976,3412,3785,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5781,5907,6202,6450,6709,6819,6849,6919,6988,7070,7473,7483,7758,7778,7812,7851,8167,8658,8733,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,186,222,552,976,1004,1097,1109,1327,1541,1852,1921,2234,2752,2922,2976,3412,3785,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5781,5907,6202,6450,6709,6819,6849,6919,6988,7070,7473,7483,7758,7778,7812,7851,8167,8658,8733,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,186,222,552,976,1004,1097,1109,1327,1541,1852,1921,2234,2752,2922,2976,3412,3785,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5781,5907,6202,6450,6709,6819,6849,6919,6988,7070,7473,7483,7758,7778,7812,7851,8167,8658,8733,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,186,222,552,976,1004,1097,1109,1327,1541,1852,1921,2234,2752,2922,2976,3412,3785,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5781,5907,6202,6450,6709,6819,6849,6919,6988,7070,7473,7483,7758,7778,7812,7851,8167,8658,8733,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,186,222,552,976,1004,1097,1109,1327,1541,1852,1921,2234,2752,2922,2976,3412,3785,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5781,5907,6202,6450,6709,6819,6849,6919,6988,7070,7473,7483,7758,7778,7812,7851,8167,8658,8733,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,186,222,552,976,1004,1097,1109,1327,1541,1852,1921,2234,2752,2922,2976,3412,3785,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5781,5907,6202,6450,6709,6819,6849,6919,6988,7070,7473,7483,7758,7778,7812,7851,8167,8658,8733,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,186,222,552,976,1004,1097,1109,1327,1541,1852,1921,2234,2752,2922,2976,3412,3785,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5781,5907,6202,6450,6709,6819,6849,6919,6988,7070,7473,7483,7758,7778,7812,7851,8167,8658,8733,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,186,222,552,976,1004,1097,1109,1327,1541,1852,1921,2234,2752,2922,2976,3412,3785,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5781,5907,6202,6450,6709,6819,6849,6919,6988,7070,7473,7483,7758,7778,7812,7851,8167,8658,8733,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,186,222,552,976,1004,1097,1109,1327,1541,1852,1921,2234,2752,2922,2976,3412,3785,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5781,5907,6202,6450,6709,6819,6849,6919,6988,7070,7473,7483,7758,7778,7812,7851,8167,8658,8733,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,186,222,552,976,1004,1097,1109,1327,1541,1852,1921,2234,2752,2922,2976,3412,3785,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5781,5907,6202,6450,6709,6819,6849,6919,6988,7070,7473,7483,7758,7778,7812,7851,8167,8658,8733,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,186,222,552,976,1004,1097,1109,1327,1541,1852,1921,2234,2752,2922,2976,3412,3785,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5781,5907,6202,6450,6709,6819,6849,6919,6988,7070,7473,7483,7758,7778,7812,7851,8167,8658,8733,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,186,222,552,976,1004,1097,1109,1327,1541,1852,1921,2234,2752,2922,2976,3412,3785,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5781,5907,6202,6450,6709,6819,6849,6919,6988,7070,7473,7483,7758,7778,7812,7851,8167,8658,8733,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,186,222,552,976,1004,1097,1109,1327,1541,1852,1921,2234,2752,2922,2976,3412,3785,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5781,5907,6202,6450,6709,6819,6849,6919,6988,7070,7473,7483,7758,7778,7812,7851,8167,8658,8733,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,186,222,552,976,1004,1097,1109,1327,1541,1852,1921,2234,2752,2922,2976,3412,3785,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5781,5907,6202,6450,6709,6819,6849,6919,6988,7070,7473,7483,7758,7778,7812,7851,8167,8658,8733,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,186,222,552,976,1004,1097,1109,1327,1541,1852,1921,2234,2752,2922,2976,3412,3785,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5781,5907,6202,6450,6709,6819,6849,6919,6988,7070,7473,7483,7758,7778,7812,7851,8167,8658,8733,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,186,222,552,976,1004,1097,1109,1327,1541,1852,1921,2234,2752,2922,2976,3412,3785,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5781,5907,6202,6450,6709,6819,6849,6919,6988,7070,7473,7483,7758,7778,7812,7851,8167,8658,8733,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,186,222,552,976,1004,1097,1109,1327,1541,1852,1921,2234,2752,2922,2976,3412,3785,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5781,5907,6202,6450,6709,6819,6849,6919,6988,7070,7473,7483,7758,7778,7812,7851,8167,8658,8733,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,186,222,552,976,1004,1097,1109,1327,1541,1852,1921,2234,2752,2922,2976,3412,3785,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5781,5907,6202,6450,6709,6819,6849,6919,6988,7070,7473,7483,7758,7778,7812,7851,8167,8658,8733,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,186,222,552,976,1004,1097,1109,1327,1541,1852,1921,2234,2752,2922,2976,3412,3785,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5781,5907,6202,6450,6709,6819,6849,6919,6988,7070,7473,7483,7758,7778,7812,7851,8167,8658,8733,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,186,222,552,976,1004,1097,1109,1327,1541,1852,1921,2234,2752,2922,2976,3412,3785,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5781,5907,6202,6450,6709,6819,6849,6919,6988,7070,7473,7483,7758,7778,7812,7851,8167,8658,8733,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,186,222,552,976,1004,1097,1109,1327,1541,1852,1921,2234,2752,2922,2976,3412,3785,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5781,5907,6202,6450,6709,6819,6849,6919,6988,7070,7473,7483,7758,7778,7812,7851,8167,8658,8733,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,186,222,552,976,1004,1097,1109,1327,1541,1852,1921,2234,2752,2922,2976,3412,3785,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5781,5907,6202,6450,6709,6819,6849,6919,6988,7070,7473,7483,7758,7778,7812,7851,8167,8658,8733,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,186,222,552,976,1004,1097,1109,1327,1541,1852,1921,2234,2752,2922,2976,3412,3785,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5781,5907,6202,6450,6709,6819,6849,6919,6988,7070,7473,7483,7758,7778,7812,7851,8167,8658,8733,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,186,222,552,976,1004,1097,1109,1327,1541,1852,1921,2234,2752,2922,2976,3412,3785,3851,3955,4037,4352,4368,4610,4896,5177,5221,5281,5738,5781,5907,6202,6450,6709,6819,6849,6919,6988,7070,7473,7483,7758,7778,7812,7851,8167,8658,8733,8743,8933,8974,9787,9949,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);