@geminilight/mindos 0.6.53 → 0.6.54

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 (508) hide show
  1. package/README.md +27 -5
  2. package/README_zh.md +27 -5
  3. package/_standalone/.mindos-build-version +1 -1
  4. package/_standalone/.next/BUILD_ID +1 -1
  5. package/_standalone/.next/app-path-routes-manifest.json +23 -20
  6. package/_standalone/.next/build-manifest.json +3 -3
  7. package/_standalone/.next/cache/.previewinfo +1 -1
  8. package/_standalone/.next/cache/.rscinfo +1 -1
  9. package/_standalone/.next/cache/config.json +3 -3
  10. package/_standalone/.next/prerender-manifest.json +3 -3
  11. package/_standalone/.next/react-loadable-manifest.json +18 -2
  12. package/_standalone/.next/routes-manifest.json +18 -0
  13. package/_standalone/.next/server/app/.well-known/agent-card.json/route_client-reference-manifest.js +1 -1
  14. package/_standalone/.next/server/app/_global-error/page.js +1 -1
  15. package/_standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  16. package/_standalone/.next/server/app/_global-error.html +2 -2
  17. package/_standalone/.next/server/app/_global-error.rsc +2 -2
  18. package/_standalone/.next/server/app/_global-error.segments/_full.segment.rsc +2 -2
  19. package/_standalone/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  20. package/_standalone/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  21. package/_standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  22. package/_standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  23. package/_standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  24. package/_standalone/.next/server/app/_not-found/page.js +1 -1
  25. package/_standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
  26. package/_standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  27. package/_standalone/.next/server/app/agents/[agentKey]/page.js +1 -1
  28. package/_standalone/.next/server/app/agents/[agentKey]/page.js.nft.json +1 -1
  29. package/_standalone/.next/server/app/agents/[agentKey]/page_client-reference-manifest.js +1 -1
  30. package/_standalone/.next/server/app/agents/page.js +3 -3
  31. package/_standalone/.next/server/app/agents/page.js.nft.json +1 -1
  32. package/_standalone/.next/server/app/agents/page_client-reference-manifest.js +1 -1
  33. package/_standalone/.next/server/app/api/a2a/agents/route_client-reference-manifest.js +1 -1
  34. package/_standalone/.next/server/app/api/a2a/delegations/route_client-reference-manifest.js +1 -1
  35. package/_standalone/.next/server/app/api/a2a/discover/route_client-reference-manifest.js +1 -1
  36. package/_standalone/.next/server/app/api/a2a/route_client-reference-manifest.js +1 -1
  37. package/_standalone/.next/server/app/api/acp/config/route_client-reference-manifest.js +1 -1
  38. package/_standalone/.next/server/app/api/acp/detect/route_client-reference-manifest.js +1 -1
  39. package/_standalone/.next/server/app/api/acp/install/route_client-reference-manifest.js +1 -1
  40. package/_standalone/.next/server/app/api/acp/registry/route_client-reference-manifest.js +1 -1
  41. package/_standalone/.next/server/app/api/acp/session/route_client-reference-manifest.js +1 -1
  42. package/_standalone/.next/server/app/api/agent-activity/route_client-reference-manifest.js +1 -1
  43. package/_standalone/.next/server/app/api/ask/route.js +5 -5
  44. package/_standalone/.next/server/app/api/ask/route.js.nft.json +1 -1
  45. package/_standalone/.next/server/app/api/ask/route_client-reference-manifest.js +1 -1
  46. package/_standalone/.next/server/app/api/ask-sessions/route_client-reference-manifest.js +1 -1
  47. package/_standalone/.next/server/app/api/auth/route_client-reference-manifest.js +1 -1
  48. package/_standalone/.next/server/app/api/backlinks/route.js.nft.json +1 -1
  49. package/_standalone/.next/server/app/api/backlinks/route_client-reference-manifest.js +1 -1
  50. package/_standalone/.next/server/app/api/bootstrap/route.js.nft.json +1 -1
  51. package/_standalone/.next/server/app/api/bootstrap/route_client-reference-manifest.js +1 -1
  52. package/_standalone/.next/server/app/api/changes/route.js.nft.json +1 -1
  53. package/_standalone/.next/server/app/api/changes/route_client-reference-manifest.js +1 -1
  54. package/_standalone/.next/server/app/api/export/route.js +2 -2
  55. package/_standalone/.next/server/app/api/export/route.js.nft.json +1 -1
  56. package/_standalone/.next/server/app/api/export/route_client-reference-manifest.js +1 -1
  57. package/_standalone/.next/server/app/api/extract-pdf/route_client-reference-manifest.js +1 -1
  58. package/_standalone/.next/server/app/api/file/import/route.js.nft.json +1 -1
  59. package/_standalone/.next/server/app/api/file/import/route_client-reference-manifest.js +1 -1
  60. package/_standalone/.next/server/app/api/file/raw/route.js +1 -0
  61. package/_standalone/.next/server/app/api/file/raw/route.js.nft.json +1 -0
  62. package/_standalone/.next/server/app/api/file/raw/route_client-reference-manifest.js +1 -0
  63. package/_standalone/.next/server/app/api/file/route.js +1 -1
  64. package/_standalone/.next/server/app/api/file/route.js.nft.json +1 -1
  65. package/_standalone/.next/server/app/api/file/route_client-reference-manifest.js +1 -1
  66. package/_standalone/.next/server/app/api/files/route.js.nft.json +1 -1
  67. package/_standalone/.next/server/app/api/files/route_client-reference-manifest.js +1 -1
  68. package/_standalone/.next/server/app/api/git/route.js.nft.json +1 -1
  69. package/_standalone/.next/server/app/api/git/route_client-reference-manifest.js +1 -1
  70. package/_standalone/.next/server/app/api/graph/route.js.nft.json +1 -1
  71. package/_standalone/.next/server/app/api/graph/route_client-reference-manifest.js +1 -1
  72. package/_standalone/.next/server/app/api/health/route_client-reference-manifest.js +1 -1
  73. package/_standalone/.next/server/app/api/inbox/route.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.nft.json +1 -1
  79. package/_standalone/.next/server/app/api/mcp/agents/route_client-reference-manifest.js +1 -1
  80. package/_standalone/.next/server/app/api/mcp/install/route_client-reference-manifest.js +1 -1
  81. package/_standalone/.next/server/app/api/mcp/install-skill/route_client-reference-manifest.js +1 -1
  82. package/_standalone/.next/server/app/api/mcp/restart/route_client-reference-manifest.js +1 -1
  83. package/_standalone/.next/server/app/api/mcp/status/route.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_client-reference-manifest.js +1 -1
  94. package/_standalone/.next/server/app/api/settings/reset-token/route_client-reference-manifest.js +1 -1
  95. package/_standalone/.next/server/app/api/settings/route.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_client-reference-manifest.js +1 -1
  99. package/_standalone/.next/server/app/api/setup/check-path/route_client-reference-manifest.js +1 -1
  100. package/_standalone/.next/server/app/api/setup/check-port/route_client-reference-manifest.js +1 -1
  101. package/_standalone/.next/server/app/api/setup/generate-token/route_client-reference-manifest.js +1 -1
  102. package/_standalone/.next/server/app/api/setup/ls/route_client-reference-manifest.js +1 -1
  103. package/_standalone/.next/server/app/api/setup/route.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.js +1 -1
  107. package/_standalone/.next/server/app/api/sync/route_client-reference-manifest.js +1 -1
  108. package/_standalone/.next/server/app/api/tree-version/route.js.nft.json +1 -1
  109. package/_standalone/.next/server/app/api/tree-version/route_client-reference-manifest.js +1 -1
  110. package/_standalone/.next/server/app/api/uninstall/route_client-reference-manifest.js +1 -1
  111. package/_standalone/.next/server/app/api/update/route_client-reference-manifest.js +1 -1
  112. package/_standalone/.next/server/app/api/update-check/route_client-reference-manifest.js +1 -1
  113. package/_standalone/.next/server/app/api/update-status/route_client-reference-manifest.js +1 -1
  114. package/_standalone/.next/server/app/api/workflows/route.js.nft.json +1 -1
  115. package/_standalone/.next/server/app/api/workflows/route_client-reference-manifest.js +1 -1
  116. package/_standalone/.next/server/app/changes/page.js +2 -2
  117. package/_standalone/.next/server/app/changes/page.js.nft.json +1 -1
  118. package/_standalone/.next/server/app/changes/page_client-reference-manifest.js +1 -1
  119. package/_standalone/.next/server/app/echo/[segment]/page.js +3 -3
  120. package/_standalone/.next/server/app/echo/[segment]/page.js.nft.json +1 -1
  121. package/_standalone/.next/server/app/echo/[segment]/page_client-reference-manifest.js +1 -1
  122. package/_standalone/.next/server/app/echo/page.js +1 -1
  123. package/_standalone/.next/server/app/echo/page.js.nft.json +1 -1
  124. package/_standalone/.next/server/app/echo/page_client-reference-manifest.js +1 -1
  125. package/_standalone/.next/server/app/explore/page.js +2 -2
  126. package/_standalone/.next/server/app/explore/page.js.nft.json +1 -1
  127. package/_standalone/.next/server/app/explore/page_client-reference-manifest.js +1 -1
  128. package/_standalone/.next/server/app/help/page.js +2 -2
  129. package/_standalone/.next/server/app/help/page.js.nft.json +1 -1
  130. package/_standalone/.next/server/app/help/page_client-reference-manifest.js +1 -1
  131. package/_standalone/.next/server/app/inbox/history/page.js +2 -0
  132. package/_standalone/.next/server/app/inbox/history/page.js.nft.json +1 -0
  133. package/_standalone/.next/server/app/inbox/history/page_client-reference-manifest.js +1 -0
  134. package/_standalone/.next/server/app/login/page.js +2 -2
  135. package/_standalone/.next/server/app/login/page.js.nft.json +1 -1
  136. package/_standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
  137. package/_standalone/.next/server/app/page.js +3 -3
  138. package/_standalone/.next/server/app/page.js.nft.json +1 -1
  139. package/_standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  140. package/_standalone/.next/server/app/setup/page.js +2 -2
  141. package/_standalone/.next/server/app/setup/page.js.nft.json +1 -1
  142. package/_standalone/.next/server/app/setup/page_client-reference-manifest.js +1 -1
  143. package/_standalone/.next/server/app/trash/page.js +3 -3
  144. package/_standalone/.next/server/app/trash/page.js.nft.json +1 -1
  145. package/_standalone/.next/server/app/trash/page_client-reference-manifest.js +1 -1
  146. package/_standalone/.next/server/app/view/[...path]/page.js +3 -3
  147. package/_standalone/.next/server/app/view/[...path]/page.js.nft.json +1 -1
  148. package/_standalone/.next/server/app/view/[...path]/page_client-reference-manifest.js +1 -1
  149. package/_standalone/.next/server/app/wiki/page.js +2 -0
  150. package/_standalone/.next/server/app/wiki/page.js.nft.json +1 -0
  151. package/_standalone/.next/server/app/wiki/page_client-reference-manifest.js +1 -0
  152. package/_standalone/.next/server/app-paths-manifest.json +23 -20
  153. package/_standalone/.next/server/chunks/2190.js +2 -2
  154. package/_standalone/.next/server/chunks/2364.js +2 -0
  155. package/_standalone/.next/server/chunks/357.js +1 -0
  156. package/_standalone/.next/server/chunks/530.js +219 -0
  157. package/_standalone/.next/server/chunks/6054.js +52 -0
  158. package/_standalone/.next/server/chunks/6539.js +1 -1
  159. package/_standalone/.next/server/chunks/8388.js +2 -2
  160. package/_standalone/.next/server/chunks/953.js +4 -4
  161. package/_standalone/.next/server/middleware-build-manifest.js +1 -1
  162. package/_standalone/.next/server/middleware-react-loadable-manifest.js +1 -1
  163. package/_standalone/.next/server/next-font-manifest.js +1 -1
  164. package/_standalone/.next/server/next-font-manifest.json +1 -1
  165. package/_standalone/.next/server/pages/500.html +2 -2
  166. package/_standalone/.next/server/server-reference-manifest.js +1 -1
  167. package/_standalone/.next/server/server-reference-manifest.json +1 -1
  168. package/_standalone/.next/static/2hrwFOLEOZhHQHfrIt-Dw/_buildManifest.js +1 -0
  169. package/_standalone/.next/static/chunks/1053-2874859f7caefa0f.js +29 -0
  170. package/_standalone/.next/static/chunks/178-105779afb62d36d9.js +1 -0
  171. package/_standalone/.next/static/chunks/1814.b08e9fb85dd3b13c.js +1 -0
  172. package/_standalone/.next/static/chunks/{1880-3ec02adc80531825.js → 1880-7abf971bcfd2389b.js} +2 -2
  173. package/_standalone/.next/static/chunks/{3160-83a7e0b94414b3ac.js → 2218-d54538000574ffef.js} +1 -1
  174. package/_standalone/.next/static/chunks/254-32719a9bea2e74f0.js +1 -0
  175. package/_standalone/.next/static/chunks/362.a77be2f206db7b19.js +1 -0
  176. package/_standalone/.next/static/chunks/4237-ffc6e7c15d4007b6.js +1 -0
  177. package/_standalone/.next/static/chunks/7035-2af69391c7b1ad95.js +1 -0
  178. package/_standalone/.next/static/chunks/7322-d67d05067544864c.js +1 -0
  179. package/_standalone/.next/static/chunks/{6926-4af497b83952fa87.js → 8409-de5726a4a278d28f.js} +1 -1
  180. package/_standalone/.next/static/chunks/8753-ea9db680b0f70f25.js +1 -0
  181. package/_standalone/.next/static/chunks/app/.well-known/agent-card.json/{route-b07a5983e85bc5e3.js → route-e240db6d5049d336.js} +1 -1
  182. package/_standalone/.next/static/chunks/app/_global-error/{page-b07a5983e85bc5e3.js → page-e240db6d5049d336.js} +1 -1
  183. package/_standalone/.next/static/chunks/app/agents/[agentKey]/page-f006a70f6889eb56.js +1 -0
  184. package/_standalone/.next/static/chunks/app/agents/page-bd522e428e3acb78.js +5 -0
  185. package/_standalone/.next/static/chunks/app/api/a2a/agents/{route-b07a5983e85bc5e3.js → route-e240db6d5049d336.js} +1 -1
  186. package/_standalone/.next/static/chunks/app/api/a2a/delegations/{route-b07a5983e85bc5e3.js → route-e240db6d5049d336.js} +1 -1
  187. package/_standalone/.next/static/chunks/app/api/a2a/discover/route-e240db6d5049d336.js +1 -0
  188. package/_standalone/.next/static/chunks/app/api/a2a/route-e240db6d5049d336.js +1 -0
  189. package/_standalone/.next/static/chunks/app/api/acp/config/route-e240db6d5049d336.js +1 -0
  190. package/_standalone/.next/static/chunks/app/api/acp/detect/route-e240db6d5049d336.js +1 -0
  191. package/_standalone/.next/static/chunks/app/api/acp/install/route-e240db6d5049d336.js +1 -0
  192. package/_standalone/.next/static/chunks/app/api/acp/registry/route-e240db6d5049d336.js +1 -0
  193. package/_standalone/.next/static/chunks/app/api/acp/session/route-e240db6d5049d336.js +1 -0
  194. package/_standalone/.next/static/chunks/app/api/agent-activity/route-e240db6d5049d336.js +1 -0
  195. package/_standalone/.next/static/chunks/app/api/ask/route-e240db6d5049d336.js +1 -0
  196. package/_standalone/.next/static/chunks/app/api/ask-sessions/route-e240db6d5049d336.js +1 -0
  197. package/_standalone/.next/static/chunks/app/api/auth/route-e240db6d5049d336.js +1 -0
  198. package/_standalone/.next/static/chunks/app/api/backlinks/route-e240db6d5049d336.js +1 -0
  199. package/_standalone/.next/static/chunks/app/api/bootstrap/route-e240db6d5049d336.js +1 -0
  200. package/_standalone/.next/static/chunks/app/api/changes/route-e240db6d5049d336.js +1 -0
  201. package/_standalone/.next/static/chunks/app/api/export/route-e240db6d5049d336.js +1 -0
  202. package/_standalone/.next/static/chunks/app/api/extract-pdf/route-e240db6d5049d336.js +1 -0
  203. package/_standalone/.next/static/chunks/app/api/file/import/route-e240db6d5049d336.js +1 -0
  204. package/_standalone/.next/static/chunks/app/api/file/raw/route-e240db6d5049d336.js +1 -0
  205. package/_standalone/.next/static/chunks/app/api/file/route-e240db6d5049d336.js +1 -0
  206. package/_standalone/.next/static/chunks/app/api/files/route-e240db6d5049d336.js +1 -0
  207. package/_standalone/.next/static/chunks/app/api/git/route-e240db6d5049d336.js +1 -0
  208. package/_standalone/.next/static/chunks/app/api/graph/route-e240db6d5049d336.js +1 -0
  209. package/_standalone/.next/static/chunks/app/api/health/route-e240db6d5049d336.js +1 -0
  210. package/_standalone/.next/static/chunks/app/api/inbox/route-e240db6d5049d336.js +1 -0
  211. package/_standalone/.next/static/chunks/app/api/init/route-e240db6d5049d336.js +1 -0
  212. package/_standalone/.next/static/chunks/app/api/mcp/agents/route-e240db6d5049d336.js +1 -0
  213. package/_standalone/.next/static/chunks/app/api/mcp/install/route-e240db6d5049d336.js +1 -0
  214. package/_standalone/.next/static/chunks/app/api/mcp/install-skill/route-e240db6d5049d336.js +1 -0
  215. package/_standalone/.next/static/chunks/app/api/mcp/restart/route-e240db6d5049d336.js +1 -0
  216. package/_standalone/.next/static/chunks/app/api/mcp/status/route-e240db6d5049d336.js +1 -0
  217. package/_standalone/.next/static/chunks/app/api/mcp/uninstall/route-e240db6d5049d336.js +1 -0
  218. package/_standalone/.next/static/chunks/app/api/monitoring/route-e240db6d5049d336.js +1 -0
  219. package/_standalone/.next/static/chunks/app/api/recent-files/route-e240db6d5049d336.js +1 -0
  220. package/_standalone/.next/static/chunks/app/api/restart/route-e240db6d5049d336.js +1 -0
  221. package/_standalone/.next/static/chunks/app/api/search/route-e240db6d5049d336.js +1 -0
  222. package/_standalone/.next/static/chunks/app/api/settings/list-models/route-e240db6d5049d336.js +1 -0
  223. package/_standalone/.next/static/chunks/app/api/settings/reset-token/route-e240db6d5049d336.js +1 -0
  224. package/_standalone/.next/static/chunks/app/api/settings/route-e240db6d5049d336.js +1 -0
  225. package/_standalone/.next/static/chunks/app/api/settings/test-key/route-e240db6d5049d336.js +1 -0
  226. package/_standalone/.next/static/chunks/app/api/setup/check-path/route-e240db6d5049d336.js +1 -0
  227. package/_standalone/.next/static/chunks/app/api/setup/check-port/route-e240db6d5049d336.js +1 -0
  228. package/_standalone/.next/static/chunks/app/api/setup/generate-token/route-e240db6d5049d336.js +1 -0
  229. package/_standalone/.next/static/chunks/app/api/setup/ls/route-e240db6d5049d336.js +1 -0
  230. package/_standalone/.next/static/chunks/app/api/setup/route-e240db6d5049d336.js +1 -0
  231. package/_standalone/.next/static/chunks/app/api/skills/route-e240db6d5049d336.js +1 -0
  232. package/_standalone/.next/static/chunks/app/api/sync/route-e240db6d5049d336.js +1 -0
  233. package/_standalone/.next/static/chunks/app/api/tree-version/route-e240db6d5049d336.js +1 -0
  234. package/_standalone/.next/static/chunks/app/api/uninstall/route-e240db6d5049d336.js +1 -0
  235. package/_standalone/.next/static/chunks/app/api/update/route-e240db6d5049d336.js +1 -0
  236. package/_standalone/.next/static/chunks/app/api/update-check/route-e240db6d5049d336.js +1 -0
  237. package/_standalone/.next/static/chunks/app/api/update-status/route-e240db6d5049d336.js +1 -0
  238. package/_standalone/.next/static/chunks/app/api/workflows/route-e240db6d5049d336.js +1 -0
  239. package/_standalone/.next/static/chunks/app/changes/page-5a72144d1080a699.js +1 -0
  240. package/_standalone/.next/static/chunks/app/echo/[segment]/{page-88df174dd64b2c76.js → page-6710da1f581b2854.js} +2 -2
  241. package/_standalone/.next/static/chunks/app/echo/page-e240db6d5049d336.js +1 -0
  242. package/_standalone/.next/static/chunks/app/explore/{page-5eb2835e9e3ab4bb.js → page-d3d99308146c2240.js} +1 -1
  243. package/_standalone/.next/static/chunks/app/global-error-c37d50db6128ec01.js +1 -0
  244. package/_standalone/.next/static/chunks/app/help/page-222df603080b5fab.js +1 -0
  245. package/_standalone/.next/static/chunks/app/inbox/history/page-07819cf95cb0805f.js +1 -0
  246. package/_standalone/.next/static/chunks/app/layout-8eacff5813458190.js +186 -0
  247. package/_standalone/.next/static/chunks/app/loading-e240db6d5049d336.js +1 -0
  248. package/_standalone/.next/static/chunks/app/login/{page-24236460fa7c11d0.js → page-0eeef685052869a6.js} +1 -1
  249. package/_standalone/.next/static/chunks/app/page-5a6c9455efe8a0df.js +7 -0
  250. package/_standalone/.next/static/chunks/app/setup/{page-99f40e9337388cda.js → page-9a81fa4d82c6351b.js} +1 -1
  251. package/_standalone/.next/static/chunks/app/trash/page-72d0ae3649ac4b6c.js +1 -0
  252. package/_standalone/.next/static/chunks/app/view/[...path]/loading-e240db6d5049d336.js +1 -0
  253. package/_standalone/.next/static/chunks/app/view/[...path]/not-found-fc04c2bd4f35bc6f.js +1 -0
  254. package/_standalone/.next/static/chunks/app/view/[...path]/page-e8699f96589c0979.js +12 -0
  255. package/_standalone/.next/static/chunks/app/wiki/page-d492256a93f0b8bc.js +1 -0
  256. package/_standalone/.next/static/chunks/next/dist/client/components/builtin/app-error-e240db6d5049d336.js +1 -0
  257. package/_standalone/.next/static/chunks/next/dist/client/components/builtin/forbidden-e240db6d5049d336.js +1 -0
  258. package/_standalone/.next/static/chunks/next/dist/client/components/builtin/not-found-e240db6d5049d336.js +1 -0
  259. package/_standalone/.next/static/chunks/next/dist/client/components/builtin/unauthorized-e240db6d5049d336.js +1 -0
  260. package/_standalone/.next/static/chunks/{webpack-bbd44cbc83dc0aa4.js → webpack-73c9da80c6c1ebfe.js} +1 -1
  261. package/_standalone/.next/static/css/66f8a81e4eda06d4.css +1 -0
  262. package/_standalone/.next/static/css/a4a2b71142b311af.css +31 -0
  263. package/_standalone/.next/trace +64 -64
  264. package/_standalone/.next/types/routes.d.ts +5 -2
  265. package/_standalone/.next/types/validator.ts +27 -0
  266. package/_standalone/__tests__/agents/agents-content-dashboard.test.tsx +1 -0
  267. package/_standalone/__tests__/agents/agents-content-model.test.ts +13 -0
  268. package/_standalone/__tests__/core/inbox.test.ts +168 -0
  269. package/_standalone/__tests__/core/sync.test.ts +37 -0
  270. package/_standalone/__tests__/panels/agents-panel-hub.test.tsx +1 -0
  271. package/_standalone/app/globals.css +29 -3
  272. package/_standalone/components/ActivityBar.tsx +9 -9
  273. package/_standalone/components/AskFab.tsx +1 -1
  274. package/_standalone/components/Backlinks.tsx +1 -1
  275. package/_standalone/components/Breadcrumb.tsx +1 -1
  276. package/_standalone/components/CreateSpaceModal.tsx +1 -1
  277. package/_standalone/components/EchoSpotlight.tsx +14 -10
  278. package/_standalone/components/Editor.tsx +1 -1
  279. package/_standalone/components/ExportModal.tsx +3 -3
  280. package/_standalone/components/FileTree.tsx +6 -11
  281. package/_standalone/components/GuideCard.tsx +1 -1
  282. package/_standalone/components/ImportModal.tsx +1 -2
  283. package/_standalone/components/KeyboardShortcuts.tsx +1 -1
  284. package/_standalone/components/MarkdownEditor.tsx +1 -1
  285. package/_standalone/components/OnboardingView.tsx +2 -2
  286. package/_standalone/components/OrganizeToast.tsx +3 -1
  287. package/_standalone/components/Panel.tsx +27 -6
  288. package/_standalone/components/Sidebar.tsx +1 -1
  289. package/_standalone/components/SidebarLayout.tsx +30 -7
  290. package/_standalone/components/SystemPulse.tsx +16 -16
  291. package/_standalone/components/agents/AgentsOverviewSection.tsx +18 -92
  292. package/_standalone/components/agents/AgentsPanelA2aTab.tsx +67 -66
  293. package/_standalone/components/agents/AgentsPrimitives.tsx +1 -1
  294. package/_standalone/components/agents/RecentActivityFeed.tsx +6 -6
  295. package/_standalone/components/agents/SkillDetailPopover.tsx +1 -1
  296. package/_standalone/components/ask/AskHeader.tsx +1 -1
  297. package/_standalone/components/echo/EchoHero.tsx +1 -1
  298. package/_standalone/components/echo/EchoPageSections.tsx +1 -1
  299. package/_standalone/components/explore/UseCaseCard.tsx +1 -1
  300. package/_standalone/components/home/InboxSection.tsx +262 -54
  301. package/_standalone/components/panels/AgentsPanel.tsx +4 -3
  302. package/_standalone/components/panels/AgentsPanelAgentDetail.tsx +1 -1
  303. package/_standalone/components/panels/AgentsPanelHubNav.tsx +10 -6
  304. package/_standalone/components/panels/PanelHeader.tsx +1 -1
  305. package/_standalone/components/renderers/audio/AudioRenderer.tsx +79 -0
  306. package/_standalone/components/renderers/image/ImageRenderer.tsx +203 -0
  307. package/_standalone/components/renderers/pdf/PdfRenderer.tsx +57 -0
  308. package/_standalone/components/renderers/video/VideoRenderer.tsx +91 -0
  309. package/_standalone/components/settings/McpTab.tsx +154 -28
  310. package/_standalone/components/settings/PluginsTab.tsx +1 -1
  311. package/_standalone/components/settings/SettingsContent.tsx +41 -7
  312. package/_standalone/components/settings/types.ts +7 -1
  313. package/_standalone/components/walkthrough/WalkthroughOverlay.tsx +1 -1
  314. package/_standalone/components/walkthrough/WalkthroughTooltip.tsx +1 -1
  315. package/_standalone/hooks/useAiOrganize.ts +14 -1
  316. package/_standalone/lib/organize-history.ts +6 -0
  317. package/_standalone/tsconfig.tsbuildinfo +1 -1
  318. package/app/app/api/file/raw/route.ts +121 -0
  319. package/app/app/api/file/route.ts +21 -0
  320. package/app/app/api/inbox/route.ts +38 -2
  321. package/app/app/api/mcp/status/route.ts +1 -0
  322. package/app/app/api/settings/route.ts +13 -0
  323. package/app/app/api/setup/route.ts +11 -1
  324. package/app/app/api/sync/route.ts +36 -13
  325. package/app/app/global-error.tsx +3 -3
  326. package/app/app/globals.css +29 -3
  327. package/app/app/inbox/history/page.tsx +250 -0
  328. package/app/app/layout.tsx +5 -11
  329. package/app/app/login/page.tsx +1 -1
  330. package/app/app/view/[...path]/ViewPageClient.tsx +15 -10
  331. package/app/app/view/[...path]/not-found.tsx +1 -1
  332. package/app/app/view/[...path]/page.tsx +32 -1
  333. package/app/app/wiki/page.tsx +58 -0
  334. package/app/components/ActivityBar.tsx +9 -9
  335. package/app/components/AskFab.tsx +1 -1
  336. package/app/components/Backlinks.tsx +1 -1
  337. package/app/components/Breadcrumb.tsx +1 -1
  338. package/app/components/CreateSpaceModal.tsx +1 -1
  339. package/app/components/DirView.tsx +2 -2
  340. package/app/components/EchoSpotlight.tsx +14 -10
  341. package/app/components/Editor.tsx +1 -1
  342. package/app/components/ExportModal.tsx +3 -3
  343. package/app/components/FileTree.tsx +6 -11
  344. package/app/components/GuideCard.tsx +1 -1
  345. package/app/components/HomeContent.tsx +50 -39
  346. package/app/components/ImportModal.tsx +1 -2
  347. package/app/components/KeyboardShortcuts.tsx +1 -1
  348. package/app/components/MarkdownEditor.tsx +1 -1
  349. package/app/components/OnboardingView.tsx +2 -2
  350. package/app/components/OrganizeToast.tsx +3 -1
  351. package/app/components/Panel.tsx +27 -6
  352. package/app/components/Sidebar.tsx +1 -1
  353. package/app/components/SidebarLayout.tsx +30 -7
  354. package/app/components/SystemPulse.tsx +16 -16
  355. package/app/components/TrashPageClient.tsx +8 -6
  356. package/app/components/UpdateOverlay.tsx +1 -1
  357. package/app/components/WikiHomeContent.tsx +273 -0
  358. package/app/components/agents/AgentDetailContent.tsx +5 -5
  359. package/app/components/agents/AgentsContentPage.tsx +14 -3
  360. package/app/components/agents/AgentsOverviewSection.tsx +18 -92
  361. package/app/components/agents/AgentsPanelA2aTab.tsx +67 -66
  362. package/app/components/agents/AgentsPrimitives.tsx +1 -1
  363. package/app/components/agents/RecentActivityFeed.tsx +6 -6
  364. package/app/components/agents/SkillDetailPopover.tsx +1 -1
  365. package/app/components/agents/agents-content-model.ts +4 -1
  366. package/app/components/ask/AskHeader.tsx +1 -1
  367. package/app/components/changes/ChangesContentPage.tsx +10 -6
  368. package/app/components/echo/EchoHero.tsx +1 -1
  369. package/app/components/echo/EchoPageSections.tsx +1 -1
  370. package/app/components/explore/ExploreContent.tsx +1 -1
  371. package/app/components/explore/UseCaseCard.tsx +1 -1
  372. package/app/components/help/HelpContent.tsx +3 -3
  373. package/app/components/home/InboxSection.tsx +262 -54
  374. package/app/components/panels/AgentsPanel.tsx +4 -3
  375. package/app/components/panels/AgentsPanelAgentDetail.tsx +1 -1
  376. package/app/components/panels/AgentsPanelHubNav.tsx +10 -6
  377. package/app/components/panels/PanelHeader.tsx +1 -1
  378. package/app/components/renderers/audio/AudioRenderer.tsx +79 -0
  379. package/app/components/renderers/audio/manifest.ts +17 -0
  380. package/app/components/renderers/image/ImageRenderer.tsx +203 -0
  381. package/app/components/renderers/image/manifest.ts +17 -0
  382. package/app/components/renderers/pdf/PdfRenderer.tsx +57 -0
  383. package/app/components/renderers/pdf/manifest.ts +15 -0
  384. package/app/components/renderers/video/VideoRenderer.tsx +91 -0
  385. package/app/components/renderers/video/manifest.ts +17 -0
  386. package/app/components/settings/McpTab.tsx +154 -28
  387. package/app/components/settings/PluginsTab.tsx +1 -1
  388. package/app/components/settings/SettingsContent.tsx +41 -7
  389. package/app/components/settings/types.ts +7 -1
  390. package/app/components/setup/index.tsx +4 -3
  391. package/app/components/walkthrough/WalkthroughOverlay.tsx +1 -1
  392. package/app/components/walkthrough/WalkthroughTooltip.tsx +1 -1
  393. package/app/hooks/useAiOrganize.ts +14 -1
  394. package/app/lib/core/inbox.ts +131 -2
  395. package/app/lib/core/pdf-text.ts +28 -0
  396. package/app/lib/core/search-index.ts +29 -5
  397. package/app/lib/core/tree.ts +6 -1
  398. package/app/lib/fs.ts +31 -3
  399. package/app/lib/i18n/modules/ai-chat.ts +34 -0
  400. package/app/lib/i18n/modules/knowledge.ts +30 -0
  401. package/app/lib/i18n/modules/navigation.ts +4 -2
  402. package/app/lib/i18n/modules/panels.ts +22 -4
  403. package/app/lib/i18n/modules/settings.ts +26 -0
  404. package/app/lib/organize-history.ts +6 -0
  405. package/app/lib/renderers/index.ts +5 -1
  406. package/app/lib/settings.ts +28 -0
  407. package/bin/commands/doctor.js +12 -6
  408. package/bin/commands/file.js +7 -4
  409. package/bin/commands/logs.js +39 -4
  410. package/bin/commands/onboard.js +1 -1
  411. package/bin/commands/open.js +6 -1
  412. package/bin/commands/space.js +7 -4
  413. package/bin/commands/update.js +8 -18
  414. package/bin/lib/build.js +19 -8
  415. package/bin/lib/cli-shim.js +67 -2
  416. package/bin/lib/config.js +4 -5
  417. package/bin/lib/gateway.js +10 -23
  418. package/bin/lib/jsonc.js +7 -2
  419. package/bin/lib/mcp-agents.js +26 -5
  420. package/bin/lib/path-expand.js +6 -3
  421. package/bin/lib/port.js +5 -1
  422. package/bin/lib/stop.js +72 -51
  423. package/bin/lib/sync.js +1 -1
  424. package/package.json +1 -1
  425. package/scripts/setup.js +7 -5
  426. package/_standalone/.next/server/chunks/3436.js +0 -52
  427. package/_standalone/.next/server/chunks/5648.js +0 -2
  428. package/_standalone/.next/server/chunks/8408.js +0 -219
  429. package/_standalone/.next/static/W-wLgvhPtPJ5Psq9V4i3M/_buildManifest.js +0 -1
  430. package/_standalone/.next/static/chunks/1053-17786066ecd6f216.js +0 -29
  431. package/_standalone/.next/static/chunks/1814.72f7fe7c61e2b647.js +0 -1
  432. package/_standalone/.next/static/chunks/362.4c226d7887d5f696.js +0 -1
  433. package/_standalone/.next/static/chunks/6357-c645842834c0d4cd.js +0 -1
  434. package/_standalone/.next/static/chunks/6981-3d7dcac2d12a5670.js +0 -1
  435. package/_standalone/.next/static/chunks/7035-032641fb6f4e07b2.js +0 -1
  436. package/_standalone/.next/static/chunks/7144-5febf62f1a79fe64.js +0 -1
  437. package/_standalone/.next/static/chunks/9602-423291fdb36396d1.js +0 -1
  438. package/_standalone/.next/static/chunks/app/agents/[agentKey]/page-074d6aafc2606561.js +0 -1
  439. package/_standalone/.next/static/chunks/app/agents/page-710d8c80fa86e93e.js +0 -5
  440. package/_standalone/.next/static/chunks/app/api/a2a/discover/route-b07a5983e85bc5e3.js +0 -1
  441. package/_standalone/.next/static/chunks/app/api/a2a/route-b07a5983e85bc5e3.js +0 -1
  442. package/_standalone/.next/static/chunks/app/api/acp/config/route-b07a5983e85bc5e3.js +0 -1
  443. package/_standalone/.next/static/chunks/app/api/acp/detect/route-b07a5983e85bc5e3.js +0 -1
  444. package/_standalone/.next/static/chunks/app/api/acp/install/route-b07a5983e85bc5e3.js +0 -1
  445. package/_standalone/.next/static/chunks/app/api/acp/registry/route-b07a5983e85bc5e3.js +0 -1
  446. package/_standalone/.next/static/chunks/app/api/acp/session/route-b07a5983e85bc5e3.js +0 -1
  447. package/_standalone/.next/static/chunks/app/api/agent-activity/route-b07a5983e85bc5e3.js +0 -1
  448. package/_standalone/.next/static/chunks/app/api/ask/route-b07a5983e85bc5e3.js +0 -1
  449. package/_standalone/.next/static/chunks/app/api/ask-sessions/route-b07a5983e85bc5e3.js +0 -1
  450. package/_standalone/.next/static/chunks/app/api/auth/route-b07a5983e85bc5e3.js +0 -1
  451. package/_standalone/.next/static/chunks/app/api/backlinks/route-b07a5983e85bc5e3.js +0 -1
  452. package/_standalone/.next/static/chunks/app/api/bootstrap/route-b07a5983e85bc5e3.js +0 -1
  453. package/_standalone/.next/static/chunks/app/api/changes/route-b07a5983e85bc5e3.js +0 -1
  454. package/_standalone/.next/static/chunks/app/api/export/route-b07a5983e85bc5e3.js +0 -1
  455. package/_standalone/.next/static/chunks/app/api/extract-pdf/route-b07a5983e85bc5e3.js +0 -1
  456. package/_standalone/.next/static/chunks/app/api/file/import/route-b07a5983e85bc5e3.js +0 -1
  457. package/_standalone/.next/static/chunks/app/api/file/route-b07a5983e85bc5e3.js +0 -1
  458. package/_standalone/.next/static/chunks/app/api/files/route-b07a5983e85bc5e3.js +0 -1
  459. package/_standalone/.next/static/chunks/app/api/git/route-b07a5983e85bc5e3.js +0 -1
  460. package/_standalone/.next/static/chunks/app/api/graph/route-b07a5983e85bc5e3.js +0 -1
  461. package/_standalone/.next/static/chunks/app/api/health/route-b07a5983e85bc5e3.js +0 -1
  462. package/_standalone/.next/static/chunks/app/api/inbox/route-b07a5983e85bc5e3.js +0 -1
  463. package/_standalone/.next/static/chunks/app/api/init/route-b07a5983e85bc5e3.js +0 -1
  464. package/_standalone/.next/static/chunks/app/api/mcp/agents/route-b07a5983e85bc5e3.js +0 -1
  465. package/_standalone/.next/static/chunks/app/api/mcp/install/route-b07a5983e85bc5e3.js +0 -1
  466. package/_standalone/.next/static/chunks/app/api/mcp/install-skill/route-b07a5983e85bc5e3.js +0 -1
  467. package/_standalone/.next/static/chunks/app/api/mcp/restart/route-b07a5983e85bc5e3.js +0 -1
  468. package/_standalone/.next/static/chunks/app/api/mcp/status/route-b07a5983e85bc5e3.js +0 -1
  469. package/_standalone/.next/static/chunks/app/api/mcp/uninstall/route-b07a5983e85bc5e3.js +0 -1
  470. package/_standalone/.next/static/chunks/app/api/monitoring/route-b07a5983e85bc5e3.js +0 -1
  471. package/_standalone/.next/static/chunks/app/api/recent-files/route-b07a5983e85bc5e3.js +0 -1
  472. package/_standalone/.next/static/chunks/app/api/restart/route-b07a5983e85bc5e3.js +0 -1
  473. package/_standalone/.next/static/chunks/app/api/search/route-b07a5983e85bc5e3.js +0 -1
  474. package/_standalone/.next/static/chunks/app/api/settings/list-models/route-b07a5983e85bc5e3.js +0 -1
  475. package/_standalone/.next/static/chunks/app/api/settings/reset-token/route-b07a5983e85bc5e3.js +0 -1
  476. package/_standalone/.next/static/chunks/app/api/settings/route-b07a5983e85bc5e3.js +0 -1
  477. package/_standalone/.next/static/chunks/app/api/settings/test-key/route-b07a5983e85bc5e3.js +0 -1
  478. package/_standalone/.next/static/chunks/app/api/setup/check-path/route-b07a5983e85bc5e3.js +0 -1
  479. package/_standalone/.next/static/chunks/app/api/setup/check-port/route-b07a5983e85bc5e3.js +0 -1
  480. package/_standalone/.next/static/chunks/app/api/setup/generate-token/route-b07a5983e85bc5e3.js +0 -1
  481. package/_standalone/.next/static/chunks/app/api/setup/ls/route-b07a5983e85bc5e3.js +0 -1
  482. package/_standalone/.next/static/chunks/app/api/setup/route-b07a5983e85bc5e3.js +0 -1
  483. package/_standalone/.next/static/chunks/app/api/skills/route-b07a5983e85bc5e3.js +0 -1
  484. package/_standalone/.next/static/chunks/app/api/sync/route-b07a5983e85bc5e3.js +0 -1
  485. package/_standalone/.next/static/chunks/app/api/tree-version/route-b07a5983e85bc5e3.js +0 -1
  486. package/_standalone/.next/static/chunks/app/api/uninstall/route-b07a5983e85bc5e3.js +0 -1
  487. package/_standalone/.next/static/chunks/app/api/update/route-b07a5983e85bc5e3.js +0 -1
  488. package/_standalone/.next/static/chunks/app/api/update-check/route-b07a5983e85bc5e3.js +0 -1
  489. package/_standalone/.next/static/chunks/app/api/update-status/route-b07a5983e85bc5e3.js +0 -1
  490. package/_standalone/.next/static/chunks/app/api/workflows/route-b07a5983e85bc5e3.js +0 -1
  491. package/_standalone/.next/static/chunks/app/changes/page-350992cf5091bc5b.js +0 -1
  492. package/_standalone/.next/static/chunks/app/echo/page-b07a5983e85bc5e3.js +0 -1
  493. package/_standalone/.next/static/chunks/app/global-error-e1ad0e18236ba26c.js +0 -1
  494. package/_standalone/.next/static/chunks/app/help/page-2325d25b6846ca07.js +0 -1
  495. package/_standalone/.next/static/chunks/app/layout-e5d2fb384207d821.js +0 -186
  496. package/_standalone/.next/static/chunks/app/loading-b07a5983e85bc5e3.js +0 -1
  497. package/_standalone/.next/static/chunks/app/page-54edd045d3448df5.js +0 -7
  498. package/_standalone/.next/static/chunks/app/trash/page-6372bb3f5463affa.js +0 -1
  499. package/_standalone/.next/static/chunks/app/view/[...path]/loading-b07a5983e85bc5e3.js +0 -1
  500. package/_standalone/.next/static/chunks/app/view/[...path]/not-found-61474670d6bb6116.js +0 -1
  501. package/_standalone/.next/static/chunks/app/view/[...path]/page-f3d1d87190dcfe28.js +0 -12
  502. package/_standalone/.next/static/chunks/next/dist/client/components/builtin/app-error-b07a5983e85bc5e3.js +0 -1
  503. package/_standalone/.next/static/chunks/next/dist/client/components/builtin/forbidden-b07a5983e85bc5e3.js +0 -1
  504. package/_standalone/.next/static/chunks/next/dist/client/components/builtin/not-found-b07a5983e85bc5e3.js +0 -1
  505. package/_standalone/.next/static/chunks/next/dist/client/components/builtin/unauthorized-b07a5983e85bc5e3.js +0 -1
  506. package/_standalone/.next/static/css/bbf51803eade6c50.css +0 -31
  507. package/_standalone/.next/static/css/ef1151f74f00d91a.css +0 -1
  508. /package/_standalone/.next/static/{W-wLgvhPtPJ5Psq9V4i3M → 2hrwFOLEOZhHQHfrIt-Dw}/_ssgManifest.js +0 -0
@@ -66,7 +66,7 @@ export default function SettingsContent({ visible, initialTab, variant, onClose
66
66
 
67
67
  if (justOpened) {
68
68
  apiFetch<SettingsData>('/api/settings').then(d => { setData(d); dataLoaded.current = true; }).catch(() => setStatus('load-error'));
69
- setFont(localStorage.getItem('prose-font') ?? 'lora');
69
+ setFont(localStorage.getItem('prose-font') === 'geist' ? 'inter' : localStorage.getItem('prose-font') ?? 'lora');
70
70
  setFontSize(localStorage.getItem('prose-font-size') ?? '15px');
71
71
  setContentWidth(localStorage.getItem('content-width') ?? '780px');
72
72
  const stored = localStorage.getItem('theme');
@@ -90,7 +90,7 @@ export default function SettingsContent({ visible, initialTab, variant, onClose
90
90
  const fontMap: Record<string, string> = {
91
91
  'lora': "'Lora', Georgia, serif",
92
92
  'ibm-plex-sans': "'IBM Plex Sans', sans-serif",
93
- 'geist': 'var(--font-geist-sans), sans-serif',
93
+ 'inter': 'var(--font-inter), sans-serif',
94
94
  'ibm-plex-mono': "'IBM Plex Mono', monospace",
95
95
  };
96
96
  document.documentElement.style.setProperty('--prose-font-override', fontMap[font] ?? '');
@@ -134,13 +134,47 @@ export default function SettingsContent({ visible, initialTab, variant, onClose
134
134
  }
135
135
  }, []);
136
136
 
137
+ // Track unsaved data so we can flush on close/unmount
138
+ const pendingData = useRef<SettingsData | null>(null);
139
+
137
140
  useEffect(() => {
138
141
  if (!data || !dataLoaded.current) return;
142
+ pendingData.current = data;
139
143
  clearTimeout(saveTimer.current);
140
- saveTimer.current = setTimeout(() => doSave(data), 800);
144
+ saveTimer.current = setTimeout(() => {
145
+ pendingData.current = null;
146
+ doSave(data);
147
+ }, 800);
141
148
  return () => clearTimeout(saveTimer.current);
142
149
  }, [data, doSave]);
143
150
 
151
+ // Flush unsaved changes when panel hides (panel variant)
152
+ useEffect(() => {
153
+ if (!visible && pendingData.current) {
154
+ const d = pendingData.current;
155
+ pendingData.current = null;
156
+ clearTimeout(saveTimer.current);
157
+ doSave(d);
158
+ }
159
+ }, [visible, doSave]);
160
+
161
+ // Flush unsaved changes on unmount (modal variant: SettingsModal returns null when !open)
162
+ useEffect(() => {
163
+ return () => {
164
+ if (pendingData.current) {
165
+ clearTimeout(saveTimer.current);
166
+ const d = pendingData.current;
167
+ pendingData.current = null;
168
+ apiFetch('/api/settings', {
169
+ method: 'POST',
170
+ headers: { 'Content-Type': 'application/json' },
171
+ body: JSON.stringify({ ai: d.ai, agent: d.agent, mindRoot: d.mindRoot, webPassword: d.webPassword, authToken: d.authToken }),
172
+ }).catch(() => {});
173
+ }
174
+ };
175
+ // eslint-disable-next-line react-hooks/exhaustive-deps
176
+ }, []);
177
+
144
178
  const updateAi = useCallback((patch: Partial<AiSettings>) => {
145
179
  setData(d => d ? { ...d, ai: { ...d.ai, ...patch } } : d);
146
180
  }, []);
@@ -250,7 +284,7 @@ export default function SettingsContent({ visible, initialTab, variant, onClose
250
284
  <div className="flex items-center justify-between px-4 py-3 border-b border-border shrink-0">
251
285
  <div className="flex items-center gap-2 text-sm font-medium text-foreground">
252
286
  <Settings size={14} className="text-muted-foreground" />
253
- <span className="text-xs font-medium text-muted-foreground uppercase tracking-wider font-display">Settings</span>
287
+ <span className="text-xs font-medium text-muted-foreground uppercase tracking-wider">Settings</span>
254
288
  </div>
255
289
  <div className="flex items-center gap-1.5">
256
290
  <div className="flex items-center gap-1.5 text-[10px]" role="status" aria-live="polite">
@@ -295,7 +329,7 @@ export default function SettingsContent({ visible, initialTab, variant, onClose
295
329
  </div>
296
330
  <div className="flex items-center gap-2 text-sm font-medium text-foreground">
297
331
  <Settings size={15} className="text-muted-foreground" />
298
- <span className="font-display">{t.settings.title}</span>
332
+ <span>{t.settings.title}</span>
299
333
  </div>
300
334
  <div className="flex items-center gap-1.5">
301
335
  <div className="flex items-center gap-1.5 text-[10px]" role="status" aria-live="polite">
@@ -345,7 +379,7 @@ export default function SettingsContent({ visible, initialTab, variant, onClose
345
379
  <div className="w-[180px] shrink-0 border-r border-border flex flex-col">
346
380
  <div className="flex items-center gap-2 px-4 py-3 border-b border-border">
347
381
  <Settings size={15} className="text-muted-foreground" />
348
- <span className="text-sm font-medium font-display text-foreground">{t.settings.title}</span>
382
+ <span className="text-sm font-medium text-foreground">{t.settings.title}</span>
349
383
  </div>
350
384
  <nav className="flex-1 overflow-y-auto py-1.5">
351
385
  {TABS.map(tabItem => (
@@ -383,7 +417,7 @@ export default function SettingsContent({ visible, initialTab, variant, onClose
383
417
  <div className="flex-1 flex flex-col min-w-0 min-h-0">
384
418
  {/* Right header: tab title + status + close */}
385
419
  <div className="flex items-center justify-between px-5 py-3 border-b border-border shrink-0">
386
- <span className="text-sm font-medium text-foreground font-display">{activeTabLabel}</span>
420
+ <span className="text-sm font-medium text-foreground">{activeTabLabel}</span>
387
421
  <div className="flex items-center gap-1.5">
388
422
  <div className="flex items-center gap-1.5 text-[10px]" role="status" aria-live="polite">
389
423
  {saving && <Loader2 size={12} className="animate-spin text-muted-foreground" />}
@@ -51,12 +51,17 @@ export const FONT_SIZES = [
51
51
  export const FONTS = [
52
52
  { value: 'lora', label: 'Lora', category: 'Serif', style: { fontFamily: 'Lora, Georgia, serif' } },
53
53
  { value: 'ibm-plex-sans', label: 'IBM Plex Sans', category: 'Sans', style: { fontFamily: "'IBM Plex Sans', sans-serif" } },
54
- { value: 'geist', label: 'Geist', category: 'Sans', style: { fontFamily: 'var(--font-geist-sans), sans-serif' } },
54
+ { value: 'inter', label: 'Inter', category: 'Sans', style: { fontFamily: 'var(--font-inter), sans-serif' } },
55
55
  { value: 'ibm-plex-mono', label: 'IBM Plex Mono', category: 'Mono', style: { fontFamily: "'IBM Plex Mono', monospace" } },
56
56
  ];
57
57
 
58
58
  /* ── MCP Types ────────────────────────────────────────────────── */
59
59
 
60
+ export interface ConnectionMode {
61
+ cli: boolean;
62
+ mcp: boolean;
63
+ }
64
+
60
65
  export interface McpStatus {
61
66
  running: boolean;
62
67
  transport: string;
@@ -67,6 +72,7 @@ export interface McpStatus {
67
72
  maskedToken?: string;
68
73
  authToken?: string;
69
74
  localIP?: string | null;
75
+ connectionMode?: ConnectionMode;
70
76
  }
71
77
 
72
78
  export interface AgentInfo {
@@ -224,7 +224,7 @@ function MobileWalkthroughSheet() {
224
224
  </div>
225
225
 
226
226
  <h3
227
- className="text-base font-semibold font-display mb-1"
227
+ className="text-base font-semibold mb-1"
228
228
  style={{ color: 'var(--foreground)' }}
229
229
  >
230
230
  {stepData.title}
@@ -72,7 +72,7 @@ export default function WalkthroughTooltip({ stepIndex, rect, position }: Walkth
72
72
 
73
73
  {/* Content */}
74
74
  <h3
75
- className="text-sm font-semibold font-display mb-1"
75
+ className="text-sm font-semibold mb-1"
76
76
  style={{ color: 'var(--foreground)' }}
77
77
  >
78
78
  {stepData.title}
@@ -2,6 +2,7 @@
2
2
 
3
3
  import { useState, useCallback, useRef } from 'react';
4
4
  import type { LocalAttachment, Message } from '@/lib/types';
5
+ import type { OrganizeSource } from '@/lib/organize-history';
5
6
 
6
7
  // ---------------------------------------------------------------------------
7
8
  // Types
@@ -248,8 +249,11 @@ export function useAiOrganize() {
248
249
  const lastEventRef = useRef<number>(0);
249
250
  const snapshotsRef = useRef<FileSnapshots>(new Map());
250
251
  const [sourceFileNames, setSourceFileNames] = useState<string[]>([]);
252
+ const [source, setSource] = useState<OrganizeSource>('upload');
253
+ const startTimeRef = useRef<number>(0);
254
+ const [durationMs, setDurationMs] = useState<number>(0);
251
255
 
252
- const start = useCallback(async (files: LocalAttachment[], prompt: string) => {
256
+ const start = useCallback(async (files: LocalAttachment[], prompt: string, organizeSource: OrganizeSource = 'upload') => {
253
257
  setPhase('organizing');
254
258
  setChanges([]);
255
259
  setCurrentTool(null);
@@ -258,6 +262,9 @@ export function useAiOrganize() {
258
262
  setError(null);
259
263
  setToolCallCount(0);
260
264
  setSourceFileNames(files.map(f => f.name));
265
+ setSource(organizeSource);
266
+ startTimeRef.current = Date.now();
267
+ setDurationMs(0);
261
268
  snapshotsRef.current = new Map();
262
269
  lastEventRef.current = Date.now();
263
270
 
@@ -318,6 +325,7 @@ export function useAiOrganize() {
318
325
  setSummary(result.summary);
319
326
  setToolCallCount(result.toolCallCount);
320
327
  setCurrentTool(null);
328
+ setDurationMs(Date.now() - startTimeRef.current);
321
329
  setPhase('done');
322
330
  } catch (err) {
323
331
  if ((err as Error).name === 'AbortError') {
@@ -426,6 +434,9 @@ export function useAiOrganize() {
426
434
  setError(null);
427
435
  setToolCallCount(0);
428
436
  setSourceFileNames([]);
437
+ setSource('upload');
438
+ setDurationMs(0);
439
+ startTimeRef.current = 0;
429
440
  snapshotsRef.current = new Map();
430
441
  lastEventRef.current = 0;
431
442
  }, []);
@@ -439,6 +450,8 @@ export function useAiOrganize() {
439
450
  error,
440
451
  toolCallCount,
441
452
  sourceFileNames,
453
+ source,
454
+ durationMs,
442
455
  snapshots: snapshotsRef,
443
456
  start,
444
457
  abort,
@@ -12,6 +12,8 @@ export interface OrganizeHistoryFile {
12
12
  undone?: boolean;
13
13
  }
14
14
 
15
+ export type OrganizeSource = 'upload' | 'drag-drop' | 'inbox-organize' | 'import-modal' | 'plugin' | 'web-clipper';
16
+
15
17
  export interface OrganizeHistoryEntry {
16
18
  id: string;
17
19
  /** Unix ms */
@@ -20,6 +22,10 @@ export interface OrganizeHistoryEntry {
20
22
  sourceFiles: string[];
21
23
  files: OrganizeHistoryFile[];
22
24
  status: 'completed' | 'partial' | 'undone';
25
+ /** How the files were ingested */
26
+ source?: OrganizeSource;
27
+ /** Processing time in milliseconds */
28
+ durationMs?: number;
23
29
  }
24
30
 
25
31
  const STORAGE_KEY = 'mindos:organize-history';