@geminilight/mindos 0.6.55 β†’ 0.6.57

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 (377) hide show
  1. package/_standalone/.mindos-build-version +1 -1
  2. package/_standalone/.next/BUILD_ID +1 -1
  3. package/_standalone/.next/app-path-routes-manifest.json +24 -22
  4. package/_standalone/.next/build-manifest.json +3 -3
  5. package/_standalone/.next/cache/.previewinfo +1 -1
  6. package/_standalone/.next/cache/.rscinfo +1 -1
  7. package/_standalone/.next/cache/config.json +3 -3
  8. package/_standalone/.next/prerender-manifest.json +3 -3
  9. package/_standalone/.next/react-loadable-manifest.json +7 -7
  10. package/_standalone/.next/routes-manifest.json +12 -0
  11. package/_standalone/.next/server/app/.well-known/agent-card.json/route_client-reference-manifest.js +1 -1
  12. package/_standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  13. package/_standalone/.next/server/app/_global-error.html +2 -2
  14. package/_standalone/.next/server/app/_global-error.rsc +1 -1
  15. package/_standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  16. package/_standalone/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  17. package/_standalone/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  18. package/_standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  19. package/_standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  20. package/_standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  21. package/_standalone/.next/server/app/_not-found/page.js +1 -1
  22. package/_standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
  23. package/_standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  24. package/_standalone/.next/server/app/agents/[agentKey]/page.js +1 -1
  25. package/_standalone/.next/server/app/agents/[agentKey]/page.js.nft.json +1 -1
  26. package/_standalone/.next/server/app/agents/[agentKey]/page_client-reference-manifest.js +1 -1
  27. package/_standalone/.next/server/app/agents/page.js +2 -6
  28. package/_standalone/.next/server/app/agents/page.js.nft.json +1 -1
  29. package/_standalone/.next/server/app/agents/page_client-reference-manifest.js +1 -1
  30. package/_standalone/.next/server/app/api/a2a/agents/route_client-reference-manifest.js +1 -1
  31. package/_standalone/.next/server/app/api/a2a/delegations/route_client-reference-manifest.js +1 -1
  32. package/_standalone/.next/server/app/api/a2a/discover/route_client-reference-manifest.js +1 -1
  33. package/_standalone/.next/server/app/api/a2a/route_client-reference-manifest.js +1 -1
  34. package/_standalone/.next/server/app/api/acp/config/route_client-reference-manifest.js +1 -1
  35. package/_standalone/.next/server/app/api/acp/detect/route_client-reference-manifest.js +1 -1
  36. package/_standalone/.next/server/app/api/acp/install/route_client-reference-manifest.js +1 -1
  37. package/_standalone/.next/server/app/api/acp/registry/route_client-reference-manifest.js +1 -1
  38. package/_standalone/.next/server/app/api/acp/session/route_client-reference-manifest.js +1 -1
  39. package/_standalone/.next/server/app/api/agent-activity/route_client-reference-manifest.js +1 -1
  40. package/_standalone/.next/server/app/api/agents/custom/detect/route.js +1 -0
  41. package/_standalone/.next/server/app/api/agents/custom/detect/route.js.nft.json +1 -0
  42. package/_standalone/.next/server/app/api/agents/custom/detect/route_client-reference-manifest.js +1 -0
  43. package/_standalone/.next/server/app/api/agents/custom/route.js +1 -0
  44. package/_standalone/.next/server/app/api/agents/custom/route.js.nft.json +1 -0
  45. package/_standalone/.next/server/app/api/agents/custom/route_client-reference-manifest.js +1 -0
  46. package/_standalone/.next/server/app/api/ask/route.js +3 -3
  47. package/_standalone/.next/server/app/api/ask/route.js.nft.json +1 -1
  48. package/_standalone/.next/server/app/api/ask/route_client-reference-manifest.js +1 -1
  49. package/_standalone/.next/server/app/api/ask-sessions/route_client-reference-manifest.js +1 -1
  50. package/_standalone/.next/server/app/api/auth/route_client-reference-manifest.js +1 -1
  51. package/_standalone/.next/server/app/api/backlinks/route.js.nft.json +1 -1
  52. package/_standalone/.next/server/app/api/backlinks/route_client-reference-manifest.js +1 -1
  53. package/_standalone/.next/server/app/api/bootstrap/route.js.nft.json +1 -1
  54. package/_standalone/.next/server/app/api/bootstrap/route_client-reference-manifest.js +1 -1
  55. package/_standalone/.next/server/app/api/changes/route.js.nft.json +1 -1
  56. package/_standalone/.next/server/app/api/changes/route_client-reference-manifest.js +1 -1
  57. package/_standalone/.next/server/app/api/export/route.js.nft.json +1 -1
  58. package/_standalone/.next/server/app/api/export/route_client-reference-manifest.js +1 -1
  59. package/_standalone/.next/server/app/api/extract-pdf/route_client-reference-manifest.js +1 -1
  60. package/_standalone/.next/server/app/api/file/import/route.js +1 -1
  61. package/_standalone/.next/server/app/api/file/import/route.js.nft.json +1 -1
  62. package/_standalone/.next/server/app/api/file/import/route_client-reference-manifest.js +1 -1
  63. package/_standalone/.next/server/app/api/file/raw/route.js.nft.json +1 -1
  64. package/_standalone/.next/server/app/api/file/raw/route_client-reference-manifest.js +1 -1
  65. package/_standalone/.next/server/app/api/file/route.js.nft.json +1 -1
  66. package/_standalone/.next/server/app/api/file/route_client-reference-manifest.js +1 -1
  67. package/_standalone/.next/server/app/api/files/route.js.nft.json +1 -1
  68. package/_standalone/.next/server/app/api/files/route_client-reference-manifest.js +1 -1
  69. package/_standalone/.next/server/app/api/git/route.js.nft.json +1 -1
  70. package/_standalone/.next/server/app/api/git/route_client-reference-manifest.js +1 -1
  71. package/_standalone/.next/server/app/api/graph/route.js.nft.json +1 -1
  72. package/_standalone/.next/server/app/api/graph/route_client-reference-manifest.js +1 -1
  73. package/_standalone/.next/server/app/api/health/route_client-reference-manifest.js +1 -1
  74. package/_standalone/.next/server/app/api/inbox/route.js.nft.json +1 -1
  75. package/_standalone/.next/server/app/api/inbox/route_client-reference-manifest.js +1 -1
  76. package/_standalone/.next/server/app/api/init/route.js.nft.json +1 -1
  77. package/_standalone/.next/server/app/api/init/route_client-reference-manifest.js +1 -1
  78. package/_standalone/.next/server/app/api/mcp/agents/route.js +1 -1
  79. package/_standalone/.next/server/app/api/mcp/agents/route.js.nft.json +1 -1
  80. package/_standalone/.next/server/app/api/mcp/agents/route_client-reference-manifest.js +1 -1
  81. package/_standalone/.next/server/app/api/mcp/install/route_client-reference-manifest.js +1 -1
  82. package/_standalone/.next/server/app/api/mcp/install-skill/route_client-reference-manifest.js +1 -1
  83. package/_standalone/.next/server/app/api/mcp/restart/route_client-reference-manifest.js +1 -1
  84. package/_standalone/.next/server/app/api/mcp/status/route_client-reference-manifest.js +1 -1
  85. package/_standalone/.next/server/app/api/mcp/uninstall/route_client-reference-manifest.js +1 -1
  86. package/_standalone/.next/server/app/api/monitoring/route.js.nft.json +1 -1
  87. package/_standalone/.next/server/app/api/monitoring/route_client-reference-manifest.js +1 -1
  88. package/_standalone/.next/server/app/api/recent-files/route.js.nft.json +1 -1
  89. package/_standalone/.next/server/app/api/recent-files/route_client-reference-manifest.js +1 -1
  90. package/_standalone/.next/server/app/api/restart/route_client-reference-manifest.js +1 -1
  91. package/_standalone/.next/server/app/api/search/route.js.nft.json +1 -1
  92. package/_standalone/.next/server/app/api/search/route_client-reference-manifest.js +1 -1
  93. package/_standalone/.next/server/app/api/settings/list-models/route.js +1 -1
  94. package/_standalone/.next/server/app/api/settings/list-models/route_client-reference-manifest.js +1 -1
  95. package/_standalone/.next/server/app/api/settings/reset-token/route_client-reference-manifest.js +1 -1
  96. package/_standalone/.next/server/app/api/settings/route.js.nft.json +1 -1
  97. package/_standalone/.next/server/app/api/settings/route_client-reference-manifest.js +1 -1
  98. package/_standalone/.next/server/app/api/settings/test-key/route.js +1 -1
  99. package/_standalone/.next/server/app/api/settings/test-key/route_client-reference-manifest.js +1 -1
  100. package/_standalone/.next/server/app/api/setup/check-path/route_client-reference-manifest.js +1 -1
  101. package/_standalone/.next/server/app/api/setup/check-port/route_client-reference-manifest.js +1 -1
  102. package/_standalone/.next/server/app/api/setup/generate-token/route_client-reference-manifest.js +1 -1
  103. package/_standalone/.next/server/app/api/setup/ls/route_client-reference-manifest.js +1 -1
  104. package/_standalone/.next/server/app/api/setup/route_client-reference-manifest.js +1 -1
  105. package/_standalone/.next/server/app/api/skills/route_client-reference-manifest.js +1 -1
  106. package/_standalone/.next/server/app/api/sync/route_client-reference-manifest.js +1 -1
  107. package/_standalone/.next/server/app/api/tree-version/route.js.nft.json +1 -1
  108. package/_standalone/.next/server/app/api/tree-version/route_client-reference-manifest.js +1 -1
  109. package/_standalone/.next/server/app/api/uninstall/route_client-reference-manifest.js +1 -1
  110. package/_standalone/.next/server/app/api/update/route_client-reference-manifest.js +1 -1
  111. package/_standalone/.next/server/app/api/update-check/route_client-reference-manifest.js +1 -1
  112. package/_standalone/.next/server/app/api/update-status/route_client-reference-manifest.js +1 -1
  113. package/_standalone/.next/server/app/api/workflows/route.js.nft.json +1 -1
  114. package/_standalone/.next/server/app/api/workflows/route_client-reference-manifest.js +1 -1
  115. package/_standalone/.next/server/app/changes/page.js +1 -1
  116. package/_standalone/.next/server/app/changes/page.js.nft.json +1 -1
  117. package/_standalone/.next/server/app/changes/page_client-reference-manifest.js +1 -1
  118. package/_standalone/.next/server/app/echo/[segment]/page.js +1 -1
  119. package/_standalone/.next/server/app/echo/[segment]/page.js.nft.json +1 -1
  120. package/_standalone/.next/server/app/echo/[segment]/page_client-reference-manifest.js +1 -1
  121. package/_standalone/.next/server/app/echo/page.js +1 -1
  122. package/_standalone/.next/server/app/echo/page.js.nft.json +1 -1
  123. package/_standalone/.next/server/app/echo/page_client-reference-manifest.js +1 -1
  124. package/_standalone/.next/server/app/explore/page.js +1 -1
  125. package/_standalone/.next/server/app/explore/page.js.nft.json +1 -1
  126. package/_standalone/.next/server/app/explore/page_client-reference-manifest.js +1 -1
  127. package/_standalone/.next/server/app/help/page.js +1 -1
  128. package/_standalone/.next/server/app/help/page.js.nft.json +1 -1
  129. package/_standalone/.next/server/app/help/page_client-reference-manifest.js +1 -1
  130. package/_standalone/.next/server/app/inbox/history/page.js +1 -1
  131. package/_standalone/.next/server/app/inbox/history/page.js.nft.json +1 -1
  132. package/_standalone/.next/server/app/inbox/history/page_client-reference-manifest.js +1 -1
  133. package/_standalone/.next/server/app/login/page.js +1 -1
  134. package/_standalone/.next/server/app/login/page.js.nft.json +1 -1
  135. package/_standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
  136. package/_standalone/.next/server/app/page.js +1 -1
  137. package/_standalone/.next/server/app/page.js.nft.json +1 -1
  138. package/_standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  139. package/_standalone/.next/server/app/setup/page.js +1 -1
  140. package/_standalone/.next/server/app/setup/page.js.nft.json +1 -1
  141. package/_standalone/.next/server/app/setup/page_client-reference-manifest.js +1 -1
  142. package/_standalone/.next/server/app/trash/page.js +3 -3
  143. package/_standalone/.next/server/app/trash/page.js.nft.json +1 -1
  144. package/_standalone/.next/server/app/trash/page_client-reference-manifest.js +1 -1
  145. package/_standalone/.next/server/app/view/[...path]/page.js +3 -3
  146. package/_standalone/.next/server/app/view/[...path]/page.js.nft.json +1 -1
  147. package/_standalone/.next/server/app/view/[...path]/page_client-reference-manifest.js +1 -1
  148. package/_standalone/.next/server/app/wiki/page.js +1 -1
  149. package/_standalone/.next/server/app/wiki/page.js.nft.json +1 -1
  150. package/_standalone/.next/server/app/wiki/page_client-reference-manifest.js +1 -1
  151. package/_standalone/.next/server/app-paths-manifest.json +24 -22
  152. package/_standalone/.next/server/chunks/2159.js +52 -0
  153. package/_standalone/.next/server/chunks/{2190.js β†’ 3484.js} +1 -1
  154. package/_standalone/.next/server/chunks/530.js +31 -31
  155. package/_standalone/.next/server/chunks/6539.js +1 -1
  156. package/_standalone/.next/server/chunks/8388.js +3 -3
  157. package/_standalone/.next/server/chunks/953.js +2 -2
  158. package/_standalone/.next/server/middleware-build-manifest.js +1 -1
  159. package/_standalone/.next/server/middleware-react-loadable-manifest.js +1 -1
  160. package/_standalone/.next/server/pages/500.html +2 -2
  161. package/_standalone/.next/server/server-reference-manifest.js +1 -1
  162. package/_standalone/.next/server/server-reference-manifest.json +1 -1
  163. package/_standalone/.next/static/chunks/1053-5cb008a24930e271.js +29 -0
  164. package/_standalone/.next/static/chunks/1477.33df3cce509578c2.js +1 -0
  165. package/_standalone/.next/static/chunks/{1814.b08e9fb85dd3b13c.js β†’ 1814.a7c127b2c73d1f70.js} +1 -1
  166. package/_standalone/.next/static/chunks/2549-e63cf57fa927a41d.js +1 -0
  167. package/_standalone/.next/static/chunks/{1007.c11404e50b39d165.js β†’ 2647.e0b67d0c432ad7e7.js} +10 -10
  168. package/_standalone/.next/static/chunks/362.3978790a2e636c3c.js +2 -0
  169. package/_standalone/.next/static/chunks/3637.38c4f28d8f698e0e.js +1 -0
  170. package/_standalone/.next/static/chunks/54a60aa6.7a74f547ec1bdd5a.js +79 -0
  171. package/_standalone/.next/static/chunks/6087.4b6102dc0bcd07a7.js +1 -0
  172. package/_standalone/.next/static/chunks/6878-e2c5459e1c608f89.js +1 -0
  173. package/_standalone/.next/static/chunks/7249-8cd568ad23656622.js +11 -0
  174. package/_standalone/.next/static/chunks/8252-e5ae7ced3a41e0ed.js +1 -0
  175. package/_standalone/.next/static/chunks/{8753-ea9db680b0f70f25.js β†’ 8658-16ff58b75ae37fbb.js} +1 -1
  176. package/_standalone/.next/static/chunks/{7322-d67d05067544864c.js β†’ 9274-296ab35f9f09e42e.js} +1 -1
  177. package/_standalone/.next/static/chunks/app/.well-known/agent-card.json/route-2f4705aa66819b86.js +1 -0
  178. package/_standalone/.next/static/chunks/app/_global-error/page-2f4705aa66819b86.js +1 -0
  179. package/_standalone/.next/static/chunks/app/agents/[agentKey]/page-7bdeab5af8e4f5f2.js +1 -0
  180. package/_standalone/.next/static/chunks/app/agents/page-5d1446665ddb3801.js +1 -0
  181. package/_standalone/.next/static/chunks/app/api/a2a/agents/route-2f4705aa66819b86.js +1 -0
  182. package/_standalone/.next/static/chunks/app/api/a2a/delegations/route-2f4705aa66819b86.js +1 -0
  183. package/_standalone/.next/static/chunks/app/api/a2a/discover/route-2f4705aa66819b86.js +1 -0
  184. package/_standalone/.next/static/chunks/app/api/a2a/route-2f4705aa66819b86.js +1 -0
  185. package/_standalone/.next/static/chunks/app/api/acp/config/route-2f4705aa66819b86.js +1 -0
  186. package/_standalone/.next/static/chunks/app/api/acp/detect/route-2f4705aa66819b86.js +1 -0
  187. package/_standalone/.next/static/chunks/app/api/acp/install/route-2f4705aa66819b86.js +1 -0
  188. package/_standalone/.next/static/chunks/app/api/acp/registry/route-2f4705aa66819b86.js +1 -0
  189. package/_standalone/.next/static/chunks/app/api/acp/session/route-2f4705aa66819b86.js +1 -0
  190. package/_standalone/.next/static/chunks/app/api/agent-activity/route-2f4705aa66819b86.js +1 -0
  191. package/_standalone/.next/static/chunks/app/api/agents/custom/detect/route-2f4705aa66819b86.js +1 -0
  192. package/_standalone/.next/static/chunks/app/api/agents/custom/route-2f4705aa66819b86.js +1 -0
  193. package/_standalone/.next/static/chunks/app/api/ask/route-2f4705aa66819b86.js +1 -0
  194. package/_standalone/.next/static/chunks/app/api/ask-sessions/route-2f4705aa66819b86.js +1 -0
  195. package/_standalone/.next/static/chunks/app/api/auth/route-2f4705aa66819b86.js +1 -0
  196. package/_standalone/.next/static/chunks/app/api/backlinks/route-2f4705aa66819b86.js +1 -0
  197. package/_standalone/.next/static/chunks/app/api/bootstrap/route-2f4705aa66819b86.js +1 -0
  198. package/_standalone/.next/static/chunks/app/api/changes/route-2f4705aa66819b86.js +1 -0
  199. package/_standalone/.next/static/chunks/app/api/export/route-2f4705aa66819b86.js +1 -0
  200. package/_standalone/.next/static/chunks/app/api/extract-pdf/route-2f4705aa66819b86.js +1 -0
  201. package/_standalone/.next/static/chunks/app/api/file/import/route-2f4705aa66819b86.js +1 -0
  202. package/_standalone/.next/static/chunks/app/api/file/raw/route-2f4705aa66819b86.js +1 -0
  203. package/_standalone/.next/static/chunks/app/api/file/route-2f4705aa66819b86.js +1 -0
  204. package/_standalone/.next/static/chunks/app/api/files/route-2f4705aa66819b86.js +1 -0
  205. package/_standalone/.next/static/chunks/app/api/git/route-2f4705aa66819b86.js +1 -0
  206. package/_standalone/.next/static/chunks/app/api/graph/route-2f4705aa66819b86.js +1 -0
  207. package/_standalone/.next/static/chunks/app/api/health/route-2f4705aa66819b86.js +1 -0
  208. package/_standalone/.next/static/chunks/app/api/inbox/route-2f4705aa66819b86.js +1 -0
  209. package/_standalone/.next/static/chunks/app/api/init/route-2f4705aa66819b86.js +1 -0
  210. package/_standalone/.next/static/chunks/app/api/mcp/agents/route-2f4705aa66819b86.js +1 -0
  211. package/_standalone/.next/static/chunks/app/api/mcp/install/route-2f4705aa66819b86.js +1 -0
  212. package/_standalone/.next/static/chunks/app/api/mcp/install-skill/route-2f4705aa66819b86.js +1 -0
  213. package/_standalone/.next/static/chunks/app/api/mcp/restart/route-2f4705aa66819b86.js +1 -0
  214. package/_standalone/.next/static/chunks/app/api/mcp/status/route-2f4705aa66819b86.js +1 -0
  215. package/_standalone/.next/static/chunks/app/api/mcp/uninstall/route-2f4705aa66819b86.js +1 -0
  216. package/_standalone/.next/static/chunks/app/api/monitoring/route-2f4705aa66819b86.js +1 -0
  217. package/_standalone/.next/static/chunks/app/api/recent-files/route-2f4705aa66819b86.js +1 -0
  218. package/_standalone/.next/static/chunks/app/api/restart/route-2f4705aa66819b86.js +1 -0
  219. package/_standalone/.next/static/chunks/app/api/search/route-2f4705aa66819b86.js +1 -0
  220. package/_standalone/.next/static/chunks/app/api/settings/list-models/route-2f4705aa66819b86.js +1 -0
  221. package/_standalone/.next/static/chunks/app/api/settings/reset-token/route-2f4705aa66819b86.js +1 -0
  222. package/_standalone/.next/static/chunks/app/api/settings/route-2f4705aa66819b86.js +1 -0
  223. package/_standalone/.next/static/chunks/app/api/settings/test-key/route-2f4705aa66819b86.js +1 -0
  224. package/_standalone/.next/static/chunks/app/api/setup/check-path/route-2f4705aa66819b86.js +1 -0
  225. package/_standalone/.next/static/chunks/app/api/setup/check-port/route-2f4705aa66819b86.js +1 -0
  226. package/_standalone/.next/static/chunks/app/api/setup/generate-token/route-2f4705aa66819b86.js +1 -0
  227. package/_standalone/.next/static/chunks/app/api/setup/ls/route-2f4705aa66819b86.js +1 -0
  228. package/_standalone/.next/static/chunks/app/api/setup/route-2f4705aa66819b86.js +1 -0
  229. package/_standalone/.next/static/chunks/app/api/skills/route-2f4705aa66819b86.js +1 -0
  230. package/_standalone/.next/static/chunks/app/api/sync/route-2f4705aa66819b86.js +1 -0
  231. package/_standalone/.next/static/chunks/app/api/tree-version/route-2f4705aa66819b86.js +1 -0
  232. package/_standalone/.next/static/chunks/app/api/uninstall/route-2f4705aa66819b86.js +1 -0
  233. package/_standalone/.next/static/chunks/app/api/update/route-2f4705aa66819b86.js +1 -0
  234. package/_standalone/.next/static/chunks/app/api/update-check/route-2f4705aa66819b86.js +1 -0
  235. package/_standalone/.next/static/chunks/app/api/update-status/route-2f4705aa66819b86.js +1 -0
  236. package/_standalone/.next/static/chunks/app/api/workflows/route-2f4705aa66819b86.js +1 -0
  237. package/_standalone/.next/static/chunks/app/echo/[segment]/{page-6710da1f581b2854.js β†’ page-b0103509ce34444b.js} +4 -4
  238. package/_standalone/.next/static/chunks/app/echo/page-2f4705aa66819b86.js +1 -0
  239. package/_standalone/.next/static/chunks/app/{layout-45e66033ba1bdb05.js β†’ layout-b3919384ec2eb979.js} +45 -45
  240. package/_standalone/.next/static/chunks/app/loading-2f4705aa66819b86.js +1 -0
  241. package/_standalone/.next/static/chunks/app/{page-71bd113f66bd7617.js β†’ page-6436a99cda35132b.js} +2 -2
  242. package/_standalone/.next/static/chunks/app/setup/{page-9a81fa4d82c6351b.js β†’ page-99fcfc460fa29733.js} +1 -1
  243. package/_standalone/.next/static/chunks/app/trash/page-8dc388695344fdd4.js +1 -0
  244. package/_standalone/.next/static/chunks/app/view/[...path]/loading-2f4705aa66819b86.js +1 -0
  245. package/_standalone/.next/static/chunks/app/view/[...path]/page-b292b55305ecc021.js +12 -0
  246. package/_standalone/.next/static/chunks/next/dist/client/components/builtin/app-error-2f4705aa66819b86.js +1 -0
  247. package/_standalone/.next/static/chunks/next/dist/client/components/builtin/forbidden-2f4705aa66819b86.js +1 -0
  248. package/_standalone/.next/static/chunks/next/dist/client/components/builtin/not-found-2f4705aa66819b86.js +1 -0
  249. package/_standalone/.next/static/chunks/next/dist/client/components/builtin/unauthorized-2f4705aa66819b86.js +1 -0
  250. package/_standalone/.next/static/chunks/webpack-2c19436659aa657b.js +1 -0
  251. package/_standalone/.next/static/css/fd84c8316ead16eb.css +1 -0
  252. package/_standalone/.next/static/zOaEtgJbdRMncnCBucULp/_buildManifest.js +1 -0
  253. package/_standalone/.next/trace +64 -64
  254. package/_standalone/.next/types/routes.d.ts +3 -1
  255. package/_standalone/.next/types/validator.ts +18 -0
  256. package/_standalone/components/Breadcrumb.tsx +10 -6
  257. package/_standalone/components/Editor.tsx +124 -6
  258. package/_standalone/components/MarkdownView.tsx +3 -1
  259. package/_standalone/components/WysiwygEditor.tsx +90 -0
  260. package/_standalone/components/agents/AgentsOverviewSection.tsx +100 -8
  261. package/_standalone/components/agents/CustomAgentModal.tsx +613 -0
  262. package/_standalone/components/settings/types.ts +4 -0
  263. package/_standalone/hooks/useEditorImageUpload.ts +113 -0
  264. package/_standalone/lib/image.ts +47 -0
  265. package/_standalone/tsconfig.tsbuildinfo +1 -1
  266. package/app/app/api/agents/custom/detect/route.ts +31 -0
  267. package/app/app/api/agents/custom/route.ts +150 -0
  268. package/app/app/api/file/import/route.ts +42 -0
  269. package/app/app/api/mcp/agents/route.ts +59 -7
  270. package/app/app/api/settings/list-models/route.ts +16 -2
  271. package/app/components/Breadcrumb.tsx +10 -6
  272. package/app/components/Editor.tsx +124 -6
  273. package/app/components/MarkdownView.tsx +3 -1
  274. package/app/components/WysiwygEditor.tsx +90 -0
  275. package/app/components/agents/AgentDetailContent.tsx +74 -1
  276. package/app/components/agents/AgentsContentPage.tsx +76 -1
  277. package/app/components/agents/AgentsOverviewSection.tsx +100 -8
  278. package/app/components/agents/CustomAgentModal.tsx +613 -0
  279. package/app/components/settings/types.ts +4 -0
  280. package/app/hooks/useEditorImageUpload.ts +113 -0
  281. package/app/lib/agent/model.ts +7 -1
  282. package/app/lib/agent/providers.ts +31 -6
  283. package/app/lib/core/organize.ts +1 -1
  284. package/app/lib/core/tree.ts +1 -1
  285. package/app/lib/custom-agents.ts +279 -0
  286. package/app/lib/fs.ts +1 -1
  287. package/app/lib/i18n/modules/panels.ts +96 -0
  288. package/app/lib/image.ts +47 -0
  289. package/app/lib/settings.ts +4 -0
  290. package/bin/commands/start.js +5 -4
  291. package/bin/commands/update.js +6 -2
  292. package/bin/lib/clean-env.js +1 -1
  293. package/bin/lib/gateway.js +6 -2
  294. package/mcp/dist/index.cjs +1 -1
  295. package/mcp/src/index.ts +6 -1
  296. package/package.json +1 -1
  297. package/_standalone/.next/server/chunks/1981.js +0 -52
  298. package/_standalone/.next/static/QXZErVsiRQxfqUnWMUsH6/_buildManifest.js +0 -1
  299. package/_standalone/.next/static/chunks/1053-2874859f7caefa0f.js +0 -29
  300. package/_standalone/.next/static/chunks/1880-7abf971bcfd2389b.js +0 -11
  301. package/_standalone/.next/static/chunks/254-32719a9bea2e74f0.js +0 -1
  302. package/_standalone/.next/static/chunks/362.a77be2f206db7b19.js +0 -1
  303. package/_standalone/.next/static/chunks/3637.0541ac2d0ea7de1f.js +0 -1
  304. package/_standalone/.next/static/chunks/54a60aa6.b97ba5e6900c089b.js +0 -79
  305. package/_standalone/.next/static/chunks/6087.0c32d26d0262c8e7.js +0 -1
  306. package/_standalone/.next/static/chunks/7035-2af69391c7b1ad95.js +0 -1
  307. package/_standalone/.next/static/chunks/8131.5e0bdb36bb91f212.js +0 -1
  308. package/_standalone/.next/static/chunks/app/.well-known/agent-card.json/route-e240db6d5049d336.js +0 -1
  309. package/_standalone/.next/static/chunks/app/_global-error/page-e240db6d5049d336.js +0 -1
  310. package/_standalone/.next/static/chunks/app/agents/[agentKey]/page-f006a70f6889eb56.js +0 -1
  311. package/_standalone/.next/static/chunks/app/agents/page-bd522e428e3acb78.js +0 -5
  312. package/_standalone/.next/static/chunks/app/api/a2a/agents/route-e240db6d5049d336.js +0 -1
  313. package/_standalone/.next/static/chunks/app/api/a2a/delegations/route-e240db6d5049d336.js +0 -1
  314. package/_standalone/.next/static/chunks/app/api/a2a/discover/route-e240db6d5049d336.js +0 -1
  315. package/_standalone/.next/static/chunks/app/api/a2a/route-e240db6d5049d336.js +0 -1
  316. package/_standalone/.next/static/chunks/app/api/acp/config/route-e240db6d5049d336.js +0 -1
  317. package/_standalone/.next/static/chunks/app/api/acp/detect/route-e240db6d5049d336.js +0 -1
  318. package/_standalone/.next/static/chunks/app/api/acp/install/route-e240db6d5049d336.js +0 -1
  319. package/_standalone/.next/static/chunks/app/api/acp/registry/route-e240db6d5049d336.js +0 -1
  320. package/_standalone/.next/static/chunks/app/api/acp/session/route-e240db6d5049d336.js +0 -1
  321. package/_standalone/.next/static/chunks/app/api/agent-activity/route-e240db6d5049d336.js +0 -1
  322. package/_standalone/.next/static/chunks/app/api/ask/route-e240db6d5049d336.js +0 -1
  323. package/_standalone/.next/static/chunks/app/api/ask-sessions/route-e240db6d5049d336.js +0 -1
  324. package/_standalone/.next/static/chunks/app/api/auth/route-e240db6d5049d336.js +0 -1
  325. package/_standalone/.next/static/chunks/app/api/backlinks/route-e240db6d5049d336.js +0 -1
  326. package/_standalone/.next/static/chunks/app/api/bootstrap/route-e240db6d5049d336.js +0 -1
  327. package/_standalone/.next/static/chunks/app/api/changes/route-e240db6d5049d336.js +0 -1
  328. package/_standalone/.next/static/chunks/app/api/export/route-e240db6d5049d336.js +0 -1
  329. package/_standalone/.next/static/chunks/app/api/extract-pdf/route-e240db6d5049d336.js +0 -1
  330. package/_standalone/.next/static/chunks/app/api/file/import/route-e240db6d5049d336.js +0 -1
  331. package/_standalone/.next/static/chunks/app/api/file/raw/route-e240db6d5049d336.js +0 -1
  332. package/_standalone/.next/static/chunks/app/api/file/route-e240db6d5049d336.js +0 -1
  333. package/_standalone/.next/static/chunks/app/api/files/route-e240db6d5049d336.js +0 -1
  334. package/_standalone/.next/static/chunks/app/api/git/route-e240db6d5049d336.js +0 -1
  335. package/_standalone/.next/static/chunks/app/api/graph/route-e240db6d5049d336.js +0 -1
  336. package/_standalone/.next/static/chunks/app/api/health/route-e240db6d5049d336.js +0 -1
  337. package/_standalone/.next/static/chunks/app/api/inbox/route-e240db6d5049d336.js +0 -1
  338. package/_standalone/.next/static/chunks/app/api/init/route-e240db6d5049d336.js +0 -1
  339. package/_standalone/.next/static/chunks/app/api/mcp/agents/route-e240db6d5049d336.js +0 -1
  340. package/_standalone/.next/static/chunks/app/api/mcp/install/route-e240db6d5049d336.js +0 -1
  341. package/_standalone/.next/static/chunks/app/api/mcp/install-skill/route-e240db6d5049d336.js +0 -1
  342. package/_standalone/.next/static/chunks/app/api/mcp/restart/route-e240db6d5049d336.js +0 -1
  343. package/_standalone/.next/static/chunks/app/api/mcp/status/route-e240db6d5049d336.js +0 -1
  344. package/_standalone/.next/static/chunks/app/api/mcp/uninstall/route-e240db6d5049d336.js +0 -1
  345. package/_standalone/.next/static/chunks/app/api/monitoring/route-e240db6d5049d336.js +0 -1
  346. package/_standalone/.next/static/chunks/app/api/recent-files/route-e240db6d5049d336.js +0 -1
  347. package/_standalone/.next/static/chunks/app/api/restart/route-e240db6d5049d336.js +0 -1
  348. package/_standalone/.next/static/chunks/app/api/search/route-e240db6d5049d336.js +0 -1
  349. package/_standalone/.next/static/chunks/app/api/settings/list-models/route-e240db6d5049d336.js +0 -1
  350. package/_standalone/.next/static/chunks/app/api/settings/reset-token/route-e240db6d5049d336.js +0 -1
  351. package/_standalone/.next/static/chunks/app/api/settings/route-e240db6d5049d336.js +0 -1
  352. package/_standalone/.next/static/chunks/app/api/settings/test-key/route-e240db6d5049d336.js +0 -1
  353. package/_standalone/.next/static/chunks/app/api/setup/check-path/route-e240db6d5049d336.js +0 -1
  354. package/_standalone/.next/static/chunks/app/api/setup/check-port/route-e240db6d5049d336.js +0 -1
  355. package/_standalone/.next/static/chunks/app/api/setup/generate-token/route-e240db6d5049d336.js +0 -1
  356. package/_standalone/.next/static/chunks/app/api/setup/ls/route-e240db6d5049d336.js +0 -1
  357. package/_standalone/.next/static/chunks/app/api/setup/route-e240db6d5049d336.js +0 -1
  358. package/_standalone/.next/static/chunks/app/api/skills/route-e240db6d5049d336.js +0 -1
  359. package/_standalone/.next/static/chunks/app/api/sync/route-e240db6d5049d336.js +0 -1
  360. package/_standalone/.next/static/chunks/app/api/tree-version/route-e240db6d5049d336.js +0 -1
  361. package/_standalone/.next/static/chunks/app/api/uninstall/route-e240db6d5049d336.js +0 -1
  362. package/_standalone/.next/static/chunks/app/api/update/route-e240db6d5049d336.js +0 -1
  363. package/_standalone/.next/static/chunks/app/api/update-check/route-e240db6d5049d336.js +0 -1
  364. package/_standalone/.next/static/chunks/app/api/update-status/route-e240db6d5049d336.js +0 -1
  365. package/_standalone/.next/static/chunks/app/api/workflows/route-e240db6d5049d336.js +0 -1
  366. package/_standalone/.next/static/chunks/app/echo/page-e240db6d5049d336.js +0 -1
  367. package/_standalone/.next/static/chunks/app/loading-e240db6d5049d336.js +0 -1
  368. package/_standalone/.next/static/chunks/app/trash/page-ba3802cf675d029a.js +0 -1
  369. package/_standalone/.next/static/chunks/app/view/[...path]/loading-e240db6d5049d336.js +0 -1
  370. package/_standalone/.next/static/chunks/app/view/[...path]/page-35da7f9f5a009292.js +0 -12
  371. package/_standalone/.next/static/chunks/next/dist/client/components/builtin/app-error-e240db6d5049d336.js +0 -1
  372. package/_standalone/.next/static/chunks/next/dist/client/components/builtin/forbidden-e240db6d5049d336.js +0 -1
  373. package/_standalone/.next/static/chunks/next/dist/client/components/builtin/not-found-e240db6d5049d336.js +0 -1
  374. package/_standalone/.next/static/chunks/next/dist/client/components/builtin/unauthorized-e240db6d5049d336.js +0 -1
  375. package/_standalone/.next/static/chunks/webpack-73c9da80c6c1ebfe.js +0 -1
  376. package/_standalone/.next/static/css/66f8a81e4eda06d4.css +0 -1
  377. /package/_standalone/.next/static/{QXZErVsiRQxfqUnWMUsH6 β†’ zOaEtgJbdRMncnCBucULp}/_ssgManifest.js +0 -0
@@ -58,6 +58,8 @@ export interface ServerSettings {
58
58
  cli: boolean; // Always true (CLI is mandatory)
59
59
  mcp: boolean; // User's explicit choice during onboarding
60
60
  };
61
+ /** User-defined agents not built into MindOS. */
62
+ customAgents?: import('./custom-agents').CustomAgentDef[];
61
63
  }
62
64
 
63
65
  const DEFAULTS: ServerSettings = {
@@ -216,6 +218,7 @@ export function readSettings(): ServerSettings {
216
218
  return Object.keys(result).length > 0 ? result : undefined;
217
219
  })(),
218
220
  connectionMode: inferConnectionMode(parsed),
221
+ customAgents: Array.isArray(parsed.customAgents) ? parsed.customAgents as import('./custom-agents').CustomAgentDef[] : undefined,
219
222
  };
220
223
  } catch {
221
224
  // Config file missing or corrupt β†’ force setup wizard
@@ -246,6 +249,7 @@ export function writeSettings(settings: ServerSettings): void {
246
249
  if (settings.acpAgents !== undefined) merged.acpAgents = settings.acpAgents;
247
250
  if (settings.baseUrlCompat !== undefined) merged.baseUrlCompat = settings.baseUrlCompat;
248
251
  if (settings.connectionMode !== undefined) merged.connectionMode = settings.connectionMode;
252
+ if (settings.customAgents !== undefined) merged.customAgents = settings.customAgents;
249
253
  // setupPending: false/undefined β†’ remove the field (cleanup); true β†’ set it
250
254
  if ('setupPending' in settings) {
251
255
  if (settings.setupPending) merged.setupPending = true;
@@ -59,7 +59,11 @@ export const meta = {
59
59
  * @returns {Promise<void>}
60
60
  */
61
61
  export const run = async (args, flags) => {
62
- const isDaemon = Boolean(flags.daemon) || isDaemonMode();
62
+ // Must be checked BEFORE isDaemon β€” when a daemon manager has already launched
63
+ // us, re-entering the daemon installation path causes a recursive loop.
64
+ const launchedByDaemon =
65
+ process.env.LAUNCHED_BY_LAUNCHD === '1' || !!process.env.INVOCATION_ID;
66
+ const isDaemon = !launchedByDaemon && (Boolean(flags.daemon) || isDaemonMode());
63
67
  const isVerbose = Boolean(flags.verbose);
64
68
  const extra = args.join(' ');
65
69
 
@@ -212,9 +216,6 @@ export const run = async (args, flags) => {
212
216
  // When launched by a daemon manager (launchd/systemd), wait for ports to
213
217
  // free instead of exiting immediately β€” the previous instance may still be
214
218
  // shutting down after a restart/update.
215
- const launchedByDaemon =
216
- process.env.LAUNCHED_BY_LAUNCHD === '1' || !!process.env.INVOCATION_ID; /* systemd sets INVOCATION_ID */
217
-
218
219
  if (launchedByDaemon) {
219
220
  const { waitForPortFree } = await import('../lib/gateway.js');
220
221
  const webOk = await waitForPortFree(Number(webPort), { retries: 60, intervalMs: 500 });
@@ -8,7 +8,7 @@ import { execSync, spawn as nodeSpawn } from 'node:child_process';
8
8
  import { existsSync, readFileSync, writeFileSync, rmSync, realpathSync } from 'node:fs';
9
9
  import { dirname, resolve } from 'node:path';
10
10
 
11
- import { ROOT, BUILD_STAMP, CONFIG_PATH, LOG_PATH } from '../lib/constants.js';
11
+ import { ROOT, BUILD_STAMP, CONFIG_PATH, LOG_PATH, MINDOS_DIR } from '../lib/constants.js';
12
12
  import { bold, dim, cyan, green, red, yellow } from '../lib/colors.js';
13
13
  import { execInherited } from '../lib/shell.js';
14
14
  import { EXIT } from '../lib/command.js';
@@ -21,15 +21,19 @@ import { stripBom } from '../lib/jsonc.js';
21
21
  /**
22
22
  * Dynamically resolve the new ROOT after `npm install -g`.
23
23
  * This is needed because constants are evaluated at module load time.
24
+ *
25
+ * Skips ~/.mindos/bin/ β€” that directory contains our own shell shim
26
+ * (not a JS file); resolving ROOT from it yields ~/.mindos/ which is wrong.
24
27
  */
25
28
  function getUpdatedRoot() {
29
+ const shimBinDir = resolve(MINDOS_DIR, 'bin');
26
30
  try {
27
31
  const whichCmd = process.platform === 'win32' ? 'where mindos' : 'which mindos';
28
32
  const mindosBin = execSync(whichCmd, { encoding: 'utf-8', stdio: ['pipe', 'pipe', 'ignore'] }).trim().split(/\r?\n/)[0];
29
33
  if (mindosBin) {
30
34
  let cliPath;
31
35
  try { cliPath = realpathSync(mindosBin); } catch { cliPath = mindosBin; }
32
- if (cliPath) {
36
+ if (cliPath && resolve(dirname(cliPath)) !== shimBinDir) {
33
37
  return resolve(dirname(cliPath), '..');
34
38
  }
35
39
  }
@@ -6,7 +6,7 @@
6
6
  * installation path. If these leak into the child process, the "new"
7
7
  * server starts from the old code β€” the infamous "fake update" bug.
8
8
  *
9
- * This helper strips ALL MINDOS_*/MIND_* prefixed variables plus
9
+ * This helper strips ALL MINDOS_* / MIND_* prefixed variables plus
10
10
  * a curated denylist of other vars that can cause stale-path issues.
11
11
  */
12
12
 
@@ -13,8 +13,12 @@ import { stripBom } from './jsonc.js';
13
13
  * Dynamically resolve the current mindos CLI path.
14
14
  * This is needed because CLI_PATH is evaluated at module load time,
15
15
  * but after `npm install -g @geminilight/mindos@latest`, the path may have changed.
16
+ *
17
+ * Skips ~/.mindos/bin/ β€” that directory contains our own shell shim
18
+ * (not a JS file), which must not be passed to `node` as ExecStart.
16
19
  */
17
20
  function getCurrentCliPath() {
21
+ const shimBinDir = resolve(MINDOS_DIR, 'bin');
18
22
  try {
19
23
  const whichCmd = process.platform === 'win32' ? 'where mindos' : 'which mindos';
20
24
  // `where` on Windows can return multiple lines; take the first match
@@ -22,9 +26,9 @@ function getCurrentCliPath() {
22
26
  if (mindosBin) {
23
27
  try {
24
28
  const realPath = realpathSync(mindosBin);
25
- if (existsSync(realPath)) return realPath;
29
+ if (existsSync(realPath) && resolve(dirname(realPath)) !== shimBinDir) return realPath;
26
30
  } catch {}
27
- if (existsSync(mindosBin)) return mindosBin;
31
+ if (existsSync(mindosBin) && resolve(dirname(mindosBin)) !== shimBinDir) return mindosBin;
28
32
  }
29
33
  } catch {}
30
34
  return CLI_PATH;
@@ -123,7 +123,7 @@ ${l}`).join(`
123
123
  `);return de(Av(c))}catch(o){return xe(String(o))}}),t.registerTool("mindos_get_history",{title:"Get File Git History",description:"Get git commit history for a file.",inputSchema:E.object({path:E.string().min(1),limit:E.number().int().min(1).max(50).default(10)}),annotations:{readOnlyHint:!0}},async({path:i,limit:o})=>{try{let c=(await r("/api/git",{op:"history",path:i,limit:String(o)})).entries;if(c.length===0)return de(`No git history found for "${i}"`);let u=[`# Git History: ${i}`,"",`${c.length} commit(s):`,""];for(let l of c)u.push(`- **${l.date}** \`${l.hash.slice(0,8)}\` \u2014 ${l.message} (${l.author})`);return de(u.join(`
124
124
  `))}catch(s){return xe(String(s))}}),t.registerTool("mindos_get_file_at_version",{title:"Read File at Git Version",description:"Read file content at a specific git commit.",inputSchema:E.object({path:E.string().min(1),commit:E.string().min(4)}),annotations:{readOnlyHint:!0}},async({path:i,commit:o})=>{try{let c=(await r("/api/git",{op:"show",path:i,commit:o})).content;return de(Av(`# ${i} @ ${o.slice(0,8)}
125
125
 
126
- ${c}`))}catch(s){return xe(String(s))}})}function _E(){let t=new yc({name:"mindos-mcp-server",version:"1.0.0"});return fL(t),t}async function mL(){if(uL==="http"){let t=new Map,e=xE({host:Ru});e.get("/api/health",(n,a)=>{a.json({ok:!0,service:"mindos"})}),Cu&&e.use(jv,(n,a,i)=>{if(n.headers.authorization?.replace("Bearer ","")!==Cu){a.status(401).json({error:"Unauthorized"});return}i()}),e.all(jv,async(n,a)=>{let i=n.headers["mcp-session-id"];if(i&&t.has(i)){await t.get(i).transport.handleRequest(n,a,n.body);return}if(i&&!t.has(i)){a.status(404).json({jsonrpc:"2.0",error:{code:-32e3,message:"Session not found"}});return}let o=new Ec({sessionIdGenerator:()=>(0,wE.randomUUID)()}),s=_E();o.onclose=()=>{let u=o.sessionId;u&&t.delete(u),console.error(`[MCP] Session ${u?.slice(0,8)} closed (${t.size} active)`)},await s.connect(o),await o.handleRequest(n,a,n.body);let c=o.sessionId;if(c){t.set(c,{transport:o,server:s});let u=s.server.getClientVersion(),l=u?.name?` (${u.name})`:"";console.error(`[MCP] New session ${c.slice(0,8)}${l} (${t.size} active)`)}});let r=(0,kE.createServer)(e);r.listen(bE,Ru,()=>{console.error(`MindOS MCP server (HTTP) listening on http://${Ru==="0.0.0.0"?"127.0.0.1":Ru}:${bE}${jv}`),console.error(`API backend: ${Co}`)}),process.stdin.isTTY||(process.stdin.resume(),process.stdin.on("end",()=>{console.error("[MindOS MCP] Parent process exited (stdin closed), shutting down"),r.close(),setTimeout(()=>process.exit(0),1e3)}),process.stdin.on("error",()=>{}))}else{let t=_E(),e=new bc;await t.connect(e),console.error(`MindOS MCP server started (stdio, API: ${Co})`)}}mL().catch(t=>{console.error("Fatal:",t),process.exit(1)});
126
+ ${c}`))}catch(s){return xe(String(s))}})}function _E(){let t=new yc({name:"mindos-mcp-server",version:"1.0.0"});return fL(t),t}async function mL(){if(uL==="http"){let t=new Map,e=xE({host:Ru});e.get("/api/health",(a,i)=>{i.json({ok:!0,service:"mindos"})}),Cu&&e.use(jv,(a,i,o)=>{if(a.headers.authorization?.replace("Bearer ","")!==Cu){i.status(401).json({error:"Unauthorized"});return}o()}),e.all(jv,async(a,i)=>{let o=a.headers["mcp-session-id"];if(o&&t.has(o)){await t.get(o).transport.handleRequest(a,i,a.body);return}if(o&&!t.has(o)){i.status(404).json({jsonrpc:"2.0",error:{code:-32e3,message:"Session not found"}});return}let s=new Ec({sessionIdGenerator:()=>(0,wE.randomUUID)()}),c=_E();s.onclose=()=>{let l=s.sessionId;l&&t.delete(l),console.error(`[MCP] Session ${l?.slice(0,8)} closed (${t.size} active)`)},await c.connect(s),await s.handleRequest(a,i,a.body);let u=s.sessionId;if(u){t.set(u,{transport:s,server:c});let l=c.server.getClientVersion(),p=l?.name?` (${l.name})`:"";console.error(`[MCP] New session ${u.slice(0,8)}${p} (${t.size} active)`)}});let r=(0,kE.createServer)(e);r.listen(bE,Ru,()=>{console.error(`MindOS MCP server (HTTP) listening on http://${Ru==="0.0.0.0"?"127.0.0.1":Ru}:${bE}${jv}`),console.error(`API backend: ${Co}`)});let n=process.env.LAUNCHED_BY_LAUNCHD==="1"||!!process.env.INVOCATION_ID;!process.stdin.isTTY&&!n&&(process.stdin.resume(),process.stdin.on("end",()=>{console.error("[MindOS MCP] Parent process exited (stdin closed), shutting down"),r.close(),setTimeout(()=>process.exit(0),1e3)}),process.stdin.on("error",()=>{}))}else{let t=_E(),e=new bc;await t.connect(e),console.error(`MindOS MCP server started (stdio, API: ${Co})`)}}mL().catch(t=>{console.error("Fatal:",t),process.exit(1)});
127
127
  /*! Bundled license information:
128
128
 
129
129
  depd/index.js:
package/mcp/src/index.ts CHANGED
@@ -675,7 +675,12 @@ async function main() {
675
675
  console.error(`API backend: ${BASE_URL}`);
676
676
  });
677
677
 
678
- if (!process.stdin.isTTY) {
678
+ // Detect parent-exit via stdin EOF β€” but only when stdin is a real pipe
679
+ // from a parent process (e.g. Desktop/Electron). Under launchd/systemd,
680
+ // stdin is /dev/null which emits EOF immediately and would kill the server.
681
+ const launchedByDaemon =
682
+ process.env.LAUNCHED_BY_LAUNCHD === '1' || !!process.env.INVOCATION_ID;
683
+ if (!process.stdin.isTTY && !launchedByDaemon) {
679
684
  process.stdin.resume();
680
685
  process.stdin.on('end', () => {
681
686
  console.error('[MindOS MCP] Parent process exited (stdin closed), shutting down');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@geminilight/mindos",
3
- "version": "0.6.55",
3
+ "version": "0.6.57",
4
4
  "description": "MindOS β€” Human-Agent Collaborative Mind System. Local-first knowledge base that syncs your mind to all AI Agents via MCP.",
5
5
  "keywords": [
6
6
  "mindos",
@@ -1,52 +0,0 @@
1
- "use strict";exports.id=1981,exports.ids=[1981],exports.modules={1160:(a,b,c)=>{c.d(b,{GL:()=>d,_l:()=>e,e1:()=>f}),c(29021),c(33873);let d=a=>`# ${a} Instruction Set
2
-
3
- ## Goal
4
-
5
- - Define local execution rules for this directory.
6
-
7
- ## Local Rules
8
-
9
- - Read root \`INSTRUCTION.md\` first.
10
- - Then read this directory \`README.md\` for navigation.
11
- - Keep edits minimal, structured, and traceable.
12
-
13
- ## Execution Order
14
-
15
- 1. Root \`INSTRUCTION.md\`
16
- 2. This directory \`INSTRUCTION.md\`
17
- 3. This directory \`README.md\` and target files
18
-
19
- ## Boundary
20
-
21
- - Root rules win on conflict.
22
- `,e=a=>`# ${a}
23
-
24
- ## πŸ“ Structure
25
-
26
- \`\`\`bash
27
- ${a}/
28
- β”œβ”€β”€ INSTRUCTION.md
29
- β”œβ”€β”€ README.md
30
- └── (your files here)
31
- \`\`\`
32
-
33
- ## πŸ’‘ Usage
34
-
35
- (Describe the purpose and usage of this space.)
36
- `;function f(a){return a.replace(/^[\p{Emoji_Presentation}\p{Extended_Pictographic}\s]+/u,"")||a}},4120:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{kh:()=>o});var e=c(29021),f=c.n(e),g=c(33873),h=c.n(g),i=c(21820),j=c.n(i),k=c(61374),l=c(27313),m=a([l]);l=(m.then?(await m)():m)[0];let p=h().join(j().homedir(),".mindos","config.json"),q={ai:{provider:"anthropic",providers:{anthropic:{apiKey:"",model:"claude-sonnet-4-6"},openai:{apiKey:"",model:"gpt-5.4",baseUrl:""}}},mindRoot:""};function n(a,b,c){if(a&&"object"==typeof a){let c=a[b];if("string"==typeof c&&""!==c.trim())return c}return c}function o(){return function(){try{var a;let b=f().readFileSync(p,"utf-8"),c=JSON.parse(b);return{ai:function(a){let b=a.ai;if(!b)return{...q.ai};let c="string"==typeof b.provider?b.provider:"anthropic",d=(0,l.rl)(c)?c:"anthropic";if(b.providers&&"object"==typeof b.providers){let a=b.providers,c={};for(let b of Object.keys(a)){var e;if(!(0,l.rl)(b))continue;let d=l.T_[b],f=q.ai.providers[b]??{apiKey:"",model:d.defaultModel};c[b]=(e=a[b],{apiKey:n(e,"apiKey",f.apiKey),model:n(e,"model",f.model),...void 0!==f.baseUrl?{baseUrl:n(e,"baseUrl",f.baseUrl)}:{}})}return c.anthropic||(c.anthropic=q.ai.providers.anthropic),c.openai||(c.openai=q.ai.providers.openai),{provider:d,providers:c}}return{provider:d,providers:{anthropic:{apiKey:n(b,"anthropicApiKey",""),model:n(b,"anthropicModel","claude-sonnet-4-6")},openai:{apiKey:n(b,"openaiApiKey",""),model:n(b,"openaiModel","gpt-5.4"),baseUrl:n(b,"openaiBaseUrl","")}}}}(c),agent:function(a){if(!a||"object"!=typeof a)return;let b={};return"number"==typeof a.maxSteps&&(b.maxSteps=Math.min(30,Math.max(1,a.maxSteps))),"boolean"==typeof a.enableThinking&&(b.enableThinking=a.enableThinking),"number"==typeof a.thinkingBudget&&(b.thinkingBudget=Math.min(5e4,Math.max(1e3,a.thinkingBudget))),("auto"===a.contextStrategy||"off"===a.contextStrategy)&&(b.contextStrategy=a.contextStrategy),"number"==typeof a.reconnectRetries&&(b.reconnectRetries=Math.min(10,Math.max(0,a.reconnectRetries))),Object.keys(b).length>0?b:void 0}(c.agent),acpAgents:(a=c.acpAgents,(0,k.gG)(a)),mindRoot:c.mindRoot??q.mindRoot,webPassword:"string"==typeof c.webPassword?c.webPassword:void 0,authToken:"string"==typeof c.authToken?c.authToken:void 0,mcpPort:"number"==typeof c.mcpPort?c.mcpPort:void 0,port:"number"==typeof c.port?c.port:void 0,startMode:"string"==typeof c.startMode?c.startMode:void 0,setupPending:!0===c.setupPending||void 0,disabledSkills:Array.isArray(c.disabledSkills)?c.disabledSkills:void 0,guideState:function(a){if(!a||"object"!=typeof a||!0!==a.active)return;let b="en"===a.template||"zh"===a.template||"empty"===a.template?a.template:"en";return{active:!0,dismissed:!0===a.dismissed,template:b,step1Done:!0===a.step1Done,askedAI:!0===a.askedAI,nextStepIndex:"number"==typeof a.nextStepIndex?a.nextStepIndex:0,walkthroughStep:"number"==typeof a.walkthroughStep?a.walkthroughStep:void 0,walkthroughDismissed:"boolean"==typeof a.walkthroughDismissed?a.walkthroughDismissed:void 0}}(c.guideState),baseUrlCompat:(()=>{let a=c.baseUrlCompat;if(!a||"object"!=typeof a)return;let b={};for(let[c,d]of Object.entries(a))("streaming"===d||"non-streaming"===d)&&(b[c]=d);return Object.keys(b).length>0?b:void 0})(),connectionMode:function(a){if(a.connectionMode&&"object"==typeof a.connectionMode){let b=a.connectionMode;if("boolean"==typeof b.cli&&"boolean"==typeof b.mcp)return{cli:b.cli,mcp:b.mcp}}let b=!0===a.setupPending||!a.mindRoot;return{cli:!0,mcp:!b}}(c)}}catch{return{...q,ai:{...q.ai,providers:{...q.ai.providers}},setupPending:!0,connectionMode:{cli:!0,mcp:!1}}}}().mindRoot||process.env.MIND_ROOT||h().join(j().homedir(),"MindOS","mind")}d()}catch(a){d(a)}})},14432:(a,b,c)=>{c.d(b,{Xs:()=>B,As:()=>x,rt:()=>e.rt,x3:()=>e.x3,_E:()=>w,H5:()=>e.H5,OV:()=>e.OV});var d=c(99863),e=c(18451),f=c(29021),g=c.n(f);c(79748);var h=c(33873),i=c.n(h);let j=new Set([".git","node_modules","app",".next",".DS_Store","mcp"]),k=new Set([".md",".csv",".pdf",".png",".jpg",".jpeg",".gif",".webp",".svg",".bmp",".ico",".mp3",".wav",".m4a",".ogg",".flac",".aac",".mp4",".webm",".mov",".mkv"]),l=new Set(["INSTRUCTION.md","README.md","CONFIG.json","CHANGELOG.md"]);function m(a,b,c={}){let d,e=i().resolve(a),f=b??e,h=c.ignoredDirs??j,n=c.allowedExtensions??k;try{d=g().readdirSync(f,{withFileTypes:!0})}catch{return[]}let o=[];for(let b of d){let d=i().join(f,b.name);if(b.isDirectory()){if(h.has(b.name))continue;o.push(...m(a,d,c))}else if(b.isFile()){if(f===e&&l.has(b.name))continue;let a=i().extname(b.name).toLowerCase();n.has(a)&&o.push(i().relative(e,d))}}return o}var n=c(21820),o=c.n(n),p=c(89531);let q=/[\u4e00-\u9fff\u3040-\u309f\u30a0-\u30ff\uac00-\ud7af]/,r="u">typeof Intl&&Intl.Segmenter?new Intl.Segmenter("zh",{granularity:"word"}):null;function s(a){let b=new Set,c=a.toLowerCase(),d=c.match(/[a-z0-9_$@#]+/g);if(d)for(let a of d)a.length>=2&&b.add(a);if(q.test(c))if(r)for(let{segment:a,isWordLike:d}of r.segment(c)){if(!d)continue;let c=a.trim();if(c)for(let a of(b.add(c),c))q.test(a)&&b.add(a)}else{let a=[];for(let d of c)q.test(d)?a.push(d):a.length>0&&(t(a,b),a.length=0);a.length>0&&t(a,b)}return b}function t(a,b){for(let c=0;c<a.length;c++)b.add(a[c]),c+1<a.length&&b.add(a[c]+a[c+1])}class u{rebuild(a){let b=m(a),c=new Map,f=new Map,g=new Map,h=0;for(let j of b){let b;if(".pdf"===i().extname(j).toLowerCase())try{let c=(0,d.eX)(a,j);if(!(b=(0,p.b)(c)))continue}catch{continue}else try{b=(0,e.TA)(a,j)}catch{continue}f.set(j,b.length),h+=b.length,b.length>5e4&&(b=b.slice(0,5e4));let k=s(j+"\n"+b);for(let a of(g.set(j,k),k)){let b=c.get(a);b||(b=new Set,c.set(a,b)),b.add(j)}}this.invertedIndex=c,this.builtForRoot=a,this.fileCount=b.length,this.docLengths=f,this.totalChars=h,this.fileTokens=g}invalidate(){this.invertedIndex=null,this.builtForRoot=null,this.fileCount=0,this.docLengths.clear(),this.totalChars=0,this.fileTokens.clear()}removeFile(a){if(!this.invertedIndex)return;let b=this.fileTokens.get(a);if(b){for(let c of b)this.invertedIndex.get(c)?.delete(a);this.fileTokens.delete(a)}let c=this.docLengths.get(a)??0;this.totalChars-=c,this.docLengths.delete(a),this.fileCount=Math.max(0,this.fileCount-1)}addFile(a,b){let c;if(!this.invertedIndex)return;if(".pdf"===i().extname(b).toLowerCase())try{let e=(0,d.eX)(a,b);if(!(c=(0,p.b)(e)))return}catch{return}else try{c=(0,e.TA)(a,b)}catch{return}this.docLengths.set(b,c.length),this.totalChars+=c.length,this.fileCount++,c.length>5e4&&(c=c.slice(0,5e4));let f=s(b+"\n"+c);for(let a of(this.fileTokens.set(b,f),f)){let c=this.invertedIndex.get(a);c||(c=new Set,this.invertedIndex.set(a,c)),c.add(b)}}updateFile(a,b){this.invertedIndex&&(this.removeFile(b),this.addFile(a,b))}isBuiltFor(a){return null!==this.invertedIndex&&this.builtForRoot===a}isBuilt(){return null!==this.invertedIndex}getFileCount(){return this.fileCount}getAvgDocLength(){return this.fileCount>0?this.totalChars/this.fileCount:0}getDocLength(a){return this.docLengths.get(a)??0}getDocFrequency(a){return this.invertedIndex?this.invertedIndex.get(a)?.size??0:0}getCandidatesUnion(a){if(!a.trim()||!this.invertedIndex)return null;let b=s(a.toLowerCase().trim());if(0===b.size)return null;let c=new Map;for(let a of b){let b=this.invertedIndex.get(a);if(b)for(let a of b)c.set(a,(c.get(a)??0)+1)}if(0===c.size)return[];let d=b.size;if(d>=3){let a=Math.max(1,Math.floor(d/2)),b=[...c.entries()].filter(([,b])=>b>=a).map(([a])=>a);if(b.length>0)return b}return[...c.keys()]}getCandidates(a){if(!a.trim()||!this.invertedIndex)return null;let b=s(a.toLowerCase().trim());if(0===b.size)return null;let c=null;for(let a of b){let b=this.invertedIndex.get(a);if(!b)return[];if(null===c)c=new Set(b);else{for(let a of c)b.has(a)||c.delete(a);if(0===c.size)return[]}}return c?Array.from(c):[]}persist(a){if(!this.invertedIndex)return;let b={version:1,builtForRoot:this.builtForRoot??"",fileCount:this.fileCount,totalChars:this.totalChars,docLengths:Object.fromEntries(this.docLengths),invertedIndex:{},timestamp:Date.now()};for(let[a,c]of this.invertedIndex)b.invertedIndex[a]=[...c];let c=i().join(a,"search-index.json");try{g().mkdirSync(a,{recursive:!0}),g().writeFileSync(c,JSON.stringify(b),"utf-8")}catch{}}load(a,b){let c,d,e=i().join(a,"search-index.json");try{c=g().readFileSync(e,"utf-8")}catch{return!1}try{d=JSON.parse(c)}catch{return!1}if(1!==d.version||d.builtForRoot!==b||m(b).length!==d.fileCount)return!1;let f=Object.keys(d.docLengths);if(Math.min(50,f.length)===f.length)for(let a of f)try{if(g().statSync(i().join(b,a)).mtimeMs>d.timestamp)return!1}catch{return!1}else{let a=Math.max(1,Math.floor(f.length/40)),c=new Set;for(let b=0;b<f.length;b+=a)c.add(b);for(let a=Math.max(0,f.length-10);a<f.length;a++)c.add(a);for(let a of c)try{if(g().statSync(i().join(b,f[a])).mtimeMs>d.timestamp)return!1}catch{return!1}}this.builtForRoot=d.builtForRoot,this.fileCount=d.fileCount,this.totalChars=d.totalChars,this.docLengths=new Map(Object.entries(d.docLengths).map(([a,b])=>[a,b]));let h=new Map,j=new Map;for(let[a,b]of Object.entries(d.invertedIndex)){let c=new Set(b);for(let b of(h.set(a,c),c)){let c=j.get(b);c||(c=new Set,j.set(b,c)),c.add(a)}}return this.invertedIndex=h,this.fileTokens=j,!0}constructor(){this.invertedIndex=null,this.builtForRoot=null,this.fileCount=0,this.docLengths=new Map,this.totalChars=0,this.fileTokens=new Map}}let v=new u;function w(){v.invalidate()}function x(a,b){v.isBuilt()&&(v.addFile(a,b),z=!0,y&&clearTimeout(y),y=setTimeout(A,5e3))}let y=null,z=!1;function A(){if(y&&(clearTimeout(y),y=null),z){z=!1;try{v.persist(i().join(o().homedir(),".mindos"))}catch{}}}"u">typeof process&&(process.on("beforeExit",A),process.on("SIGTERM",()=>{A(),process.exit(0)}),process.on("SIGINT",()=>{A(),process.exit(0)}));class B{rebuild(a){let b=m(a).filter(a=>a.endsWith(".md")),c=new Set(b),d=function(a){let b=new Map;for(let c of a){let a=i().basename(c).toLowerCase();b.has(a)||b.set(a,[]),b.get(a).push(c)}return b}(b),f=new Map,g=new Map;for(let h of b){let b;try{b=(0,e.TA)(a,h)}catch{continue}let i=C(b,h,c,d),j=new Set;for(let a of i)a!==h&&j.add(a);for(let a of(f.set(h,j),j)){let b=g.get(a);b||(b=new Set,g.set(a,b)),b.add(h)}}this.forwardLinks=f,this.backwardLinks=g,this.builtForRoot=a,this.fileSet=c,this.basenameMap=d}invalidate(){this.forwardLinks.clear(),this.backwardLinks.clear(),this.builtForRoot=null,this.fileSet.clear(),this.basenameMap.clear()}isBuiltFor(a){return this.builtForRoot===a}isBuilt(){return null!==this.builtForRoot}getForwardLinks(a){return[...this.forwardLinks.get(a)??[]]}getBacklinks(a){return[...this.backwardLinks.get(a)??[]]}getAllEdges(){let a=[];for(let[b,c]of this.forwardLinks)for(let d of c)a.push({source:b,target:d});return a}removeFile(a){let b=this.forwardLinks.get(a);if(b){for(let c of b)this.backwardLinks.get(c)?.delete(a);this.forwardLinks.delete(a)}let c=this.backwardLinks.get(a);if(c){for(let b of c)this.forwardLinks.get(b)?.delete(a);this.backwardLinks.delete(a)}this.fileSet.delete(a);let d=i().basename(a).toLowerCase(),e=this.basenameMap.get(d);if(e){let b=e.indexOf(a);b>=0&&e.splice(b,1),0===e.length&&this.basenameMap.delete(d)}}updateFile(a,b){let c;if(!this.builtForRoot||!b.endsWith(".md"))return;let d=this.forwardLinks.get(b);if(d)for(let a of d)this.backwardLinks.get(a)?.delete(b);try{c=(0,e.TA)(a,b)}catch{return}if(!this.fileSet.has(b)){this.fileSet.add(b);let a=i().basename(b).toLowerCase();this.basenameMap.has(a)||this.basenameMap.set(a,[]),this.basenameMap.get(a).push(b)}let f=C(c,b,this.fileSet,this.basenameMap),g=new Set;for(let a of f)a!==b&&g.add(a);for(let a of(this.forwardLinks.set(b,g),g)){let c=this.backwardLinks.get(a);c||(c=new Set,this.backwardLinks.set(a,c)),c.add(b)}}constructor(){this.forwardLinks=new Map,this.backwardLinks=new Map,this.builtForRoot=null,this.fileSet=new Set,this.basenameMap=new Map}}function C(a,b,c,d){let e,f=[],g=i().dirname(b),h=/\[\[([^\]|#]+)(?:[|#][^\]]*)?/g;for(;null!==(e=h.exec(a));){let a=e[1].trim();if(!a)continue;if(c.has(a)){f.push(a);continue}let b=a.endsWith(".md")?a:a+".md";if(c.has(b)){f.push(b);continue}let g=i().basename(b).toLowerCase(),h=d.get(g);h&&1===h.length&&f.push(h[0])}let j=/\[[^\]]+\]\(([^)]+\.md)(?:#[^)]*)?\)/g;for(;null!==(e=j.exec(a));){let a=e[1].trim();if(!a||a.startsWith("http"))continue;let b=i().normalize(i().join(g,a));c.has(b)&&f.push(b)}return f}c(20018),c(79646),c(15872)},15872:(a,b,c)=>{c.d(b,{_:()=>l,c:()=>k});var d=c(29021),e=c.n(d),f=c(33873),g=c.n(f),h=c(20018),i=c(18451),j=c(1160);function k(a,b,c){let d=b.replace(/^[\p{Emoji_Presentation}\p{Extended_Pictographic}\s]+/u,"")||b,e=c.trim()||"(Describe the purpose and usage of this space.)";return`# ${d}
37
-
38
- ${e}
39
-
40
- ## πŸ“ Structure
41
-
42
- \`\`\`bash
43
- ${a}/
44
- β”œβ”€β”€ INSTRUCTION.md
45
- β”œβ”€β”€ README.md
46
- └── (your files here)
47
- \`\`\`
48
-
49
- ## πŸ’‘ Usage
50
-
51
- (Add usage guidelines for this space.)
52
- `}function l(a,b,c,d=""){let f=b.trim();if(!f)throw new h.Vt(h.tG.INVALID_REQUEST,"Space name is required",{name:b});if(f.includes("/")||f.includes("\\"))throw new h.Vt(h.tG.INVALID_PATH,"Space name must not contain path separators",{name:f});let m=d.replace(/\/+$/,"").trim();if(m.includes("..")||m.startsWith("/")||m.includes("\\"))throw new h.Vt(h.tG.INVALID_PATH,"Invalid parent path",{parentPath:d});let n=m?`${m}/`:"",o=`${n}${f}`,p=k(o,f,c);(0,i.x3)(a,`${o}/README.md`,p);let q=g().resolve(a,o),r=g().join(q,"INSTRUCTION.md");return e().existsSync(r)||e().writeFileSync(r,(0,j.GL)((0,j.e1)(f)),"utf-8"),{path:o}}},16081:(a,b,c)=>{c.d(b,{F0:()=>o,JI:()=>u,Lr:()=>p,YN:()=>t,hQ:()=>s,kz:()=>q,vn:()=>r});var d=c(29021),e=c.n(d),f=c(33873),g=c.n(f);function h(a,b){return g().join(g().dirname(a),b)}function i(a){return h(a,".trash")}function j(a){return h(a,".trash-meta")}function k(a){e().mkdirSync(i(a),{recursive:!0}),e().mkdirSync(j(a),{recursive:!0})}function l(a,b){let c=g().join(j(a),`${b}.json`);if(!e().existsSync(c))return null;try{return JSON.parse(e().readFileSync(c,"utf-8"))}catch{return null}}function m(a,b){let c=g().join(j(a),`${b}.json`);try{e().unlinkSync(c)}catch{}}function n(a,b,c){if(c)e().cpSync(a,b,{recursive:!0}),e().rmSync(a,{recursive:!0,force:!0});else try{e().renameSync(a,b)}catch(c){if("EXDEV"===c.code)e().copyFileSync(a,b),e().unlinkSync(a);else throw c}}function o(a,b){let c,d;k(a);let f=g().join(a,b);if(!e().existsSync(f))throw Error(`File not found: ${b}`);let h=e().statSync(f).isDirectory(),l=g().basename(b),m=(c=l.replace(/[^a-zA-Z0-9._\-\u4e00-\u9fff]/g,"_"),`${Date.now()}_${c}`),o=g().join(i(a),m);e().mkdirSync(g().dirname(o),{recursive:!0}),n(f,o,h);let p=new Date,q={id:m,originalPath:b,deletedAt:p.toISOString(),expiresAt:new Date(p.getTime()+2592e6).toISOString(),fileName:l,isDirectory:h};return d=g().join(j(a),`${q.id}.json`),e().writeFileSync(d,JSON.stringify(q,null,2),"utf-8"),q}function p(a,b,c=!1){let d=l(a,b);if(!d)throw Error("Item not found in trash");let f=g().join(i(a),b);if(!e().existsSync(f))throw Error("Trash file missing from disk");let h=g().join(a,d.originalPath);if(e().existsSync(h)&&!c)throw Object.assign(Error("Restore conflict: file exists at original location"),{code:"RESTORE_CONFLICT"});return e().mkdirSync(g().dirname(h),{recursive:!0}),d.isDirectory?c&&e().existsSync(h)&&e().rmSync(h,{recursive:!0,force:!0}):c&&e().existsSync(h)&&e().unlinkSync(h),n(f,h,d.isDirectory),m(a,b),{restoredPath:d.originalPath}}function q(a,b){let c=l(a,b);if(!c)throw Error("Item not found in trash");let d=g().join(i(a),b);if(!e().existsSync(d))throw Error("Trash file missing from disk");let f=g().dirname(c.originalPath),h=g().extname(c.fileName),j=g().basename(c.fileName,h),k=g().join(f,`${j} (copy)${h}`),o=2;for(;e().existsSync(g().join(a,k));)k=g().join(f,`${j} (copy ${o})${h}`),o++;let p=g().join(a,k);return e().mkdirSync(g().dirname(p),{recursive:!0}),n(d,p,c.isDirectory),m(a,b),{restoredPath:k}}function r(a,b){let c=g().join(i(a),b);try{e().existsSync(c)&&(e().statSync(c).isDirectory()?e().rmSync(c,{recursive:!0,force:!0}):e().unlinkSync(c))}catch{}m(a,b)}function s(a){let b;k(a);let c=j(a);try{b=e().readdirSync(c).filter(a=>a.endsWith(".json"))}catch{return[]}let d=[];for(let f of b)try{let b=JSON.parse(e().readFileSync(g().join(c,f),"utf-8")),h=g().join(i(a),b.id);if(e().existsSync(h))d.push(b);else try{e().unlinkSync(g().join(c,f))}catch{}}catch{}return d.sort((a,b)=>new Date(b.deletedAt).getTime()-new Date(a.deletedAt).getTime()),d}function t(a){let b=s(a);for(let c of b)r(a,c.id);return b.length}function u(a){let b=s(a),c=Date.now(),d=0;for(let e of b)new Date(e.expiresAt).getTime()<=c&&(r(a,e.id),d++);return d}},18451:(a,b,c)=>{c.d(b,{H5:()=>n,OV:()=>o,TA:()=>k,rt:()=>m,x3:()=>l});var d=c(29021),e=c.n(d),f=c(33873),g=c.n(f),h=c(99863),i=c(20018),j=c(1160);function k(a,b){let c=(0,h.eX)(a,b);return e().readFileSync(c,"utf-8")}function l(a,b,c=""){let d=(0,h.eX)(a,b);e().mkdirSync(g().dirname(d),{recursive:!0});try{e().writeFileSync(d,c,{encoding:"utf-8",flag:"wx"})}catch(a){if(a instanceof Error&&"code"in a&&"EEXIST"===a.code)throw new i.Vt(i.tG.FILE_ALREADY_EXISTS,`File already exists: ${b}`,{filePath:b});throw a}}function m(a,b){let c=(0,h.eX)(a,b);if(!e().existsSync(c))throw new i.Vt(i.tG.FILE_NOT_FOUND,`Directory not found: ${b}`,{dirPath:b});if(!e().statSync(c).isDirectory())throw new i.Vt(i.tG.INVALID_PATH,`Not a directory: ${b}`,{dirPath:b});let d=g().basename(c),f=(0,j.e1)(d),k=g().join(c,"INSTRUCTION.md");e().existsSync(k)||e().writeFileSync(k,(0,j.GL)(f),"utf-8");let l=g().join(c,"README.md");e().existsSync(l)||e().writeFileSync(l,(0,j._l)(f),"utf-8")}function n(a,b,c){if(c.includes("/")||c.includes("\\"))throw new i.Vt(i.tG.INVALID_PATH,"Invalid filename: must not contain path separators",{newName:c});let d=g().resolve(a),f=g().resolve(g().join(d,b));(0,h.cP)(f,d);let j=g().dirname(f),k=g().join(j,c);if((0,h.cP)(k,d),e().existsSync(k))throw new i.Vt(i.tG.FILE_ALREADY_EXISTS,"A file with that name already exists",{newName:c});return e().renameSync(f,k),g().relative(d,k)}function o(a,b,c){let d=c.trim();if(!d||d.includes("/")||d.includes("\\"))throw new i.Vt(i.tG.INVALID_PATH,"Invalid space name: must not contain path separators",{newName:c});let f=b.replace(/\/+$/g,"").trim();if(!f)throw new i.Vt(i.tG.INVALID_PATH,"Space path is required",{spacePath:b});let j=g().resolve(a),k=(0,h.eX)(a,f);if(!e().existsSync(k))throw new i.Vt(i.tG.FILE_NOT_FOUND,`Space not found: ${f}`,{spacePath:f});if(!e().statSync(k).isDirectory())throw new i.Vt(i.tG.INVALID_PATH,`Not a directory: ${f}`,{spacePath:f});let l=g().dirname(k),m=g().join(l,d);if((0,h.cP)(m,j),e().existsSync(m))throw new i.Vt(i.tG.FILE_ALREADY_EXISTS,"A space with that name already exists",{newName:d});return e().renameSync(k,m),g().relative(j,m)}},20018:(a,b,c)=>{c.d(b,{Vt:()=>d,tG:()=>e}),c(20457);class d extends Error{constructor(a,b,c,d){super(b),this.code=a,this.context=c,this.userMessage=d,this.name="MindOSError"}}let e={FILE_NOT_FOUND:"FILE_NOT_FOUND",FILE_ALREADY_EXISTS:"FILE_ALREADY_EXISTS",PATH_OUTSIDE_ROOT:"PATH_OUTSIDE_ROOT",PROTECTED_FILE:"PROTECTED_FILE",INVALID_PATH:"INVALID_PATH",INVALID_RANGE:"INVALID_RANGE",HEADING_NOT_FOUND:"HEADING_NOT_FOUND",INVALID_FILE_TYPE:"INVALID_FILE_TYPE",INVALID_REQUEST:"INVALID_REQUEST",MODEL_INIT_FAILED:"MODEL_INIT_FAILED",INTERNAL_ERROR:"INTERNAL_ERROR",PERMISSION_DENIED:"PERMISSION_DENIED"}},21981:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{"000b135659269552286a66f8a627ac5e43778db64a":()=>e.GB,"000c0c622b89debda50eaafd01e5f8fc624e585ded":()=>e.EG,"00812933c664279789e716f0ee44fb574f758ec098":()=>e.Dg,"008c1c5923370efb5fe667bb0601ca4338b613534b":()=>e.Bn,"401827faa79099b932fea1497fa6c5076661d3aca5":()=>e.iJ,"40301015ab488a45157b81f65327e73e43f29000ea":()=>e.bC,"4061f3af00b60d80dbd7328d6f73236e63064a975a":()=>e.VO,"407a3c58de4b873b387b48239e9a40c9db22f3ceb3":()=>e.jW,"408d644a6a17f7e5b041e10d55e5e80a3a380b7576":()=>e.Ye,"409ea4c7f75a9049d20acaa7f3744b95d3a47f7097":()=>e.ku,"40d7eaa7ca10a7a42ca1d049344440272eb299f08c":()=>e.Ar,"6041123e45c0f3e85a6c4fb98591189f8aea9d7411":()=>e.f,"60722b873de5073d43851eb64af8b0bf091a9bda25":()=>e.pG,"6086e346ed22805956bfafe8f97ef05a9f8c26cf67":()=>e.NN,"60f093929b292b0e99d1ca300f9b459bbb5ab3ee38":()=>e.X3,"709fbd902325c16efac24ceca4de585b4082925b56":()=>e.pX,"70ea82abb01efa4f7068be8b5a67c94a0a188164fe":()=>e.FZ});var e=c(85224),f=a([e]);e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},27114:(a,b,c)=>{c.d(b,{A:()=>d});let d=new Set(["TODO.md"])},27313:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{T_:()=>h,rl:()=>g});var e=c(14270),f=a([e]);e=(f.then?(await f)():f)[0];let h={anthropic:{id:"anthropic",name:"Anthropic",nameZh:"Anthropic",defaultModel:"claude-sonnet-4-6",supportsBaseUrl:!0,supportsThinking:!0,supportsListModels:!0,signupUrl:"https://console.anthropic.com/settings/keys",category:"primary"},openai:{id:"openai",name:"OpenAI",nameZh:"OpenAI",defaultModel:"gpt-5.4",supportsBaseUrl:!0,supportsThinking:!0,supportsListModels:!0,signupUrl:"https://platform.openai.com/api-keys",category:"primary"},google:{id:"google",name:"Google Gemini",nameZh:"Google Gemini",defaultModel:"gemini-2.5-flash",supportsBaseUrl:!1,supportsThinking:!0,supportsListModels:!1,signupUrl:"https://aistudio.google.com/apikey",category:"primary"},groq:{id:"groq",name:"Groq",nameZh:"Groq",defaultModel:"llama-3.3-70b-versatile",supportsBaseUrl:!1,supportsThinking:!1,supportsListModels:!0,signupUrl:"https://console.groq.com/keys",category:"more"},xai:{id:"xai",name:"xAI (Grok)",nameZh:"xAI (Grok)",defaultModel:"grok-3",supportsBaseUrl:!1,supportsThinking:!1,supportsListModels:!0,category:"more"},openrouter:{id:"openrouter",name:"OpenRouter",nameZh:"OpenRouter",defaultModel:"anthropic/claude-sonnet-4",supportsBaseUrl:!1,supportsThinking:!1,supportsListModels:!0,category:"more"},mistral:{id:"mistral",name:"Mistral",nameZh:"Mistral",defaultModel:"mistral-large-latest",supportsBaseUrl:!1,supportsThinking:!1,supportsListModels:!0,category:"more"},deepseek:{id:"deepseek",name:"DeepSeek",nameZh:"DeepSeek",defaultModel:"deepseek-chat",piProviderOverride:"openai",fixedBaseUrl:"https://api.deepseek.com/v1",supportsBaseUrl:!0,supportsThinking:!0,supportsListModels:!0,signupUrl:"https://platform.deepseek.com/api_keys",category:"more"},zai:{id:"zai",name:"ZhipuAI (GLM)",nameZh:"ζ™Ίθ°± AI (GLM)",defaultModel:"glm-4-plus",supportsBaseUrl:!1,supportsThinking:!0,supportsListModels:!1,category:"more"},"kimi-coding":{id:"kimi-coding",name:"Kimi Coding",nameZh:"Kimi Coding (ζœˆδΉ‹ζš—ι’)",defaultModel:"kimi-k2-thinking",supportsBaseUrl:!1,supportsThinking:!0,supportsListModels:!1,category:"more"},cerebras:{id:"cerebras",name:"Cerebras",nameZh:"Cerebras",defaultModel:"llama-4-scout-17b-16e",supportsBaseUrl:!1,supportsThinking:!1,supportsListModels:!0,category:"more"},minimax:{id:"minimax",name:"MiniMax",nameZh:"MiniMax",defaultModel:"MiniMax-M1",supportsBaseUrl:!1,supportsThinking:!1,supportsListModels:!1,category:"more"},huggingface:{id:"huggingface",name:"Hugging Face",nameZh:"Hugging Face",defaultModel:"Qwen/Qwen3-235B-A22B-Thinking-2507",supportsBaseUrl:!1,supportsThinking:!0,supportsListModels:!1,category:"more"},ollama:{id:"ollama",name:"Ollama",nameZh:"Ollama (本地)",defaultModel:"llama3.2",piProviderOverride:"openai",fixedBaseUrl:"http://localhost:11434/v1",apiKeyFallback:"ollama",supportsBaseUrl:!0,supportsThinking:!1,supportsListModels:!0,signupUrl:"https://ollama.com/download",category:"more"}};function g(a){return a in h}Object.keys(h),d()}catch(a){d(a)}})},53134:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{H5:()=>r,JX:()=>l,Jh:()=>s,f:()=>p,gm:()=>m,rt:()=>t,x3:()=>q});var e=c(29021),f=c.n(e),g=c(33873),h=c.n(g);c(20018);var i=c(14432),j=c(4120);c(89531),c(16081);var k=a([j]);function l(){return(0,j.kh)()}j=(k.then?(await k)():k)[0];let u=new Set([".git","node_modules","app",".next",".DS_Store"]),v=new Set([".md",".csv",".json",".pdf",".png",".jpg",".jpeg",".gif",".webp",".svg",".bmp",".ico",".mp3",".wav",".m4a",".ogg",".flac",".aac",".mp4",".webm",".mov",".mkv"]),w=null,x=0,y=new i.Xs;function m(){w=null,x++,(0,i._E)(),y.invalidate()}let z=null,A=null;function n(a,b){try{let c=f().readFileSync(a,"utf-8"),d=[];for(let a of c.split("\n")){let c=a.trim();if(!(!c||c.startsWith("#"))&&(d.push(c),d.length>=b))break}return d}catch{return[]}}let B=["Define local execution rules for this directory.","(your files here)","(Describe the purpose and usage of this space.)","(Add usage guidelines for this space.)"];function o(a){try{let b=f().readFileSync(a,"utf-8");return B.some(a=>b.includes(a))}catch{return!1}}function p(){var a;let b,c;return(null!==w&&Date.now()-w.timestamp<3e4?w:(a=l(),b=function a(b,c){let d,e=c??l();try{d=f().readdirSync(b,{withFileTypes:!0})}catch{return[]}let g=[];for(let c of d){let d=h().join(b,c.name),f=h().relative(e,d);if(c.isDirectory()){if(u.has(c.name))continue;let b=a(d,e);if(b.length>0){let a=b.some(a=>"file"===a.type&&"INSTRUCTION.md"===a.name),e={name:c.name,path:f,type:"directory",children:b};a&&(e.isSpace=!0,e.spacePreview=function(a){let b=h().join(a,"INSTRUCTION.md"),c=h().join(a,"README.md");return{instructionLines:n(b,3),readmeLines:n(c,3),isTemplate:o(b)&&o(c)}}(d)),g.push(e)}}else if(c.isFile()){let a=h().extname(c.name).toLowerCase();v.has(a)&&g.push({name:c.name,path:f,type:"file",extension:a})}}return g.sort((a,b)=>a.type!==b.type?"directory"===a.type?-1:1:a.name.localeCompare(b.name)),g}(a),c=[],function a(b){for(let d of b)"file"===d.type?c.push(d.path):d.children&&a(d.children)}(b),w={tree:b,allFiles:c,timestamp:Date.now()},z||function(){let a;if(!z){try{a=l()}catch{return}try{(z=f().watch(a,{recursive:!0},(a,b)=>{!b||b.startsWith(".git")||b.includes("node_modules")||b.includes(".next")||(A&&clearTimeout(A),A=setTimeout(()=>{w=null,A=null},500))})).on("error",()=>{A&&(clearTimeout(A),A=null),z&&(z.close(),z=null)})}catch{z=null}}}(),w)).allFiles}function q(a,b=""){(0,i.x3)(l(),a,b),w=null,x++,(0,i.As)(l(),a),y.isBuilt()&&y.updateFile(l(),a)}function r(a,b){let c=(0,i.H5)(l(),a,b);return m(),c}function s(a,b){let c=(0,i.OV)(l(),a,b);return m(),c}function t(a){(0,i.rt)(l(),a),m()}d()}catch(a){d(a)}})},61374:(a,b,c)=>{c.d(b,{gG:()=>d});function d(a){if(!a||"object"!=typeof a||Array.isArray(a))return;let b={},c=!1;for(let[d,e]of Object.entries(a)){if(!e||"object"!=typeof e||Array.isArray(e))continue;let a={};if("string"==typeof e.command&&e.command.trim()&&(a.command=e.command.trim()),Array.isArray(e.args)&&(a.args=e.args.filter(a=>"string"==typeof a)),e.env&&"object"==typeof e.env&&!Array.isArray(e.env)){let b={};for(let[a,c]of Object.entries(e.env))"string"==typeof c&&(b[a]=c);Object.keys(b).length>0&&(a.env=b)}"boolean"==typeof e.enabled&&(a.enabled=e.enabled),Object.keys(a).length>0&&(b[d]=a,c=!0)}return c?b:void 0}},85224:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Ar:()=>v,Bn:()=>E,Dg:()=>B,EG:()=>C,FZ:()=>A,GB:()=>H,NN:()=>F,VO:()=>D,X3:()=>r,Ye:()=>y,bC:()=>G,f:()=>t,iJ:()=>s,jW:()=>u,ku:()=>x,pG:()=>w,pX:()=>z});var e=c(95349),f=c(29021),g=c.n(f),h=c(33873),i=c.n(h),j=c(53134),k=c(16081),l=c(15872),m=c(1160),n=c(42650),o=c(27114),p=c(89337),q=a([j]);async function r(a,b){try{let c=b.trim();if(!c)return{success:!1,error:"File name is required"};let d=c.endsWith(".md")||c.endsWith(".csv")?c:`${c}.md`,e=a?`${a}/${d}`:d;return(0,j.x3)(e),(0,n.revalidatePath)("/","layout"),{success:!0,filePath:e}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to create file"}}}async function s(a){try{let b=i().posix.basename(a);if(!a.includes("/")&&o.A.has(b))return{success:!1,error:`"${b}" is protected and cannot be deleted`};let c=(0,k.F0)((0,j.JX)(),a);return(0,j.gm)(),(0,n.revalidatePath)("/","layout"),{success:!0,trashId:c.id}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to delete file"}}}async function t(a,b){try{let c=(0,j.H5)(a,b);return(0,n.revalidatePath)("/","layout"),{success:!0,newPath:c}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to rename file"}}}async function u(a){try{return(0,j.rt)(a),(0,n.revalidatePath)("/","layout"),{success:!0}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to convert to space"}}}async function v(a){try{let b=(0,k.F0)((0,j.JX)(),a);return(0,j.gm)(),(0,n.revalidatePath)("/","layout"),{success:!0,trashId:b.id}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to delete folder"}}}async function w(a,b){try{let c=(0,j.Jh)(a,b);return(0,n.revalidatePath)("/","layout"),{success:!0,newPath:c}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to rename space"}}}async function x(a){try{let b=(0,k.F0)((0,j.JX)(),a);return(0,j.gm)(),(0,n.revalidatePath)("/","layout"),{success:!0,trashId:b.id}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to delete space"}}}async function y(a){try{return(0,k.Lr)((0,j.JX)(),a,!1),(0,j.gm)(),(0,n.revalidatePath)("/","layout"),{success:!0}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Undo failed"}}}async function z(a,b,c=""){try{let{path:d}=(0,l._)((0,j.JX)(),a,b,c);return(0,j.gm)(),(0,n.revalidatePath)("/","layout"),{success:!0,path:d}}catch(b){let a=b instanceof Error?b.message:"Failed to create space";if(a.includes("already exists"))return{success:!1,error:"A space with this name already exists"};return{success:!1,error:a}}}async function A(a,b,c){try{let d=(0,j.JX)(),e=i().resolve(d,a);if(!e.startsWith(d))return{success:!1,error:"Invalid path"};let f=i().join(e,"README.md"),h=i().join(e,"INSTRUCTION.md"),k=(0,l.c)(a,b,c);g().writeFileSync(f,k,"utf-8");let o=(0,m.e1)(b);return g().writeFileSync(h,(0,m.GL)(o),"utf-8"),(0,j.gm)(),(0,n.revalidatePath)("/","layout"),{success:!0}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to revert"}}}async function B(){return{files:(0,j.f)().filter(a=>i().basename(a).startsWith("\uD83E\uDDEA_example_"))}}async function C(){try{let{files:a}=await B();if(0===a.length)return{success:!0,deleted:0};let b=(0,j.JX)();for(let c of a){let a=i().resolve(b,c);a.startsWith(b)&&g().existsSync(a)&&g().unlinkSync(a)}for(let c of[...new Set(a.map(a=>i().dirname(i().resolve(b,a))))].sort((a,b)=>b.length-a.length))try{if(c.startsWith(b)&&c!==b){let a=g().readdirSync(c);0===a.length&&g().rmdirSync(c)}}catch{}return(0,j.gm)(),(0,n.revalidatePath)("/","layout"),{success:!0,deleted:a.length}}catch(a){return{success:!1,deleted:0,error:a instanceof Error?a.message:"Failed to cleanup"}}}async function D(a){let b=(0,j.f)(),c=a.endsWith("/")?a:a+"/";return b.filter(a=>a.startsWith(c))}async function E(){return(0,k.JI)((0,j.JX)()),(0,k.hQ)((0,j.JX)())}async function F(a,b="restore"){try{let c,d=(0,j.JX)();return c="copy"===b?(0,k.kz)(d,a):(0,k.Lr)(d,a,"overwrite"===b),(0,j.gm)(),(0,n.revalidatePath)("/","layout"),{success:!0,restoredPath:c.restoredPath}}catch(a){if("RESTORE_CONFLICT"===a.code)return{success:!1,error:a.message,conflict:!0};return{success:!1,error:a.message??"Failed to restore"}}}async function G(a){try{return(0,k.vn)((0,j.JX)(),a),{success:!0}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to delete"}}}async function H(){try{let a=(0,k.YN)((0,j.JX)());return{success:!0,count:a}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to empty trash"}}}j=(q.then?(await q)():q)[0],(0,p.D)([r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H]),(0,e.A)(r,"60f093929b292b0e99d1ca300f9b459bbb5ab3ee38",null),(0,e.A)(s,"401827faa79099b932fea1497fa6c5076661d3aca5",null),(0,e.A)(t,"6041123e45c0f3e85a6c4fb98591189f8aea9d7411",null),(0,e.A)(u,"407a3c58de4b873b387b48239e9a40c9db22f3ceb3",null),(0,e.A)(v,"40d7eaa7ca10a7a42ca1d049344440272eb299f08c",null),(0,e.A)(w,"60722b873de5073d43851eb64af8b0bf091a9bda25",null),(0,e.A)(x,"409ea4c7f75a9049d20acaa7f3744b95d3a47f7097",null),(0,e.A)(y,"408d644a6a17f7e5b041e10d55e5e80a3a380b7576",null),(0,e.A)(z,"709fbd902325c16efac24ceca4de585b4082925b56",null),(0,e.A)(A,"70ea82abb01efa4f7068be8b5a67c94a0a188164fe",null),(0,e.A)(B,"00812933c664279789e716f0ee44fb574f758ec098",null),(0,e.A)(C,"000c0c622b89debda50eaafd01e5f8fc624e585ded",null),(0,e.A)(D,"4061f3af00b60d80dbd7328d6f73236e63064a975a",null),(0,e.A)(E,"008c1c5923370efb5fe667bb0601ca4338b613534b",null),(0,e.A)(F,"6086e346ed22805956bfafe8f97ef05a9f8c26cf67",null),(0,e.A)(G,"40301015ab488a45157b81f65327e73e43f29000ea",null),(0,e.A)(H,"000b135659269552286a66f8a627ac5e43778db64a",null),d()}catch(a){d(a)}})},89531:(a,b,c)=>{c.d(b,{b:()=>i});var d=c(29021),e=c.n(d),f=c(33873),g=c.n(f),h=c(79646);function i(a){try{let b=process.env.MINDOS_PROJECT_ROOT?g().join(process.env.MINDOS_PROJECT_ROOT,"app"):g().resolve(process.cwd()),c=g().join(b,"scripts","extract-pdf.cjs");if(!e().existsSync(c))return"";let d=(0,h.execFileSync)("node",[c,a],{encoding:"utf-8",timeout:15e3,maxBuffer:5242880});return JSON.parse(d).text||""}catch{return""}}},99863:(a,b,c)=>{c.d(b,{cP:()=>g,eX:()=>h});var d=c(33873),e=c.n(d),f=c(20018);function g(a,b){if(!a.startsWith(b+e().sep)&&a!==b)throw new f.Vt(f.tG.PATH_OUTSIDE_ROOT,"Access denied: path outside MIND_ROOT",{resolved:a,root:b})}function h(a,b){let c=e().resolve(a),d=e().resolve(e().join(c,b));return g(d,c),d}}};
@@ -1 +0,0 @@
1
- var a,b,c,d;self.__BUILD_MANIFEST=(a=0,b=0,c=0,d=0,{__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},__routerFilterStatic:{numItems:69,errorRate:1e-4,numBits:1323,numHashes:14,bitArray:[1,1,0,1,1,0,0,0,1,1,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,1,1,1,0,0,0,0,1,1,0,1,1,1,0,0,1,1,1,0,1,0,0,1,0,0,0,0,1,0,1,0,1,0,1,0,1,1,0,0,0,1,1,0,0,1,1,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,1,0,0,1,0,1,0,1,0,1,1,1,1,1,0,1,0,0,1,0,0,1,0,0,0,0,0,1,0,0,1,1,1,0,1,0,0,0,0,0,0,1,0,0,1,0,1,1,0,0,0,0,1,0,0,0,0,0,1,1,1,1,1,1,0,1,1,1,1,0,1,0,1,1,1,0,0,0,0,1,1,0,1,0,0,1,0,1,0,1,1,1,1,0,0,0,0,1,0,1,0,0,0,1,0,0,1,1,1,0,0,0,0,0,0,1,0,1,1,1,1,1,0,1,1,1,1,1,0,1,0,0,1,0,1,0,0,0,0,1,1,1,0,0,0,1,1,1,1,0,1,1,1,0,1,0,1,1,1,0,0,1,1,0,1,1,0,0,1,0,0,0,1,0,1,1,0,0,1,0,0,0,0,1,0,0,1,1,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,1,1,0,1,1,0,0,1,1,0,0,1,0,0,0,1,0,1,0,0,1,1,0,0,1,1,1,1,0,0,0,1,0,0,1,1,0,0,1,1,0,0,1,1,0,1,1,1,1,1,0,0,1,0,0,0,1,1,1,0,1,0,1,0,1,0,1,0,1,0,1,1,0,1,0,0,0,1,0,0,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,0,1,0,1,1,1,0,1,1,0,0,0,1,0,1,0,0,1,0,1,0,1,1,1,1,1,0,0,1,1,1,0,1,1,1,0,0,1,0,1,1,1,1,0,1,1,1,1,0,1,0,1,1,0,1,0,1,0,0,0,1,0,1,1,1,0,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,0,0,1,1,0,0,1,0,1,0,1,0,0,0,0,1,1,0,1,0,0,1,0,1,0,1,0,0,0,1,1,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,1,0,1,1,0,0,0,1,1,1,0,0,1,1,0,0,1,1,0,0,0,1,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,0,0,1,1,0,1,0,0,1,0,1,1,0,0,0,1,0,0,1,1,0,1,0,0,1,0,1,0,0,1,0,1,1,0,1,1,1,0,1,1,0,0,0,1,0,1,1,1,0,1,1,0,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,1,1,1,0,1,1,0,1,0,1,1,1,1,0,1,0,1,0,1,1,0,0,0,0,1,0,0,0,0,1,0,0,1,1,1,1,1,0,1,0,1,0,0,0,1,0,0,1,1,1,0,1,1,1,1,1,0,1,1,1,1,0,1,0,1,0,1,1,0,1,0,0,1,0,0,0,0,1,0,1,0,0,1,1,1,1,0,1,1,0,0,1,1,1,1,1,1,1,0,0,0,0,1,1,1,0,0,0,1,0,0,0,1,0,0,1,1,0,1,1,1,0,1,0,0,1,1,0,0,0,0,1,1,1,1,1,0,1,0,0,1,1,1,1,1,1,0,1,1,0,0,1,0,0,1,1,0,1,0,1,0,0,0,0,0,1,0,1,0,0,1,0,1,1,0,0,1,0,1,1,1,1,0,0,1,0,1,0,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,1,1,0,1,1,1,0,0,1,1,0,0,1,0,0,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,0,1,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,0,0,1,0,1,0,1,0,1,0,0,0,0,0,1,1,1,0,0,1,1,0,1,1,1,0,0,1,0,0,0,0,1,0,0,0,1,1,0,0,1,1,0,1,0,0,1,1,1,1,1,0,0,0,1,1,0,0,1,0,0,0,0,1,1,1,0,0,1,0,0,1,0,1,1,0,0,0,1,0,0,0,1,0,0,0,1,1,1,1,1,0,1,0,1,0,1,1,1,0,0,1,0,0,0,0,1,1,0,0,0,1,0,1,0,1,0,0,0,1,0,1,0,1,0,1,1,1,1,1,0,0,1,0,1,0,1,0,1,0,0,1,1,1,1,1,0,0,1,1,0,1,0,1,0,0,1,0,1,1,1,1,0,0,1,0,0,0,1,0,0,1,0,0,1,1,1,1,0,1,1,0,1,0,0,0,0,1,0,0,0,0,1,1,1,1,0,1,1,1,1,0,1,0,1,0,0,1,1,1,1,0,0,0,1,1,1,1,1,0,1,0,1,0,0,0,0,0,1,0,1,0,0,1,0,0,1,1,1,0,1,1,0,0,0,0,0,0,0,1,0,0,0,0,1,0,1,1,0,1,1,1,0,0,0,0,1,0,1,0,1,0,0,1,1,1,1,1,1,0,0,1,0,0,1,0,1,1,0,0,1,0,1,1,1,1,0,1,0,1,0,1,0,0,0,0,0,1,0,0,1,1,0,1,1,1,0,1,0,1,0,1,1,1,0,1,1,1,1,1,1,0,1,0,0,0,1,1,1,1,0,1,0,1,0,0,1,0,1,1,0,1,1,0,0,0,0,1,1,0,1,0,1,0,0,0,1,1,1,1,1,0,1,0,1,0,1,0,0,0,1,0,0,1,0,1,0,1,0,0,0,0,1,1,0,1,0,0,0,1,1,0,1,1,1,0,1,0,1,0,0,1,0,0,0,0,1,1,1,1,0,1,0,0,0,1,1,1,0]},__routerFilterDynamic:{numItems:3,errorRate:1e-4,numBits:58,numHashes:14,bitArray:[0,0,0,1,0,1,0,0,0,1,0,0,1,1,0,0,1,1,0,0,1,0,0,0,1,0,0,1,0,1,1,1,1,1,1,1,0,0,1,0,1,1,0,1,0,1,1,0,1,1,1,0,0,1,0,1,0,1]},sortedPages:["/_app"]}),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();