@seqyuan/annodex 0.1.61 → 0.1.63

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 (256) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +16 -8
  3. package/.next/build-manifest.json +3 -3
  4. package/.next/prerender-manifest.json +3 -3
  5. package/.next/react-loadable-manifest.json +2 -2
  6. package/.next/required-server-files.js +1 -1
  7. package/.next/required-server-files.json +1 -1
  8. package/.next/routes-manifest.json +48 -0
  9. package/.next/server/app/_global-error/page.js +3 -3
  10. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  11. package/.next/server/app/_global-error.html +1 -1
  12. package/.next/server/app/_global-error.rsc +1 -1
  13. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  14. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  15. package/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  16. package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  17. package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  18. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  19. package/.next/server/app/_not-found/page.js +2 -2
  20. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  21. package/.next/server/app/_not-found.html +1 -1
  22. package/.next/server/app/_not-found.rsc +2 -2
  23. package/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  24. package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  25. package/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  26. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  27. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  28. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  29. package/.next/server/app/api/agent/[id]/events/route.js +1 -1
  30. package/.next/server/app/api/agent/[id]/route.js +1 -1
  31. package/.next/server/app/api/agent/new/route.js +1 -1
  32. package/.next/server/app/api/agent/runtime/route.js +11 -1
  33. package/.next/server/app/api/auth/all-providers/route.js +1 -1
  34. package/.next/server/app/api/auth/api-key/[provider]/route.js +1 -1
  35. package/.next/server/app/api/auth/login/[provider]/route.js +1 -1
  36. package/.next/server/app/api/auth/login/route.js +1 -1
  37. package/.next/server/app/api/auth/logout/[provider]/route.js +1 -1
  38. package/.next/server/app/api/auth/providers/route.js +1 -1
  39. package/.next/server/app/api/auth/status/route.js +1 -1
  40. package/.next/server/app/api/default-cwd/route.js +1 -1
  41. package/.next/server/app/api/extensions/discover/route.js +1 -1
  42. package/.next/server/app/api/extensions/mcp/route.js +1 -1
  43. package/.next/server/app/api/extensions/plugin/route.js +1 -1
  44. package/.next/server/app/api/extensions/plugin-marketplace/route.js +1 -1
  45. package/.next/server/app/api/extensions/route.js +1 -1
  46. package/.next/server/app/api/extensions/session/route.js +1 -1
  47. package/.next/server/app/api/files/[...path]/route.js +1 -1
  48. package/.next/server/app/api/harness/route.js +1 -1
  49. package/.next/server/app/api/home/route.js +1 -1
  50. package/.next/server/app/api/im/project/route.js +2 -0
  51. package/.next/server/app/api/im/project/route.js.nft.json +1 -0
  52. package/.next/server/app/api/im/project/route_client-reference-manifest.js +1 -0
  53. package/.next/server/app/api/im/projects/route.js +2 -0
  54. package/.next/server/app/api/im/projects/route.js.nft.json +1 -0
  55. package/.next/server/app/api/im/projects/route_client-reference-manifest.js +1 -0
  56. package/.next/server/app/api/im/turn/route.js +2 -0
  57. package/.next/server/app/api/im/turn/route.js.nft.json +1 -0
  58. package/.next/server/app/api/im/turn/route_client-reference-manifest.js +1 -0
  59. package/.next/server/app/api/images/upload/route.js +1 -1
  60. package/.next/server/app/api/internal/runtime/route.js +1 -1
  61. package/.next/server/app/api/memory/promote/route.js +11 -0
  62. package/.next/server/app/api/memory/promote/route.js.nft.json +1 -0
  63. package/.next/server/app/api/memory/promote/route_client-reference-manifest.js +1 -0
  64. package/.next/server/app/api/memory/recall/route.js +13 -0
  65. package/.next/server/app/api/memory/recall/route.js.nft.json +1 -0
  66. package/.next/server/app/api/memory/recall/route_client-reference-manifest.js +1 -0
  67. package/.next/server/app/api/memory/reflect/route.js +11 -0
  68. package/.next/server/app/api/memory/reflect/route.js.nft.json +1 -0
  69. package/.next/server/app/api/memory/reflect/route_client-reference-manifest.js +1 -0
  70. package/.next/server/app/api/memory/retain/route.js +11 -0
  71. package/.next/server/app/api/memory/retain/route.js.nft.json +1 -0
  72. package/.next/server/app/api/memory/retain/route_client-reference-manifest.js +1 -0
  73. package/.next/server/app/api/memory/status/route.js +11 -0
  74. package/.next/server/app/api/memory/status/route.js.nft.json +1 -0
  75. package/.next/server/app/api/memory/status/route_client-reference-manifest.js +1 -0
  76. package/.next/server/app/api/models/route.js +1 -1
  77. package/.next/server/app/api/models-config/discover/route.js +1 -1
  78. package/.next/server/app/api/models-config/route.js +1 -1
  79. package/.next/server/app/api/models-config/test/route.js +1 -1
  80. package/.next/server/app/api/projects/browse/route.js +1 -1
  81. package/.next/server/app/api/projects/route.js +1 -1
  82. package/.next/server/app/api/search/route.js +1 -1
  83. package/.next/server/app/api/sessions/[id]/context/route.js +1 -1
  84. package/.next/server/app/api/sessions/[id]/route.js +1 -1
  85. package/.next/server/app/api/sessions/new/route.js +1 -1
  86. package/.next/server/app/api/sessions/route.js +1 -1
  87. package/.next/server/app/api/settings/route.js +1 -1
  88. package/.next/server/app/api/skills/install/route.js +2 -2
  89. package/.next/server/app/api/skills/route.js +2 -2
  90. package/.next/server/app/api/skills/search/route.js +1 -1
  91. package/.next/server/app/api/soul/route.js +1 -1
  92. package/.next/server/app/api/version/route.js +1 -1
  93. package/.next/server/app/docs/changelog/page.js +2 -2
  94. package/.next/server/app/docs/changelog/page_client-reference-manifest.js +1 -1
  95. package/.next/server/app/docs/changelog.html +2 -2
  96. package/.next/server/app/docs/changelog.rsc +2 -2
  97. package/.next/server/app/docs/changelog.segments/_full.segment.rsc +2 -2
  98. package/.next/server/app/docs/changelog.segments/_head.segment.rsc +1 -1
  99. package/.next/server/app/docs/changelog.segments/_index.segment.rsc +2 -2
  100. package/.next/server/app/docs/changelog.segments/_tree.segment.rsc +2 -2
  101. package/.next/server/app/docs/changelog.segments/docs/changelog/__PAGE__.segment.rsc +1 -1
  102. package/.next/server/app/docs/changelog.segments/docs/changelog.segment.rsc +1 -1
  103. package/.next/server/app/docs/changelog.segments/docs.segment.rsc +1 -1
  104. package/.next/server/app/index.html +1 -1
  105. package/.next/server/app/index.rsc +2 -2
  106. package/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  107. package/.next/server/app/index.segments/_full.segment.rsc +2 -2
  108. package/.next/server/app/index.segments/_head.segment.rsc +1 -1
  109. package/.next/server/app/index.segments/_index.segment.rsc +2 -2
  110. package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  111. package/.next/server/app/login/page.js +2 -2
  112. package/.next/server/app/login/page_client-reference-manifest.js +1 -1
  113. package/.next/server/app/login.html +1 -1
  114. package/.next/server/app/login.rsc +2 -2
  115. package/.next/server/app/login.segments/_full.segment.rsc +2 -2
  116. package/.next/server/app/login.segments/_head.segment.rsc +1 -1
  117. package/.next/server/app/login.segments/_index.segment.rsc +2 -2
  118. package/.next/server/app/login.segments/_tree.segment.rsc +2 -2
  119. package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +1 -1
  120. package/.next/server/app/login.segments/login.segment.rsc +1 -1
  121. package/.next/server/app/page.js +2 -2
  122. package/.next/server/app/page_client-reference-manifest.js +1 -1
  123. package/.next/server/app/workspace/page.js +4 -4
  124. package/.next/server/app/workspace/page_client-reference-manifest.js +1 -1
  125. package/.next/server/app/workspace.html +1 -1
  126. package/.next/server/app/workspace.rsc +3 -3
  127. package/.next/server/app/workspace.segments/_full.segment.rsc +3 -3
  128. package/.next/server/app/workspace.segments/_head.segment.rsc +1 -1
  129. package/.next/server/app/workspace.segments/_index.segment.rsc +2 -2
  130. package/.next/server/app/workspace.segments/_tree.segment.rsc +2 -2
  131. package/.next/server/app/workspace.segments/workspace/__PAGE__.segment.rsc +2 -2
  132. package/.next/server/app/workspace.segments/workspace.segment.rsc +1 -1
  133. package/.next/server/app-paths-manifest.json +16 -8
  134. package/.next/server/chunks/6429.js +1 -1
  135. package/.next/server/chunks/6718.js +1 -1
  136. package/.next/server/chunks/6983.js +1 -1
  137. package/.next/server/chunks/8875.js +1 -1
  138. package/.next/server/middleware-build-manifest.js +1 -1
  139. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  140. package/.next/server/pages/404.html +1 -1
  141. package/.next/server/pages/500.html +1 -1
  142. package/.next/server/server-reference-manifest.json +1 -1
  143. package/.next/static/chunks/{3308.465a94263d04bfea.js → 3308.15865ff66152df82.js} +1 -1
  144. package/.next/static/chunks/{1852.5543122f11aa7fed.js → 9471.95facb3cb29a466e.js} +1 -1
  145. package/.next/static/chunks/app/_global-error/page-44cbd53a31a3f701.js +1 -0
  146. package/.next/static/chunks/app/api/agent/[id]/events/route-44cbd53a31a3f701.js +1 -0
  147. package/.next/static/chunks/app/api/agent/[id]/route-44cbd53a31a3f701.js +1 -0
  148. package/.next/static/chunks/app/api/agent/new/route-44cbd53a31a3f701.js +1 -0
  149. package/.next/static/chunks/app/api/agent/runtime/route-44cbd53a31a3f701.js +1 -0
  150. package/.next/static/chunks/app/api/auth/all-providers/route-44cbd53a31a3f701.js +1 -0
  151. package/.next/static/chunks/app/api/auth/api-key/[provider]/route-44cbd53a31a3f701.js +1 -0
  152. package/.next/static/chunks/app/api/auth/login/[provider]/route-44cbd53a31a3f701.js +1 -0
  153. package/.next/static/chunks/app/api/auth/login/route-44cbd53a31a3f701.js +1 -0
  154. package/.next/static/chunks/app/api/auth/logout/[provider]/route-44cbd53a31a3f701.js +1 -0
  155. package/.next/static/chunks/app/api/auth/providers/route-44cbd53a31a3f701.js +1 -0
  156. package/.next/static/chunks/app/api/auth/status/route-44cbd53a31a3f701.js +1 -0
  157. package/.next/static/chunks/app/api/default-cwd/route-44cbd53a31a3f701.js +1 -0
  158. package/.next/static/chunks/app/api/extensions/discover/route-44cbd53a31a3f701.js +1 -0
  159. package/.next/static/chunks/app/api/extensions/mcp/route-44cbd53a31a3f701.js +1 -0
  160. package/.next/static/chunks/app/api/extensions/plugin/route-44cbd53a31a3f701.js +1 -0
  161. package/.next/static/chunks/app/api/extensions/plugin-marketplace/route-44cbd53a31a3f701.js +1 -0
  162. package/.next/static/chunks/app/api/extensions/route-44cbd53a31a3f701.js +1 -0
  163. package/.next/static/chunks/app/api/extensions/session/route-44cbd53a31a3f701.js +1 -0
  164. package/.next/static/chunks/app/api/files/[...path]/route-44cbd53a31a3f701.js +1 -0
  165. package/.next/static/chunks/app/api/harness/route-44cbd53a31a3f701.js +1 -0
  166. package/.next/static/chunks/app/api/home/route-44cbd53a31a3f701.js +1 -0
  167. package/.next/static/chunks/app/api/im/project/route-44cbd53a31a3f701.js +1 -0
  168. package/.next/static/chunks/app/api/im/projects/route-44cbd53a31a3f701.js +1 -0
  169. package/.next/static/chunks/app/api/im/turn/route-44cbd53a31a3f701.js +1 -0
  170. package/.next/static/chunks/app/api/images/upload/route-44cbd53a31a3f701.js +1 -0
  171. package/.next/static/chunks/app/api/internal/runtime/route-44cbd53a31a3f701.js +1 -0
  172. package/.next/static/chunks/app/api/memory/promote/route-44cbd53a31a3f701.js +1 -0
  173. package/.next/static/chunks/app/api/memory/recall/route-44cbd53a31a3f701.js +1 -0
  174. package/.next/static/chunks/app/api/memory/reflect/route-44cbd53a31a3f701.js +1 -0
  175. package/.next/static/chunks/app/api/memory/retain/route-44cbd53a31a3f701.js +1 -0
  176. package/.next/static/chunks/app/api/memory/status/route-44cbd53a31a3f701.js +1 -0
  177. package/.next/static/chunks/app/api/models/route-44cbd53a31a3f701.js +1 -0
  178. package/.next/static/chunks/app/api/models-config/discover/route-44cbd53a31a3f701.js +1 -0
  179. package/.next/static/chunks/app/api/models-config/route-44cbd53a31a3f701.js +1 -0
  180. package/.next/static/chunks/app/api/models-config/test/route-44cbd53a31a3f701.js +1 -0
  181. package/.next/static/chunks/app/api/projects/browse/route-44cbd53a31a3f701.js +1 -0
  182. package/.next/static/chunks/app/api/projects/route-44cbd53a31a3f701.js +1 -0
  183. package/.next/static/chunks/app/api/search/route-44cbd53a31a3f701.js +1 -0
  184. package/.next/static/chunks/app/api/sessions/[id]/context/route-44cbd53a31a3f701.js +1 -0
  185. package/.next/static/chunks/app/api/sessions/[id]/route-44cbd53a31a3f701.js +1 -0
  186. package/.next/static/chunks/app/api/sessions/new/route-44cbd53a31a3f701.js +1 -0
  187. package/.next/static/chunks/app/api/sessions/route-44cbd53a31a3f701.js +1 -0
  188. package/.next/static/chunks/app/api/settings/route-44cbd53a31a3f701.js +1 -0
  189. package/.next/static/chunks/app/api/skills/install/route-44cbd53a31a3f701.js +1 -0
  190. package/.next/static/chunks/app/api/skills/route-44cbd53a31a3f701.js +1 -0
  191. package/.next/static/chunks/app/api/skills/search/route-44cbd53a31a3f701.js +1 -0
  192. package/.next/static/chunks/app/api/soul/route-44cbd53a31a3f701.js +1 -0
  193. package/.next/static/chunks/app/api/version/route-44cbd53a31a3f701.js +1 -0
  194. package/.next/static/chunks/app/page-44cbd53a31a3f701.js +1 -0
  195. package/.next/static/chunks/app/workspace/{page-149a3a36fe479469.js → page-ec626aa0d187e7a8.js} +8 -8
  196. package/.next/static/chunks/next/dist/client/components/builtin/app-error-44cbd53a31a3f701.js +1 -0
  197. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-44cbd53a31a3f701.js +1 -0
  198. package/.next/static/chunks/next/dist/client/components/builtin/not-found-44cbd53a31a3f701.js +1 -0
  199. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-44cbd53a31a3f701.js +1 -0
  200. package/.next/static/chunks/webpack-8ff073aee98f20c0.js +1 -0
  201. package/.next/static/css/ff52c68aa30cd040.css +1 -0
  202. package/.next/static/niuAtSJwNh4Mqku9060kD/_buildManifest.js +1 -0
  203. package/README.md +73 -13
  204. package/bin/annodex-im-gateway.js +555 -0
  205. package/bin/annodex-memory-mcp.js +274 -0
  206. package/package.json +6 -2
  207. package/.next/static/aUWbDIDTRIaAbbm7zyiCu/_buildManifest.js +0 -1
  208. package/.next/static/chunks/app/_global-error/page-d4ca0a154ed106dc.js +0 -1
  209. package/.next/static/chunks/app/api/agent/[id]/events/route-d4ca0a154ed106dc.js +0 -1
  210. package/.next/static/chunks/app/api/agent/[id]/route-d4ca0a154ed106dc.js +0 -1
  211. package/.next/static/chunks/app/api/agent/new/route-d4ca0a154ed106dc.js +0 -1
  212. package/.next/static/chunks/app/api/agent/runtime/route-d4ca0a154ed106dc.js +0 -1
  213. package/.next/static/chunks/app/api/auth/all-providers/route-d4ca0a154ed106dc.js +0 -1
  214. package/.next/static/chunks/app/api/auth/api-key/[provider]/route-d4ca0a154ed106dc.js +0 -1
  215. package/.next/static/chunks/app/api/auth/login/[provider]/route-d4ca0a154ed106dc.js +0 -1
  216. package/.next/static/chunks/app/api/auth/login/route-d4ca0a154ed106dc.js +0 -1
  217. package/.next/static/chunks/app/api/auth/logout/[provider]/route-d4ca0a154ed106dc.js +0 -1
  218. package/.next/static/chunks/app/api/auth/providers/route-d4ca0a154ed106dc.js +0 -1
  219. package/.next/static/chunks/app/api/auth/status/route-d4ca0a154ed106dc.js +0 -1
  220. package/.next/static/chunks/app/api/default-cwd/route-d4ca0a154ed106dc.js +0 -1
  221. package/.next/static/chunks/app/api/extensions/discover/route-d4ca0a154ed106dc.js +0 -1
  222. package/.next/static/chunks/app/api/extensions/mcp/route-d4ca0a154ed106dc.js +0 -1
  223. package/.next/static/chunks/app/api/extensions/plugin/route-d4ca0a154ed106dc.js +0 -1
  224. package/.next/static/chunks/app/api/extensions/plugin-marketplace/route-d4ca0a154ed106dc.js +0 -1
  225. package/.next/static/chunks/app/api/extensions/route-d4ca0a154ed106dc.js +0 -1
  226. package/.next/static/chunks/app/api/extensions/session/route-d4ca0a154ed106dc.js +0 -1
  227. package/.next/static/chunks/app/api/files/[...path]/route-d4ca0a154ed106dc.js +0 -1
  228. package/.next/static/chunks/app/api/harness/route-d4ca0a154ed106dc.js +0 -1
  229. package/.next/static/chunks/app/api/home/route-d4ca0a154ed106dc.js +0 -1
  230. package/.next/static/chunks/app/api/images/upload/route-d4ca0a154ed106dc.js +0 -1
  231. package/.next/static/chunks/app/api/internal/runtime/route-d4ca0a154ed106dc.js +0 -1
  232. package/.next/static/chunks/app/api/models/route-d4ca0a154ed106dc.js +0 -1
  233. package/.next/static/chunks/app/api/models-config/discover/route-d4ca0a154ed106dc.js +0 -1
  234. package/.next/static/chunks/app/api/models-config/route-d4ca0a154ed106dc.js +0 -1
  235. package/.next/static/chunks/app/api/models-config/test/route-d4ca0a154ed106dc.js +0 -1
  236. package/.next/static/chunks/app/api/projects/browse/route-d4ca0a154ed106dc.js +0 -1
  237. package/.next/static/chunks/app/api/projects/route-d4ca0a154ed106dc.js +0 -1
  238. package/.next/static/chunks/app/api/search/route-d4ca0a154ed106dc.js +0 -1
  239. package/.next/static/chunks/app/api/sessions/[id]/context/route-d4ca0a154ed106dc.js +0 -1
  240. package/.next/static/chunks/app/api/sessions/[id]/route-d4ca0a154ed106dc.js +0 -1
  241. package/.next/static/chunks/app/api/sessions/new/route-d4ca0a154ed106dc.js +0 -1
  242. package/.next/static/chunks/app/api/sessions/route-d4ca0a154ed106dc.js +0 -1
  243. package/.next/static/chunks/app/api/settings/route-d4ca0a154ed106dc.js +0 -1
  244. package/.next/static/chunks/app/api/skills/install/route-d4ca0a154ed106dc.js +0 -1
  245. package/.next/static/chunks/app/api/skills/route-d4ca0a154ed106dc.js +0 -1
  246. package/.next/static/chunks/app/api/skills/search/route-d4ca0a154ed106dc.js +0 -1
  247. package/.next/static/chunks/app/api/soul/route-d4ca0a154ed106dc.js +0 -1
  248. package/.next/static/chunks/app/api/version/route-d4ca0a154ed106dc.js +0 -1
  249. package/.next/static/chunks/app/page-d4ca0a154ed106dc.js +0 -1
  250. package/.next/static/chunks/next/dist/client/components/builtin/app-error-d4ca0a154ed106dc.js +0 -1
  251. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-d4ca0a154ed106dc.js +0 -1
  252. package/.next/static/chunks/next/dist/client/components/builtin/not-found-d4ca0a154ed106dc.js +0 -1
  253. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-d4ca0a154ed106dc.js +0 -1
  254. package/.next/static/chunks/webpack-4056c182d935c524.js +0 -1
  255. package/.next/static/css/a79090e5f63d164f.css +0 -1
  256. /package/.next/static/{aUWbDIDTRIaAbbm7zyiCu → niuAtSJwNh4Mqku9060kD}/_ssgManifest.js +0 -0
@@ -0,0 +1,274 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+
4
+ const fs = require("fs");
5
+ const http = require("http");
6
+ const https = require("https");
7
+ const os = require("os");
8
+ const path = require("path");
9
+ const readline = require("readline");
10
+
11
+ const SERVER_NAME = "annodex-memory";
12
+ const SERVER_VERSION = "0.1.0";
13
+ const PROTOCOL_VERSION = "2024-11-05";
14
+
15
+ function envFirst(...names) {
16
+ for (const name of names) {
17
+ const value = process.env[name];
18
+ if (value !== undefined && value !== "") return value;
19
+ }
20
+ return undefined;
21
+ }
22
+
23
+ function getAgentDir() {
24
+ return envFirst("ANNODEX_CONFIG_DIR", "ANNOVIBE_CONFIG_DIR") ?? path.join(os.homedir(), ".config", "annodex");
25
+ }
26
+
27
+ function resolveBaseUrl() {
28
+ const explicit = envFirst("ANNODEX_URL", "ANNOVIBE_URL");
29
+ if (explicit) return explicit.replace(/\/$/, "");
30
+
31
+ const port = envFirst("ANNODEX_PORT", "PORT") ?? readStatePort() ?? "30121";
32
+ const hostname = envFirst("ANNODEX_HOST", "HOSTNAME") ?? "127.0.0.1";
33
+ return `http://${hostname}:${port}`;
34
+ }
35
+
36
+ function readStatePort() {
37
+ const statePath = path.join(getAgentDir(), "annodex.json");
38
+ try {
39
+ const state = JSON.parse(fs.readFileSync(statePath, "utf8"));
40
+ if (state?.port) return String(state.port);
41
+ if (state?.url) {
42
+ const url = new URL(String(state.url));
43
+ return url.port || (url.protocol === "https:" ? "443" : "80");
44
+ }
45
+ } catch {
46
+ // ignore
47
+ }
48
+ return undefined;
49
+ }
50
+
51
+ function requestJson(method, pathname, body) {
52
+ const baseUrl = resolveBaseUrl();
53
+ const url = new URL(pathname, baseUrl);
54
+ const payload = body === undefined ? undefined : JSON.stringify(body);
55
+ const lib = url.protocol === "https:" ? https : http;
56
+
57
+ return new Promise((resolve, reject) => {
58
+ const req = lib.request(
59
+ url,
60
+ {
61
+ method,
62
+ headers: payload
63
+ ? {
64
+ "Content-Type": "application/json",
65
+ "Content-Length": Buffer.byteLength(payload),
66
+ }
67
+ : undefined,
68
+ },
69
+ (res) => {
70
+ let data = "";
71
+ res.setEncoding("utf8");
72
+ res.on("data", (chunk) => { data += chunk; });
73
+ res.on("end", () => {
74
+ let parsed;
75
+ try {
76
+ parsed = data ? JSON.parse(data) : {};
77
+ } catch (error) {
78
+ reject(new Error(`Invalid JSON from ${url}: ${String(error)}`));
79
+ return;
80
+ }
81
+ if (res.statusCode && res.statusCode >= 400) {
82
+ reject(new Error(parsed.error ?? `HTTP ${res.statusCode}`));
83
+ return;
84
+ }
85
+ resolve(parsed);
86
+ });
87
+ },
88
+ );
89
+ req.on("error", reject);
90
+ if (payload) req.write(payload);
91
+ req.end();
92
+ });
93
+ }
94
+
95
+ const TOOLS = [
96
+ {
97
+ name: "retain",
98
+ description: "Store important facts in project memory for later recall.",
99
+ inputSchema: {
100
+ type: "object",
101
+ properties: {
102
+ items: {
103
+ type: "array",
104
+ minItems: 1,
105
+ items: {
106
+ type: "object",
107
+ properties: {
108
+ content: { type: "string", description: "Information to remember." },
109
+ context: { type: "string", description: "Short source context for the memory." },
110
+ importance: { type: "number", description: "Priority from 0 to 1." },
111
+ memoryType: {
112
+ type: "string",
113
+ enum: ["fact", "context", "preference", "decision", "note"],
114
+ description: "Memory category.",
115
+ },
116
+ },
117
+ required: ["content"],
118
+ },
119
+ },
120
+ },
121
+ required: ["items"],
122
+ },
123
+ },
124
+ {
125
+ name: "recall",
126
+ description: "Search project memory for relevant prior context.",
127
+ inputSchema: {
128
+ type: "object",
129
+ properties: {
130
+ query: { type: "string", description: "Natural-language memory search query." },
131
+ limit: { type: "number", description: "Maximum results to return." },
132
+ },
133
+ required: ["query"],
134
+ },
135
+ },
136
+ {
137
+ name: "reflect",
138
+ description: "Synthesize an answer from recalled project memory.",
139
+ inputSchema: {
140
+ type: "object",
141
+ properties: {
142
+ query: { type: "string", description: "Question to answer from project memory." },
143
+ context: { type: "string", description: "Optional extra context to bias the reflection." },
144
+ limit: { type: "number", description: "Maximum recall results to use." },
145
+ },
146
+ required: ["query"],
147
+ },
148
+ },
149
+ ];
150
+
151
+ function textResult(text) {
152
+ return {
153
+ content: [{ type: "text", text }],
154
+ };
155
+ }
156
+
157
+ async function handleToolCall(name, args) {
158
+ const cwd = process.cwd();
159
+ const sessionId = envFirst("CODEX_THREAD_ID", "ANNODEX_SESSION_ID") ?? "";
160
+
161
+ if (name === "retain") {
162
+ const items = Array.isArray(args?.items) ? args.items : [];
163
+ if (items.length === 0) throw new Error("retain requires at least one item");
164
+ const data = await requestJson("POST", "/api/memory/retain", { cwd, sessionId, items });
165
+ const count = Array.isArray(data.stored) ? data.stored.length : 0;
166
+ return textResult(`${count} ${count === 1 ? "memory" : "memories"} stored.`);
167
+ }
168
+
169
+ if (name === "recall") {
170
+ const query = typeof args?.query === "string" ? args.query : "";
171
+ if (!query.trim()) throw new Error("recall requires a query");
172
+ const limit = typeof args?.limit === "number" ? args.limit : 5;
173
+ const params = new URLSearchParams({ cwd, query, limit: String(limit) });
174
+ const data = await requestJson("GET", `/api/memory/recall?${params}`);
175
+ return textResult(typeof data.text === "string" ? data.text : "No relevant memories found.");
176
+ }
177
+
178
+ if (name === "reflect") {
179
+ const query = typeof args?.query === "string" ? args.query : "";
180
+ if (!query.trim()) throw new Error("reflect requires a query");
181
+ const data = await requestJson("POST", "/api/memory/reflect", {
182
+ cwd,
183
+ query,
184
+ context: typeof args?.context === "string" ? args.context : undefined,
185
+ limit: typeof args?.limit === "number" ? args.limit : 5,
186
+ });
187
+ return textResult(typeof data.answer === "string" ? data.answer : "No relevant information found to reflect on.");
188
+ }
189
+
190
+ throw new Error(`Unknown tool: ${name}`);
191
+ }
192
+
193
+ function sendMessage(message) {
194
+ process.stdout.write(`${JSON.stringify(message)}\n`);
195
+ }
196
+
197
+ function handleRequest(message) {
198
+ const { id, method, params } = message;
199
+
200
+ if (method === "initialize") {
201
+ sendMessage({
202
+ jsonrpc: "2.0",
203
+ id,
204
+ result: {
205
+ protocolVersion: PROTOCOL_VERSION,
206
+ capabilities: { tools: {} },
207
+ serverInfo: { name: SERVER_NAME, version: SERVER_VERSION },
208
+ },
209
+ });
210
+ return;
211
+ }
212
+
213
+ if (method === "notifications/initialized") {
214
+ return;
215
+ }
216
+
217
+ if (method === "tools/list") {
218
+ sendMessage({
219
+ jsonrpc: "2.0",
220
+ id,
221
+ result: { tools: TOOLS },
222
+ });
223
+ return;
224
+ }
225
+
226
+ if (method === "tools/call") {
227
+ const toolName = params?.name;
228
+ const args = params?.arguments ?? {};
229
+ handleToolCall(toolName, args)
230
+ .then((result) => {
231
+ sendMessage({ jsonrpc: "2.0", id, result });
232
+ })
233
+ .catch((error) => {
234
+ sendMessage({
235
+ jsonrpc: "2.0",
236
+ id,
237
+ result: {
238
+ content: [{ type: "text", text: error instanceof Error ? error.message : String(error) }],
239
+ isError: true,
240
+ },
241
+ });
242
+ });
243
+ return;
244
+ }
245
+
246
+ if (method === "ping") {
247
+ sendMessage({ jsonrpc: "2.0", id, result: {} });
248
+ return;
249
+ }
250
+
251
+ if (id !== undefined) {
252
+ sendMessage({
253
+ jsonrpc: "2.0",
254
+ id,
255
+ error: { code: -32601, message: `Method not found: ${method}` },
256
+ });
257
+ }
258
+ }
259
+
260
+ const rl = readline.createInterface({ input: process.stdin, crlfDelay: Infinity });
261
+ rl.on("line", (line) => {
262
+ const trimmed = line.trim();
263
+ if (!trimmed) return;
264
+ let message;
265
+ try {
266
+ message = JSON.parse(trimmed);
267
+ } catch {
268
+ return;
269
+ }
270
+ if (!message || typeof message !== "object") return;
271
+ handleRequest(message);
272
+ });
273
+
274
+ process.stdin.on("end", () => process.exit(0));
package/package.json CHANGED
@@ -1,13 +1,17 @@
1
1
  {
2
2
  "name": "@seqyuan/annodex",
3
- "version": "0.1.61",
3
+ "version": "0.1.63",
4
4
  "description": "AI-native bioinformatics workspace by Annoroad",
5
5
  "license": "MIT",
6
6
  "bin": {
7
- "annodex": "bin/annodex.js"
7
+ "annodex": "bin/annodex.js",
8
+ "annodex-memory-mcp": "bin/annodex-memory-mcp.js",
9
+ "annodex-im-gateway": "bin/annodex-im-gateway.js"
8
10
  },
9
11
  "files": [
10
12
  "bin",
13
+ "bin/annodex-memory-mcp.js",
14
+ "bin/annodex-im-gateway.js",
11
15
  ".next",
12
16
  "!.next/cache",
13
17
  "!.next/dev",
@@ -1 +0,0 @@
1
- self.__BUILD_MANIFEST={__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},__routerFilterStatic:{numItems:38,errorRate:1e-4,numBits:729,numHashes:14,bitArray:[0,0,1,0,1,0,0,1,0,0,1,0,1,0,0,0,1,0,0,0,1,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,1,0,0,1,1,0,1,1,0,1,0,0,1,0,0,0,1,0,1,1,1,0,0,1,0,1,1,1,0,1,1,1,0,1,0,0,1,1,1,0,1,1,0,1,1,1,1,1,0,1,1,1,1,0,1,0,0,0,0,0,0,0,1,1,0,1,1,1,0,1,0,1,0,0,0,0,0,1,1,1,0,0,1,0,0,0,1,1,0,0,1,0,1,0,0,1,1,1,1,0,0,0,1,0,1,0,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,1,1,0,0,0,1,0,1,0,0,1,1,1,0,1,1,1,1,1,0,1,0,0,0,0,1,0,1,1,1,1,1,1,0,0,0,1,0,1,1,1,1,1,1,1,1,0,1,0,0,1,1,0,1,0,0,0,1,0,1,0,1,0,1,1,0,1,1,1,0,0,1,0,1,1,1,0,1,0,0,0,0,1,0,0,0,1,0,1,0,0,1,1,1,1,0,0,0,0,1,0,0,1,0,1,1,1,1,1,0,0,1,0,1,0,0,1,0,0,1,1,0,0,1,1,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,1,0,1,0,0,1,0,0,0,0,0,0,0,1,1,0,1,0,1,0,1,1,0,1,1,0,1,1,0,0,1,0,1,0,0,1,1,0,0,0,0,0,0,1,0,1,1,0,0,1,1,1,0,1,0,1,0,1,1,1,0,0,1,1,0,1,0,0,0,1,0,0,0,0,0,0,1,1,0,0,0,1,1,1,0,0,1,1,0,0,0,1,0,0,0,1,1,0,0,1,0,1,0,1,1,1,1,0,1,1,1,1,1,0,0,1,0,1,1,1,0,1,0,0,0,1,1,0,0,0,1,0,0,0,1,1,0,0,1,1,0,1,1,1,0,0,0,1,0,1,1,1,0,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,1,0,1,1,1,0,1,1,1,0,1,1,1,0,0,0,1,0,1,1,1,0,0,1,0,1,0,1,0,0,0,0,1,1,1,1,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,1,0,0,1,0,1,1,0,0,1,1,1,1,1,1,1,0,1,1,0,0,1,0,1,1,1,0,1,0,1,1,0,0,1,1,1,1,0,0,1,0,1,1,0,0,0,0,0,0,0,1,1,0,0,1,1,1,0,1,1,1,0,0,0,1,0,0,1,1,1,1,0,0,1,0,0,0,1,0,0,1,0,0,1,0,1,1,0,0,1,0,0,1,0,1,1,0,1,1,0,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,1,1,0,0,0,0,0,1,0,1,0,1,1,1,1,1,0,0,1,0,1,0,1,0,0,1,1,0,0,0,0,1,0,1,0,1,0,0,1,0,1,0,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,0,0,0,1,0,1,0,1,0,0,1,1,0,1,1,0,0,1,1,1,1,0,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();
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,2976,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()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,2976,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()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,2976,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()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,2976,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()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,2976,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()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,2976,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()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,2976,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()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,2976,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()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,2976,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()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,2976,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()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,2976,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()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,2976,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()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,2976,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()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,2976,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()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,2976,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()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,2976,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()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,2976,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()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,2976,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()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,2976,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()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,2976,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()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,2976,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()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,2976,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()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,2976,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()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,2976,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()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,2976,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()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,2976,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()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,2976,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()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,2976,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()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,2976,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()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,2976,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()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,2976,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()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,2976,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()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,2976,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()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,2976,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()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,2976,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()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,2976,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()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,2976,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()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,2976,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()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,2976,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()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,2976,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()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,2976,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()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,2976,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()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,2976,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()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,2976,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()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,2976,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()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,222,552,976,1004,1097,1327,1541,1921,2234,2752,2922,2976,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()}]);
@@ -1 +0,0 @@
1
- (()=>{"use strict";var e,t,a,r,c,d,f,o,b={},n={};function i(e){var t=n[e];if(void 0!==t)return t.exports;var a=n[e]={exports:{}},r=!0;try{b[e].call(a.exports,a,a.exports,i),r=!1}finally{r&&delete n[e]}return a.exports}i.m=b,e=[],i.O=(t,a,r,c)=>{if(a){c=c||0;for(var d=e.length;d>0&&e[d-1][2]>c;d--)e[d]=e[d-1];e[d]=[a,r,c];return}for(var f=1/0,d=0;d<e.length;d++){for(var[a,r,c]=e[d],o=!0,b=0;b<a.length;b++)(!1&c||f>=c)&&Object.keys(i.O).every(e=>i.O[e](a[b]))?a.splice(b--,1):(o=!1,c<f&&(f=c));if(o){e.splice(d--,1);var n=r();void 0!==n&&(t=n)}}return t},i.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return i.d(t,{a:t}),t},a=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,i.t=function(e,r){if(1&r&&(e=this(e)),8&r||"object"==typeof e&&e&&(4&r&&e.__esModule||16&r&&"function"==typeof e.then))return e;var c=Object.create(null);i.r(c);var d={};t=t||[null,a({}),a([]),a(a)];for(var f=2&r&&e;"object"==typeof f&&!~t.indexOf(f);f=a(f))Object.getOwnPropertyNames(f).forEach(t=>d[t]=()=>e[t]);return d.default=()=>e,i.d(c,d),c},i.d=(e,t)=>{for(var a in t)i.o(t,a)&&!i.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})},i.f={},i.e=e=>Promise.all(Object.keys(i.f).reduce((t,a)=>(i.f[a](e,t),t),[])),i.u=e=>7627===e?"static/chunks/7627-1f8c705195c83044.js":"static/chunks/"+(({2213:"51fb665c",2941:"73972abe",2995:"0b9a0da7",3524:"2170a4aa",4954:"2918becc",7330:"d3ac728e",8184:"58bb9007",8747:"90542734"})[e]||e)+"."+({83:"85d62d7fc9850b75",394:"91597771688df6d0",498:"fe1d9da9ecad6c36",532:"5956ed631aff722b",547:"902a733488cfe3f7",1413:"922d232de90c0c41",1643:"467a526a1f24f54d",1852:"5543122f11aa7fed",1960:"b1e26436d7a5f586",2213:"0950e1b79671348d",2274:"6cd173f80a1405a2",2419:"347fdfe3c170854d",2619:"9aac8983f30c7c8a",2623:"d20fabd8e18197c6",2632:"f12f984b8009d7f1",2729:"f5365061a849d659",2821:"934bcf60fbdc28c6",2941:"25a4cffa03b2bcef",2947:"114e51cb06d1c01a",2995:"9075af772487e743",3079:"4c511fa1144e3adf",3274:"208ca44844cd7d95",3308:"465a94263d04bfea",3325:"e4bfe1ca657f3b5b",3506:"2a7eaa08b9f55337",3524:"4213bb2183c9cdf9",3837:"a755ccfe6f9c1c1c",3997:"1009c06025691712",4453:"91a357dc43c21745",4491:"44fdf20580ac72bd",4660:"6d9fc47e6ed8e7e4",4829:"cf1d50e43e6d9db5",4954:"abff2ece1de37bc1",5019:"b5a1a2b8daf17525",5034:"8f16c3fa3ce75411",5074:"d16651da01ec4e02",5326:"69460442bdcd6cd3",5403:"ff110bf5bf600758",5567:"540d7fc108ad6ee5",5590:"ef62922166d308b4",5690:"9d6eb1edb1399995",5749:"25faee4a1e55b854",6121:"f3f43f1896ea0cd9",6600:"583c88eef37aa524",6606:"789f1fc26b9150dd",6696:"a41aec266e657d54",6878:"3d114dd7c83aa676",6922:"42148793782d2fe7",7006:"e191611ffc2b9528",7330:"7964f816a1ca64e5",7343:"9fbb58204d8ac681",7547:"58bda8a2aabba0d4",7648:"4ae2f183b4db0353",7874:"8db6929b94cdf697",7959:"1f20a35df316216a",8184:"1ccb6bba34b4c635",8436:"cab94b59cca0a8ff",8451:"ff6ff72b57dc52e1",8489:"45f22859734f514f",8568:"f85d8b36fc9a9037",8747:"dc1a2723e4f6affb",8863:"be51033a67436277",9500:"1488aec06ee78127",9566:"2b92edbd162fb97d",9633:"155548b5fca6e580",9695:"9e959b13b18c3485",9779:"673004a62d70e36a",9855:"1127e644bd68ced0"})[e]+".js",i.miniCssF=e=>{},i.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r={},i.l=(e,t,a,c)=>{if(r[e])return void r[e].push(t);if(void 0!==a)for(var d,f,o=document.getElementsByTagName("script"),b=0;b<o.length;b++){var n=o[b];if(n.getAttribute("src")==e||n.getAttribute("data-webpack")=="_N_E:"+a){d=n;break}}d||(f=!0,(d=document.createElement("script")).charset="utf-8",d.timeout=120,i.nc&&d.setAttribute("nonce",i.nc),d.setAttribute("data-webpack","_N_E:"+a),d.src=i.tu(e)),r[e]=[t];var u=(t,a)=>{d.onerror=d.onload=null,clearTimeout(l);var c=r[e];if(delete r[e],d.parentNode&&d.parentNode.removeChild(d),c&&c.forEach(e=>e(a)),t)return t(a)},l=setTimeout(u.bind(null,void 0,{type:"timeout",target:d}),12e4);d.onerror=u.bind(null,d.onerror),d.onload=u.bind(null,d.onload),f&&document.head.appendChild(d)},i.r=e=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.U=function(e){var t=new URL(e,"x:/"),a={};for(var r in t)a[r]=t[r];for(var r in a.href=e,a.pathname=e.replace(/[?#].*/,""),a.origin=a.protocol="",a.toString=a.toJSON=()=>e,a)Object.defineProperty(this,r,{enumerable:!0,configurable:!0,value:a[r]})},i.U.prototype=URL.prototype,i.tt=()=>(void 0===c&&(c={createScriptURL:e=>e},"u">typeof trustedTypes&&trustedTypes.createPolicy&&(c=trustedTypes.createPolicy("nextjs#bundler",c))),c),i.tu=e=>i.tt().createScriptURL(e),i.p="/_next/",d={8068:0,5928:0,7513:0},i.f.j=(e,t)=>{var a=i.o(d,e)?d[e]:void 0;if(0!==a)if(a)t.push(a[2]);else if(/^(5928|7513|8068)$/.test(e))d[e]=0;else{var r=new Promise((t,r)=>a=d[e]=[t,r]);t.push(a[2]=r);var c=i.p+i.u(e),f=Error();i.l(c,t=>{if(i.o(d,e)&&(0!==(a=d[e])&&(d[e]=void 0),a)){var r=t&&("load"===t.type?"missing":t.type),c=t&&t.target&&t.target.src;f.message="Loading chunk "+e+" failed.\n("+r+": "+c+")",f.name="ChunkLoadError",f.type=r,f.request=c,a[1](f)}},"chunk-"+e,e)}},i.O.j=e=>0===d[e],f=(e,t)=>{var a,r,[c,f,o]=t,b=0;if(c.some(e=>0!==d[e])){for(a in f)i.o(f,a)&&(i.m[a]=f[a]);if(o)var n=o(i)}for(e&&e(t);b<c.length;b++)r=c[b],i.o(d,r)&&d[r]&&d[r][0](),d[r]=0;return i.O(n)},(o=self.webpackChunk_N_E=self.webpackChunk_N_E||[]).forEach(f.bind(null,0)),o.push=f.bind(null,o.push.bind(o)),i.nc=void 0})();