@geminilight/mindos-windows-arm64 1.0.8 → 1.0.10

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 (310) 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 +22 -22
  4. package/_standalone/__next/build-manifest.json +3 -3
  5. package/_standalone/__next/prerender-manifest.json +3 -3
  6. package/_standalone/__next/react-loadable-manifest.json +15 -9
  7. package/_standalone/__next/server/app/.well-known/agent-card.json/route_client-reference-manifest.js +1 -1
  8. package/_standalone/__next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  9. package/_standalone/__next/server/app/_global-error.html +2 -2
  10. package/_standalone/__next/server/app/_global-error.rsc +1 -1
  11. package/_standalone/__next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  12. package/_standalone/__next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  13. package/_standalone/__next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  14. package/_standalone/__next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  15. package/_standalone/__next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  16. package/_standalone/__next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  17. package/_standalone/__next/server/app/_not-found/page.js +1 -1
  18. package/_standalone/__next/server/app/_not-found/page.js.nft.json +1 -1
  19. package/_standalone/__next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  20. package/_standalone/__next/server/app/agents/[agentKey]/page.js +1 -1
  21. package/_standalone/__next/server/app/agents/[agentKey]/page.js.nft.json +1 -1
  22. package/_standalone/__next/server/app/agents/[agentKey]/page_client-reference-manifest.js +1 -1
  23. package/_standalone/__next/server/app/agents/page.js +1 -1
  24. package/_standalone/__next/server/app/agents/page.js.nft.json +1 -1
  25. package/_standalone/__next/server/app/agents/page_client-reference-manifest.js +1 -1
  26. package/_standalone/__next/server/app/api/a2a/agents/route_client-reference-manifest.js +1 -1
  27. package/_standalone/__next/server/app/api/a2a/delegations/route_client-reference-manifest.js +1 -1
  28. package/_standalone/__next/server/app/api/a2a/discover/route_client-reference-manifest.js +1 -1
  29. package/_standalone/__next/server/app/api/a2a/route_client-reference-manifest.js +1 -1
  30. package/_standalone/__next/server/app/api/acp/config/route_client-reference-manifest.js +1 -1
  31. package/_standalone/__next/server/app/api/acp/detect/route_client-reference-manifest.js +1 -1
  32. package/_standalone/__next/server/app/api/acp/install/route_client-reference-manifest.js +1 -1
  33. package/_standalone/__next/server/app/api/acp/registry/route_client-reference-manifest.js +1 -1
  34. package/_standalone/__next/server/app/api/acp/session/route_client-reference-manifest.js +1 -1
  35. package/_standalone/__next/server/app/api/agent-activity/route_client-reference-manifest.js +1 -1
  36. package/_standalone/__next/server/app/api/agents/copy-skill/route_client-reference-manifest.js +1 -1
  37. package/_standalone/__next/server/app/api/agents/custom/detect/route_client-reference-manifest.js +1 -1
  38. package/_standalone/__next/server/app/api/agents/custom/route_client-reference-manifest.js +1 -1
  39. package/_standalone/__next/server/app/api/ask/route.js +5 -5
  40. package/_standalone/__next/server/app/api/ask/route_client-reference-manifest.js +1 -1
  41. package/_standalone/__next/server/app/api/ask-sessions/route_client-reference-manifest.js +1 -1
  42. package/_standalone/__next/server/app/api/auth/route_client-reference-manifest.js +1 -1
  43. package/_standalone/__next/server/app/api/backlinks/route_client-reference-manifest.js +1 -1
  44. package/_standalone/__next/server/app/api/bootstrap/route_client-reference-manifest.js +1 -1
  45. package/_standalone/__next/server/app/api/changes/route_client-reference-manifest.js +1 -1
  46. package/_standalone/__next/server/app/api/channels/verify/route_client-reference-manifest.js +1 -1
  47. package/_standalone/__next/server/app/api/connect/route_client-reference-manifest.js +1 -1
  48. package/_standalone/__next/server/app/api/embedding/route_client-reference-manifest.js +1 -1
  49. package/_standalone/__next/server/app/api/export/route_client-reference-manifest.js +1 -1
  50. package/_standalone/__next/server/app/api/extract-docx/route_client-reference-manifest.js +1 -1
  51. package/_standalone/__next/server/app/api/extract-pdf/route_client-reference-manifest.js +1 -1
  52. package/_standalone/__next/server/app/api/file/import/route.js +1 -1
  53. package/_standalone/__next/server/app/api/file/import/route_client-reference-manifest.js +1 -1
  54. package/_standalone/__next/server/app/api/file/raw/route_client-reference-manifest.js +1 -1
  55. package/_standalone/__next/server/app/api/file/route_client-reference-manifest.js +1 -1
  56. package/_standalone/__next/server/app/api/files/route_client-reference-manifest.js +1 -1
  57. package/_standalone/__next/server/app/api/git/route_client-reference-manifest.js +1 -1
  58. package/_standalone/__next/server/app/api/graph/route_client-reference-manifest.js +1 -1
  59. package/_standalone/__next/server/app/api/health/route_client-reference-manifest.js +1 -1
  60. package/_standalone/__next/server/app/api/im/activity/route_client-reference-manifest.js +1 -1
  61. package/_standalone/__next/server/app/api/im/config/route_client-reference-manifest.js +1 -1
  62. package/_standalone/__next/server/app/api/im/feishu/long-connection/event/route_client-reference-manifest.js +1 -1
  63. package/_standalone/__next/server/app/api/im/feishu/long-connection/route_client-reference-manifest.js +1 -1
  64. package/_standalone/__next/server/app/api/im/status/route_client-reference-manifest.js +1 -1
  65. package/_standalone/__next/server/app/api/im/test/route_client-reference-manifest.js +1 -1
  66. package/_standalone/__next/server/app/api/im/webhook/feishu/route_client-reference-manifest.js +1 -1
  67. package/_standalone/__next/server/app/api/im/webhook-status/route_client-reference-manifest.js +1 -1
  68. package/_standalone/__next/server/app/api/inbox/clip/route_client-reference-manifest.js +1 -1
  69. package/_standalone/__next/server/app/api/inbox/route.js +1 -1
  70. package/_standalone/__next/server/app/api/inbox/route_client-reference-manifest.js +1 -1
  71. package/_standalone/__next/server/app/api/init/route_client-reference-manifest.js +1 -1
  72. package/_standalone/__next/server/app/api/lint/route_client-reference-manifest.js +1 -1
  73. package/_standalone/__next/server/app/api/mcp/agents/route_client-reference-manifest.js +1 -1
  74. package/_standalone/__next/server/app/api/mcp/direct-tools/route_client-reference-manifest.js +1 -1
  75. package/_standalone/__next/server/app/api/mcp/install/route_client-reference-manifest.js +1 -1
  76. package/_standalone/__next/server/app/api/mcp/install-skill/route_client-reference-manifest.js +1 -1
  77. package/_standalone/__next/server/app/api/mcp/restart/route_client-reference-manifest.js +1 -1
  78. package/_standalone/__next/server/app/api/mcp/status/route_client-reference-manifest.js +1 -1
  79. package/_standalone/__next/server/app/api/mcp/tools/route_client-reference-manifest.js +1 -1
  80. package/_standalone/__next/server/app/api/mcp/uninstall/route_client-reference-manifest.js +1 -1
  81. package/_standalone/__next/server/app/api/monitoring/route_client-reference-manifest.js +1 -1
  82. package/_standalone/__next/server/app/api/obsidian/compat-report/route_client-reference-manifest.js +1 -1
  83. package/_standalone/__next/server/app/api/obsidian/import/route_client-reference-manifest.js +1 -1
  84. package/_standalone/__next/server/app/api/obsidian-plugins/settings/route_client-reference-manifest.js +1 -1
  85. package/_standalone/__next/server/app/api/recent-files/route_client-reference-manifest.js +1 -1
  86. package/_standalone/__next/server/app/api/restart/route_client-reference-manifest.js +1 -1
  87. package/_standalone/__next/server/app/api/search/prewarm/route_client-reference-manifest.js +1 -1
  88. package/_standalone/__next/server/app/api/search/route_client-reference-manifest.js +1 -1
  89. package/_standalone/__next/server/app/api/settings/list-models/route_client-reference-manifest.js +1 -1
  90. package/_standalone/__next/server/app/api/settings/reset-token/route_client-reference-manifest.js +1 -1
  91. package/_standalone/__next/server/app/api/settings/route_client-reference-manifest.js +1 -1
  92. package/_standalone/__next/server/app/api/settings/test-key/route_client-reference-manifest.js +1 -1
  93. package/_standalone/__next/server/app/api/setup/check-path/route_client-reference-manifest.js +1 -1
  94. package/_standalone/__next/server/app/api/setup/check-port/route_client-reference-manifest.js +1 -1
  95. package/_standalone/__next/server/app/api/setup/generate-token/route_client-reference-manifest.js +1 -1
  96. package/_standalone/__next/server/app/api/setup/ls/route_client-reference-manifest.js +1 -1
  97. package/_standalone/__next/server/app/api/setup/route_client-reference-manifest.js +1 -1
  98. package/_standalone/__next/server/app/api/skills/route_client-reference-manifest.js +1 -1
  99. package/_standalone/__next/server/app/api/space-overview/route_client-reference-manifest.js +1 -1
  100. package/_standalone/__next/server/app/api/sync/route_client-reference-manifest.js +1 -1
  101. package/_standalone/__next/server/app/api/tree-version/route_client-reference-manifest.js +1 -1
  102. package/_standalone/__next/server/app/api/uninstall/route_client-reference-manifest.js +1 -1
  103. package/_standalone/__next/server/app/api/update/route_client-reference-manifest.js +1 -1
  104. package/_standalone/__next/server/app/api/update-check/route_client-reference-manifest.js +1 -1
  105. package/_standalone/__next/server/app/api/update-status/route_client-reference-manifest.js +1 -1
  106. package/_standalone/__next/server/app/api/workflows/route_client-reference-manifest.js +1 -1
  107. package/_standalone/__next/server/app/capture/history/page.js +1 -1
  108. package/_standalone/__next/server/app/capture/history/page.js.nft.json +1 -1
  109. package/_standalone/__next/server/app/capture/history/page_client-reference-manifest.js +1 -1
  110. package/_standalone/__next/server/app/capture/page.js +1 -1
  111. package/_standalone/__next/server/app/capture/page.js.nft.json +1 -1
  112. package/_standalone/__next/server/app/capture/page_client-reference-manifest.js +1 -1
  113. package/_standalone/__next/server/app/changelog/page.js +1 -1
  114. package/_standalone/__next/server/app/changelog/page.js.nft.json +1 -1
  115. package/_standalone/__next/server/app/changelog/page_client-reference-manifest.js +1 -1
  116. package/_standalone/__next/server/app/changes/page.js +1 -1
  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 +1 -1
  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 +1 -1
  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 +1 -1
  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 +1 -1
  132. package/_standalone/__next/server/app/inbox/history/page.js.nft.json +1 -1
  133. package/_standalone/__next/server/app/inbox/history/page_client-reference-manifest.js +1 -1
  134. package/_standalone/__next/server/app/login/page.js +1 -1
  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 +1 -1
  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/settings/page.js +2 -2
  141. package/_standalone/__next/server/app/settings/page.js.nft.json +1 -1
  142. package/_standalone/__next/server/app/settings/page_client-reference-manifest.js +1 -1
  143. package/_standalone/__next/server/app/setup/page.js +1 -1
  144. package/_standalone/__next/server/app/setup/page.js.nft.json +1 -1
  145. package/_standalone/__next/server/app/setup/page_client-reference-manifest.js +1 -1
  146. package/_standalone/__next/server/app/todo/page.js +1 -1
  147. package/_standalone/__next/server/app/todo/page.js.nft.json +1 -1
  148. package/_standalone/__next/server/app/todo/page_client-reference-manifest.js +1 -1
  149. package/_standalone/__next/server/app/trash/page.js +3 -3
  150. package/_standalone/__next/server/app/trash/page_client-reference-manifest.js +1 -1
  151. package/_standalone/__next/server/app/view/[...path]/page.js +3 -3
  152. package/_standalone/__next/server/app/view/[...path]/page.js.nft.json +1 -1
  153. package/_standalone/__next/server/app/view/[...path]/page_client-reference-manifest.js +1 -1
  154. package/_standalone/__next/server/app/wiki/page.js +2 -2
  155. package/_standalone/__next/server/app/wiki/page.js.nft.json +1 -1
  156. package/_standalone/__next/server/app/wiki/page_client-reference-manifest.js +1 -1
  157. package/_standalone/__next/server/app-paths-manifest.json +22 -22
  158. package/_standalone/__next/server/chunks/1665.js +3 -3
  159. package/_standalone/__next/server/chunks/1976.js +1 -1
  160. package/_standalone/__next/server/chunks/2428.js +3 -3
  161. package/_standalone/__next/server/chunks/4466.js +4 -4
  162. package/_standalone/__next/server/chunks/{9969.js → 5768.js} +2 -2
  163. package/_standalone/__next/server/chunks/6279.js +1 -0
  164. package/_standalone/__next/server/chunks/6602.js +47 -47
  165. package/_standalone/__next/server/chunks/8461.js +17 -17
  166. package/_standalone/__next/server/middleware-build-manifest.js +1 -1
  167. package/_standalone/__next/server/middleware-react-loadable-manifest.js +1 -1
  168. package/_standalone/__next/server/pages/500.html +2 -2
  169. package/_standalone/__next/server/server-reference-manifest.js +1 -1
  170. package/_standalone/__next/server/server-reference-manifest.json +1 -1
  171. package/_standalone/__next/static/chunks/1023-3a5a295bdb8f036e.js +53 -0
  172. package/_standalone/__next/static/chunks/1469-a47a8fdf907854b7.js +1 -0
  173. package/_standalone/__next/static/chunks/1471.26592788eb019d91.js +1 -0
  174. package/_standalone/__next/static/chunks/{2073-fadffc82a27afdc7.js → 2073-85e9695b8754ccd4.js} +4 -4
  175. package/_standalone/__next/static/chunks/2303.da761b42cec4cd5c.js +1 -0
  176. package/_standalone/__next/static/chunks/2571-f83b7e0b3f478222.js +1 -0
  177. package/_standalone/__next/static/chunks/2762-e6982806b63ccb64.js +1 -0
  178. package/_standalone/__next/static/chunks/3045-a957e615254f5059.js +20 -0
  179. package/_standalone/__next/static/chunks/3288-8f2809685fe349a8.js +1 -0
  180. package/_standalone/__next/static/chunks/3819-665b50f4dc3af9e2.js +1 -0
  181. package/_standalone/__next/static/chunks/3995-efb3b8f34f1a5a8f.js +27 -0
  182. package/_standalone/__next/static/chunks/4304-ee72ac41d1513389.js +8 -0
  183. package/_standalone/__next/static/chunks/{2245.ef71edb24c5232c2.js → 5098.096f96bd198d864c.js} +1 -1
  184. package/_standalone/__next/static/chunks/5840.ad2131db64e173a7.js +1 -0
  185. package/{static-web/_next/static/chunks/5913.a0a734f87b13f81a.js → _standalone/__next/static/chunks/5913.0aa553b16c2b0302.js} +1 -1
  186. package/{static-web/_next/static/chunks/3819.42b0ef6a61a01d67.js → _standalone/__next/static/chunks/6200.3f2d00ee8c2e9f9e.js} +1 -1
  187. package/_standalone/__next/static/chunks/6274-f173cb227ad1ef21.js +1 -0
  188. package/_standalone/__next/static/chunks/7904-fadcd92068780b59.js +16 -0
  189. package/_standalone/__next/static/chunks/8132-466a3fea8940c114.js +1 -0
  190. package/_standalone/__next/static/chunks/8924-685d2215bfd7204e.js +14 -0
  191. package/_standalone/__next/static/chunks/9202-9a33f968862439f5.js +1 -0
  192. package/_standalone/__next/static/chunks/{9602.218427fc7b3d6b11.js → 9602.cbfa1195944c2e3d.js} +1 -1
  193. package/_standalone/__next/static/chunks/{9947.81409c5539cd781d.js → 9947.99304c5fc22b4fbe.js} +1 -1
  194. package/_standalone/__next/static/chunks/app/agents/[agentKey]/{page-ef111ea0a3368752.js → page-89e05039dfc56a33.js} +1 -1
  195. package/_standalone/__next/static/chunks/app/agents/{page-aacead0f47cedb0d.js → page-9f4d0c5a3ec17720.js} +1 -1
  196. package/_standalone/__next/static/chunks/app/capture/page-86fc5eabdb1f3f87.js +14 -0
  197. package/_standalone/__next/static/chunks/app/echo/[segment]/{page-c5ea40ac04f2dc29.js → page-f0e6a66b3c9d60c0.js} +1 -1
  198. package/_standalone/__next/static/chunks/app/{layout-ed608bbf9585e78f.js → layout-1c84d9542b3d194e.js} +15 -15
  199. package/_standalone/__next/static/chunks/app/page-408daa74e14f5f27.js +1 -0
  200. package/_standalone/__next/static/chunks/app/settings/page-5eeea2c7c6dbf1d8.js +1 -0
  201. package/_standalone/__next/static/chunks/app/trash/page-31dba65333b30cc6.js +1 -0
  202. package/_standalone/__next/static/chunks/app/view/[...path]/page-5e9f49ab1b3bc3b2.js +12 -0
  203. package/_standalone/__next/static/chunks/app/wiki/page-d727a6cfe99e38a6.js +14 -0
  204. package/_standalone/__next/static/chunks/webpack-7fb8bc60a549efe2.js +1 -0
  205. package/_standalone/__next/static/css/67a9446950c3630b.css +1 -0
  206. package/assets/images/wechat-qr.png +0 -0
  207. package/dist/server/handlers/inbox.d.ts.map +1 -1
  208. package/dist/server/handlers/inbox.js +23 -2
  209. package/dist/server/handlers/inbox.js.map +1 -1
  210. package/dist/server/handlers/skills.d.ts.map +1 -1
  211. package/dist/server/handlers/skills.js +59 -5
  212. package/dist/server/handlers/skills.js.map +1 -1
  213. package/dist/server/runtime.d.ts +1 -0
  214. package/dist/server/runtime.d.ts.map +1 -1
  215. package/dist/server/runtime.js +10 -1
  216. package/dist/server/runtime.js.map +1 -1
  217. package/dist/session/index.d.ts +1 -0
  218. package/dist/session/index.d.ts.map +1 -1
  219. package/dist/session/index.js +1 -0
  220. package/dist/session/index.js.map +1 -1
  221. package/package.json +1 -1
  222. package/runtime-manifest.json +1 -1
  223. package/static-web/.mindos-build-version +1 -1
  224. package/static-web/_next/static/chunks/1023-3a5a295bdb8f036e.js +53 -0
  225. package/static-web/_next/static/chunks/1469-a47a8fdf907854b7.js +1 -0
  226. package/static-web/_next/static/chunks/1471.26592788eb019d91.js +1 -0
  227. package/static-web/_next/static/chunks/{2073-fadffc82a27afdc7.js → 2073-85e9695b8754ccd4.js} +4 -4
  228. package/static-web/_next/static/chunks/2303.da761b42cec4cd5c.js +1 -0
  229. package/static-web/_next/static/chunks/2571-f83b7e0b3f478222.js +1 -0
  230. package/static-web/_next/static/chunks/2762-e6982806b63ccb64.js +1 -0
  231. package/static-web/_next/static/chunks/3045-a957e615254f5059.js +20 -0
  232. package/static-web/_next/static/chunks/3288-8f2809685fe349a8.js +1 -0
  233. package/static-web/_next/static/chunks/3819-665b50f4dc3af9e2.js +1 -0
  234. package/static-web/_next/static/chunks/3995-efb3b8f34f1a5a8f.js +27 -0
  235. package/static-web/_next/static/chunks/4304-ee72ac41d1513389.js +8 -0
  236. package/static-web/_next/static/chunks/{2245.ef71edb24c5232c2.js → 5098.096f96bd198d864c.js} +1 -1
  237. package/static-web/_next/static/chunks/5840.ad2131db64e173a7.js +1 -0
  238. package/{_standalone/__next/static/chunks/5913.a0a734f87b13f81a.js → static-web/_next/static/chunks/5913.0aa553b16c2b0302.js} +1 -1
  239. package/{_standalone/__next/static/chunks/3819.42b0ef6a61a01d67.js → static-web/_next/static/chunks/6200.3f2d00ee8c2e9f9e.js} +1 -1
  240. package/static-web/_next/static/chunks/6274-f173cb227ad1ef21.js +1 -0
  241. package/static-web/_next/static/chunks/7904-fadcd92068780b59.js +16 -0
  242. package/static-web/_next/static/chunks/8132-466a3fea8940c114.js +1 -0
  243. package/static-web/_next/static/chunks/8924-685d2215bfd7204e.js +14 -0
  244. package/static-web/_next/static/chunks/9202-9a33f968862439f5.js +1 -0
  245. package/static-web/_next/static/chunks/{9602.218427fc7b3d6b11.js → 9602.cbfa1195944c2e3d.js} +1 -1
  246. package/static-web/_next/static/chunks/{9947.81409c5539cd781d.js → 9947.99304c5fc22b4fbe.js} +1 -1
  247. package/static-web/_next/static/chunks/app/agents/[agentKey]/{page-ef111ea0a3368752.js → page-89e05039dfc56a33.js} +1 -1
  248. package/static-web/_next/static/chunks/app/agents/{page-aacead0f47cedb0d.js → page-9f4d0c5a3ec17720.js} +1 -1
  249. package/static-web/_next/static/chunks/app/capture/page-86fc5eabdb1f3f87.js +14 -0
  250. package/static-web/_next/static/chunks/app/echo/[segment]/{page-c5ea40ac04f2dc29.js → page-f0e6a66b3c9d60c0.js} +1 -1
  251. package/static-web/_next/static/chunks/app/{layout-ed608bbf9585e78f.js → layout-1c84d9542b3d194e.js} +15 -15
  252. package/static-web/_next/static/chunks/app/page-408daa74e14f5f27.js +1 -0
  253. package/static-web/_next/static/chunks/app/settings/page-5eeea2c7c6dbf1d8.js +1 -0
  254. package/static-web/_next/static/chunks/app/trash/page-31dba65333b30cc6.js +1 -0
  255. package/static-web/_next/static/chunks/app/view/[...path]/page-5e9f49ab1b3bc3b2.js +12 -0
  256. package/static-web/_next/static/chunks/app/wiki/page-d727a6cfe99e38a6.js +14 -0
  257. package/static-web/_next/static/chunks/webpack-7fb8bc60a549efe2.js +1 -0
  258. package/static-web/_next/static/css/67a9446950c3630b.css +1 -0
  259. package/static-web/help/index.html +12 -8
  260. package/static-web/index.html +11 -7
  261. package/static-web/setup/index.html +12 -8
  262. package/static-web/static-web-manifest.json +1 -1
  263. package/static-web/wiki/index.html +11 -7
  264. package/_standalone/__next/server/chunks/3727.js +0 -1
  265. package/_standalone/__next/static/chunks/1104-0822d9349a412b9b.js +0 -16
  266. package/_standalone/__next/static/chunks/2258-2d3b5aac6a1fa92a.js +0 -53
  267. package/_standalone/__next/static/chunks/2303.ac755d2213a6ba9e.js +0 -1
  268. package/_standalone/__next/static/chunks/2409-244f9b90dceb0c04.js +0 -1
  269. package/_standalone/__next/static/chunks/3279-b49c25a4f2964b16.js +0 -1
  270. package/_standalone/__next/static/chunks/3807-115388f118106ca8.js +0 -1
  271. package/_standalone/__next/static/chunks/5026-7fed7ca22272c18f.js +0 -1
  272. package/_standalone/__next/static/chunks/5840.b812d86b830668e3.js +0 -1
  273. package/_standalone/__next/static/chunks/6272-6889f9239e888604.js +0 -14
  274. package/_standalone/__next/static/chunks/8174-50048777dc2469c0.js +0 -1
  275. package/_standalone/__next/static/chunks/8922-3babcd35e18e9e4f.js +0 -1
  276. package/_standalone/__next/static/chunks/9440-eee639175695be7d.js +0 -33
  277. package/_standalone/__next/static/chunks/9479-b48d19e3588823c1.js +0 -34
  278. package/_standalone/__next/static/chunks/app/capture/page-ae4d683afdc7a7b2.js +0 -1
  279. package/_standalone/__next/static/chunks/app/page-d22928276c36528c.js +0 -1
  280. package/_standalone/__next/static/chunks/app/settings/page-045afd8c0908f923.js +0 -1
  281. package/_standalone/__next/static/chunks/app/trash/page-251aaf5aac9d5a0b.js +0 -1
  282. package/_standalone/__next/static/chunks/app/view/[...path]/page-7e17c3d13fe2e275.js +0 -12
  283. package/_standalone/__next/static/chunks/app/wiki/page-4c9bc816069b6f2a.js +0 -14
  284. package/_standalone/__next/static/chunks/webpack-1decda0633a8a874.js +0 -1
  285. package/_standalone/__next/static/css/5f000212c8b2e09a.css +0 -1
  286. package/static-web/_next/static/chunks/1104-0822d9349a412b9b.js +0 -16
  287. package/static-web/_next/static/chunks/2258-2d3b5aac6a1fa92a.js +0 -53
  288. package/static-web/_next/static/chunks/2303.ac755d2213a6ba9e.js +0 -1
  289. package/static-web/_next/static/chunks/2409-244f9b90dceb0c04.js +0 -1
  290. package/static-web/_next/static/chunks/3279-b49c25a4f2964b16.js +0 -1
  291. package/static-web/_next/static/chunks/3807-115388f118106ca8.js +0 -1
  292. package/static-web/_next/static/chunks/5026-7fed7ca22272c18f.js +0 -1
  293. package/static-web/_next/static/chunks/5840.b812d86b830668e3.js +0 -1
  294. package/static-web/_next/static/chunks/6272-6889f9239e888604.js +0 -14
  295. package/static-web/_next/static/chunks/8174-50048777dc2469c0.js +0 -1
  296. package/static-web/_next/static/chunks/8922-3babcd35e18e9e4f.js +0 -1
  297. package/static-web/_next/static/chunks/9440-eee639175695be7d.js +0 -33
  298. package/static-web/_next/static/chunks/9479-b48d19e3588823c1.js +0 -34
  299. package/static-web/_next/static/chunks/app/capture/page-ae4d683afdc7a7b2.js +0 -1
  300. package/static-web/_next/static/chunks/app/page-d22928276c36528c.js +0 -1
  301. package/static-web/_next/static/chunks/app/settings/page-045afd8c0908f923.js +0 -1
  302. package/static-web/_next/static/chunks/app/trash/page-251aaf5aac9d5a0b.js +0 -1
  303. package/static-web/_next/static/chunks/app/view/[...path]/page-7e17c3d13fe2e275.js +0 -12
  304. package/static-web/_next/static/chunks/app/wiki/page-4c9bc816069b6f2a.js +0 -14
  305. package/static-web/_next/static/chunks/webpack-1decda0633a8a874.js +0 -1
  306. package/static-web/_next/static/css/5f000212c8b2e09a.css +0 -1
  307. /package/_standalone/__next/static/{apol5mbXb7N_sqaKgpXN1 → QRVhXGG4IotxFfmor1t55}/_buildManifest.js +0 -0
  308. /package/_standalone/__next/static/{apol5mbXb7N_sqaKgpXN1 → QRVhXGG4IotxFfmor1t55}/_ssgManifest.js +0 -0
  309. /package/static-web/_next/static/{apol5mbXb7N_sqaKgpXN1 → QRVhXGG4IotxFfmor1t55}/_buildManifest.js +0 -0
  310. /package/static-web/_next/static/{apol5mbXb7N_sqaKgpXN1 → QRVhXGG4IotxFfmor1t55}/_ssgManifest.js +0 -0
@@ -0,0 +1,27 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3995],{249:(e,t,r)=>{r.d(t,{m:()=>a});var n=r(94456);let s=new Set(["write_file","create_file","batch_create_files","update_section","insert_after_heading","delete_file","rename_file","create_space"]);async function a(e,t,r){let a=e.getReader(),o=new TextDecoder,i="",l=[],u=new Map,c=null,d=null,m=Date.now();function f(){let e=l.map(e=>"text"===e.type?{type:"text",text:e.text}:"reasoning"===e.type?{type:"reasoning",text:e.text}:{...e});return{role:"assistant",content:e.filter(e=>"text"===e.type).map(e=>e.text).join(""),parts:e,timestamp:m}}function p(e,t){let r=u.get(e);return r||(r={type:"tool-call",toolCallId:e,toolName:t??"unknown",input:void 0,state:"pending"},u.set(e,r),l.push(r),c=null),r}try{for(;!r?.aborted;){let{done:e,value:r}=await a.read();if(e&&!i)break;e||(i+=o.decode(r,{stream:!0}));let u=e?[i]:i.split("\n");i=e?"":u.pop()??"";let m=!1;for(let e of u){let t=e.trim(),r=(0,n.t4)(t);if(r)switch(r.type){case"text_delta":{let e=function(e){if(c===e){let e=l[l.length-1];if(e&&"text"===e.type)return e}let t={type:"text",text:""};return l.push(t),c=e,t}("text");e.text+=r.delta??"",m=!0;break}case"thinking_delta":d||(d={type:"reasoning",text:""},l.push(d),c=null),d.text+=r.delta??"",m=!0;break;case"tool_start":{let e=r.toolCallId;if(!e)break;let t=r.toolName,n=p(e,t);n.input=r.args,n.state="running",m=!0;break}case"tool_end":{let e=r.toolCallId;if(!e)break;let t=p(e,r.toolName);t.output=r.output??"",t.state=r.isError?"error":"done",m=!0,!r.isError&&s.has(t.toolName)&&window.dispatchEvent(new Event("mindos:files-changed"));break}case"error":{let e=r.message;l.push({type:"text",text:`
2
+
3
+ **Stream Error:** ${e}`}),c=null,m=!0}}}if(m&&t(f()),e)break}}finally{a.releaseLock()}let x=!1;for(let e of u.values())("running"===e.state||"pending"===e.state)&&(e.state="error",e.output=e.output??"Stream ended before tool completed",x=!0);return x&&t(f()),f()}},19483:(e,t,r)=>{r.d(t,{A:()=>tc});var n=r(66839),s=r(44223),a=r(53454),o=r(73601),i=r(30401),l=r(53378),u=r(72799),c=r(49320),d=r(67643),m=r(2073),f=r(78132),p=r(19378),x=r(76723),g=r(72615);let h="mindos-ask-mode",b=["agent","chat"];function v({mode:e,onChange:t,disabled:r}){let{t:o}=(0,m.Y)(),[i,l]=(0,s.useState)(!1),[u,c]=(0,s.useState)(null),d=(0,s.useRef)(null),v=(0,s.useRef)(null),y=(0,s.useCallback)(()=>{if(!d.current)return;let e=d.current.getBoundingClientRect(),t=e.top,r=t>window.innerHeight-e.bottom&&t>120?"up":"down";c({left:e.left,top:"up"===r?e.top-6:e.bottom+6,direction:r})},[]);(0,s.useEffect)(()=>{i&&y()},[i,y]),(0,s.useEffect)(()=>{if(!i)return;let e=e=>{let t=e.target;d.current&&!d.current.contains(t)&&v.current&&!v.current.contains(t)&&l(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[i]),(0,s.useEffect)(()=>{if(!i)return;let e=e=>{"Escape"===e.key&&l(!1)};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[i]),(0,s.useEffect)(()=>{if(i)return window.addEventListener("scroll",y,!0),window.addEventListener("resize",y),()=>{window.removeEventListener("scroll",y,!0),window.removeEventListener("resize",y)}},[i,y]);let j=(0,s.useCallback)(e=>{t(e);try{localStorage.setItem(h,e)}catch{}l(!1)},[t]),w="chat"===e,k=(e,t)=>"chat"===e?(0,n.jsx)(f.A,{size:t,className:"shrink-0"}):(0,n.jsx)(p.A,{size:t,className:"shrink-0"}),N=e=>"chat"===e?o.ask.modeChat:o.ask.modeAgent,S=e=>"chat"===e?o.ask.modeChatHint:o.ask.modeAgentHint,C=i&&u?(0,n.jsx)("div",{ref:v,role:"listbox","aria-label":"Select mode",className:"fixed z-[60] pointer-events-auto min-w-[200px] max-w-[260px] rounded-lg border border-border bg-card shadow-lg py-1 animate-in fade-in-0 zoom-in-95 duration-100",style:{left:u.left,..."up"===u.direction?{bottom:window.innerHeight-u.top}:{top:u.top}},children:b.map(t=>{let r=e===t;return(0,n.jsxs)("button",{type:"button",role:"option","aria-selected":r,onClick:()=>j(t),className:"flex w-full items-center gap-2.5 px-3 py-2 text-xs text-left transition-colors hover:bg-muted",children:[(0,n.jsx)("span",{className:"text-muted-foreground",children:k(t,13)}),(0,n.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,n.jsx)("div",{className:"font-medium",children:N(t)}),(0,n.jsx)("div",{className:"text-2xs text-muted-foreground mt-0.5",children:S(t)})]}),r&&(0,n.jsx)(x.A,{size:12,className:"shrink-0 text-[var(--amber)]"})]},t)})}):null;return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("button",{ref:d,type:"button",onClick:()=>{r||l(e=>!e)},disabled:r,className:`
4
+ relative z-10 inline-flex min-h-6 items-center gap-1 rounded-full px-2.5 py-0.5
5
+ text-2xs font-medium transition-colors select-none
6
+ pointer-events-auto touch-manipulation
7
+ border focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring
8
+ disabled:pointer-events-none disabled:opacity-40 disabled:cursor-not-allowed
9
+ ${w?"bg-muted/50 border-border/50 text-muted-foreground hover:bg-muted hover:text-foreground":"bg-[var(--amber)]/10 border-[var(--amber)]/25 text-foreground hover:bg-[var(--amber)]/15"}
10
+ `,title:S(e),"aria-expanded":i,"aria-haspopup":"listbox",children:[k(e,11),(0,n.jsx)("span",{className:"truncate max-w-[80px]",children:N(e)}),(0,n.jsx)(g.A,{size:10,className:"shrink-0 text-muted-foreground"})]}),"u">typeof document&&C&&(0,a.createPortal)(C,document.body)]})}let y={id:"mindos",name:"MindOS"};function j(e,t){let r=t??y;return{...e,agentId:r.id,agentName:r.name}}function w(e){let t=Date.now();return{id:`${t}-${Math.random().toString(36).slice(2,8)}`,currentFile:e,createdAt:t,updatedAt:t,messages:[]}}function k(e){if(e.title)return e.title;let t=e.messages.find(e=>"user"===e.role);if(!t)return"(empty session)";let r=t.content.replace(/\s+/g," ").trim();return!r&&t.images&&t.images.length>0?`[${t.images.length} image${t.images.length>1?"s":""}]`:r.length>42?`${r.slice(0,42)}...`:r||"(empty session)"}async function N(){try{let e=await fetch("/api/ask-sessions",{cache:"no-store"});if(!e.ok)return[];let t=await e.json();if(!Array.isArray(t))return[];return t.slice(0,30)}catch{return[]}}async function S(e){try{let t={...e,messages:e.messages.map(e=>e.images&&0!==e.images.length?{...e,images:e.images.map(e=>({...e,data:""}))}:e)};await fetch("/api/ask-sessions",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({session:t})})}catch{}}async function C(e){try{await fetch("/api/ask-sessions",{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:e})})}catch{}}async function A(e){try{await fetch("/api/ask-sessions",{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({ids:e})})}catch{}}let E=new Set([".txt",".md",".markdown",".csv",".json",".yaml",".yml",".xml",".html",".htm",".pdf",".doc",".docx",".docm"]);function z(e){let t=e.lastIndexOf(".");return t>=0?e.slice(t).toLowerCase():""}function R(e){let t="";for(let r=0;r<e.length;r+=32768)t+=String.fromCharCode(...e.subarray(r,r+32768));return btoa(t)}async function $(e){let t=e.name;try{let r=await e.arrayBuffer(),n=R(new Uint8Array(r)),s=await fetch("/api/extract-pdf",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:t,dataBase64:n})}),a={};try{a=await s.json()}catch{throw Error("Failed to parse extraction response")}if(!s.ok)throw Error(a.error||`PDF extraction failed (${s.status})`);if("error"===a.extracted)return{name:t,content:`[PDF: ${t}] Failed to extract text from this PDF.`,status:"error",error:a.extractionError||"PDF extraction failed (unable to parse PDF)"};let o="success"===a.extracted&&a.text||"";if(!o)return{name:t,content:`[PDF: ${t}] Could not extract readable text (possibly scanned/image PDF).`,status:"error",error:"No extractable text found — PDF may be scanned, image-only, or have no text content"};let i={name:t,content:`[PDF TEXT EXTRACTED: ${t}]
11
+
12
+ ${o}`,status:"success"};return a.truncated&&a.totalChars&&(i.truncatedInfo={totalChars:a.totalChars,includedChars:o.length,totalPages:a.pagesParsed??0}),i}catch(e){return{name:t,content:`[PDF: ${t}] Failed to extract text from this PDF.`,status:"error",error:e instanceof Error?e.message:"Unknown error"}}}async function T(e){let t=e.name;try{let r=await e.arrayBuffer(),n=R(new Uint8Array(r)),s=await fetch("/api/extract-docx",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:t,dataBase64:n})}),a={};try{a=await s.json()}catch{throw Error("Failed to parse extraction response")}if(!s.ok)throw Error(a.error||`Word extraction failed (${s.status})`);if(!a.extracted)return{name:t,content:`[Word: ${t}] Failed to extract text from this Word document.`,status:"error",error:a.errorMessage||"Word extraction failed"};let o=a.text||"";if(!o)return{name:t,content:`[Word: ${t}] Could not extract readable text (empty document).`,status:"error",error:"No extractable text found — document may be empty or corrupted"};let i={name:t,content:`[WORD TEXT EXTRACTED: ${t}]
13
+
14
+ ${o}`,status:"success"};return a.truncated&&a.chars&&(i.truncatedInfo={totalChars:a.chars||0,includedChars:a.charsTruncated||o.length,totalPages:a.pages??0}),a.warning&&(i.truncatedInfo||(i.truncatedInfo={totalChars:a.chars||o.length,includedChars:o.length,totalPages:a.pages??0}),i.truncatedInfo.warning=a.warning),i}catch(e){return{name:t,content:`[Word: ${t}] Failed to extract text from this Word document.`,status:"error",error:e instanceof Error?e.message:"Unknown error"}}}let L=new Set(["image/png","image/jpeg","image/gif","image/webp"]);async function M(e){let t=e.type;if(e.size<=5242880){let r=new Uint8Array(await e.arrayBuffer()),n="";for(let e=0;e<r.length;e+=32768)n+=String.fromCharCode(...r.subarray(e,e+32768));return{data:btoa(n),mimeType:t}}return new Promise((t,r)=>{let n=new Image,s=URL.createObjectURL(e);n.onload=()=>{let{width:e,height:a}=n;if(e>1920||a>1920){let t=Math.min(1920/e,1920/a);e=Math.round(e*t),a=Math.round(a*t)}let o=document.createElement("canvas");o.width=e,o.height=a;let i=o.getContext("2d");if(!i){URL.revokeObjectURL(s),r(Error("Canvas not supported"));return}i.drawImage(n,0,0,e,a);let l=o.toDataURL("image/jpeg",.85).split(",")[1];URL.revokeObjectURL(s),t({data:l,mimeType:"image/jpeg"})},n.onerror=()=>{URL.revokeObjectURL(s),r(Error("Failed to load image"))},n.src=s})}function _(e){let t=[];for(let r of Array.from(e))if("file"===r.kind&&L.has(r.type)){let e=r.getAsFile();e&&t.push(e)}return t}var D=r(24336),P=r(29696),F=r(76551),I=r(78610),O=r(44361),H=r(71128),W=r(21082),U=r(72700),B=r(10952),Y=r(38325),K=r(42277),J=r(93960),q=r(53557),Q=r(80016),V=r(74576),X=r(40235),G=r(46990),Z=r(31082),ee=r(27636),et=r(88283),er=r(2408),en=r(86386),es=r(13224),ea=r(31606),eo=r(84441),ei=r(59694),el=r(11235),eu=r(12361),ec=r(18659),ed=r(98327),em=r(5038),ef=r(38688),ep=r(52364);let ex=new Set(["delete_file","move_file","rename_file","write_file"]),eg=new Set(["write_file","create_file","update_section","insert_after_heading","edit_lines","append_to_file"]),eh={web_search:Z.A,search:Y.A,list_files:ee.A,read_file:et.A,write_file:er.A,create_file:en.A,append_to_file:i.A,insert_after_heading:es.A,update_section:er.A,delete_file:ea.A,rename_file:i.A,move_file:eo.A,get_backlinks:ei.A,get_history:el.A,get_file_at_version:el.A,get_recent:eu.A,append_csv:ec.A},eb="--- changes ---";function ev({part:e}){let t=eg.has(e.toolName),r="done"===e.state,[a,o]=(0,s.useState)(null),i=a??(t&&r),l=eh[e.toolName]??H.A,u=ex.has(e.toolName),c=(0,s.useMemo)(()=>(function(e){if(!e)return{header:"",stats:"",diffLines:[]};let t=e.indexOf(eb);if(-1===t)return{header:e,stats:"",diffLines:[]};let r=e.slice(0,t).trim(),n=e.slice(t+eb.length).trim(),s=r.match(/\((\+\d+\s*−\d+)\)/);return{header:r,stats:s?s[1]:"",diffLines:n.split("\n").map(e=>e.startsWith("+ ")?{prefix:"+",text:e.slice(2)}:e.startsWith("- ")?{prefix:"-",text:e.slice(2)}:e.startsWith(" ")?{prefix:" ",text:e.slice(2)}:{prefix:" ",text:e})}})(e.output),[e.output]),d=(0,s.useMemo)(()=>e.input&&"object"==typeof e.input?e.input.path??"":"",[e.input]),m=d?`${d.split("/").pop()??d}${c.stats?` (${c.stats})`:""}`:function(e){if(!e||"object"!=typeof e)return String(e??"");let t=[];for(let r of Object.values(e))"string"==typeof r?t.push(r.length>60?`${r.slice(0,60)}…`:r):Array.isArray(r)?t.push(`[${r.length} items]`):null!=r&&t.push(String(r));return t.join(", ")}(e.input);return(0,n.jsxs)("div",{className:`my-1.5 rounded-lg border text-xs font-mono ${u?"border-[var(--amber)]/30 bg-background/60":"border-border/40 bg-background/50"}`,children:[(0,n.jsxs)("button",{type:"button",onClick:()=>o(e=>null===e?!i:!e),"aria-expanded":i,className:"w-full flex items-center gap-1.5 px-2.5 py-2 text-left hover:bg-muted/30 transition-colors rounded-lg",children:[i?(0,n.jsx)(g.A,{size:12,className:"shrink-0 text-muted-foreground"}):(0,n.jsx)(ed.A,{size:12,className:"shrink-0 text-muted-foreground"}),u&&(0,n.jsx)(em.A,{size:11,className:"shrink-0 text-[var(--amber)]"}),(0,n.jsx)(l,{size:12,className:`shrink-0 ${u?"text-[var(--amber)]":"text-muted-foreground"}`}),(0,n.jsx)("span",{className:`font-medium ${u?"text-[var(--amber)]":"text-foreground"}`,children:e.toolName}),(0,n.jsx)("span",{className:"text-muted-foreground truncate flex-1",children:m}),(0,n.jsx)("span",{className:"shrink-0 ml-auto",children:"pending"===e.state||"running"===e.state?(0,n.jsx)(O.A,{size:12,className:"animate-spin text-[var(--amber)]"}):"done"===e.state?(0,n.jsx)(ef.A,{size:12,className:"text-success"}):(0,n.jsx)(ep.A,{size:12,className:"text-error"})})]}),i&&(0,n.jsx)("div",{className:"border-t border-border/30",children:t&&r&&c.diffLines.length>0?(0,n.jsx)("div",{className:"max-h-64 overflow-y-auto",children:c.diffLines.map((e,t)=>(0,n.jsxs)("div",{className:`px-2 py-px flex items-start gap-1.5 ${"+"===e.prefix?"bg-success/8":"-"===e.prefix?"bg-error/8":""}`,children:[(0,n.jsx)("span",{className:`select-none w-3 shrink-0 text-right ${"+"===e.prefix?"text-success":"-"===e.prefix?"text-error":"text-muted-foreground/50"}`,children:e.prefix}),(0,n.jsx)("span",{className:`whitespace-pre-wrap break-all flex-1 ${"+"===e.prefix?"text-success":"-"===e.prefix?"text-error":"text-muted-foreground"}`,children:e.text||"\xa0"})]},t))}):(0,n.jsxs)("div",{className:"px-2.5 pb-2.5 pt-1.5 space-y-1.5",children:["running"===e.state&&(0,n.jsxs)("div",{className:"text-muted-foreground/60 text-2xs flex items-center gap-1.5",children:[(0,n.jsx)(O.A,{size:10,className:"animate-spin"})," Running..."]}),(0,n.jsxs)("div",{className:"text-muted-foreground leading-relaxed",children:[(0,n.jsx)("span",{className:"font-semibold text-foreground/70",children:"Input: "}),(0,n.jsx)("span",{className:"break-all whitespace-pre-wrap",children:JSON.stringify(e.input,null,2)})]}),void 0!==e.output&&""!==e.output&&(0,n.jsxs)("div",{className:"text-muted-foreground leading-relaxed",children:[(0,n.jsx)("span",{className:"font-semibold text-foreground/70",children:"Output: "}),(0,n.jsx)("span",{className:"break-all whitespace-pre-wrap",children:e.output.length>500?e.output.slice(0,500)+"…":e.output})]})]})})]})}var ey=r(32959);function ej({text:e,isStreaming:t}){let[r,a]=(0,s.useState)(!1),{t:o}=(0,m.Y)();return e||t?(0,n.jsxs)("div",{className:"my-1.5 rounded-lg border border-border/30 bg-muted/15 text-xs",children:[(0,n.jsxs)("button",{type:"button",onClick:()=>a(e=>!e),"aria-expanded":r,className:"w-full flex items-center gap-1.5 px-2.5 py-2 text-left hover:bg-muted/30 transition-colors rounded-lg",children:[r?(0,n.jsx)(g.A,{size:12,className:"shrink-0 text-muted-foreground"}):(0,n.jsx)(ed.A,{size:12,className:"shrink-0 text-muted-foreground"}),(0,n.jsx)(ey.A,{size:12,className:"shrink-0 text-muted-foreground"}),(0,n.jsxs)("span",{className:"text-muted-foreground font-medium",children:[o.ask.thinkingLabel,t&&!r&&(0,n.jsx)("span",{className:"ml-1 animate-pulse",children:"..."})]}),!r&&e&&(0,n.jsxs)("span",{className:"text-muted-foreground/50 truncate flex-1 ml-1",children:[e.slice(0,80),e.length>80?"...":""]})]}),r&&(0,n.jsx)("div",{className:"px-2.5 pb-2.5 pt-1 border-t border-border/20",children:(0,n.jsxs)("div",{className:"text-muted-foreground whitespace-pre-wrap leading-relaxed",children:[e,t&&(0,n.jsx)("span",{className:"inline-block w-1 h-3 bg-muted-foreground/40 ml-0.5 align-middle animate-pulse rounded-full"})]})})]}):null}var ew=r(65264),ek=r(79455),eN=r(25176);function eS(e,t,r=new Date){let n=r.getFullYear(),s=String(r.getMonth()+1).padStart(2,"0"),a=String(r.getDate()).padStart(2,"0"),o=`> Saved session from MindOS Ask \xb7 ${n}-${s}-${a}`;if("full"===t){let t=e.map(e=>{let t=(0,X.Oo)(e.content).trim();if(!t)return null;let r="user"===e.role?"**User**":"**Assistant**";return`### ${r}
15
+
16
+ ${t}`}).filter(Boolean);return`${o}
17
+
18
+ ${t.join("\n\n---\n\n")}`}if("ai-only"===t){let t=e.filter(e=>"assistant"===e.role).map(e=>(0,X.Oo)(e.content).trim()).filter(Boolean);return`${o}
19
+
20
+ ${t.join("\n\n---\n\n")}`}return eS(e,"full",r)}function eC(e,t){let r="ai-only"===t?e.filter(e=>"assistant"===e.role):e,n=r.reduce((e,t)=>e+(0,X.Oo)(t.content).trim().length,0);return{msgCount:r.length,charCount:n}}function eA({text:e}){let{t}=(0,m.Y)(),[r,a]=(0,s.useState)(!1),o=(0,s.useRef)(null),i=(0,X.Oo)(e).trim();return i?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("button",{ref:o,type:"button",onClick:e=>{e.stopPropagation(),a(e=>!e)},className:`inline-flex h-7 w-7 items-center justify-center rounded-md border transition-colors duration-75 touch-manipulation focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring ${r?"border-[var(--amber)]/40 bg-[var(--amber)]/10 text-[var(--amber)]":"border-border/60 bg-card text-muted-foreground hover:bg-[var(--amber)]/10 hover:text-[var(--amber)] shadow-sm"}`,title:t.ask?.saveToKB??"Save to knowledge base",children:(0,n.jsx)(B.A,{size:11})}),r&&(0,n.jsx)(eE,{anchorRef:o,content:i,onClose:()=>a(!1)})]}):null}function eE({anchorRef:e,content:t,onClose:r}){let{t:a}=(0,m.Y)(),o=a.ask,[i,l]=(0,s.useState)("select"),[u,c]=(0,s.useState)([]);(0,s.useEffect)(()=>{(0,ew.n)("/api/file?op=dirs").then(e=>c(e.dirs??[])).catch(()=>{})},[]);let d=[{role:"assistant",content:t}];return(0,n.jsxs)(e$,{anchorRef:e,onClose:r,children:["select"===i&&(0,n.jsx)(ez,{content:t,onSelect:l,onClose:r,ask:o}),"archive"===i&&(0,n.jsx)(eT,{content:t,defaultFilenamePrefix:"insight",dirPaths:u,onClose:r,ask:o}),"digest"===i&&(0,n.jsx)(eD,{messages:d,onClose:r,ask:o})]})}function ez({content:e,onSelect:t,onClose:r,ask:s}){let a=e.length>1e3?`~${(e.length/1e3).toFixed(1)}k`:`${e.length}`;return(0,n.jsxs)("div",{className:"p-3",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between mb-2.5",children:[(0,n.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,n.jsx)(B.A,{size:11,className:"text-[var(--amber)]"}),(0,n.jsx)("span",{className:"text-xs font-semibold text-foreground",children:s?.saveToKBTitle??"Save to KB"}),(0,n.jsxs)("span",{className:"text-2xs text-muted-foreground",children:["(",a," chars)"]})]}),(0,n.jsx)("button",{type:"button",onClick:r,className:"text-2xs text-muted-foreground hover:text-foreground",children:s?.cancelSave??"Cancel"})]}),(0,n.jsxs)("div",{className:"grid grid-cols-2 gap-2",children:[(0,n.jsxs)("button",{type:"button",onClick:()=>t("archive"),className:"flex flex-col items-center gap-1 p-2.5 border border-[var(--amber)]/30 rounded-lg hover:border-[var(--amber)]/60 hover:shadow-sm active:scale-[0.98] transition-all",children:[(0,n.jsx)(B.A,{size:16,className:"text-[var(--amber)]"}),(0,n.jsx)("span",{className:"text-2xs font-medium text-foreground",children:s?.saveDirectly??"Save directly"}),(0,n.jsx)("span",{className:"text-[10px] text-muted-foreground text-center leading-tight",children:s?.saveDirectlyDesc??"Save as-is"})]}),(0,n.jsxs)("button",{type:"button",onClick:()=>t("digest"),className:"flex flex-col items-center gap-1 p-2.5 border border-border rounded-lg hover:border-[var(--amber)]/50 hover:shadow-sm active:scale-[0.98] transition-all",children:[(0,n.jsx)(p.A,{size:16,className:"text-[var(--amber)]"}),(0,n.jsx)("span",{className:"text-2xs font-medium text-foreground",children:s?.organizeToNote??"Organize to note"}),(0,n.jsx)("span",{className:"text-[10px] text-muted-foreground text-center leading-tight",children:s?.organizeToNoteDesc??"AI organizes"})]})]})]})}function eR({messages:e,disabled:t}){let{t:r}=(0,m.Y)(),[a,o]=(0,s.useState)(!1),i=(0,s.useRef)(null);return e.some(e=>"assistant"===e.role&&e.content.trim())?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("button",{ref:i,type:"button",onClick:e=>{e.stopPropagation(),o(e=>!e)},disabled:t,className:`relative z-10 h-9 w-9 inline-flex items-center justify-center rounded-lg transition-colors pointer-events-auto touch-manipulation focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring ${a?"bg-[var(--amber)]/10 text-[var(--amber)]":"text-muted-foreground hover:text-foreground hover:bg-muted"} disabled:pointer-events-none disabled:opacity-40`,title:r.ask?.saveSession??"Save session",children:(0,n.jsx)(B.A,{size:14})}),a&&(0,n.jsx)(eL,{anchorRef:i,messages:e,onClose:()=>o(!1)})]}):null}function e$({anchorRef:e,onClose:t,children:r}){let o=(0,s.useRef)(null),[i,l]=(0,s.useState)(null),u=(0,s.useCallback)(()=>{if(!e.current)return;let t=e.current.getBoundingClientRect();l({top:t.bottom+6,right:Math.max(8,window.innerWidth-t.right)})},[e]);return((0,s.useEffect)(()=>(u(),window.addEventListener("resize",u),()=>window.removeEventListener("resize",u)),[u]),(0,s.useEffect)(()=>{let r=e=>{"Escape"===e.key&&(e.preventDefault(),t())},n=r=>{let n=r.target;e.current?.contains(n)||o.current?.contains(n)||t()};return document.addEventListener("keydown",r),document.addEventListener("mousedown",n),()=>{document.removeEventListener("keydown",r),document.removeEventListener("mousedown",n)}},[e,t]),!i||"u"<typeof document)?null:(0,a.createPortal)((0,n.jsx)("div",{ref:o,className:"fixed z-[60] pointer-events-auto rounded-xl border border-border bg-card shadow-lg animate-in fade-in-0 slide-in-from-top-1 duration-100",style:{top:i.top,right:i.right,width:300},children:r}),document.body)}function eT({content:e,defaultFilenamePrefix:t,dirPaths:r,onClose:a,ask:o}){let i,l,u=new Date,c=`${t}-${u.getFullYear()}-${String(u.getMonth()+1).padStart(2,"0")}-${String(u.getDate()).padStart(2,"0")}.md`,[d,m]=(0,s.useState)(""),[f,p]=(0,s.useState)(c),[g,h]=(0,s.useState)(!1),[b,v]=(0,s.useState)(!1),[y,j]=(0,s.useState)(""),w=(0,s.useRef)(null);(0,s.useEffect)(()=>{let e=setTimeout(()=>{w.current?.focus(),w.current?.select()},100);return()=>clearTimeout(e)},[]);let k=(l=(i=f.trim()||c).endsWith(".md")?i:`${i}.md`,d?`${d}/${l}`:l),N=(0,s.useCallback)(async()=>{h(!0),j("");try{await (0,ew.n)("/api/file",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:k,op:"create_file",content:function(e,t=new Date){let r=t.getFullYear(),n=String(t.getMonth()+1).padStart(2,"0"),s=String(t.getDate()).padStart(2,"0");return`> Saved from MindOS Ask \xb7 ${r}-${n}-${s}
21
+
22
+ ${e}`}(e),source:"user"})}),v(!0),ek.oR.success(o?.savedToKB?.replace("{path}",k.split("/").pop())??"Saved"),setTimeout(a,1e3)}catch(e){j(e?.message?.includes("exist")?o?.fileExistsSwitch??"File exists":e?.message??"Failed")}finally{h(!1)}},[e,k,o,a]);return(0,n.jsxs)("div",{className:"p-3 space-y-2",children:[(0,n.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,n.jsx)(B.A,{size:11,className:"text-[var(--amber)]"}),(0,n.jsx)("span",{className:"text-xs font-semibold",children:o?.saveToKBTitle??"Save to KB"})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("label",{className:"text-2xs text-muted-foreground mb-0.5 block",children:o?.targetFolder??"Folder"}),(0,n.jsx)(eN.A,{dirPaths:r,value:d,onChange:m,rootLabel:"Root"})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("label",{className:"text-2xs text-muted-foreground mb-0.5 block",children:o?.fileName??"Filename"}),(0,n.jsx)("input",{ref:w,type:"text",value:f,onChange:e=>p(e.target.value),onKeyDown:e=>{"Enter"===e.key&&N(),"Escape"===e.key&&a()},className:"w-full px-2 py-1 text-xs font-mono rounded-md border border-border bg-background text-foreground outline-none focus-visible:border-[var(--amber)]/50"})]}),(0,n.jsx)("div",{className:"text-[10px] text-muted-foreground/60 font-mono truncate",children:k}),y&&(0,n.jsxs)("div",{className:"flex items-center gap-1 text-2xs text-error",children:[(0,n.jsx)(W.A,{size:10}),y]}),(0,n.jsxs)("div",{className:"flex justify-end gap-1.5 pt-1 border-t border-border/30",children:[(0,n.jsx)("button",{type:"button",onClick:a,className:"px-2 py-0.5 text-2xs rounded text-muted-foreground hover:bg-muted",children:o?.cancelSave??"Cancel"}),(0,n.jsxs)("button",{type:"button",onClick:N,disabled:g||b||!f.trim(),className:`flex items-center gap-1 px-2.5 py-0.5 text-2xs font-medium rounded transition-colors ${b?"bg-success/10 text-success":"bg-[var(--amber)] text-[var(--amber-foreground)]"} disabled:opacity-50`,children:[g&&(0,n.jsx)(O.A,{size:9,className:"animate-spin"}),b&&(0,n.jsx)(x.A,{size:9}),o?.confirmSave??"Save"]})]})]})}function eL({anchorRef:e,messages:t,onClose:r}){let{t:a}=(0,m.Y)(),o=a.ask,[i,l]=(0,s.useState)("select"),[u,c]=(0,s.useState)([]);return(0,s.useEffect)(()=>{(0,ew.n)("/api/file?op=dirs").then(e=>c(e.dirs??[])).catch(()=>{})},[]),(0,n.jsxs)(e$,{anchorRef:e,onClose:r,children:["select"===i&&(0,n.jsx)(eM,{messages:t,onSelect:l,onClose:r,ask:o}),"archive"===i&&(0,n.jsx)(e_,{messages:t,dirPaths:u,onBack:()=>l("select"),onClose:r,ask:o}),"digest"===i&&(0,n.jsx)(eD,{messages:t,onClose:r,ask:o})]})}function eM({messages:e,onSelect:t,onClose:r,ask:s}){let a=eC(e,"full");return(0,n.jsxs)("div",{className:"p-3",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between mb-2.5",children:[(0,n.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,n.jsx)(B.A,{size:11,className:"text-[var(--amber)]"}),(0,n.jsx)("span",{className:"text-xs font-semibold text-foreground",children:s?.saveSession??"Save Session"}),(0,n.jsxs)("span",{className:"text-2xs text-muted-foreground",children:["(",a.msgCount,")"]})]}),(0,n.jsx)("button",{type:"button",onClick:r,className:"text-2xs text-muted-foreground hover:text-foreground",children:s?.cancelSave??"Cancel"})]}),(0,n.jsxs)("div",{className:"grid grid-cols-2 gap-2",children:[(0,n.jsxs)("button",{type:"button",onClick:()=>t("archive"),className:"flex flex-col items-center gap-1 p-2.5 border border-[var(--amber)]/30 rounded-lg hover:border-[var(--amber)]/60 hover:shadow-sm active:scale-[0.98] transition-all",children:[(0,n.jsx)(B.A,{size:16,className:"text-[var(--amber)]"}),(0,n.jsx)("span",{className:"text-2xs font-medium text-foreground",children:s?.saveDirectly??"Save directly"}),(0,n.jsx)("span",{className:"text-[10px] text-muted-foreground text-center leading-tight",children:s?.saveDirectlyDesc??"Save as-is"})]}),(0,n.jsxs)("button",{type:"button",onClick:()=>t("digest"),className:"flex flex-col items-center gap-1 p-2.5 border border-border rounded-lg hover:border-[var(--amber)]/50 hover:shadow-sm active:scale-[0.98] transition-all",children:[(0,n.jsx)(p.A,{size:16,className:"text-[var(--amber)]"}),(0,n.jsx)("span",{className:"text-2xs font-medium text-foreground",children:s?.organizeToNote??"Organize to note"}),(0,n.jsx)("span",{className:"text-[10px] text-muted-foreground text-center leading-tight",children:s?.organizeToNoteDesc??"AI extracts insights"})]})]})]})}function e_({messages:e,dirPaths:t,onBack:r,onClose:a,ask:o}){let i,l,u=new Date,c=`session-${u.getFullYear()}-${String(u.getMonth()+1).padStart(2,"0")}-${String(u.getDate()).padStart(2,"0")}.md`,[d,m]=(0,s.useState)(""),[f,p]=(0,s.useState)(c),[h,b]=(0,s.useState)("full"),[v,y]=(0,s.useState)(!1),[j,w]=(0,s.useState)(!1),[k,N]=(0,s.useState)(!1),[S,C]=(0,s.useState)(""),A=(0,s.useRef)(null);(0,s.useEffect)(()=>{let e=setTimeout(()=>{A.current?.focus(),A.current?.select()},100);return()=>clearTimeout(e)},[]);let E=(l=(i=f.trim()||c).endsWith(".md")?i:`${i}.md`,d?`${d}/${l}`:l),z=eC(e,h),R=(0,s.useCallback)(async()=>{w(!0),C("");try{await (0,ew.n)("/api/file",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:E,op:"create_file",content:eS(e,h),source:"user"})}),N(!0),ek.oR.success(o?.savedToKB?.replace("{path}",E.split("/").pop())??"Saved"),setTimeout(a,1e3)}catch(e){C(e?.message?.includes("exist")?o?.fileExistsSwitch??"File exists":e?.message??"Failed")}finally{w(!1)}},[e,h,E,o,a]),$=eS(e,h).slice(0,300);return(0,n.jsxs)("div",{className:"p-3 space-y-2",children:[(0,n.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,n.jsx)("button",{type:"button",onClick:r,className:"text-muted-foreground hover:text-foreground",children:(0,n.jsx)(ed.A,{size:11,className:"rotate-180"})}),(0,n.jsx)(B.A,{size:11,className:"text-[var(--amber)]"}),(0,n.jsx)("span",{className:"text-xs font-semibold",children:o?.saveDirectly??"Save directly"})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("label",{className:"text-2xs text-muted-foreground mb-0.5 block",children:o?.targetFolder??"Folder"}),(0,n.jsx)(eN.A,{dirPaths:t,value:d,onChange:m,rootLabel:"Root"})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("label",{className:"text-2xs text-muted-foreground mb-0.5 block",children:o?.fileName??"Filename"}),(0,n.jsx)("input",{ref:A,type:"text",value:f,onChange:e=>p(e.target.value),onKeyDown:e=>{"Enter"===e.key&&R(),"Escape"===e.key&&a()},className:"w-full px-2 py-1 text-xs font-mono rounded-md border border-border bg-background text-foreground outline-none focus-visible:border-[var(--amber)]/50"})]}),(0,n.jsxs)("div",{className:"flex items-center gap-2.5",children:[["full","ai-only"].map(e=>(0,n.jsxs)("label",{className:"flex items-center gap-1 cursor-pointer",children:[(0,n.jsx)("input",{type:"radio",name:"fmt",checked:h===e,onChange:()=>b(e),className:"w-2.5 h-2.5 accent-[var(--amber)]"}),(0,n.jsx)("span",{className:"text-2xs",children:"full"===e?o?.formatFull??"Full":o?.formatAiOnly??"AI only"})]},e)),(0,n.jsxs)("span",{className:"text-[10px] text-muted-foreground ml-auto",children:[z.msgCount," msgs"]})]}),(0,n.jsxs)("button",{type:"button",onClick:()=>y(e=>!e),className:"flex items-center gap-0.5 text-[10px] text-muted-foreground hover:text-foreground",children:[v?(0,n.jsx)(g.A,{size:9}):(0,n.jsx)(ed.A,{size:9})," Preview"]}),v&&(0,n.jsxs)("pre",{className:"px-2 py-1 text-[10px] text-muted-foreground bg-muted/30 rounded-md max-h-24 overflow-auto whitespace-pre-wrap font-mono",children:[$,$.length>=300?"...":""]}),(0,n.jsx)("div",{className:"text-[10px] text-muted-foreground/60 font-mono truncate",children:E}),S&&(0,n.jsxs)("div",{className:"flex items-center gap-1 text-2xs text-error",children:[(0,n.jsx)(W.A,{size:10}),S]}),(0,n.jsxs)("div",{className:"flex justify-end gap-1.5 pt-1 border-t border-border/30",children:[(0,n.jsx)("button",{type:"button",onClick:a,className:"px-2 py-0.5 text-2xs rounded text-muted-foreground hover:bg-muted",children:o?.cancelSave??"Cancel"}),(0,n.jsxs)("button",{type:"button",onClick:R,disabled:j||k||!f.trim(),className:`flex items-center gap-1 px-2.5 py-0.5 text-2xs font-medium rounded transition-colors ${k?"bg-success/10 text-success":"bg-[var(--amber)] text-[var(--amber-foreground)]"} disabled:opacity-50`,children:[j&&(0,n.jsx)(O.A,{size:9,className:"animate-spin"}),k&&(0,n.jsx)(x.A,{size:9}),o?.confirmSave??"Save"]})]})]})}function eD({messages:e,onClose:t,ask:r}){let n=(0,s.useCallback)(()=>{let n=eS(e,"full");window.dispatchEvent(new CustomEvent("mindos:session-organize",{detail:{content:n,name:"conversation.md"}})),t(),ek.oR.success(r?.organizing??"AI is organizing...")},[e,t,r]);return(0,s.useEffect)(()=>{n()},[n]),null}var eP=r(52212);function eF({label:e,delay:t=140,children:r}){let[a,o]=(0,s.useState)(!1),i=(0,s.useRef)(null),l=(0,s.useCallback)(()=>{i.current&&(clearTimeout(i.current),i.current=null)},[]),u=(0,s.useCallback)(()=>{l(),i.current=setTimeout(()=>o(!0),t)},[l,t]),c=(0,s.useCallback)(()=>{l(),o(!1)},[l]);return(0,s.useEffect)(()=>l,[l]),(0,n.jsxs)("span",{className:"relative inline-flex items-center justify-center",onPointerEnter:u,onPointerLeave:c,children:[r,a&&(0,n.jsx)("span",{role:"tooltip",className:"pointer-events-none absolute -top-8 left-1/2 -translate-x-1/2 whitespace-nowrap rounded-md bg-foreground/90 px-2 py-0.5 text-[11px] font-medium text-background shadow-sm animate-in fade-in-0 slide-in-from-bottom-1 duration-100 z-20",children:e})]})}function eI({content:e,isLastUserMessage:t,isLoading:r,onEdit:a,onResend:o,labels:i}){let[l,u]=(0,s.useState)(!1),c=(0,s.useRef)(!1),d=(0,s.useCallback)(()=>{(0,G.l)(e).then(e=>{e&&(u(!0),setTimeout(()=>u(!1),2e3))})},[e]),m=(0,s.useCallback)(()=>{c.current||r||(c.current=!0,setTimeout(()=>{c.current=!1},300),o?.())},[o,r]),f="inline-flex h-7 w-7 items-center justify-center rounded-md bg-card border border-border/60 shadow-sm text-muted-foreground transition-colors duration-75 touch-manipulation focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring";return(0,n.jsxs)("div",{className:"absolute -bottom-3 left-1 z-10 flex items-center gap-1 opacity-100 transition-opacity duration-75 md:opacity-0 md:group-hover:opacity-100 md:focus-within:opacity-100",children:[(0,n.jsx)(eF,{label:i.copy,children:(0,n.jsx)("button",{type:"button",onClick:d,className:`${f} hover:bg-muted hover:text-foreground`,children:l?(0,n.jsx)(x.A,{size:11,className:"text-success"}):(0,n.jsx)(D.A,{size:11})})}),t&&!r&&a&&(0,n.jsx)(eF,{label:i.edit,children:(0,n.jsx)("button",{type:"button",onClick:a,className:`${f} hover:bg-muted hover:text-foreground`,children:(0,n.jsx)(K.A,{size:11})})}),t&&!r&&o&&(0,n.jsx)(eF,{label:i.regenerate,children:(0,n.jsx)("button",{type:"button",onClick:m,className:`${f} hover:bg-[var(--amber)]/10 hover:text-[var(--amber)]`,children:(0,n.jsx)(eP.A,{size:11})})})]})}let eO=/^Use the skill ([^:]+):\s*/,eH=[V.A],eW={contentVisibility:"auto",containIntrinsicSize:"0 96px"};function eU({text:e,label:t}){let[r,a]=(0,s.useState)(!1),o=(0,s.useCallback)(()=>{(0,G.l)(e).then(e=>{e&&(a(!0),setTimeout(()=>a(!1),2e3))})},[e]);return(0,n.jsx)("button",{type:"button",onClick:o,className:"inline-flex h-7 w-7 items-center justify-center rounded-md bg-card border border-border/60 shadow-sm text-muted-foreground transition-colors duration-75 hover:bg-muted hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring touch-manipulation",title:t??"Copy",children:r?(0,n.jsx)(x.A,{size:11,className:"text-success"}):(0,n.jsx)(D.A,{size:11})})}let eB=(0,s.memo)(function({content:e,skillName:t,images:r,attachedFiles:a,uploadedFileNames:o}){let{resolved:l,rest:u}=(0,s.useMemo)(()=>{let r=e.match(eO);return{resolved:t??r?.[1],rest:r?e.slice(r[0].length):e}},[e,t]),c=(0,s.useMemo)(()=>{if(!a||0===a.length||!o||0===o.length)return a;let e=new Set(o);return a.filter(t=>!e.has(t.split("/").pop()??t))},[a,o]),d=c&&c.length>0||o&&o.length>0;return(0,n.jsxs)(n.Fragment,{children:[r&&r.length>0&&(0,n.jsx)("div",{className:`flex flex-wrap gap-1.5${e?" mb-2":""}`,children:r.map((e,t)=>e.data?(0,n.jsx)("img",{src:`data:${e.mimeType};base64,${e.data}`,alt:`Image ${t+1}`,className:"max-h-48 max-w-full rounded-md object-contain"},t):(0,n.jsx)("div",{className:"h-12 px-3 rounded-md bg-muted flex items-center gap-1.5 text-xs text-muted-foreground",children:(0,n.jsxs)("span",{children:["[Image ",t+1,"]"]})},t))}),l&&(0,n.jsxs)("span",{className:"inline-flex items-center gap-1 px-1.5 py-0.5 rounded-full text-[11px] font-medium bg-white/20 text-white/90 mr-1 align-middle",children:[(0,n.jsx)(P.A,{size:10,className:"shrink-0"}),l]}),l?u:e,d&&(0,n.jsxs)("div",{className:"mt-2 pt-1.5 border-t border-white/15 flex flex-wrap gap-1 whitespace-normal",role:"list","aria-label":"Attached files",children:[c?.map(e=>(0,n.jsxs)("span",{role:"listitem",className:"inline-flex items-center gap-1 px-1.5 py-0.5 rounded text-[10px] bg-white/10 text-white/80 min-w-0",title:e,children:[(0,n.jsx)(i.A,{size:9,className:"shrink-0 opacity-70"}),(0,n.jsx)("span",{className:"truncate max-w-[120px]",children:e.split("/").pop()})]},e)),o?.map(e=>(0,n.jsxs)("span",{role:"listitem",className:"inline-flex items-center gap-1 px-1.5 py-0.5 rounded text-[10px] bg-white/10 text-white/80 min-w-0",title:e,children:[(0,n.jsx)(F.A,{size:9,className:"shrink-0 opacity-70"}),(0,n.jsx)("span",{className:"truncate max-w-[120px]",children:e})]},e))]})]})}),eY=(0,s.memo)(function({agentName:e}){return e?(0,n.jsxs)("div",{className:"mb-2 inline-flex items-center gap-1 rounded-full border border-[var(--amber)]/15 bg-[var(--amber)]/8 px-2 py-0.5 text-[10px] font-medium tracking-wide text-[var(--amber)]",children:[(0,n.jsx)(I.A,{size:10,className:"shrink-0"}),(0,n.jsx)("span",{children:e})]}):null}),eK=(0,s.memo)(function({content:e,isStreaming:t}){let r=(0,X.Oo)(e);return r||t?(0,n.jsxs)("div",{className:"prose prose-sm prose-panel dark:prose-invert max-w-none text-foreground prose-p:my-2 prose-p:leading-relaxed prose-headings:font-semibold prose-headings:my-3 prose-h1:text-base prose-h2:text-[15px] prose-h3:text-sm prose-ul:my-1.5 prose-li:my-0.5 prose-ol:my-1.5 prose-code:text-[0.8em] prose-code:bg-muted/80 prose-code:px-1.5 prose-code:py-0.5 prose-code:rounded-md prose-code:before:content-none prose-code:after:content-none prose-code:font-mono prose-pre:bg-muted/60 prose-pre:text-foreground prose-pre:text-xs prose-pre:rounded-lg prose-blockquote:border-l-[var(--amber)] prose-blockquote:text-muted-foreground prose-blockquote:not-italic prose-a:text-[var(--amber)] prose-a:no-underline hover:prose-a:underline prose-strong:text-foreground prose-strong:font-semibold prose-table:text-xs prose-th:py-1.5 prose-td:py-1 ",children:[(0,n.jsx)(Q.oz,{remarkPlugins:eH,children:r}),t&&(0,n.jsx)("span",{className:"inline-block w-1.5 h-3.5 bg-[var(--amber)] ml-0.5 align-middle animate-pulse rounded-full"})]}):null}),eJ=(0,s.memo)(function({message:e,isStreaming:t}){let r=e.parts;if(!r||0===r.length)return e.content?(0,n.jsx)(eK,{content:e.content,isStreaming:t}):null;let s=r[r.length-1],a=t&&"tool-call"===s.type&&("running"===s.state||"pending"===s.state);return(0,n.jsxs)("div",{children:[r.map((e,s)=>{if("reasoning"===e.type){let a=t&&s===r.length-1;return(0,n.jsx)(ej,{text:e.text,isStreaming:a},`reasoning-${s}`)}if("text"===e.type){let a=t&&s===r.length-1;return e.text?(0,n.jsx)(eK,{content:e.text,isStreaming:a},s):null}return"tool-call"===e.type?(0,n.jsx)(ev,{part:e},e.toolCallId):null}),a&&(0,n.jsxs)("div",{className:"flex items-center gap-2 py-1.5 mt-1.5",children:[(0,n.jsx)(O.A,{size:12,className:"animate-spin text-[var(--amber)]"}),(0,n.jsx)("span",{className:"text-xs text-muted-foreground animate-pulse",children:"Executing tool…"})]})]})}),eq=(0,s.memo)(function({parts:e}){if(!e)return null;let t=e.filter(e=>"tool-call"===e.type);if(0===t.length)return null;let r=t[t.length-1],s="tool-call"===r.type?r.toolName:"";return(0,n.jsxs)("div",{className:"flex items-center gap-1.5 mt-2 pt-1.5 border-t border-border/15 text-xs text-muted-foreground/60",children:[(0,n.jsx)(H.A,{size:10}),(0,n.jsxs)("span",{className:"font-medium",children:["Step ",t.length,s?` — ${s}`:""]})]})}),eQ=(0,s.memo)(function({message:e,index:t,messageCount:r,isLoading:a,loadingPhase:o,lastUserMessageIndex:i,onEditMessage:l,onResendMessage:u,labels:c}){let d=a&&t===r-1,m=(0,s.useMemo)(()=>"assistant"===e.role?(0,X.Oo)(e.content):"",[e.content,e.role]);return(0,n.jsxs)("div",{style:eW,className:`flex gap-3 animate-[fadeSlideUp_0.22s_ease_both] ${"user"===e.role?"justify-end":"justify-start"}`,children:["assistant"===e.role&&(0,n.jsx)("div",{className:"w-7 h-7 rounded-lg flex items-center justify-center shrink-0 mt-0.5 bg-[var(--amber)]/8",children:(0,n.jsx)(p.A,{size:13,className:"text-[var(--amber)]"})}),"user"===e.role?(0,n.jsxs)("div",{className:"group relative max-w-[85%] px-3.5 py-2.5 rounded-2xl rounded-br-lg text-sm leading-relaxed whitespace-pre-wrap bg-[var(--amber)] text-[var(--amber-foreground)] shadow-sm shadow-[var(--amber)]/10",children:[(0,n.jsx)(eB,{content:e.content,skillName:e.skillName,images:e.images,attachedFiles:e.attachedFiles,uploadedFileNames:e.uploadedFileNames}),(0,n.jsx)(eI,{content:e.content,isLastUserMessage:t===i,isLoading:a,onEdit:l?()=>l(t):void 0,onResend:u?()=>u(t):void 0,labels:{copy:c.copyMessage??"Copy",edit:c.editMessage??"Edit",regenerate:c.regenerateMessage??"Regenerate"}})]}):e.content.startsWith("__error__")?(0,n.jsxs)("div",{className:"max-w-[85%] px-3.5 py-3 rounded-2xl rounded-bl-md border border-error/30 bg-error/10 text-sm shadow-sm",children:[(0,n.jsx)(eY,{agentName:e.agentName}),(0,n.jsxs)("div",{className:"flex items-start gap-2.5 text-error",children:[(0,n.jsx)(W.A,{size:15,className:"shrink-0 mt-0.5"}),(0,n.jsx)("span",{className:"leading-relaxed font-medium",children:e.content.slice(9)})]})]}):(0,n.jsxs)("div",{className:"group relative max-w-[85%] px-3.5 py-2.5 rounded-2xl rounded-bl-lg bg-card border border-border/30 shadow-sm text-foreground text-sm",children:[(0,n.jsx)(eY,{agentName:e.agentName}),e.parts&&e.parts.length>0||m?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(eJ,{message:e,isStreaming:d}),d&&(0,n.jsx)(eq,{parts:e.parts}),!d&&m&&(0,n.jsxs)("div",{className:"absolute -bottom-3 right-1 z-10 flex items-center gap-1 opacity-100 transition-opacity duration-75 md:opacity-0 md:group-hover:opacity-100 md:focus-within:opacity-100",children:[(0,n.jsx)(eA,{text:e.content}),(0,n.jsx)(eU,{text:m,label:c.copyMessage})]})]}):d?(0,n.jsxs)("div",{className:"flex items-center gap-2.5 py-1",children:["reconnecting"===o?(0,n.jsx)(U.A,{size:14,className:"text-[var(--amber)] animate-pulse"}):(0,n.jsx)(O.A,{size:14,className:"animate-spin text-[var(--amber)]"}),(0,n.jsx)("span",{className:"text-xs text-muted-foreground",children:(0,n.jsxs)("span",{className:"inline-flex items-center gap-1",children:["reconnecting"===o?c.reconnecting??"Reconnecting...":"connecting"===o?c.connecting:"thinking"===o?c.thinking:c.generating,(0,n.jsxs)("span",{className:"inline-flex gap-0.5",children:[(0,n.jsx)("span",{className:"w-1 h-1 rounded-full bg-[var(--amber)] animate-bounce [animation-delay:0ms]"}),(0,n.jsx)("span",{className:"w-1 h-1 rounded-full bg-[var(--amber)] animate-bounce [animation-delay:150ms]"}),(0,n.jsx)("span",{className:"w-1 h-1 rounded-full bg-[var(--amber)] animate-bounce [animation-delay:300ms]"})]})]})})]}):null]})]})}),eV=(0,s.memo)(function({messages:e,isLoading:t,loadingPhase:r,emptyPrompt:a,emptyHint:o,suggestions:i,onSuggestionClick:l,onEditMessage:u,onResendMessage:c,labels:d}){let m=(0,s.useRef)(null),f=(0,s.useRef)(null),[x,g]=(0,s.useState)(!1),h=(0,s.useRef)(!1),b=(0,s.useRef)(e.length),v=(0,s.useMemo)(()=>{for(let t=e.length-1;t>=0;t--)if("user"===e[t].role)return t;return -1},[e]),y=(0,s.useCallback)((e="smooth")=>{let t=f.current;t&&t.scrollTo({top:t.scrollHeight,behavior:e})},[]);return(0,s.useEffect)(()=>{let t=e.length,r=t>b.current;if(b.current=t,r){h.current=!1,y("instant");return}h.current||y("instant")},[e,y]),(0,s.useEffect)(()=>{let e=f.current;if(!e)return;let t=!1,r=()=>{t||(t=!0,requestAnimationFrame(()=>{let{scrollTop:r,scrollHeight:n,clientHeight:s}=e,a=n-r-s;g(a>100),a<80&&(h.current=!1),t=!1}))},n=e=>{e.deltaY<0&&(h.current=!0)},s=0,a=e=>{s=e.touches[0]?.clientY??0},o=e=>{(e.touches[0]?.clientY??0)>s&&(h.current=!0)},i=e=>{["ArrowUp","PageUp","Home"].includes(e.key)&&(h.current=!0)};return e.addEventListener("scroll",r,{passive:!0}),e.addEventListener("wheel",n,{passive:!0}),e.addEventListener("touchstart",a,{passive:!0}),e.addEventListener("touchmove",o,{passive:!0}),e.addEventListener("keydown",i),()=>{e&&(e.removeEventListener("scroll",r),e.removeEventListener("wheel",n),e.removeEventListener("touchstart",a),e.removeEventListener("touchmove",o),e.removeEventListener("keydown",i))}},[]),(0,n.jsxs)("div",{ref:f,role:"log","aria-live":"polite",className:"relative flex-1 overflow-y-auto overflow-x-hidden px-4 py-5 space-y-5 min-h-0",children:[0===e.length&&(0,n.jsxs)("div",{className:"flex flex-col items-center justify-center flex-1 min-h-[260px] px-6 pt-10 pb-4",children:[(0,n.jsxs)("div",{className:"relative w-12 h-12 rounded-2xl bg-[var(--amber)]/10 flex items-center justify-center mb-6",children:[(0,n.jsx)("div",{className:"absolute inset-0 rounded-2xl bg-[var(--amber)]/5 scale-[1.4]"}),(0,n.jsx)(p.A,{size:22,className:"text-[var(--amber)] relative z-10"})]}),(0,n.jsx)("p",{className:"text-center text-[15px] font-semibold text-foreground tracking-tight mb-2",children:a}),o&&(0,n.jsx)("p",{className:"text-center text-xs text-muted-foreground/80 mb-10 tracking-wide",children:o}),(0,n.jsx)("div",{className:"flex flex-col gap-2.5 max-w-[280px] w-full",children:i.map((e,t)=>{let r=[B.A,Y.A,K.A,J.A],s=r[t%r.length];return(0,n.jsxs)("button",{type:"button",onClick:()=>l(e.prompt),className:"group/sug flex items-center gap-3 text-left text-[13px] px-3.5 py-3 rounded-xl border border-border/40 bg-transparent text-muted-foreground hover:text-foreground hover:border-[var(--amber)]/30 hover:bg-[var(--amber)]/5 transition-all leading-snug","aria-label":e.prompt,children:[(0,n.jsx)("span",{className:"shrink-0 w-8 h-8 rounded-lg bg-muted/60 flex items-center justify-center group-hover/sug:bg-[var(--amber)]/10 transition-colors",children:(0,n.jsx)(s,{size:15,className:"text-muted-foreground/70 group-hover/sug:text-[var(--amber)] transition-colors"})}),(0,n.jsx)("span",{className:"flex-1",children:e.label})]},t)})})]}),e.map((s,a)=>(0,n.jsx)(eQ,{message:s,index:a,messageCount:e.length,isLoading:t,loadingPhase:r,lastUserMessageIndex:v,onEditMessage:u,onResendMessage:c,labels:d},`${s.timestamp??a}:${s.role}:${a}`)),(0,n.jsx)("div",{ref:m}),x&&e.length>0&&(0,n.jsx)("button",{type:"button",onClick:()=>{h.current=!1,y()},className:"sticky bottom-2 left-1/2 z-10 inline-flex h-9 w-9 -translate-x-1/2 items-center justify-center rounded-full border border-border/60 bg-card shadow-md text-muted-foreground transition-all duration-75 hover:text-foreground hover:bg-muted hover:shadow-lg focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring touch-manipulation",title:"Scroll to bottom",children:(0,n.jsx)(q.A,{size:14})})]})});function eX({text:e,query:t}){if(!t)return(0,n.jsx)(n.Fragment,{children:e});let r=e.toLowerCase().indexOf(t.toLowerCase());return -1===r?(0,n.jsx)(n.Fragment,{children:e}):(0,n.jsxs)(n.Fragment,{children:[e.slice(0,r),(0,n.jsx)("span",{className:"text-[var(--amber)] font-semibold",children:e.slice(r,r+t.length)}),e.slice(r+t.length)]})}function eG({results:e,selectedIndex:t,query:r,onSelect:a}){let o=(0,s.useRef)(null),l=(0,s.useRef)(null),[u,c]=(0,s.useState)(280);return((0,s.useEffect)(()=>{let e=l.current;e&&c(Math.max(120,Math.min(320,Math.min(e.getBoundingClientRect().top-8,.5*window.innerHeight)-80)))},[e.length]),(0,s.useEffect)(()=>{let e=o.current;if(!e)return;let r=e.children[t];r?.scrollIntoView({block:"nearest"})},[t]),0===e.length)?null:(0,n.jsxs)("div",{ref:l,className:"border border-border rounded-lg bg-card shadow-lg overflow-hidden",children:[(0,n.jsxs)("div",{className:"px-3 py-1.5 border-b border-border flex items-center gap-1.5",children:[(0,n.jsx)(ee.A,{size:11,className:"text-muted-foreground/50"}),(0,n.jsx)("span",{className:"text-2xs font-medium text-muted-foreground/70 uppercase tracking-wider",children:"Files"}),(0,n.jsx)("span",{className:"text-2xs text-muted-foreground/40 ml-auto",children:e.length})]}),(0,n.jsx)("div",{ref:o,className:"overflow-y-auto",style:{maxHeight:u},children:e.map((e,s)=>{let o=e.split("/").pop()??e,l=e.split("/").slice(0,-1).join("/"),u=o.endsWith(".csv");return(0,n.jsxs)("button",{type:"button",onMouseDown:t=>{t.preventDefault(),a(e)},className:`w-full flex items-center gap-2 px-3 py-2 text-sm text-left transition-colors ${s===t?"bg-accent text-foreground":"text-muted-foreground hover:bg-muted"}`,children:[u?(0,n.jsx)(ec.A,{size:13,className:"text-success shrink-0"}):(0,n.jsx)(i.A,{size:13,className:"text-muted-foreground shrink-0"}),(0,n.jsx)("span",{className:"truncate font-medium flex-1",title:o,children:(0,n.jsx)(eX,{text:o,query:r})}),l&&(0,n.jsx)("span",{className:"text-2xs text-muted-foreground/40 truncate max-w-[140px] shrink-0",title:l,children:(0,n.jsx)(eX,{text:l,query:r})})]},e)})}),(0,n.jsxs)("div",{className:"px-3 py-1.5 border-t border-border flex gap-3 text-2xs text-muted-foreground/40 shrink-0",children:[(0,n.jsx)("span",{children:"↑↓ navigate"}),(0,n.jsx)("span",{children:"↵ select"}),(0,n.jsx)("span",{children:"ESC dismiss"})]})]})}function eZ({results:e,selectedIndex:t,query:r,onSelect:a}){let o=(0,s.useRef)(null),i=(0,s.useRef)(null),[l,u]=(0,s.useState)(280);return((0,s.useEffect)(()=>{let e=i.current;e&&u(Math.max(120,Math.min(320,Math.min(e.getBoundingClientRect().top-8,.5*window.innerHeight)-80)))},[e.length]),(0,s.useEffect)(()=>{let e=o.current;if(!e)return;let r=e.children[t];r?.scrollIntoView({block:"nearest"})},[t]),0===e.length)?null:(0,n.jsxs)("div",{ref:i,className:"border border-border rounded-lg bg-card shadow-lg overflow-hidden",children:[(0,n.jsxs)("div",{className:"px-3 py-1.5 border-b border-border flex items-center gap-1.5",children:[(0,n.jsx)(P.A,{size:11,className:"text-[var(--amber)]/50"}),(0,n.jsx)("span",{className:"text-2xs font-medium text-muted-foreground/70 uppercase tracking-wider",children:"Skills"}),(0,n.jsx)("span",{className:"text-2xs text-muted-foreground/40 ml-auto",children:e.length})]}),(0,n.jsx)("div",{ref:o,className:"overflow-y-auto",style:{maxHeight:l},children:e.map((e,s)=>(0,n.jsxs)("button",{type:"button",onMouseDown:t=>{t.preventDefault(),a(e)},className:`w-full flex items-center gap-2.5 px-3 py-2 text-left transition-colors ${s===t?"bg-accent text-foreground":"text-muted-foreground hover:bg-muted"}`,children:[(0,n.jsx)(P.A,{size:13,className:"text-[var(--amber)] shrink-0"}),(0,n.jsxs)("span",{className:"text-sm font-medium shrink-0",children:["/",(0,n.jsx)(eX,{text:e.name,query:r})]}),e.description&&(0,n.jsx)("span",{className:"text-2xs text-muted-foreground/50 truncate min-w-0 flex-1",title:e.description,children:e.description})]},e.name))}),(0,n.jsxs)("div",{className:"px-3 py-1.5 border-t border-border flex gap-3 text-2xs text-muted-foreground/40 shrink-0",children:[(0,n.jsx)("span",{children:"↑↓ navigate"}),(0,n.jsx)("span",{children:"↵ / Tab select"}),(0,n.jsx)("span",{children:"ESC dismiss"})]})]})}var e0=r(90156),e1=r(93816);function e2({sessions:e,activeSessionId:t,onLoad:r,onDelete:a,onRename:o,onTogglePin:i,onClearAll:l,onClose:c,onNewChat:d}){let{t:p}=(0,m.Y)(),[x,g]=(0,s.useTransition)(),h=p.ask,[b,v]=(0,s.useState)(""),[y,j]=(0,s.useState)(null),[w,N]=(0,s.useState)(""),[S,C]=(0,s.useState)(!1),A=(0,s.useRef)(void 0),E=(0,s.useRef)(null),z=(0,s.useRef)(null);(0,s.useEffect)(()=>{E.current?.focus()},[]),(0,s.useEffect)(()=>{y&&setTimeout(()=>z.current?.focus(),0)},[y]),(0,s.useEffect)(()=>()=>{A.current&&clearTimeout(A.current)},[]);let R=(0,s.useMemo)(()=>{if(!b.trim())return e;let t=b.toLowerCase();return e.filter(e=>!!k(e).toLowerCase().includes(t)||e.messages.some(e=>e.content.toLowerCase().includes(t)))},[e,b]),$=(0,s.useMemo)(()=>{let e=[],t=[],r=[],n=[],s=[];for(let a of R){if(a.pinned){e.push(a);continue}let o=function(e){let t=new Date,r=new Date(t.getFullYear(),t.getMonth(),t.getDate()).getTime(),n=r-864e5*t.getDay();return e>=r?"today":e>=r-864e5?"yesterday":e>=n?"week":"older"}(a.updatedAt);"today"===o?t.push(a):"yesterday"===o?r.push(a):"week"===o?n.push(a):s.push(a)}return{pinned:e,today:t,yesterday:r,week:n,older:s}},[R]),T=e.filter(e=>e.pinned).length,L=e.filter(e=>e.messages.length>0).length,M=(0,s.useCallback)(e=>{g(()=>{r(e),c()})},[r,c]),_=(0,s.useCallback)(()=>{g(()=>{d(),c()})},[d,c]),D=(0,s.useCallback)(e=>{j(e.id),N(k(e))},[]),P=(0,s.useCallback)(()=>{g(()=>{y&&w.trim()&&o(y,w.trim()),j(null)})},[y,w,o]),F=(0,s.useCallback)(()=>{if(!S){C(!0),A.current&&clearTimeout(A.current),A.current=setTimeout(()=>C(!1),3e3);return}g(()=>{A.current&&clearTimeout(A.current),l(),C(!1)})},[S,l]);(0,s.useEffect)(()=>{let e=e=>{"Escape"!==e.key||y||c()};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[c,y]);let I=(e,r)=>0===r.length?null:(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{className:"text-2xs font-medium text-muted-foreground/50 uppercase tracking-wider px-1 py-2",children:e}),(0,n.jsx)("div",{className:"flex flex-col gap-1",children:r.map(e=>(0,n.jsx)(e5,{session:e,isActive:e.id===t,editing:y===e.id,editValue:w,onEditValueChange:N,inputRef:z,onLoad:()=>M(e.id),onStartRename:()=>D(e),onCommitRename:P,onCancelRename:()=>j(null),onDelete:()=>a(e.id),onTogglePin:()=>i(e.id),ask:h},e.id))})]},e),O=R.length>0;return(0,n.jsxs)("div",{className:"flex flex-col flex-1 min-h-0 animate-in fade-in-0 duration-150",children:[(0,n.jsx)("div",{className:"px-4 pt-3 pb-2 shrink-0",children:(0,n.jsxs)("div",{className:"relative",children:[(0,n.jsx)(Y.A,{size:13,className:"absolute left-2.5 top-1/2 -translate-y-1/2 text-muted-foreground/50"}),(0,n.jsx)("input",{ref:E,type:"text",value:b,onChange:e=>v(e.target.value),placeholder:h?.historySearch??"Search conversations...",className:"w-full pl-8 pr-8 py-2 text-xs rounded-lg border border-border bg-background text-foreground placeholder:text-muted-foreground/40 outline-none focus-visible:border-[var(--amber)]/40 transition-colors"}),b&&(0,n.jsx)("button",{type:"button",onClick:()=>v(""),className:"absolute right-2 top-1/2 -translate-y-1/2 p-0.5 rounded text-muted-foreground/40 hover:text-foreground",children:(0,n.jsx)(u.A,{size:12})})]})}),(0,n.jsxs)("div",{className:"flex items-center justify-between px-4 pb-2 shrink-0",children:[(0,n.jsxs)("span",{className:"text-2xs text-muted-foreground/60",children:[h?.historyStats?.(L)??`${L} conversations`,T>0&&(0,n.jsxs)(n.Fragment,{children:[" \xb7 ",T," ",h?.historyPinned??"pinned"]})]}),(0,n.jsxs)("button",{type:"button",onClick:_,className:"flex items-center gap-1 text-2xs text-[var(--amber)] hover:text-[var(--amber)]/80 transition-colors",children:[(0,n.jsx)(e0.A,{size:11}),(0,n.jsx)("span",{children:p.hints?.newChat??"New chat"})]})]}),(0,n.jsx)("div",{className:"flex-1 overflow-y-auto min-h-0 px-3 pb-3",children:O?(0,n.jsxs)("div",{className:"flex flex-col gap-1",children:[I(h?.historyPinned??"Pinned",$.pinned),I(h?.historyToday??"Today",$.today),I(h?.historyYesterday??"Yesterday",$.yesterday),I(h?.historyThisWeek??"This week",$.week),I(h?.historyOlder??"Older",$.older)]}):(0,n.jsxs)("div",{className:"flex flex-col items-center justify-center py-12 text-center",children:[(0,n.jsx)(f.A,{size:32,className:"text-muted-foreground/20 mb-3"}),(0,n.jsx)("p",{className:"text-sm text-muted-foreground/60",children:b?"No matching conversations":h?.historyEmpty??"No conversations yet"}),!b&&(0,n.jsx)("p",{className:"text-2xs text-muted-foreground/40 mt-1",children:h?.historyEmptyHint??"Start a new chat to begin"})]})}),L>0&&(0,n.jsxs)("div",{className:"flex items-center justify-between px-4 py-2.5 border-t border-border/40 shrink-0",children:[(0,n.jsx)("button",{type:"button",onClick:F,className:`text-2xs px-2 py-0.5 rounded-md transition-colors ${S?"bg-error/10 text-error font-medium":"text-muted-foreground/50 hover:text-error hover:bg-muted"}`,children:(0,n.jsxs)("span",{className:"flex items-center gap-1",children:[(0,n.jsx)(ea.A,{size:10}),S?h?.confirmClear??"Confirm clear?":h?.clearAll??"Clear all"]})}),(0,n.jsx)("span",{className:"text-2xs text-muted-foreground/40 tabular-nums",children:h?.historyCapacity?.(L)??`${L} of 30`})]})]})}function e5({session:e,isActive:t,editing:r,editValue:s,onEditValueChange:a,inputRef:o,onLoad:i,onStartRename:l,onCommitRename:u,onCancelRename:c,onDelete:d,onTogglePin:m,ask:p}){let x=k(e),g=function(e){let t=e.messages.find(e=>"user"===e.role);if(!t)return"";let r=t.content.replace(/\s+/g," ").trim();return r.length>60?`${r.slice(0,60)}...`:r}(e),h=e.messages.length;return(0,n.jsxs)("div",{className:`group relative rounded-lg transition-colors cursor-pointer ${t?"bg-[var(--amber)]/8 border border-[var(--amber)]/15":"hover:bg-muted/60 border border-transparent"}`,onClick:i,children:[t&&(0,n.jsx)("span",{className:"absolute left-0 top-3 bottom-3 w-[2px] rounded-r-full bg-[var(--amber)]"}),(0,n.jsxs)("div",{className:"px-3 py-2.5",children:[(0,n.jsxs)("div",{className:"flex items-center gap-1.5 mb-0.5",children:[e.pinned&&(0,n.jsx)(es.A,{size:10,className:"shrink-0 text-[var(--amber)]/60 -rotate-45"}),r?(0,n.jsx)("input",{ref:o,type:"text",value:s,onChange:e=>a(e.target.value),onBlur:u,onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),u()),"Escape"===e.key&&(e.preventDefault(),c())},onClick:e=>e.stopPropagation(),className:"flex-1 min-w-0 bg-transparent border-b border-[var(--amber)] outline-none text-xs font-medium text-foreground"}):(0,n.jsx)("span",{className:"flex-1 min-w-0 text-xs font-medium text-foreground truncate",children:x}),(0,n.jsx)("span",{className:"text-2xs text-muted-foreground/40 shrink-0 tabular-nums",children:function(e){let t=Math.floor((Date.now()-e.getTime())/6e4);if(t<1)return"just now";if(t<60)return`${t}m ago`;let r=Math.floor(t/60);if(r<24)return`${r}h ago`;let n=Math.floor(r/24);return n<7?`${n}d ago`:e.toLocaleDateString(void 0,{month:"short",day:"numeric"})}(new Date(e.updatedAt))})]}),!r&&g&&(0,n.jsx)("p",{className:"text-2xs text-muted-foreground/50 truncate mt-0.5 pl-0.5",children:g}),!r&&(0,n.jsxs)("div",{className:"flex items-center justify-between mt-1.5",children:[(0,n.jsxs)("span",{className:"text-2xs text-muted-foreground/40 flex items-center gap-1",children:[(0,n.jsx)(f.A,{size:9}),p?.historyMsgs?.(h)??`${h} msgs`]}),(0,n.jsxs)("div",{className:"flex items-center gap-0.5 opacity-0 transition-opacity duration-75 group-hover:opacity-100 focus-within:opacity-100",onClick:e=>e.stopPropagation(),children:[(0,n.jsx)("button",{type:"button",onClick:m,className:`inline-flex h-7 w-7 items-center justify-center rounded-md transition-colors duration-75 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring touch-manipulation ${e.pinned?"text-[var(--amber)] hover:bg-muted/60 hover:text-muted-foreground":"text-muted-foreground/40 hover:bg-[var(--amber)]/10 hover:text-[var(--amber)]"}`,title:e.pinned?"Unpin":"Pin",children:e.pinned?(0,n.jsx)(e1.A,{size:11}):(0,n.jsx)(es.A,{size:11})}),(0,n.jsx)("button",{type:"button",onClick:l,className:"inline-flex h-7 w-7 items-center justify-center rounded-md text-muted-foreground/40 transition-colors duration-75 hover:text-foreground hover:bg-muted/60 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring touch-manipulation",title:p?.renameSession??"Rename",children:(0,n.jsx)(er.A,{size:11})}),(0,n.jsx)("button",{type:"button",onClick:d,className:"inline-flex h-7 w-7 items-center justify-center rounded-md text-muted-foreground/40 transition-colors duration-75 hover:text-error hover:bg-error/5 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring touch-manipulation",title:"Delete",children:(0,n.jsx)(ea.A,{size:11})})]})]})]})]})}var e3=r(71114),e4=r(64728),e8=r(28034),e6=r(59031);let e7=(0,s.memo)(function({isPanel:e,showHistory:t,onToggleHistory:r,onReset:o,isLoading:i,maximized:l,onMaximize:c,askMode:d,onModeSwitch:f,onClose:h,onDockToPanel:b,hideTitle:v,sessions:y,activeSessionId:j,onLoadSession:w,onDeleteSession:N,onRenameSession:S,onTogglePinSession:C,messages:A}){let{t:E}=(0,m.Y)(),[z,R]=(0,s.useTransition)(),$=y&&y.length>=2,T="relative z-10 inline-flex h-9 w-9 items-center justify-center rounded-lg pointer-events-auto touch-manipulation transition-colors duration-75 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",L=y?.find(e=>e.id===j),M=L?k(L):null,[_,D]=(0,s.useState)(!1),P=(0,s.useRef)(null),F=(0,s.useRef)(null),[I,O]=(0,s.useState)(null),[H,W]=(0,s.useState)(""),U=(0,s.useRef)(null);(0,s.useEffect)(()=>{if(!_)return;let e=e=>{let t=e.target;P.current&&!P.current.contains(t)&&F.current&&!F.current.contains(t)&&(D(!1),O(null))};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[_]),(0,s.useEffect)(()=>{if(!_)return;let e=e=>{"Escape"===e.key&&(I?O(null):D(!1))};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[_,I]),(0,s.useEffect)(()=>{I&&setTimeout(()=>U.current?.focus(),0)},[I]);let B=(0,s.useCallback)(e=>{R(()=>{w?.(e),D(!1)})},[w]),Y=(0,s.useCallback)((e,t)=>{O(e),W("(empty session)"===t?"":t)},[]),K=(0,s.useCallback)(()=>{R(()=>{I&&S&&H.trim()&&S(I,H.trim()),O(null)})},[I,H,S]),[J,q]=(0,s.useState)(null);(0,s.useEffect)(()=>{if(!_||!P.current)return;let e=P.current.getBoundingClientRect();q({top:e.bottom+4,left:e.left,width:Math.max(e.width,280)})},[_]);let Q=_&&J&&y?(0,a.createPortal)((0,n.jsx)("div",{ref:F,className:"fixed z-[60] pointer-events-auto rounded-xl border border-border/50 bg-card shadow-lg py-1 animate-in fade-in-0 slide-in-from-top-1 duration-100 max-h-[60vh] overflow-y-auto",style:{top:J.top,left:J.left,minWidth:Math.max(J.width,280),maxWidth:340},role:"listbox",children:y.map(e=>{let t=e.id===j,r=k(e),s="(empty session)"===r?E.hints?.newChat??"New chat":r;return I===e.id?(0,n.jsx)("div",{className:"flex items-center gap-1 px-2 py-1.5",children:(0,n.jsx)("input",{ref:U,type:"text",value:H,onChange:e=>W(e.target.value),onKeyDown:e=>{"Enter"===e.key&&K(),"Escape"===e.key&&O(null)},onBlur:K,className:"flex-1 min-w-0 px-2 py-1 text-xs rounded-md border border-border bg-background text-foreground outline-none focus-visible:border-[var(--amber)]/50",placeholder:"Session name..."})},e.id):(0,n.jsxs)("div",{className:"group/item flex items-center",children:[(0,n.jsxs)("button",{type:"button",role:"option","aria-selected":t,onClick:()=>B(e.id),className:`flex-1 min-w-0 flex items-center gap-2 px-3 py-2.5 text-xs text-left transition-colors ${t?"text-foreground font-medium":"text-muted-foreground hover:text-foreground hover:bg-muted/50"}`,children:[e.pinned&&(0,n.jsx)(es.A,{size:10,className:"shrink-0 text-[var(--amber)]/60 -rotate-45"}),t&&!e.pinned&&(0,n.jsx)(x.A,{size:11,className:"shrink-0 text-[var(--amber)]"}),(0,n.jsx)("span",{className:"truncate",children:s})]}),(0,n.jsxs)("div",{className:"shrink-0 flex items-center gap-0.5 mr-1 opacity-0 group-hover/item:opacity-100 transition-opacity",children:[C&&(0,n.jsx)("button",{type:"button",onClick:t=>{t.stopPropagation(),C(e.id)},className:`inline-flex h-7 w-7 items-center justify-center rounded-md transition-colors duration-75 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring ${e.pinned?"text-[var(--amber)] hover:text-muted-foreground hover:bg-muted/60":"text-muted-foreground/40 hover:text-[var(--amber)] hover:bg-[var(--amber)]/5"}`,"aria-label":e.pinned?"Unpin":"Pin",children:e.pinned?(0,n.jsx)(e1.A,{size:10}):(0,n.jsx)(es.A,{size:10})}),S&&(0,n.jsx)("button",{type:"button",onClick:t=>{t.stopPropagation(),Y(e.id,r)},className:"inline-flex h-7 w-7 items-center justify-center rounded-md text-muted-foreground/40 transition-colors duration-75 hover:text-foreground hover:bg-muted/60 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring","aria-label":`Rename: ${s}`,children:(0,n.jsx)(er.A,{size:10})}),y.length>1&&N&&(0,n.jsx)("button",{type:"button",onClick:t=>{t.stopPropagation(),N(e.id)},className:"inline-flex h-7 w-7 items-center justify-center rounded-md text-muted-foreground/40 transition-colors duration-75 hover:text-error hover:bg-error/5 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring","aria-label":`Delete: ${s}`,children:(0,n.jsx)(ea.A,{size:10})})]})]},e.id)})}),document.body):null;return(0,n.jsxs)("div",{"data-ask-header":!0,className:`relative z-20 isolate flex items-center justify-between border-b border-border/20 bg-background/95 px-4 shrink-0 backdrop-blur supports-[backdrop-filter]:bg-background/80 ${e?"py-1.5":"py-2.5"}`,children:[!e&&(0,n.jsx)("div",{className:"absolute top-2 left-1/2 -translate-x-1/2 w-8 h-1 rounded-full bg-muted-foreground/20 md:hidden"}),!v&&(0,n.jsxs)("div",{className:"relative z-10 flex items-center gap-2 min-w-0",children:[(0,n.jsx)("div",{className:"w-6 h-6 rounded-lg bg-[var(--amber)]/10 flex items-center justify-center shrink-0",children:t?(0,n.jsx)(el.A,{size:13,className:"text-[var(--amber)]"}):(0,n.jsx)(p.A,{size:13,className:"text-[var(--amber)]"})}),t?(0,n.jsx)("span",{className:"text-sm font-medium text-[var(--amber)]",children:E.ask?.sessionHistory??"Session History"}):$&&M?(0,n.jsxs)("button",{ref:P,type:"button",onClick:()=>{R(()=>{y&&y.length>=2?D(e=>!e):r()})},className:"min-w-0 gap-1 text-sm font-medium text-[var(--amber)] hover:text-[var(--amber)]/80 hover:bg-muted/40 relative z-10 inline-flex min-h-9 items-center rounded-lg px-2 pointer-events-auto touch-manipulation transition-colors duration-75 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring","aria-expanded":_,"aria-haspopup":"listbox",children:[(0,n.jsx)("span",{className:"truncate max-w-[180px]",children:"(empty session)"===M?E.hints?.newChat??"New chat":M}),(0,n.jsx)(g.A,{size:12,className:`shrink-0 text-muted-foreground transition-transform duration-150 ${_?"rotate-180":""}`})]}):M?(0,n.jsx)("span",{className:"text-sm font-medium text-muted-foreground/60 truncate max-w-[180px]",children:"(empty session)"===M?E.hints?.newChat??"New chat":M}):(0,n.jsx)("span",{className:"text-sm font-medium text-muted-foreground/40",children:E.hints?.newChat??"New chat"})]}),v&&(0,n.jsx)("div",{}),(0,n.jsxs)("div",{"data-ask-header-actions":!0,className:"relative z-10 flex items-center gap-1 shrink-0 pointer-events-auto",children:[(0,n.jsx)("button",{type:"button",onClick:e=>{e.stopPropagation(),R(()=>r())},"aria-pressed":t,className:`${T} ${t?"bg-[var(--amber)]/10 text-[var(--amber)]":"text-muted-foreground hover:text-foreground hover:bg-muted"}`,title:E.hints.sessionHistory,children:(0,n.jsx)(el.A,{size:14})}),A&&A.length>0&&(0,n.jsx)(eR,{messages:A,disabled:i}),(0,n.jsx)("button",{type:"button",onClick:e=>{e.stopPropagation(),R(()=>o())},disabled:i,className:`${T} hover:bg-muted text-muted-foreground hover:text-foreground disabled:pointer-events-none disabled:opacity-40`,title:E.hints.newSession,children:(0,n.jsx)(e0.A,{size:14})}),c&&(0,n.jsx)("button",{type:"button",onClick:e=>{e.stopPropagation(),R(()=>c())},className:`${T} hover:bg-muted text-muted-foreground hover:text-foreground`,title:l?E.hints.restorePanel:E.hints.maximizePanel,children:l?(0,n.jsx)(e3.A,{size:14}):(0,n.jsx)(e4.A,{size:14})}),b&&(0,n.jsx)("button",{type:"button",onClick:e=>{e.stopPropagation(),R(()=>b())},className:`${T} hover:bg-muted text-muted-foreground hover:text-foreground`,title:E.hints.dockToSide??"Dock to side panel",children:(0,n.jsx)(e8.A,{size:14})}),f&&(0,n.jsx)("button",{type:"button",onClick:e=>{e.stopPropagation(),R(()=>f())},className:`${T} hover:bg-muted text-muted-foreground hover:text-foreground`,title:"popup"===d?E.hints.dockToSide:E.hints.openAsPopup,children:"popup"===d?(0,n.jsx)(e8.A,{size:14}):(0,n.jsx)(e6.A,{size:14})}),h&&(0,n.jsx)("button",{type:"button",onClick:e=>{e.stopPropagation(),R(()=>h())},className:`${T} hover:bg-muted text-muted-foreground hover:text-foreground`,title:E.hints.closePanel,"aria-label":"Close",children:(0,n.jsx)(u.A,{size:14})})]}),"u">typeof document&&Q]})});var e9=r(61017);let te={kb:{icon:i.A,cls:"text-muted-foreground"},upload:{icon:F.A,cls:"text-muted-foreground"},image:{icon:l.A,cls:"text-muted-foreground"},skill:{icon:P.A,cls:"text-[var(--amber)]"},agent:{icon:I.A,cls:"text-[var(--amber)]"}},tt={kb:"border-border/60 bg-muted/70 text-foreground shadow-sm",upload:"border-border/60 bg-muted/70 text-foreground shadow-sm",image:"border-border/60 bg-muted/70 text-foreground shadow-sm",skill:"border-[var(--amber)]/35 bg-[var(--amber)]/12 text-foreground shadow-sm",agent:"border-[var(--amber)]/35 bg-[var(--amber)]/12 text-foreground shadow-sm"};function tr({path:e,onRemove:t,variant:r="kb",imageData:o,imageMime:i,status:l,error:c,truncatedInfo:d}){let[m,f]=(0,s.useState)(!1),[p,x]=(0,s.useState)(!1),[g,h]=(0,s.useState)(!1),b=(0,s.useRef)(null),[v,y]=(0,s.useState)(null),[j,w]=(0,s.useState)(null);(0,s.useEffect)(()=>h(!0),[]);let k="kb"===r&&e.endsWith("/"),N=k?e.slice(0,-1):e,S=N.split("/").pop()??N,C="kb"===r&&!k&&S.endsWith(".csv"),{icon:A,cls:E}=k?{icon:e9.A,cls:"text-yellow-400"}:C?{icon:ec.A,cls:"text-success"}:te[r],z=!!d,R=null,$="";"loading"===l?(R=O.A,$="text-muted-foreground animate-spin"):"error"===l?(R=W.A,$="text-destructive"):z?(R=em.A,$="text-[var(--amber)]"):"success"===l&&(R=ef.A,$="text-emerald-500");let T="error"===l?"border-destructive/40 bg-destructive/8 text-foreground shadow-sm":z?"border-[var(--amber)]/40 bg-[var(--amber)]/8 text-foreground shadow-sm":tt[r],L=null;if("error"===l&&c)L=c;else if(z){let e=d.totalChars>0?Math.round(d.includedChars/d.totalChars*100):0;L=`Document truncated — only ${e}% included (${Math.round(d.includedChars/1e3)}K / ${Math.round(d.totalChars/1e3)}K chars, ${d.totalPages} pages total)`}(0,s.useEffect)(()=>{if(!m||!b.current)return void y(null);let e=b.current.getBoundingClientRect();y({top:e.top-8,left:e.left})},[m]),(0,s.useEffect)(()=>{if(!p||!b.current)return void w(null);let e=b.current.getBoundingClientRect();w({top:e.top-8,left:e.left})},[p]);let M=m&&v&&o&&i?(0,n.jsx)("div",{className:"fixed z-50 p-1 rounded-lg border border-border bg-card shadow-lg pointer-events-none",style:{left:v.left,bottom:window.innerHeight-v.top},children:(0,n.jsx)("img",{src:`data:${i};base64,${o}`,alt:S,className:"max-h-48 max-w-64 rounded object-contain"})}):null,_=p&&j&&L?(0,n.jsx)("div",{className:`fixed z-50 px-2.5 py-1.5 rounded-lg border bg-card text-xs shadow-lg pointer-events-none max-w-[280px] ${"error"===l?"border-destructive/20 text-destructive":"border-[var(--amber)]/20 text-[var(--amber-text)]"}`,style:{left:j.left,bottom:window.innerHeight-j.top},children:L}):null;return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("span",{ref:b,className:`inline-flex items-center gap-1 px-2 py-0.5 rounded-md text-xs border max-w-[220px] ${T}`,onMouseEnter:()=>{o&&f(!0),L&&x(!0)},onMouseLeave:()=>{f(!1),x(!1)},children:[(0,n.jsx)(A,{size:11,className:`${E} shrink-0`}),(0,n.jsx)("span",{className:"truncate",title:k?N:e,children:S}),R&&(0,n.jsx)(R,{size:10,className:`${$} shrink-0`}),(0,n.jsx)("button",{type:"button",onClick:t,"aria-label":`Remove ${S}`,className:"p-0.5 -mr-1 rounded hover:text-foreground transition-colors shrink-0 text-muted-foreground",children:(0,n.jsx)(u.A,{size:10})})]}),g&&M&&(0,a.createPortal)(M,document.body),g&&_&&(0,a.createPortal)(_,document.body)]})}function tn({selectedAgent:e,onSelect:t,installedAgents:r,loading:o=!1}){let{t:i}=(0,m.Y)(),l=i.panels?.agents??{acpDefaultAgent:"MindOS",acpSelectAgent:"Select Agent",acpChangeAgent:"Change agent"},[c,d]=(0,s.useState)(!1),[f,p]=(0,s.useState)(null),h=(0,s.useRef)(null),b=(0,s.useRef)(null);(0,s.useEffect)(()=>{if(!c||!h.current)return;let e=h.current.getBoundingClientRect(),t=e.top,r=t>window.innerHeight-e.bottom&&t>200?"up":"down";p({left:e.left,top:"up"===r?e.top-6:e.bottom+6,direction:r})},[c]),(0,s.useEffect)(()=>{if(!c)return;let e=e=>{let t=e.target;h.current&&!h.current.contains(t)&&b.current&&!b.current.contains(t)&&d(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[c]),(0,s.useEffect)(()=>{if(!c)return;let e=e=>{"Escape"===e.key&&d(!1)};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[c]),(0,s.useEffect)(()=>{if(!c||!h.current)return;let e=()=>{if(!h.current)return;let e=h.current.getBoundingClientRect(),t=e.top,r=t>window.innerHeight-e.bottom&&t>200?"up":"down";p({left:e.left,top:"up"===r?e.top-6:e.bottom+6,direction:r})};return window.addEventListener("scroll",e,!0),window.addEventListener("resize",e),()=>{window.removeEventListener("scroll",e,!0),window.removeEventListener("resize",e)}},[c]);let v=(0,s.useCallback)(()=>{t(null),d(!1)},[t]),y=(0,s.useCallback)(e=>{t({id:e.id,name:e.name}),d(!1)},[t]),j=(0,s.useCallback)(e=>{e.stopPropagation(),t(null)},[t]),w=!e,k=e?.name??l.acpDefaultAgent,N=c&&f?(0,n.jsxs)("div",{ref:b,role:"listbox","aria-label":l.acpSelectAgent,className:"fixed z-[60] pointer-events-auto min-w-[180px] max-w-[240px] rounded-lg border border-border bg-card shadow-lg py-1 animate-in fade-in-0 zoom-in-95 duration-100",style:{left:f.left,..."up"===f.direction?{bottom:window.innerHeight-f.top}:{top:f.top}},children:[(0,n.jsxs)("button",{type:"button",role:"option","aria-selected":w,onClick:v,className:"flex w-full items-center gap-2 px-3 py-1.5 text-xs text-left transition-colors hover:bg-muted",children:[(0,n.jsx)(I.A,{size:12,className:"shrink-0 text-muted-foreground"}),(0,n.jsx)("span",{className:"flex-1 truncate font-medium",children:l.acpDefaultAgent}),w&&(0,n.jsx)(x.A,{size:11,className:"shrink-0 text-[var(--amber)]"})]}),r.length>0&&(0,n.jsx)("div",{className:"mx-2 my-1 border-t border-border/60"}),r.map(t=>{let r=e?.id===t.id;return(0,n.jsxs)("button",{type:"button",role:"option","aria-selected":r,onClick:()=>y(t),className:"flex w-full items-center gap-2 px-3 py-1.5 text-xs text-left transition-colors hover:bg-muted",children:[(0,n.jsx)("span",{className:"w-2 h-2 rounded-full bg-[var(--success)] shrink-0"}),(0,n.jsx)("span",{className:"flex-1 truncate",children:t.name}),r&&(0,n.jsx)(x.A,{size:11,className:"shrink-0 text-[var(--amber)]"})]},t.id)})]}):null,S=`
23
+ relative z-10 inline-flex min-h-6 items-center gap-1 px-2.5 py-0.5
24
+ text-2xs font-medium transition-colors pointer-events-auto touch-manipulation
25
+ border focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring
26
+ ${w?"rounded-full bg-muted/50 border-border/50 text-muted-foreground hover:bg-muted hover:text-foreground":"rounded-l-full bg-[var(--amber)]/10 border-[var(--amber)]/25 border-r-0 text-foreground hover:bg-[var(--amber)]/15"}
27
+ `,C=(0,n.jsxs)("button",{ref:h,type:"button",onClick:()=>d(e=>!e),className:S,title:l.acpChangeAgent,"aria-expanded":c,"aria-haspopup":"listbox",children:[w?(0,n.jsx)(I.A,{size:11,className:"shrink-0 text-muted-foreground"}):(0,n.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-[var(--success)] shrink-0"}),(0,n.jsx)("span",{className:"truncate max-w-[120px]",children:k}),!e&&(0,n.jsx)(g.A,{size:10,className:"shrink-0 text-muted-foreground"})]});return(0,n.jsxs)(n.Fragment,{children:[e?(0,n.jsxs)("span",{className:"relative z-10 inline-flex min-h-6 items-stretch rounded-full",children:[C,(0,n.jsx)("button",{type:"button",onClick:j,className:"inline-flex min-h-6 items-center rounded-r-full border border-[var(--amber)]/25 bg-[var(--amber)]/10 px-1.5 text-muted-foreground transition-colors hover:bg-[var(--amber)]/15 hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring","aria-label":`Remove ${e.name}`,title:`Remove ${e.name}`,children:(0,n.jsx)(u.A,{size:9})})]}):C,"u">typeof document&&N&&(0,a.createPortal)(N,document.body)]})}var ts=r(7312),ta=r(249),to=r(94456),ti=r(58221),tl=r(28971);let tu=new WeakMap;function tc({visible:e,currentFile:t,initialMessage:r,initialAcpAgent:f,onFirstMessage:p,variant:x,onClose:g,maximized:b,onMaximize:k,askMode:R,onModeSwitch:D,onDockToPanel:P}){let F="panel"===x,I="home"===x,O=(0,s.useRef)(null),H=(0,s.useRef)(null),{t:W}=(0,m.Y)(),[U,B]=(0,s.useState)(!1);(0,s.useEffect)(()=>B(!0),[]);let[Y,K]=(0,s.useState)(""),J=(0,s.useRef)(Y),[q,Q]=(0,s.useState)([]),V=(0,s.useRef)(q),[X,G]=(0,s.useState)(!1),[Z,ee]=(0,s.useState)(!1),[et,er]=(0,s.useState)(!1),en=(0,s.useRef)(null),es=(0,s.useRef)(null),[ea,eo]=(0,s.useState)(null),[ei,el]=(0,s.useState)(""),[eu,ec]=(0,s.useState)(null),ed=(0,s.useRef)(eu),[em,ef]=(0,s.useState)(null),ep=(0,s.useRef)(em),ex=(0,s.useRef)(null),[eg,eh]=(0,s.useState)("agent"),[eb,ev]=(0,s.useState)(null),[ey,ej]=(0,s.useState)(null);(0,s.useEffect)(()=>{eh(function(){try{let e=localStorage.getItem(h);if("chat"===e||"agent"===e)return e}catch{}return"agent"}());let e=(0,ts.C)();ev(e.provider),ej(e.model)},[]);let ew=function(e){let[t,r]=(0,s.useState)([]),[n,a]=(0,s.useState)([]),[o,i]=(0,s.useState)(null),l=(0,s.useRef)(null),u=(0,s.useCallback)(async()=>{let t=(await N()).sort((e,t)=>t.updatedAt-e.updatedAt).slice(0,30),n=t.filter(e=>0===e.messages.length).map(e=>e.id),s=n.length>0?t.filter(e=>!n.includes(e.id)):t;n.length>0&&A(n);let o=w(e),l=e?s.find(t=>t.currentFile===e):s[0];l?(i(l.id),r(l.messages),a([...s])):(i(o.id),r([]),a([o,...s].slice(0,30)))},[e]),c=(0,s.useCallback)((t,r)=>{if(!r||0===t.length)return;let n=null;a(s=>{let a=Date.now(),o=s.find(e=>e.id===r);n=o?{...o,currentFile:e,updatedAt:a,messages:t}:{id:r,currentFile:e,createdAt:a,updatedAt:a,messages:t};let i=s.filter(e=>e.id!==r);return[n,...i].sort((e,t)=>t.updatedAt-e.updatedAt).slice(0,30)}),l.current&&clearTimeout(l.current),l.current=setTimeout(()=>{n&&S(n)},600)},[e]),d=(0,s.useCallback)(()=>{l.current&&(clearTimeout(l.current),l.current=null)},[]),m=(0,s.useCallback)(()=>{a(t=>{let n=t.find(e=>e.id===o);if(n&&0===n.messages.length)return t;let s=w(e);return i(s.id),r([]),[s,...t].sort((e,t)=>t.updatedAt-e.updatedAt).slice(0,30)})},[e,o]),f=(0,s.useCallback)(e=>{let t=n.find(t=>t.id===e);if(!t)return;let s=o?n.find(e=>e.id===o):null;s&&0===s.messages.length&&s.id!==e&&a(e=>e.filter(e=>e.id!==s.id)),i(t.id),r(t.messages)},[n,o]),p=(0,s.useCallback)(t=>{let s=n.find(e=>e.id===t);s&&s.messages.length>0&&C(t);let l=n.filter(e=>e.id!==t);if(a(l),o===t){let t=w(e);i(t.id),r([]),a([t,...l].slice(0,30))}},[o,e,n]),x=(0,s.useCallback)((e,t)=>{let r=t.trim();a(t=>{let n=t.findIndex(t=>t.id===e);if(n<0)return t;let s={...t[n],title:r||void 0},a=[...t];return a[n]=s,S(s),a})},[]),g=(0,s.useCallback)(e=>{a(t=>{let r=t.findIndex(t=>t.id===e);if(r<0)return t;let n={...t[r],pinned:!t[r].pinned},s=[...t];return s[r]=n,n.messages.length>0&&S(n),s})},[]),h=(0,s.useCallback)(t=>{var r;if(!o)return;let s=n.find(e=>e.id===o);if(!s)return;let i=(r={...s,currentFile:s.currentFile??e,updatedAt:Date.now()},{...r,defaultAcpAgent:t});a(e=>[i,...e.filter(e=>e.id!==o)].sort((e,t)=>t.updatedAt-e.updatedAt).slice(0,30)),l.current&&clearTimeout(l.current),i.messages.length>0&&(l.current=setTimeout(()=>{S(i)},600))},[o,e,n]),b=(0,s.useCallback)(()=>{let t=n.filter(e=>e.messages.length>0).map(e=>e.id);t.length>0&&A(t);let s=w(e);i(s.id),r([]),a([s])},[e,n]);return{messages:t,setMessages:r,sessions:(0,s.useMemo)(()=>[...n].sort((e,t)=>e.pinned&&!t.pinned?-1:!e.pinned&&t.pinned?1:t.updatedAt-e.updatedAt),[n]),activeSession:(0,s.useMemo)(()=>n.find(e=>e.id===o)??null,[o,n]),activeSessionId:o,initSessions:u,persistSession:c,clearPersistTimer:d,resetSession:m,loadSession:f,deleteSession:p,renameSession:x,togglePinSession:g,setSessionDefaultAcpAgent:h,clearAllSessions:b}}(t),ek=(0,s.useRef)(ew),{localAttachments:eN,uploadError:eS,uploadInputRef:eC,pickFiles:eA,removeAttachment:eE,clearAttachments:ez,injectFiles:eR}=function(e){let[t,r]=(0,s.useState)([]),[n,a]=(0,s.useState)(""),o=(0,s.useRef)(null),i=(0,s.useRef)(e);(0,s.useLayoutEffect)(()=>{i.current=e},[e]);let l=(0,s.useCallback)(async e=>{if(!e||0===e.length)return;let t=Array.from(e).slice(0,8),n=[],s=[];for(let e of t){let t=z(e.name);E.has(t)?n.push(e):s.push(e.name)}if(s.length>0){let e=i.current?.unsupportedType??"Unsupported file type";a(`${e}: ${s.join(", ")}`)}else a("");let o=[],l=[],u=[];for(let e of n){let t=z(e.name);".pdf"===t?(u.push({name:e.name,content:"",status:"loading"}),o.push(e)):".doc"===t||".docx"===t||".docm"===t?(u.push({name:e.name,content:"",status:"loading"}),l.push(e)):u.push({name:e.name,content:await e.text(),status:"success"})}r(e=>{let t=[...e];for(let e of u)t.some(t=>t.name===e.name)||t.push(e);return t});let c=[];o.length>0&&c.push(Promise.all(o.map($)).then(e=>{r(t=>t.map(t=>"loading"!==t.status?t:e.find(e=>e.name===t.name)??t))})),l.length>0&&c.push(Promise.all(l.map(T)).then(e=>{r(t=>t.map(t=>"loading"!==t.status?t:e.find(e=>e.name===t.name)??t))})),await Promise.all(c)},[]),u=(0,s.useCallback)(e=>{r(t=>t.filter((t,r)=>r!==e))},[]);return{localAttachments:t,uploadError:n,uploadInputRef:o,pickFiles:l,removeAttachment:u,clearAttachments:(0,s.useCallback)(()=>{r([]),a("")},[]),injectFiles:(0,s.useCallback)(e=>{r(t=>{let r=[...t];for(let t of e)r.some(e=>e.name===t.name)||r.push(t);return r})},[])}}((0,s.useMemo)(()=>({unsupportedType:W.fileImport?.unsupported}),[W])),e$=(0,s.useMemo)(()=>({localAttachments:eN,pickFiles:eA,clearAttachments:ez,injectFiles:eR}),[ez,eR,eN,eA]),eT=(0,s.useRef)(e$),{images:eL,imageError:eM,handlePaste:e_,handleDrop:eD,handleFileSelect:eP,removeImage:eF,clearImages:eI}=function(){let[e,t]=(0,s.useState)([]),[r,n]=(0,s.useState)(""),a=(0,s.useCallback)(async e=>{n("");let r=e.slice(0,4),s=[];for(let e of r){var a;if(a=e.type,!L.has(a)){n(`Unsupported image type: ${e.type}`);continue}try{let{data:t,mimeType:r}=await M(e);s.push({type:"image",data:t,mimeType:r,fileName:e.name||void 0})}catch{n(`Failed to process image: ${e.name}`)}}t(e=>{let t=[...e,...s];return t.length>4?(n("Maximum 4 images allowed"),t.slice(0,4)):t})},[]),o=(0,s.useCallback)(async e=>{let t=e.clipboardData?.items;if(!t)return!1;let r=_(t);return 0!==r.length&&(await a(r),!0)},[a]),i=(0,s.useCallback)(async e=>{let t=e.dataTransfer?.items;if(!t)return;let r=_(t);r.length>0&&(e.preventDefault(),await a(r))},[a]),l=(0,s.useCallback)(async e=>{if(!e)return;let t=Array.from(e).filter(e=>{var t;return t=e.type,L.has(t)});await a(t)},[a]);return{images:e,imageError:r,addImages:a,handlePaste:o,handleDrop:i,handleFileSelect:l,removeImage:(0,s.useCallback)(e=>{t(t=>t.filter((t,r)=>r!==e))},[]),clearImages:(0,s.useCallback)(()=>{t([]),n("")},[])}}(),eO=(0,s.useMemo)(()=>({images:eL,clearImages:eI,handleDrop:eD,handlePaste:e_}),[eI,eD,e_,eL]),eH=function(){let[e,t]=(0,s.useState)([]),[r,n]=(0,s.useState)(null),[a,o]=(0,s.useState)([]),[i,l]=(0,s.useState)(0),u=(0,s.useCallback)(()=>{fetch("/api/files").then(e=>e.ok?e.json():[]).then(e=>Array.isArray(e)?e:[]).catch(()=>[]).then(t)},[]);(0,s.useEffect)(()=>{u();let e=()=>u();return window.addEventListener("mindos:files-changed",e),()=>window.removeEventListener("mindos:files-changed",e)},[u]);let c=(0,s.useCallback)((t,r)=>{let s=r??t.length,a=t.slice(0,s),i=a.lastIndexOf("@");if(-1===i||i>0&&" "!==a[i-1]&&"\n"!==a[i-1])return void n(null);let u=a.slice(i+1);if(u.includes(" ")||u.includes("\n")){n(null),o([]),l(0);return}let c=u.toLowerCase();if(!c){n(u),o(e.slice(0,30)),l(0);return}let d=e.map(e=>{let t=(e.split("/").pop()??e).toLowerCase(),r=e.toLowerCase(),n=0;return t.startsWith(c)?n=100:t.includes(c)?n=50:r.includes(c)&&(n=10),{path:e,score:n}}).filter(e=>e.score>0).sort((e,t)=>t.score-e.score).slice(0,30);if(0===d.length){n(null),o([]),l(0);return}n(u),o(d.map(e=>e.path)),l(0)},[e]),d=(0,s.useCallback)(e=>{0!==a.length&&("down"===e?l(e=>Math.min(e+1,a.length-1)):l(e=>Math.max(e-1,0)))},[a.length]);return{mentionQuery:r,mentionResults:a,mentionIndex:i,updateMentionFromInput:c,navigateMention:d,resetMention:(0,s.useCallback)(()=>{n(null),o([]),l(0)},[])}}(),eW=function(){let[e,t]=(0,s.useState)([]),[r,n]=(0,s.useState)(null),[a,o]=(0,s.useState)([]),[i,l]=(0,s.useState)(0),u=(0,s.useRef)(!1),c=(0,s.useCallback)(async()=>{t((await fetch("/api/skills").then(e=>e.ok?e.json():{skills:[]}).then(e=>Array.isArray(e?.skills)?e.skills:[]).catch(()=>[])).filter(e=>e.enabled)),u.current=!0},[]);(0,s.useEffect)(()=>{c();let e=()=>c();return window.addEventListener("mindos:skills-changed",e),()=>window.removeEventListener("mindos:skills-changed",e)},[c]);let d=(0,s.useCallback)((t,r)=>{let s=t.slice(0,r),a=s.lastIndexOf("/");if(-1===a||a>0&&" "!==s[a-1]&&"\n"!==s[a-1])return void n(null);let i=s.slice(a+1);if(i.includes(" "))return void n(null);if(!u.current){c(),n(null);return}let d=i.toLowerCase(),m=d?e.map(e=>{let t=e.name.toLowerCase(),r=0;return t.startsWith(d)?r=100:t.includes(d)?r=50:e.description.toLowerCase().includes(d)&&(r=10),{s:e,score:r}}).filter(e=>e.score>0).sort((e,t)=>t.score-e.score).slice(0,20).map(e=>({type:"skill",name:e.s.name,description:e.s.description})):e.slice(0,20).map(e=>({type:"skill",name:e.name,description:e.description}));if(0===m.length){n(null),o([]),l(0);return}n(i),o(m),l(0)},[e,c]),m=(0,s.useCallback)(e=>{0!==a.length&&("down"===e?l(e=>Math.min(e+1,a.length-1)):l(e=>Math.max(e-1,0)))},[a.length]);return{slashQuery:r,slashResults:a,slashIndex:i,updateSlashFromInput:d,navigateSlash:m,resetSlash:(0,s.useCallback)(()=>{n(null),o([]),l(0)},[])}}(),eU=(0,tl.z)(),eB=(0,s.useRef)(eO),eY=(0,s.useRef)(eH),eK=(0,s.useRef)(eW);(0,s.useLayoutEffect)(()=>{J.current=Y,V.current=q,ed.current=eu,ep.current=em,ek.current=ew,eT.current=e$,eB.current=eO,eY.current=eH,eK.current=eW},[q,eO,Y,eH,em,eu,ew,eW,e$]);let eJ=(0,s.useCallback)(()=>{K(""),ec(null),Q(t?[t]:[]),eT.current.clearAttachments()},[t]),eq=(0,s.useCallback)(e=>{K(e.content),e.images&&e.images.length>0&&eB.current.clearImages(),e.attachedFiles&&Q(e.attachedFiles),e.skillName&&eK.current.resetSlash(),ef(e.agentId&&e.agentName&&e.agentId!==y.id?{id:e.agentId,name:e.agentName}:null),setTimeout(()=>O.current?.focus(),50)},[]),eQ=(0,s.useMemo)(()=>({inputValueRef:J,mentionRef:eY,slashRef:eK,imageUploadRef:eB,sessionRef:ek,uploadRef:eT,selectedSkillRef:ed,selectedAcpAgentRef:ep,attachedFilesRef:V}),[]),eX=function({currentFile:e,chatMode:t,providerOverride:r,modelOverride:n,onFirstMessage:a,refs:o,errorLabels:i,resetInputState:l,onRestoreInput:u}){let[c,d]=(0,s.useState)(!1),[m,f]=(0,s.useState)("connecting"),[p,x]=(0,s.useState)(0),[g,h]=(0,s.useState)(3),b=(0,s.useRef)(3),v=(0,s.useRef)(null),y=(0,s.useRef)(!1),w=(0,s.useRef)(!1),k=(0,s.useRef)(null),N=(0,s.useRef)(!1),S=(0,s.useRef)(!1);(0,s.useLayoutEffect)(()=>{S.current=c},[c]);let C=(0,s.useCallback)(()=>{let e=k.current;v.current?.abort(),e&&(N.current=!0,o.sessionRef.current?.setMessages(t=>{let r=e.userMessage.timestamp;return t.filter((e,n)=>("user"!==e.role||e.timestamp!==r)&&(!(n>0)||"user"!==t[n-1].role||t[n-1].timestamp!==r||"assistant"!==e.role))}),u?.(e.userMessage),k.current=null,w.current=!0,setTimeout(()=>{w.current=!1},300))},[o,u]),A=(0,s.useCallback)(async s=>{if(s.preventDefault(),w.current)return;let u=o.mentionRef.current,c=o.slashRef.current,m=o.imageUploadRef.current,p=o.sessionRef.current,g=o.uploadRef.current;if(!u||!c||!m||!p||!g||null!==u.mentionQuery||null!==c.slashQuery)return;let C=o.inputValueRef.current?.trim()??"";if(g.localAttachments.some(e=>"loading"===e.status)||!C&&0===m.images.length||S.current)return;let A=o.selectedSkillRef.current,E=o.selectedAcpAgentRef.current,z=m.images.length>0?[...m.images]:void 0,R=o.attachedFilesRef.current.filter(t=>t!==e),$=R.length>0?R:void 0,T=g.localAttachments.filter(e=>"loading"!==e.status).map(e=>e.name),L=j({role:"user",content:C,timestamp:Date.now(),...A&&{skillName:A.name},...z&&{images:z},...$&&{attachedFiles:$},...T.length>0&&{uploadedFileNames:T}},E);m.clearImages();let M=[...p.messages,L];k.current={userMessageIndex:M.length-1,userMessage:L},N.current=!1,p.setMessages([...M,j({role:"assistant",content:"",timestamp:Date.now()},E)]),l(),a&&!y.current&&(y.current=!0,a()),d(!0),f("connecting"),x(0);let _=new AbortController;v.current=_;let D=3;try{let e=localStorage.getItem("mindos-reconnect-retries");if(null!==e){let t=parseInt(e,10);Number.isFinite(t)&&(D=Math.max(0,Math.min(10,t)))}}catch{}b.current=D,h(D);let P=JSON.stringify({messages:M,currentFile:e,attachedFiles:o.attachedFilesRef.current,uploadedFiles:g.localAttachments.filter(e=>"loading"!==e.status).map(e=>({name:e.name,content:e.content.length>8e4?e.content.slice(0,8e4)+"\n\n[...truncated to first ~80000 chars]":e.content})),selectedAcpAgent:E,mode:t,providerOverride:r??void 0,modelOverride:n??void 0}),F=async()=>{let e=await fetch("/api/ask",{method:"POST",headers:{"Content-Type":"application/json"},body:P,signal:_.signal});if(!e.ok){let t=`Request failed (${e.status})`;try{let r=await e.json();"string"==typeof r?.error&&r.error.trim()?t=r.error:"object"==typeof r?.error&&"string"==typeof r.error?.message&&r.error.message.trim()?t=r.error.message:"string"==typeof r?.message&&r.message.trim()&&(t=r.message)}catch(e){console.warn("[useAskChat] error body parse failed:",e)}let r=Error(t);throw r.httpStatus=e.status,r}if(!e.body)throw Error("No response body");return f("thinking"),{finalMessage:await (0,ta.m)(e.body,e=>{f("streaming"),o.sessionRef.current?.setMessages(t=>{let r=[...t];return r[r.length-1]=j(e,E),r})},_.signal)}};try{let e=null;for(let t=0;t<=D&&!_.signal.aborted;t++){t>0&&(x(t),f("reconnecting"),o.sessionRef.current?.setMessages(e=>{let t=[...e];return t[t.length-1]=j({role:"assistant",content:"",timestamp:Date.now()},E),t}),await (0,to.yy)((0,to.a2)(t-1),_.signal),f("connecting"));try{let{finalMessage:e}=await F();e.content.trim()||e.parts&&0!==e.parts.length||o.sessionRef.current?.setMessages(e=>{let t=[...e];return t[t.length-1]=j({role:"assistant",content:`__error__${i.noResponse}`},E),t}),k.current=null;return}catch(n){e=n instanceof Error?n:Error(String(n));let r=n.httpStatus;if(!(0,to.$d)(n,r)||t>=D)break}}if(e)throw e}catch(e){if("AbortError"===e.name)N.current||o.sessionRef.current?.setMessages(e=>{let t=[...e],r=t.length-1;if(r>=0&&"assistant"===t[r].role){let e=t[r];e.content.trim()||e.parts&&e.parts.length>0||(t[r]=j({role:"assistant",content:`__error__${i.stopped}`},E))}return t});else{let t=e instanceof Error?e.message:"Something went wrong";o.sessionRef.current?.setMessages(e=>{let r=[...e],n=r.length-1;if(n>=0&&"assistant"===r[n].role){let e=r[n];if(!(e.content.trim()||e.parts&&e.parts.length>0))return r[n]=j({role:"assistant",content:`__error__${t}`},E),r}return[...r,j({role:"assistant",content:`__error__${t}`},E)]})}}finally{d(!1),x(0),v.current=null,k.current=null}},[e,t,r,n,i.noResponse,i.stopped,a,o,l]);return{isLoading:c,isLoadingRef:S,loadingPhase:m,reconnectAttempt:p,reconnectMax:g,reconnectMaxRef:b,abortRef:v,firstMessageFired:y,submit:A,stop:C}}({currentFile:t,chatMode:eg,providerOverride:eb,modelOverride:ey,onFirstMessage:p,refs:eQ,errorLabels:{noResponse:W.ask.errorNoResponse,stopped:W.ask.stopped},resetInputState:eJ,onRestoreInput:eq}),{isLoading:e0,loadingPhase:e1,reconnectAttempt:e5,reconnectMax:e3}=eX,e4=eX.submit,e8=eX.stop,e6=(0,s.useCallback)(e=>{ef(e),ew.setSessionDefaultAcpAgent(e)},[ew]),e9=eN.some(e=>"loading"===e.status),te=eS||eM||ei||"";(0,s.useEffect)(()=>{let e=e=>{let t=e.detail?.files;Array.isArray(t)&&t.length>0&&eT.current.injectFiles(t)};return window.addEventListener("mindos:inject-ask-files",e),()=>window.removeEventListener("mindos:inject-ask-files",e)},[]),(0,s.useEffect)(()=>{if(!et||!en.current)return void eo(null);let e=en.current.getBoundingClientRect();eo({top:e.top-8,left:e.left})},[et]),(0,s.useEffect)(()=>{if(!et)return;let e=e=>{let t=e.target;!t||en.current?.contains(t)||es.current?.contains(t)||er(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[et]),(0,s.useEffect)(()=>{if(!I)return;let e=e=>{let t=e.detail?.text;"string"==typeof t&&(K(t),setTimeout(()=>O.current?.focus(),50))};return window.addEventListener("mindos:home-suggestion",e),()=>window.removeEventListener("mindos:home-suggestion",e)},[I]);let tt=(0,s.useRef)(!1),tc=(0,s.useRef)(t);(0,s.useEffect)(()=>{let n="panel"===x||"home"===x?e&&!tt.current:e,s=e&&tt.current&&t!==tc.current;n?(ex.current=f??null,setTimeout(()=>O.current?.focus(),50),ew.initSessions(),K(r||""),eX.firstMessageFired.current=!1,Q(t?[t]:[]),ez(),eI(),eH.resetMention(),eW.resetSlash(),ec(null),ef(f??null),G(!1)):s?Q(t?[t]:[]):e||"modal"!==x||eX.abortRef.current?.abort(),"home"===x&&e&&!tt.current&&setTimeout(()=>O.current?.focus(),150),tt.current=e,tc.current=t},[e,t]),(0,s.useEffect)(()=>{if(!e||!ew.activeSessionId)return;let t=ex.current;ef(function({sessionAgent:e,initialAgent:t}){return e??t??null}({sessionAgent:ew.activeSession?.defaultAcpAgent??null,initialAgent:t})),t&&!ew.activeSession?.defaultAcpAgent&&ew.activeSession?.messages.length===0&&ew.setSessionDefaultAcpAgent(t),ex.current=null},[e,ew.activeSessionId,ew.activeSession?.defaultAcpAgent,ew.activeSession?.messages.length,ew.setSessionDefaultAcpAgent]);let td=(0,s.useRef)(ew.clearPersistTimer);(0,s.useLayoutEffect)(()=>{td.current=ew.clearPersistTimer},[ew.clearPersistTimer]),(0,s.useEffect)(()=>{if(!e||!ew.activeSessionId)return;let t=ew.messages;if(eX.isLoading&&t.length>0){let e=t[t.length-1];if("assistant"===e.role&&!e.content.trim()&&(!e.parts||0===e.parts.length))return}return ew.persistSession(t,ew.activeSessionId),()=>td.current()},[e,ew.messages,ew.activeSessionId,eX.isLoading]),(0,s.useEffect)(()=>{if(!e||"home"===x)return;let t="modal"===x,r="panel"===x&&b;if(!t&&!r)return;let n=e=>{if("Escape"===e.key){if(null!==eY.current.mentionQuery)return void eY.current.resetMention();if(null!==eK.current.slashQuery)return void eK.current.resetSlash();if(r&&k)return void k();t&&g&&g()}};return window.addEventListener("keydown",n),()=>window.removeEventListener("keydown",n)},[x,e,g,b,k]);let tm=(0,s.useRef)(null),tf=(0,s.useRef)(!1);(0,s.useLayoutEffect)(()=>{if(!e)return;let t=O.current;t&&t instanceof HTMLTextAreaElement&&(!function(e,t){let r=tu.get(e);if(!r){let t=getComputedStyle(e),n=parseFloat(t.lineHeight),s=parseFloat(t.fontSize),a=Number.isFinite(s)?s:14,o=8*(Number.isFinite(n)?n:1.375*a)+((Number.isFinite(parseFloat(t.paddingTop))?parseFloat(t.paddingTop):0)+(Number.isFinite(parseFloat(t.paddingBottom))?parseFloat(t.paddingBottom):0));if(!Number.isFinite(o)||o<=0)return;r={maxH:o},tu.set(e,r)}let{maxH:n}=r;e.style.height="auto";let s=e.scrollHeight,a=Math.min(s,n);e.style.height=`${a}px`,e.style.overflowY=s>n?"auto":"hidden"}(t,0),tf.current&&Y.trim()&&(tf.current=!1,tm.current?.requestSubmit()))},[Y,e0,e]),(0,s.useEffect)(()=>{let e=O.current;if(!e)return;let t=()=>tu.delete(e);return window.addEventListener("resize",t),()=>window.removeEventListener("resize",t)},[]);let tp=(0,s.useRef)(null),tx=(0,s.useRef)(null),tg=(0,s.useRef)(!0),th=(0,s.useCallback)((e,t)=>{K(e);let r=t??e.length;tp.current&&clearTimeout(tp.current),tx.current&&clearTimeout(tx.current),tp.current=setTimeout(()=>{tg.current&&eY.current.updateMentionFromInput(e,r)},80),tx.current=setTimeout(()=>{tg.current&&eK.current.updateSlashFromInput(e,r)},80)},[]);(0,s.useEffect)(()=>(tg.current=!0,()=>{tg.current=!1,tp.current&&clearTimeout(tp.current),tx.current&&clearTimeout(tx.current)}),[]);let tb=(0,s.useCallback)(e=>{let t=O.current,r=J.current,n=t?.selectionStart??r.length,s=r.slice(0,n).lastIndexOf("@");K(r.slice(0,s)+r.slice(n)),eY.current.resetMention(),V.current.includes(e)||Q(t=>[...t,e]),setTimeout(()=>{O.current?.focus(),O.current?.setSelectionRange(s,s)},0)},[]),tv=(0,s.useCallback)(e=>{let t=O.current,r=J.current,n=t?.selectionStart??r.length,s=r.slice(0,n).lastIndexOf("/");K(r.slice(0,s)+r.slice(n)),ec(e),eK.current.resetSlash(),setTimeout(()=>{O.current?.focus(),O.current?.setSelectionRange(s,s)},0)},[]),ty=(0,s.useRef)(tb),tj=(0,s.useRef)(tv);(0,s.useLayoutEffect)(()=>{ty.current=tb,tj.current=tv},[tb,tv]);let tw=(0,s.useCallback)(e=>{let t=eY.current,r=eK.current;if(null!==t.mentionQuery){if("Escape"===e.key){e.preventDefault(),t.resetMention();return}if("ArrowDown"===e.key)e.preventDefault(),t.navigateMention("down");else if("ArrowUp"===e.key)e.preventDefault(),t.navigateMention("up");else if("Enter"===e.key||"Tab"===e.key){if("Enter"===e.key&&(e.shiftKey||e.nativeEvent.isComposing))return;t.mentionResults.length>0&&(e.preventDefault(),ty.current(t.mentionResults[t.mentionIndex]))}return}if(null!==r.slashQuery){if("Escape"===e.key){e.preventDefault(),r.resetSlash();return}if("ArrowDown"===e.key)e.preventDefault(),r.navigateSlash("down");else if("ArrowUp"===e.key)e.preventDefault(),r.navigateSlash("up");else if("Enter"===e.key||"Tab"===e.key){if("Enter"===e.key&&(e.shiftKey||e.nativeEvent.isComposing))return;r.slashResults.length>0&&(e.preventDefault(),tj.current(r.slashResults[r.slashIndex]))}return}"Enter"===e.key&&!e.shiftKey&&!e.nativeEvent.isComposing&&!eX.isLoadingRef.current&&(J.current.trim()||eB.current.images.length>0)&&(e.preventDefault(),e.currentTarget.form?.requestSubmit())},[]),tk=(0,s.useCallback)(()=>{eX.isLoadingRef.current||(ek.current.resetSession(),K(""),Q(t?[t]:[]),eT.current.clearAttachments(),eB.current.clearImages(),eY.current.resetMention(),eK.current.resetSlash(),ec(null),ef(null),ex.current=null,G(!1),eX.firstMessageFired.current=!1,setTimeout(()=>O.current?.focus(),0))},[t]),tN=(0,s.useCallback)(e=>{(e.dataTransfer.types.includes("text/mindos-path")||e.dataTransfer.types.includes("Files"))&&(e.preventDefault(),e.stopPropagation(),e.dataTransfer.dropEffect="copy",ee(!0))},[]),tS=(0,s.useCallback)(()=>ee(!1),[]),tC=(0,s.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),ee(!1),el("");let t=e.dataTransfer.getData("text/mindos-path");if(t){let r="directory"===e.dataTransfer.getData("text/mindos-type")?t.replace(/\/?$/,"/"):t;V.current.includes(r)||Q(e=>[...e,r]);return}let r=e.dataTransfer.files;if(r.length>0){let t=Array.from(r).some(e=>e.type.startsWith("image/")),n=Array.from(r).filter(e=>!e.type.startsWith("image/"));(async()=>{try{if(t&&await eB.current.handleDrop(e),n.length>0){let e=new DataTransfer;n.forEach(t=>e.items.add(t)),await eT.current.pickFiles(e.files)}}catch(e){el(e instanceof Error?e.message:"Failed to process dropped files"),console.error("[AskContent] Drop file processing failed:",e)}})()}},[]),tA=(0,s.useCallback)(e=>{let t=e.clipboardData?.items;!t||Array.from(t).some(e=>"file"===e.kind&&e.type.startsWith("image/"))&&(e.preventDefault(),eB.current.handlePaste(e))},[]),tE=(0,s.useCallback)(e=>{if(eX.isLoadingRef.current)return;let r=ew.sessions.find(t=>t.id===e)??null;ek.current.loadSession(e),G(!1),K(""),Q(t?[t]:[]),eT.current.clearAttachments(),eB.current.clearImages(),eY.current.resetMention(),eK.current.resetSlash(),ec(null),ef(r?.defaultAcpAgent??null),setTimeout(()=>O.current?.focus(),0)},[t,ew.sessions]),tz=(0,s.useCallback)(()=>G(e=>!e),[]),tR=(0,s.useMemo)(()=>({connecting:W.ask.connecting,thinking:W.ask.thinking,generating:W.ask.generating,reconnecting:e5>0?W.ask.reconnecting(e5,e3):void 0,copyMessage:W.ask.copyMessage,editMessage:W.ask.editMessage,regenerateMessage:W.ask.regenerateMessage}),[W,e5,e3]),t$=(0,s.useCallback)(e=>{let t=ek.current,r=t.messages[e];r&&"user"===r.role&&(t.setMessages(t.messages.slice(0,e)),K(r.content),setTimeout(()=>O.current?.focus(),50))},[]),tT=(0,s.useCallback)(e=>{let t=ek.current,r=t.messages[e];r&&"user"===r.role&&(t.setMessages(t.messages.slice(0,e)),K(r.content),tf.current=!0)},[]),tL=(0,s.useCallback)(e=>{ev(e),ej(null)},[]);return(0,n.jsxs)("div",{className:"flex min-h-0 w-full flex-col h-full",children:[(0,n.jsx)(e7,{isPanel:F||I,showHistory:X,onToggleHistory:tz,onReset:tk,isLoading:e0,maximized:b,onMaximize:k,askMode:I?void 0:R,onModeSwitch:I?void 0:D,onClose:I?void 0:g,onDockToPanel:b?P:void 0,sessions:ew.sessions,activeSessionId:ew.activeSessionId,onLoadSession:tE,onDeleteSession:ew.deleteSession,onRenameSession:ew.renameSession,onTogglePinSession:ew.togglePinSession,messages:ew.messages}),X&&(0,n.jsx)(e2,{sessions:ew.sessions,activeSessionId:ew.activeSessionId,onLoad:tE,onDelete:ew.deleteSession,onRename:ew.renameSession,onTogglePin:ew.togglePinSession,onClearAll:ew.clearAllSessions,onClose:()=>G(!1),onNewChat:tk}),!X&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{className:"flex-1 min-h-0 flex flex-col",children:[!I&&(0,n.jsx)(eV,{messages:ew.messages,isLoading:e0,loadingPhase:e1,emptyPrompt:W.ask.emptyPrompt,emptyHint:W.ask.emptyHint,suggestions:W.ask.suggestions,onSuggestionClick:K,onEditMessage:t$,onResendMessage:tT,labels:tR}),I&&(ew.messages.length>0||b)&&(0,n.jsx)(eV,{messages:ew.messages,isLoading:e0,loadingPhase:e1,emptyPrompt:W.ask.emptyPrompt,emptyHint:W.ask.emptyHint,suggestions:b&&0===ew.messages.length?W.ask.suggestions:[],onSuggestionClick:K,onEditMessage:t$,onResendMessage:tT,labels:tR})]}),null!==eH.mentionQuery&&eH.mentionResults.length>0&&(0,n.jsx)("div",{className:"shrink-0 px-3 pb-1",children:(0,n.jsx)(eG,{results:eH.mentionResults,selectedIndex:eH.mentionIndex,query:eH.mentionQuery??void 0,onSelect:tb})}),null!==eW.slashQuery&&eW.slashResults.length>0&&(0,n.jsx)("div",{className:"shrink-0 px-3 pb-1",children:(0,n.jsx)(eZ,{results:eW.slashResults,selectedIndex:eW.slashIndex,query:eW.slashQuery??void 0,onSelect:tv})}),(0,n.jsx)("div",{className:(0,ti.cn)("relative z-10 shrink-0",I?"px-2 pb-2 pt-0.5":"px-3 pb-2.5 pt-1"),children:(0,n.jsxs)("div",{className:(0,ti.cn)("relative rounded-xl bg-muted/40 border border-transparent transition-all focus-within:bg-muted/60",Z&&"ring-2 ring-[var(--amber)] border-[var(--amber)]/40 bg-[var(--amber)]/5 shadow-[0_0_12px_rgba(200,135,58,0.15)]"),onDragOver:tN,onDragLeave:tS,onDrop:tC,children:[(q.length>0||eN.length>0||eL.length>0||eu||em||eS||eM)&&(0,n.jsxs)("div",{className:(0,ti.cn)("px-3 pt-2.5 pb-2 border-b border-border/30",F?"max-h-24 overflow-y-auto":"max-h-28 overflow-y-auto"),children:[(0,n.jsxs)("div",{className:"flex flex-wrap gap-1.5",children:[q.map(e=>(0,n.jsx)(tr,{path:e,variant:"kb",onRemove:()=>Q(t=>t.filter(t=>t!==e))},e)),eN.map((e,t)=>(0,n.jsx)(tr,{path:e.name,variant:"upload",status:e.status,error:e.error,truncatedInfo:e.truncatedInfo,onRemove:()=>eE(t)},`up-${e.name}-${t}`)),eL.map((e,t)=>(0,n.jsx)(tr,{path:e.fileName||`Image ${t+1}`,variant:"image",imageData:e.data,imageMime:e.mimeType,onRemove:()=>eF(t)},`img-${t}`)),eu&&(0,n.jsx)(tr,{path:eu.name,variant:"skill",onRemove:()=>{ec(null),O.current?.focus()}}),em&&(0,n.jsx)(tr,{path:"object"==typeof em&&"name"in em?em.name:"Remote Agent",variant:"agent",onRemove:()=>{e6(null),O.current?.focus()}})]}),te&&(0,n.jsx)("div",{className:"mt-1 text-xs text-error",children:te})]}),(0,n.jsxs)("form",{ref:tm,onSubmit:e4,className:(0,ti.cn)("relative z-10 flex items-end gap-1.5",I?"px-2 py-1.5":"px-3 py-2"),children:[(0,n.jsx)("div",{className:"relative shrink-0",children:(0,n.jsx)("button",{ref:en,type:"button",onClick:()=>er(e=>!e),className:"p-2 rounded-lg text-muted-foreground hover:text-foreground hover:bg-muted/60 transition-colors",title:W.hints.attachFile,children:(0,n.jsx)(o.A,{size:15})})}),U&&et&&ea&&(0,a.createPortal)((0,n.jsxs)("div",{ref:es,className:"fixed z-[60] pointer-events-auto py-1 rounded-xl border border-border/60 bg-card shadow-lg min-w-[150px] animate-in fade-in-0 slide-in-from-bottom-2 duration-150",style:{top:`${ea.top}px`,left:`${ea.left}px`,transform:"translateY(-100%)"},onClick:e=>e.stopPropagation(),children:[(0,n.jsxs)("button",{type:"button",className:"flex w-full items-center gap-2.5 px-3 py-2 text-xs hover:bg-muted transition-colors text-left rounded-lg",onClick:()=>{eC.current?.click(),er(!1)},children:[(0,n.jsx)(i.A,{size:12,className:"shrink-0 text-muted-foreground"}),W.ask.attachFileLabel]}),(0,n.jsxs)("button",{type:"button",className:"flex w-full items-center gap-2.5 px-3 py-2 text-xs hover:bg-muted transition-colors text-left rounded-lg",onClick:()=>{H.current?.click(),er(!1)},children:[(0,n.jsx)(l.A,{size:12,className:"shrink-0 text-muted-foreground"}),W.ask.attachImageLabel]})]}),document.body),(0,n.jsx)("input",{ref:eC,type:"file",className:"hidden",multiple:!0,accept:".txt,.md,.markdown,.csv,.json,.yaml,.yml,.xml,.html,.htm,.pdf,.doc,.docx,.docm,text/plain,text/markdown,text/csv,application/json,application/pdf,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document,application/vnd.ms-word.document.macroEnabled.12",onChange:async e=>{let t=e.currentTarget;await eA(t.files),t.value=""}}),(0,n.jsx)("input",{ref:H,type:"file",className:"hidden",multiple:!0,accept:"image/png,image/jpeg,image/gif,image/webp",onChange:async e=>{let t=e.currentTarget;await eP(t.files),t.value=""}}),(0,n.jsx)("textarea",{ref:e=>{O.current=e},value:Y,onChange:e=>th(e.target.value,e.target.selectionStart??void 0),onKeyDown:tw,onPaste:tA,placeholder:W.ask.placeholder,rows:1,suppressHydrationWarning:!0,className:(0,ti.cn)("min-w-0 flex-1 resize-none overflow-y-hidden bg-transparent py-2 leading-relaxed text-foreground placeholder:text-muted-foreground/50 outline-none focus-visible:ring-0",I?"text-xs":"text-sm")}),e0?(0,n.jsx)("button",{type:"button",onClick:e8,className:"p-2 rounded-xl transition-colors shrink-0 text-foreground bg-muted hover:bg-muted/80",title:"reconnecting"===e1?W.ask.cancelReconnect:W.ask.stopTitle,children:"reconnecting"===e1?(0,n.jsx)(u.A,{size:15}):(0,n.jsx)(c.A,{size:15})}):(0,n.jsx)("button",{type:"submit",title:e9?W.ask.uploadsProcessing??"Wait for uploaded files to finish processing before sending.":W.ask.send,disabled:e9||!Y.trim()&&0===eL.length,className:"p-2 rounded-xl disabled:opacity-20 disabled:scale-95 disabled:cursor-not-allowed transition-all duration-150 shrink-0 bg-[var(--amber)] text-[var(--amber-foreground)] shadow-sm shadow-[var(--amber)]/15 hover:shadow-md hover:shadow-[var(--amber)]/20 active:scale-95",children:(0,n.jsx)(d.A,{size:14})})]}),(0,n.jsxs)("div",{className:(0,ti.cn)("relative z-20 flex items-center justify-between border-t border-border/10",F?"px-2 pb-1.5 pt-1 gap-1":"px-3 pb-2 pt-1.5"),children:[(0,n.jsxs)("div",{className:(0,ti.cn)("flex items-center flex-wrap",F?"gap-1":"gap-2"),children:[(0,n.jsx)(v,{mode:eg,onChange:eh,disabled:e0}),U&&(0,n.jsx)(tn,{selectedAgent:em,onSelect:e6,installedAgents:eU.installedAgents,loading:eU.loading}),U&&(0,n.jsx)(ts.A,{providerValue:eb,onProviderChange:tL,modelValue:ey,onModelChange:ej,disabled:e0})]}),!F&&!I&&(0,n.jsxs)("span",{className:"hidden md:inline text-2xs text-muted-foreground/40 select-none shrink-0",children:[(0,n.jsx)("kbd",{className:"font-mono",children:"Enter"})," ",W.ask.send," \xb7 ",(0,n.jsx)("kbd",{className:"font-mono",children:"Shift+Enter"})," ",W.ask.newlineHint]})]})]})})]})]})}},25176:(e,t,r)=>{r.d(t,{A:()=>d});var n=r(66839),s=r(44223),a=r(53454),o=r(98327),i=r(61017),l=r(76723),u=r(72615),c=r(58221);function d({dirPaths:e,value:t,onChange:r,rootLabel:d="Root"}){let[m,f]=(0,s.useState)(!1),[p,x]=(0,s.useState)(t),[g,h]=(0,s.useState)(null),b=(0,s.useRef)(null),v=(0,s.useRef)(null);(0,s.useEffect)(()=>{x(t)},[t]);let y=(0,s.useCallback)(()=>{if(!b.current)return;let e=b.current.getBoundingClientRect(),t=window.innerHeight-e.bottom,r=e.top,n=t<208&&r>t;h({top:n?e.top:e.bottom,left:e.left,width:e.width,flipUp:n})},[]),j=(0,s.useRef)(0),w=(0,s.useCallback)(()=>{j.current||(j.current=requestAnimationFrame(()=>{j.current=0,y()}))},[y]);(0,s.useEffect)(()=>m?(y(),window.addEventListener("scroll",w,!0),window.addEventListener("resize",w),()=>{window.removeEventListener("scroll",w,!0),window.removeEventListener("resize",w),j.current&&(cancelAnimationFrame(j.current),j.current=0)}):void h(null),[m,y,w]);let k=(0,s.useCallback)(()=>f(!1),[]);(0,s.useEffect)(()=>{if(!m)return;let e=e=>{"Escape"===e.key&&(e.preventDefault(),k())},t=e=>{let t=e.target;b.current?.contains(t)||v.current?.contains(t)||k()};return document.addEventListener("keydown",e),document.addEventListener("mousedown",t),()=>{document.removeEventListener("keydown",e),document.removeEventListener("mousedown",t)}},[m,k]);let N=(0,s.useMemo)(()=>{let t=p?p+"/":"";return e.filter(e=>{if(!e.startsWith(t))return!1;let r=e.slice(t.length);return r.length>0&&!r.includes("/")}).sort()},[e,p]),S=(0,s.useMemo)(()=>p?p.split("/"):[],[p]),C=e=>{if(e<0)x(""),r("");else{let t=S.slice(0,e+1).join("/");x(t),r(t)}},A=t?t.split("/").map(e=>(0,c.vr)(e)).join(" / "):"/ "+d,E=m&&g&&(0,a.createPortal)((0,n.jsxs)("div",{ref:v,className:"fixed z-50 rounded-lg border border-[var(--amber)] bg-card shadow-lg overflow-hidden flex flex-col",style:{left:g.left,width:g.width,maxHeight:200,...g.flipUp?{bottom:window.innerHeight-g.top+4}:{top:g.top+4}},children:[(0,n.jsxs)("div",{className:"flex items-center gap-0.5 px-3 py-1.5 bg-muted/30 border-b border-border overflow-x-auto text-xs shrink-0",children:[(0,n.jsxs)("button",{type:"button",onClick:()=>C(-1),className:`shrink-0 px-1.5 py-0.5 rounded transition-colors ${""===p?"text-[var(--amber)] font-medium":"text-muted-foreground hover:text-foreground"}`,children:["/ ",d]}),S.map((e,t)=>(0,n.jsxs)("span",{className:"flex items-center gap-0.5 shrink-0",children:[(0,n.jsx)(o.A,{size:10,className:"text-muted-foreground/50"}),(0,n.jsx)("button",{type:"button",onClick:()=>C(t),className:`px-1.5 py-0.5 rounded transition-colors truncate max-w-[100px] ${t===S.length-1?"text-[var(--amber)] font-medium":"text-muted-foreground hover:text-foreground"}`,children:e})]},t))]}),N.length>0?(0,n.jsx)("div",{className:"flex-1 min-h-0 overflow-y-auto",children:N.map(t=>{let s=t.split("/").pop()||t,a=e.some(e=>e.startsWith(t+"/"));return(0,n.jsxs)("button",{type:"button",onClick:()=>{x(t),r(t)},className:"w-full flex items-center gap-2 px-3 py-1.5 text-xs text-foreground hover:bg-muted/60 transition-colors",children:[(0,n.jsx)(i.A,{size:12,className:"shrink-0 text-[var(--amber)]"}),(0,n.jsx)("span",{className:"flex-1 text-left truncate",children:s}),a&&(0,n.jsx)(o.A,{size:11,className:"shrink-0 text-muted-foreground/40"})]},t)})}):(0,n.jsx)("div",{className:"px-3 py-2 text-xs text-muted-foreground/50 text-center",children:"—"}),(0,n.jsx)("button",{type:"button",onClick:k,className:"w-full py-1.5 flex items-center justify-center gap-1 text-xs font-medium text-[var(--amber)] border-t border-border hover:bg-muted/30 transition-colors shrink-0",children:(0,n.jsx)(l.A,{size:12})})]}),document.body);return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("button",{ref:b,type:"button",onClick:()=>f(e=>!e),"aria-haspopup":"true","aria-expanded":m,className:`w-full flex items-center gap-2 px-3 py-2 text-sm rounded-lg border bg-background text-foreground transition-colors text-left focus-visible:ring-1 focus-visible:ring-ring outline-none ${m?"border-[var(--amber)]":"border-border hover:border-[var(--amber)]/40"}`,children:[(0,n.jsx)(i.A,{size:14,className:"shrink-0 text-[var(--amber)]"}),(0,n.jsx)("span",{className:"flex-1 truncate",children:A}),(0,n.jsx)(u.A,{size:14,className:`shrink-0 text-muted-foreground transition-transform duration-150 ${m?"rotate-180":""}`})]}),E]})}},28971:(e,t,r)=>{r.d(t,{z:()=>a});var n=r(44223);let s="mindos:acp-detection";function a(){let[e]=(0,n.useState)(()=>(function(){try{let e=sessionStorage.getItem(s);if(!e)return null;let t=JSON.parse(e);if("object"!=typeof t||null===t||Array.isArray(t)||!Array.isArray(t.installed)||!Array.isArray(t.notInstalled)||"number"!=typeof t.ts||Date.now()-t.ts>18e5)return null;return{installed:t.installed,notInstalled:t.notInstalled,ts:t.ts}}catch{return null}})()),t=(0,n.useRef)(e),[r,a]=(0,n.useState)(()=>e?.installed??[]),[o,i]=(0,n.useState)(()=>e?.notInstalled??[]),[l,u]=(0,n.useState)(()=>!e),[c,d]=(0,n.useState)(null),[m,f]=(0,n.useState)(0),p=(0,n.useRef)(!1),x=(0,n.useRef)(!1),g=(0,n.useCallback)(()=>{try{sessionStorage.removeItem(s)}catch{}t.current=null,x.current=!0,f(e=>e+1)},[]);return(0,n.useEffect)(()=>{let e=()=>g();return window.addEventListener("mindos:settings-changed",e),()=>window.removeEventListener("mindos:settings-changed",e)},[g]),(0,n.useEffect)(()=>{let e=x.current;if(x.current=!1,t.current&&Date.now()-t.current.ts<18e5&&0===m||p.current)return;p.current=!0;let n=r.length>0||o.length>0;n||u(!0),d(null);let l=!1;return fetch(`/api/acp/detect${e?"?force=1":""}`).then(e=>{if(!e.ok)throw Error(`HTTP ${e.status}`);return e.json()}).then(e=>{if(l)return;let r=e.installed??[],n=e.notInstalled??[];try{sessionStorage.setItem(s,JSON.stringify({installed:r,notInstalled:n,ts:Date.now()}))}catch{}t.current={installed:r,notInstalled:n,ts:Date.now()},a(r),i(n)}).catch(e=>{!l&&(n||d(e.message))}).finally(()=>{p.current=!1,l||u(!1)}),()=>{l=!0,p.current=!1}},[m]),{installedAgents:r,notInstalledAgents:o,loading:l,error:c,refresh:g}}},40235:(e,t,r)=>{r.d(t,{Oo:()=>s,dB:()=>c});var n=r(44223);function s(e){let t=e.replace(/<(thinking|reasoning|scratchpad)>[\s\S]*?<\/\1>/gi,"");return(t=t.replace(/<(?:thinking|reasoning|scratchpad)>[\s\S]*$/gi,"")).trim()}let a=new Set(["create_file","write_file","batch_create_files","append_to_file","insert_after_heading","update_section","edit_lines","delete_file","rename_file","move_file","append_csv"]),o=new Set(["read_file","read_lines","search","list_files"]);function i(e,t){return t&&"object"==typeof t?"string"==typeof t.path?t.path:"string"==typeof t.from_path?t.from_path:"batch_create_files"===e&&Array.isArray(t.files)?t.files.map(e=>e.path??"").filter(Boolean).join(", "):"":""}async function l(e){try{let t=await fetch(`/api/file?path=${encodeURIComponent(e)}&op=read_file`);if(!t.ok)return"";return(await t.json()).content??""}catch{return""}}async function u(e,t,r,n){let u=e.getReader(),c=new TextDecoder,d="",m=[],f=new Map,p="",x=0,g=new Set;try{for(;!n?.aborted;){let{done:e,value:n}=await u.read();if(e&&!d)break;e||(d+=c.decode(n,{stream:!0}));let y=e?[d]:d.split("\n");for(let n of(d=e?"":y.pop()??"",y)){let e,u=n.trim();if(!u.startsWith("data:"))continue;let c=u.slice(5).trim();if(!c)continue;try{e=JSON.parse(c)}catch{continue}let d=e.type;switch(d){case"tool_start":{var h,b,v;let n=e.toolName,s=e.toolCallId,u=e.args;x++;let c=(h=d,b=n,v=u,"text_delta"===h?{stage:"analyzing"}:"tool_start"===h&&b?a.has(b)?{stage:"writing",detail:i(b,v)||void 0}:o.has(b)?{stage:"reading",detail:v&&"object"==typeof v&&"path"in v&&"string"==typeof v.path?v.path:void 0}:{stage:"analyzing"}:null);if(c&&t({stageHint:c}),a.has(n)){let e=i(n,u),a="update";if("create_file"===n||"batch_create_files"===n?a="create":("delete_file"===n||"rename_file"===n||"move_file"===n)&&(a="unknown"),"update"===a&&e&&!g.has(e)){g.add(e);let t=await l(e);t&&r(e,t)}f.set(s,{name:n,path:e,action:a}),t({currentTool:{name:n,path:e}})}break}case"tool_end":{let r=e.toolCallId,n=!!e.isError,s=f.get(r);if(s){if("batch_create_files"===s.name)for(let e of s.path.split(", ").filter(Boolean))m.push({action:s.action,path:e,toolCallId:r,ok:!n});else m.push({action:s.action,path:s.path,toolCallId:r,ok:!n});f.delete(r),t({changes:[...m],currentTool:null})}break}case"text_delta":p+=e.delta??"",t({stageHint:{stage:"analyzing"},summary:s(p)});break;case"error":throw Error(e.message||"AI organize failed")}}if(e)break}}finally{u.releaseLock()}return{changes:m,summary:s(p),toolCallCount:x}}function c(){let[e,t]=(0,n.useState)("idle"),[r,s]=(0,n.useState)([]),[a,o]=(0,n.useState)(null),[i,l]=(0,n.useState)(null),[c,d]=(0,n.useState)(""),[m,f]=(0,n.useState)(null),[p,x]=(0,n.useState)(0),g=(0,n.useRef)(null),h=(0,n.useRef)(0),b=(0,n.useRef)(new Map),[v,y]=(0,n.useState)(()=>new Set),[j,w]=(0,n.useState)([]),[k,N]=(0,n.useState)("upload"),S=(0,n.useRef)(0),[C,A]=(0,n.useState)(0),E=(0,n.useCallback)(async(e,r,n="upload",a={})=>{t("organizing"),s([]),o(null),l({stage:"connecting"}),d(""),f(null),x(0),w(e.map(e=>e.name)),N(n),S.current=Date.now(),A(0),b.current=new Map,y(new Set),h.current=Date.now();let i=new AbortController;g.current=i;let c=e.map(e=>({name:e.name,content:e.content.length>2e4?e.content.slice(0,2e4)+"\n\n[...truncated to first ~20000 chars]":e.content}));try{let e={messages:[{role:"user",content:r}],uploadedFiles:c,maxSteps:15,mode:"organize"};a.providerOverride&&(e.providerOverride=a.providerOverride),a.modelOverride&&(e.modelOverride=a.modelOverride);let n=await fetch("/api/ask",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e),signal:i.signal});if(!n.ok){var m;let e,t=`Request failed (${n.status})`;try{let e=await n.json();"string"==typeof e?.error?t=e.error:"object"==typeof e?.error&&e.error?.message?t=e.error.message:e?.message&&(t=e.message)}catch{}throw Error((m=n.status,e=t.trim()||`Request failed (${m})`,401===m||403===m?`AI provider rejected the request (${m}). Check the selected API key/provider. ${e}`:404===m?`AI endpoint or selected model was not found (${m}). Check the selected provider/model. ${e}`:408===m||504===m?`AI organize timed out (${m}). Try fewer files or a faster model. ${e}`:429===m?`AI provider rate limit reached (${m}). Wait a moment or switch models. ${e}`:m>=500?`AI provider/server failed (${m}). ${e}`:e))}if(!n.body)throw Error("No response body");let f=await u(n.body,e=>{h.current=Date.now(),e.changes&&s(e.changes),void 0!==e.currentTool&&o(e.currentTool),e.stageHint&&l(e.stageHint),void 0!==e.summary&&d(e.summary)},(e,t)=>{b.current.set(e,t),y(t=>{if(t.has(e))return t;let r=new Set(t);return r.add(e),r})},i.signal);s(f.changes),d(f.summary),x(f.toolCallCount),o(null),A(Date.now()-S.current),t("done")}catch(e){"AbortError"===e.name?t("idle"):(f(e instanceof TypeError?"Could not reach the AI endpoint. Check network connectivity and provider settings.":e.message),t("error"))}finally{g.current=null}},[]),z=(0,n.useCallback)(()=>{g.current?.abort()},[]),R=(0,n.useCallback)(async e=>{let t=r.find(t=>t.path===e&&t.ok&&!t.undone);if(!t)return!1;try{if("create"===t.action){if(!(await fetch("/api/file",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({op:"delete_file",path:t.path})})).ok)return!1}else{if("update"!==t.action)return!1;let r=b.current.get(e);if(!r||!(await fetch("/api/file",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({op:"write_file",path:t.path,content:r})})).ok)return!1}return s(t=>t.map(t=>t.path===e&&t.ok&&!t.undone?{...t,undone:!0}:t)),!0}catch{return!1}},[r]),$=(0,n.useCallback)(async()=>{let e=r.filter(e=>e.ok&&!e.undone&&("create"===e.action||"update"===e.action&&b.current.has(e.path))),t=0;for(let r of e)try{if("create"===r.action)(await fetch("/api/file",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({op:"delete_file",path:r.path})})).ok&&t++;else if("update"===r.action){let e=b.current.get(r.path);e&&(await fetch("/api/file",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({op:"write_file",path:r.path,content:e})})).ok&&t++}}catch{}return t>0&&s(e=>e.map(e=>!e.ok||e.undone?e:"create"===e.action||"update"===e.action&&b.current.has(e.path)?{...e,undone:!0}:e)),t},[r]),T=(0,n.useCallback)(e=>{let t=r.find(t=>t.path===e&&t.ok&&!t.undone);return!!t&&("create"===t.action||"update"===t.action&&v.has(e))},[r,v]),L=r.some(e=>e.ok&&!e.undone&&("create"===e.action||"update"===e.action&&v.has(e.path))),M=(0,n.useCallback)(()=>{t("idle"),s([]),o(null),l(null),d(""),f(null),x(0),w([]),N("upload"),A(0),S.current=0,b.current=new Map,y(new Set),h.current=0},[]);return{phase:e,changes:r,currentTool:a,stageHint:i,summary:c,error:m,toolCallCount:p,sourceFileNames:j,source:k,durationMs:C,snapshots:b,start:E,abort:z,undoOne:R,undoAll:$,canUndo:T,hasAnyUndoable:L,reset:M}}},48234:(e,t,r)=>{r.d(t,{KT:()=>c,NH:()=>u});var n=r(44223);let s={open:!1,initialMessage:"",source:"user",acpAgent:null},a=new Set;function o(){a.forEach(e=>e())}function i(e){return a.add(e),()=>{a.delete(e)}}function l(){return s}function u(e="",t="user",r=null){s={open:!0,initialMessage:e,source:t,acpAgent:r},o()}function c(){let e=(0,n.useSyncExternalStore)(i,l,l);return{open:e.open,initialMessage:e.initialMessage,source:e.source,acpAgent:e.acpAgent,openWith:(0,n.useCallback)((e,t="user",r=null)=>u(e,t,r),[]),close:(0,n.useCallback)(()=>void(s={open:!1,initialMessage:"",source:"user",acpAgent:null},o()),[])}}},51740:(e,t,r)=>{r.d(t,{A:()=>s});var n=r(66839);function s({id:e,className:t="w-8 h-4"}){return(0,n.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 80 40",fill:"none",className:`${t} text-[var(--amber)]`,"aria-hidden":"true",children:[(0,n.jsxs)("defs",{children:[(0,n.jsxs)("linearGradient",{id:`grad-human-${e}`,x1:"35",y1:"20",x2:"5",y2:"20",gradientUnits:"userSpaceOnUse",children:[(0,n.jsx)("stop",{offset:"0%",stopColor:"currentColor",stopOpacity:"0.8"}),(0,n.jsx)("stop",{offset:"100%",stopColor:"currentColor",stopOpacity:"0.3"})]}),(0,n.jsxs)("linearGradient",{id:`grad-agent-${e}`,x1:"35",y1:"20",x2:"75",y2:"20",gradientUnits:"userSpaceOnUse",children:[(0,n.jsx)("stop",{offset:"0%",stopColor:"currentColor",stopOpacity:"0.8"}),(0,n.jsx)("stop",{offset:"100%",stopColor:"currentColor",stopOpacity:"1"})]})]}),(0,n.jsx)("path",{d:"M35,20 C25,35 8,35 8,20 C8,5 25,5 35,20",stroke:`url(#grad-human-${e})`,strokeWidth:"3",strokeDasharray:"2 4",strokeLinecap:"round"}),(0,n.jsx)("path",{d:"M35,20 C45,2 75,2 75,20 C75,38 45,38 35,20",stroke:`url(#grad-agent-${e})`,strokeWidth:"4.5",strokeLinecap:"round"}),(0,n.jsx)("path",{d:"M35,17.5 Q35,20 37.5,20 Q35,20 35,22.5 Q35,20 32.5,20 Q35,20 35,17.5 Z",fill:"var(--logo-sparkle)"})]})}},52445:(e,t,r)=>{r.d(t,{g:()=>n});let n=[{anchor:"files-panel",position:"right"},{anchor:"ask-button",position:"bottom"},{anchor:"agents-panel",position:"right"}]}}]);
@@ -0,0 +1,8 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4304],{7312:(e,t,r)=>{r.d(t,{A:()=>v,C:()=>g});var n=r(66839),o=r(44223),l=r(53454),s=r(34137),i=r(67885),a=r(38325),u=r(44361),d=r(76723),c=r(98327),m=r(72615),f=r(2073),p=r(69604),x=r(87756);let h="mindos-provider-model";function g(e=h){try{let t=localStorage.getItem(e);if(!t){if(e===h){let e=localStorage.getItem("mindos-provider-override");if(e&&((0,p.rl)(e)||(0,x.Ny)(e)))return{provider:e,model:null}}return{provider:null,model:null}}let r=JSON.parse(t),n=r?.provider&&((0,p.rl)(r.provider)||(0,x.Ny)(r.provider))?r.provider:null,o="string"==typeof r?.model?r.model:null;return{provider:n,model:o}}catch{return{provider:null,model:null}}}function b(e,t,r=h){try{e||t?localStorage.setItem(r,JSON.stringify({provider:e,model:t})):localStorage.removeItem(r),localStorage.removeItem("mindos-provider-override")}catch{}}function v({providerValue:e,onProviderChange:t,modelValue:r,onModelChange:g,disabled:v=!1,storageKey:y=h,systemLabel:w,emptyLabel:j}){let{t:N,locale:k}=(0,f.Y)(),[E,C]=(0,o.useState)(!1),S=(0,o.useRef)(null),z=(0,o.useRef)(null),A=(0,o.useRef)(null),L=(0,o.useRef)(null),M=(0,o.useRef)(null),[R,T]=(0,o.useState)(null),_=(0,o.useRef)(null),D=(0,o.useRef)(null),[I,P]=(0,o.useState)(null),[$,O]=(0,o.useState)({}),[H,W]=(0,o.useState)(null),[B,F]=(0,o.useState)(!1),[J,Z]=(0,o.useState)(""),[q,K]=(0,o.useState)(""),[U,V]=(0,o.useState)(-1),[Y,Q]=(0,o.useState)(null),X=(0,o.useRef)(0),G=(0,o.useRef)({}),ee=(0,o.useRef)(void 0),et=(0,o.useRef)(void 0),er=(0,o.useCallback)(()=>{ee.current&&(clearTimeout(ee.current),ee.current=void 0)},[]),en=(0,o.useCallback)(()=>{er(),ee.current=setTimeout(()=>{P(null),K("")},300)},[er]);(0,o.useEffect)(()=>{let e=!1,t=()=>{fetch("/api/settings",{cache:"no-store"}).then(e=>e.json()).then(t=>{e||T(t)}).catch(()=>{})};t();let r=()=>{"visible"===document.visibilityState&&t()},n=()=>t();return document.addEventListener("visibilitychange",r),window.addEventListener("mindos:settings-changed",n),()=>{e=!0,document.removeEventListener("visibilitychange",r),window.removeEventListener("mindos:settings-changed",n)}},[]);let eo=R?.ai?.activeProvider||"",el=(0,o.useMemo)(()=>R?(R.ai?.providers??[]).map(e=>e.id):[],[R]),es=(0,o.useRef)(!1);(0,o.useEffect)(()=>{R&&!es.current&&(es.current=!0,e&&!el.includes(e)&&(t(null),g(null),b(null,null,y)))},[el,g,t,e,R,y]);let ei=e??eo,ea=(0,x.lh)(R?.ai?.providers??[],String(ei)),eu=ea?p.T_[ea.protocol]:null,ed=ea?.model||eu?.defaultModel||"",ec=r||ed,em=ea?.name||(eu?"zh"===k?eu.nameZh:eu.name:String(ei)),[ef,ep]=(0,o.useState)({}),ex=(0,o.useRef)(void 0),eh=(0,o.useCallback)(()=>{if(!S.current)return;let e=S.current.getBoundingClientRect(),t=e.top>window.innerHeight-e.bottom&&e.top>280;ep({position:"fixed",left:Math.min(e.left,window.innerWidth-270),...t?{bottom:window.innerHeight-e.top+6}:{top:e.bottom+6},zIndex:60})},[]),eg=(0,o.useCallback)(()=>{ex.current&&clearTimeout(ex.current),ex.current=setTimeout(()=>{eh()},0)},[eh]);(0,o.useEffect)(()=>()=>{ee.current&&clearTimeout(ee.current),et.current&&clearTimeout(et.current),ex.current&&clearTimeout(ex.current)},[]),(0,o.useEffect)(()=>{E&&eh()},[E,eh]),(0,o.useEffect)(()=>{if(E)return window.addEventListener("scroll",eg,!0),window.addEventListener("resize",eg),()=>{window.removeEventListener("scroll",eg,!0),window.removeEventListener("resize",eg),ex.current&&clearTimeout(ex.current)}},[E,eg]),(0,o.useEffect)(()=>{if(!E)return;let e=e=>{let t=e.target;S.current?.contains(t)||z.current?.contains(t)||A.current?.contains(t)||(C(!1),P(null))};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[E]),(0,o.useEffect)(()=>{if(!E)return;let e=e=>{"Escape"===e.key&&(I?(P(null),K("")):C(!1))};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[E,I]);let eb=(0,o.useCallback)(async(e,t=!1)=>{if(!t&&G.current[e]){W(G.current[e]),F(!1);return}t&&delete G.current[e],F(!0),Z(""),W(null);let r=++X.current;try{let t=await fetch("/api/settings/list-models",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider:e})});if(r!==X.current)return;let n=await t.json();if(r!==X.current)return;n.ok&&Array.isArray(n.models)?(G.current[e]=n.models,W(n.models)):Z(n.error||"Failed")}catch{r===X.current&&Z("Network error")}finally{r===X.current&&F(!1)}},[]);(0,o.useEffect)(()=>{Y&&eb(Y.providerId,!0)},[eb,Y]);let ev=(0,o.useCallback)(e=>{Q(t=>({providerId:e,nonce:(t?.nonce??0)+1}))},[]),ey=(0,o.useCallback)(e=>{let t=(0,x.lh)(R?.ai?.providers??[],e);if(!t)return!1;let r=p.T_[t.protocol];return r?.supportsListModels??!1},[R]),ew=(0,o.useCallback)(()=>{let e=_.current,t=D.current;if(!e||!t)return;let r=e.getBoundingClientRect(),n=t.getBoundingClientRect(),o=r.right+4,l=n.top;window.innerHeight-l<320&&(l=Math.max(8,n.bottom-320)),O({position:"fixed",left:o+220>window.innerWidth-8?r.left-220-4:o,top:l,zIndex:51,pointerEvents:"auto"})},[]),ej=(0,o.useCallback)(e=>{er(),et.current&&clearTimeout(et.current),et.current=setTimeout(()=>{if(!ey(e)){P(null),K("");return}P(e),K(""),V(-1),Z(""),W(G.current[e]??null),G.current[e]||eb(e),requestAnimationFrame(()=>{ew(),setTimeout(()=>L.current?.focus(),50)})},80)},[er,eb,ew,ey]),eN=(0,o.useCallback)(()=>{er(),et.current&&(clearTimeout(et.current),et.current=void 0),P(null),K("")},[er]),ek=(0,o.useCallback)(e=>{t(e),g(null),b(e,null,y),C(!1),P(null),K("")},[g,t,y]),eE=(0,o.useCallback)((e,r)=>{t(e),g(r),b(e,r,y),C(!1),P(null),K("")},[g,t,y]),eC=(0,o.useMemo)(()=>{if(!H)return[];if(!q.trim())return H;let e=q.toLowerCase();return H.filter(t=>t.toLowerCase().includes(e))},[H,q]),eS=(0,o.useCallback)(e=>{eC.length&&("ArrowDown"===e.key?(e.preventDefault(),V(e=>(e+1)%eC.length)):"ArrowUp"===e.key?(e.preventDefault(),V(e=>(e-1+eC.length)%eC.length)):"Enter"===e.key&&U>=0&&U<eC.length&&I?(e.preventDefault(),eE(I,eC[U])):"Escape"===e.key&&(e.preventDefault(),P(null),K("")))},[eC,U,I,eE]);if((0,o.useEffect)(()=>{if(U<0||!M.current)return;let e=M.current.querySelectorAll("[data-model-item]");e[U]?.scrollIntoView({block:"nearest"})},[U]),!R||0===el.length)return j?(0,n.jsxs)("button",{type:"button",disabled:!0,className:"relative z-10 inline-flex min-h-6 items-center gap-1 rounded-full border border-border/50 bg-muted/35 px-2.5 py-0.5 text-2xs font-medium text-muted-foreground/70 disabled:cursor-not-allowed",children:[(0,n.jsx)(s.A,{size:11,className:"shrink-0"}),(0,n.jsx)("span",{className:"truncate",children:R?j:w??"Model"})]}):null;let ez=(ec||"").length>20?(ec||"").slice(0,18)+"…":ec,eA=!!(r&&r!==ed),eL=(()=>{if(!e&&!eA&&w)return w;let t=ea?.name||"";return t&&t.length>12?t.slice(0,10)+"…":t||eu?.shortLabel||em})(),eM=`${em} \xb7 ${ec}`,eR=E?(0,n.jsx)("div",{ref:z,style:ef,children:(0,n.jsxs)("div",{ref:_,role:"listbox","aria-label":N.ask?.providerCapsule??"Provider",className:"w-[260px] rounded-lg border border-border bg-card shadow-lg py-1 animate-in fade-in-0 zoom-in-95 duration-100",style:{maxHeight:"70vh",overflowY:"auto"},children:[(0,n.jsxs)("button",{type:"button",role:"option","aria-selected":!e&&!r,onClick:()=>ek(null),className:"flex w-full items-center gap-2 px-3 py-1.5 text-left text-xs transition-colors hover:bg-muted/60",children:[(0,n.jsx)(s.A,{size:11,className:"shrink-0 text-muted-foreground"}),(0,n.jsx)("span",{className:"shrink-0 font-medium text-foreground",children:w??N.ask?.providerDefault??"Default"}),ed&&(0,n.jsx)("span",{className:"min-w-0 truncate rounded bg-muted/70 px-1.5 py-px text-[10px] font-mono leading-tight text-muted-foreground",children:ed}),!e&&!r&&(0,n.jsx)(d.A,{size:11,className:"shrink-0 ml-auto text-[var(--amber)]"})]}),(0,n.jsx)("div",{className:"my-0.5 border-t border-border/50"}),el.map(t=>{let o=(0,x.lh)(R?.ai?.providers??[],t);if(!o)return null;let l=p.T_[o.protocol],s=o.name||("zh"===k?l?.nameZh:l?.name)||t,i=r&&e===t?r:o.model||l?.defaultModel||"",a=e===t,u=I===t,m=ey(t);return(0,n.jsx)("div",{ref:u?D:void 0,onMouseEnter:()=>m?ej(t):eN(),onMouseLeave:en,children:(0,n.jsxs)("div",{className:`flex w-full items-center text-xs transition-colors ${u?"bg-accent/60":"hover:bg-muted/60"}`,children:[(0,n.jsxs)("button",{type:"button",role:"option","aria-selected":a,onClick:()=>ek(t),className:"flex flex-1 items-center gap-2 px-3 py-1.5 min-w-0 text-left",children:[(0,n.jsx)("span",{className:`shrink-0 text-xs ${a?"font-medium text-foreground":"text-foreground/80"}`,children:s}),i&&(0,n.jsx)("span",{className:"min-w-0 truncate rounded bg-muted/70 px-1.5 py-px text-[10px] font-mono leading-tight text-muted-foreground",children:i}),a&&(0,n.jsx)(d.A,{size:11,className:"shrink-0 ml-auto text-[var(--amber)]"})]}),m&&(0,n.jsx)("button",{type:"button",onClick:e=>{e.stopPropagation(),I===t?eN():ej(t)},className:`shrink-0 px-1.5 py-1.5 mr-1 rounded transition-colors ${u?"text-foreground":"text-muted-foreground/40 hover:text-muted-foreground"}`,title:N.ask?.selectModel??"Select model",children:(0,n.jsx)(c.A,{size:11})})]})},t)})]})}):null;return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("button",{ref:S,type:"button",onClick:()=>{!v&&(C(e=>!e),E&&(P(null),K("")))},disabled:v,className:`
2
+ relative z-10 inline-flex min-h-6 items-center gap-1 rounded-full px-2.5 py-0.5
3
+ text-2xs font-medium transition-colors select-none max-w-[260px]
4
+ pointer-events-auto touch-manipulation
5
+ border focus:outline-none focus-visible:ring-2 focus-visible:ring-ring
6
+ disabled:pointer-events-none disabled:opacity-40 disabled:cursor-not-allowed
7
+ ${e||eA?"bg-[var(--amber)]/10 border-[var(--amber)]/25 text-foreground hover:bg-[var(--amber)]/15":"bg-muted/50 border-border/50 text-muted-foreground hover:bg-muted hover:text-foreground"}
8
+ `,title:eM,"aria-expanded":E,"aria-haspopup":"listbox",children:[(0,n.jsx)(s.A,{size:11,className:"shrink-0"}),(0,n.jsxs)("span",{className:"truncate",children:[eL,(0,n.jsx)("span",{className:"text-muted-foreground",children:" \xb7 "}),(0,n.jsx)("span",{className:eA?"text-[var(--amber)]":"text-muted-foreground",children:ez})]}),(0,n.jsx)(m.A,{size:10,className:"shrink-0 text-muted-foreground"})]}),"u">typeof document&&eR&&(0,l.createPortal)(eR,document.body),"u">typeof document&&E&&(()=>{if(!I)return null;let t=(0,x.lh)(R?.ai?.providers??[],I),o=t?p.T_[t.protocol]:null,s=t?.name||(o?"zh"===k?o.nameZh:o.name:String(I));return(0,l.createPortal)((0,n.jsxs)("div",{ref:A,style:$,className:"w-[220px] rounded-lg border border-border bg-card shadow-lg py-1 animate-in fade-in-0 zoom-in-95 duration-100",onMouseEnter:er,onMouseLeave:en,children:[(0,n.jsxs)("div",{className:"flex items-center justify-between px-3 py-1.5 border-b border-border/40",children:[(0,n.jsx)("span",{className:"text-2xs font-medium text-muted-foreground",children:s}),(0,n.jsx)("button",{type:"button",onClick:()=>ev(I),disabled:B,className:"inline-flex h-7 w-7 items-center justify-center rounded-md text-muted-foreground/50 transition-colors duration-75 hover:bg-muted hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:opacity-30 touch-manipulation",title:"Refresh",children:(0,n.jsx)(i.A,{size:10,className:B?"animate-spin":""})})]}),(0,n.jsx)("div",{className:"px-2 pt-1.5 pb-1",children:(0,n.jsxs)("div",{className:"relative",children:[(0,n.jsx)(a.A,{size:10,className:"absolute left-2 top-1/2 -translate-y-1/2 text-muted-foreground/40"}),(0,n.jsx)("input",{ref:L,type:"text",value:q,onChange:e=>{K(e.target.value),V(-1)},onKeyDown:eS,placeholder:N.ask?.searchModels??"Search...",className:"w-full text-2xs pl-6 pr-2 py-1 rounded border border-border/50 bg-transparent text-foreground placeholder:text-muted-foreground/40 focus:outline-none focus-visible:border-[var(--amber)]/50",autoComplete:"off"})]})}),(0,n.jsxs)("div",{ref:M,className:"max-h-[240px] overflow-y-auto px-1 pb-1",children:[B&&!H&&(0,n.jsxs)("div",{className:"flex items-center gap-1.5 px-2 py-3 text-2xs text-muted-foreground justify-center",children:[(0,n.jsx)(u.A,{size:10,className:"animate-spin"}),N.ask?.loadingModels??"Loading..."]}),J&&!B&&(0,n.jsx)("div",{className:"px-2 py-3 text-2xs text-destructive text-center",children:J}),!B&&!J&&0===eC.length&&null!==H&&(0,n.jsx)("div",{className:"px-2 py-3 text-2xs text-muted-foreground text-center",children:q?"No matches":"No models"}),eC.map((l,s)=>{let i=e===I&&r===l,a=t?.model||o?.defaultModel;return(0,n.jsxs)("button",{type:"button","data-model-item":!0,onClick:()=>eE(I,l),className:`w-full text-left px-2 py-1 text-2xs rounded transition-colors flex items-center gap-1 ${i?"bg-[var(--amber)]/12 text-foreground font-medium":s===U?"bg-accent":"hover:bg-accent/60"}`,children:[i?(0,n.jsx)(d.A,{size:9,className:"shrink-0 text-[var(--amber)]"}):(0,n.jsx)("span",{className:"w-[9px] shrink-0"}),(0,n.jsx)("span",{className:"truncate",children:l}),l===a&&!i&&(0,n.jsx)("span",{className:"ml-auto text-[9px] text-muted-foreground/30 shrink-0",children:"default"})]},l)})]})]}),document.body)})()]})}},58221:(e,t,r)=>{r.d(t,{IX:()=>a,KW:()=>i,O0:()=>s,cn:()=>l,vr:()=>u});var n=r(10325),o=r(91498);function l(...e){return(0,o.QP)((0,n.$)(e))}function s(e){return e.split("/").map(encodeURIComponent).join("/")}function i(e,t){let r=Date.now()-e,n=Math.floor(r/6e4),o=Math.floor(r/36e5),l=Math.floor(r/864e5);return n<1?t.justNow:n<60?t.minutesAgo(n):o<24?t.hoursAgo(o):l<7?t.daysAgo(l):new Date(e).toLocaleDateString()}function a(e){let t=e.match(/^[\p{Emoji_Presentation}\p{Extended_Pictographic}]+/u);return t?.[0]??""}function u(e){return e.replace(/^[\p{Emoji_Presentation}\p{Extended_Pictographic}\s]+/u,"")||e}},87756:(e,t,r)=>{function n(){return"p_"+Math.random().toString(36).slice(2,10)}function o(e){return"string"==typeof e&&e.startsWith("p_")}function l(e,t){return e.find(e=>e.id===t)}r.d(t,{Ny:()=>o,lh:()=>l,mV:()=>n}),r(69604)}}]);
@@ -1 +1 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2245],{72245:(e,s,t)=>{t.r(s),t.d(s,{default:()=>b});var a=t(66839),r=t(44223),n=t(53454),i=t(72799),l=t(19378),o=t(5038),c=t(61017),d=t(44361),u=t(56261),m=t(58221),x=t(65799);let p=(0,x.createServerReference)("7014dde6c70c237e36c44915185f7175ef6ba51cd8",x.callServer,void 0,x.findSourceMapURL,"createSpaceAction");var f=t(62800),h=t(25176);function b({t:e,dirPaths:s}){let t=(0,u.useRouter)(),[x,b]=(0,r.useState)(!1),[g,v]=(0,r.useState)(""),[N,j]=(0,r.useState)(""),[w,y]=(0,r.useState)(""),[k,S]=(0,r.useState)(!1),[C,A]=(0,r.useState)(""),[E,I]=(0,r.useState)(""),[L,z]=(0,r.useState)(null),[D,R]=(0,r.useState)(!0),K=(0,r.useRef)(null);(0,r.useEffect)(()=>{let e=()=>{b(!0),A(""),I(""),setTimeout(()=>K.current?.focus(),80)};return window.addEventListener("mindos:create-space",e),()=>window.removeEventListener("mindos:create-space",e)},[]),(0,r.useEffect)(()=>{x&&null===L&&(0,f.wD)().then(e=>{z(e),R(e)})},[x,L]);let M=(0,r.useCallback)(()=>{b(!1),v(""),j(""),y(""),A(""),I(""),z(null)},[]),P=(0,r.useCallback)(s=>s.includes("/")||s.includes("\\")?(I(e.home.spaceNameNoSlash??"Name cannot contain / or \\"),!1):(I(""),!0),[e]),T=(0,r.useMemo)(()=>{let e=g.trim();return e?(w?w+"/":"")+e+"/":""},[g,w]),$=(0,r.useCallback)(async()=>{if(!g.trim()||k||!P(g))return;S(!0),A("");let s=g.trim(),a=await p(s,N,w);if(a.success){let e=a.path??s;D&&L&&(0,f.Vz)(s,e,N),M(),t.refresh(),window.dispatchEvent(new Event("mindos:files-changed")),t.push(`/view/${(0,m.O0)(e+"/")}`)}else(a.error??"").includes("already exists")?A(e.home.spaceExists??"A space with this name already exists"):A(e.home.spaceCreateFailed??"Failed to create space");S(!1)},[g,N,w,k,M,t,e,P,D,L]),_=(0,r.useCallback)(e=>{"Escape"===e.key&&M(),"Enter"===e.key&&!e.shiftKey&&e.target instanceof HTMLInputElement&&(e.preventDefault(),$())},[M,$]);if(!x)return null;let F=e.home;return(0,n.createPortal)((0,a.jsxs)("div",{className:"fixed inset-0 z-50 flex items-center justify-center",onKeyDown:_,children:[(0,a.jsx)("div",{className:"absolute inset-0 overlay-backdrop",onClick:M}),(0,a.jsxs)("div",{role:"dialog","aria-modal":"true","aria-label":F.newSpace,className:"relative w-full max-w-md mx-4 rounded-2xl border border-border bg-card shadow-xl",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between px-5 pt-5 pb-3",children:[(0,a.jsx)("h3",{className:"text-base font-semibold text-foreground",children:F.newSpace}),(0,a.jsx)("button",{onClick:M,className:"p-1 rounded-md text-muted-foreground hover:bg-muted transition-colors",children:(0,a.jsx)(i.A,{size:14})})]}),(0,a.jsxs)("div",{className:"px-5 pb-5 flex flex-col gap-3",children:[(0,a.jsxs)("div",{className:"space-y-1",children:[(0,a.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:F.spaceLocation??"Location"}),(0,a.jsx)(h.A,{dirPaths:s,value:w,onChange:y,rootLabel:F.rootLevel??"Root"})]}),(0,a.jsxs)("div",{className:"space-y-1",children:[(0,a.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:F.spaceName}),(0,a.jsx)("input",{ref:K,type:"text",value:g,onChange:e=>{v(e.target.value),A(""),P(e.target.value)},placeholder:"e.g. \uD83D\uDCDD Notes",maxLength:80,"aria-invalid":!!E,"aria-describedby":E?"space-name-hint":void 0,className:`w-full px-3 py-2 text-sm rounded-lg border bg-background outline-none transition-colors ${E?"border-error focus-visible:border-error":"border-border focus-visible:ring-1 focus-visible:ring-ring"}`}),E&&(0,a.jsx)("span",{id:"space-name-hint",className:"text-xs text-error",children:E})]}),(0,a.jsxs)("div",{className:"space-y-1",children:[(0,a.jsxs)("label",{className:"text-xs font-medium text-muted-foreground",children:[F.spaceDescription," ",(0,a.jsxs)("span",{className:"opacity-50",children:["(",F.optional??"optional",")"]})]}),(0,a.jsx)("input",{type:"text",value:N,onChange:e=>j(e.target.value),placeholder:F.spaceDescPlaceholder??"Describe the purpose of this space",maxLength:200,className:"w-full px-3 py-2 text-sm rounded-lg border border-border bg-background text-foreground placeholder:text-muted-foreground outline-none focus-visible:ring-1 focus-visible:ring-ring transition-colors"})]}),(0,a.jsxs)("div",{className:"flex items-start gap-2.5 px-1 py-1",children:[(0,a.jsx)("button",{type:"button",role:"switch","aria-checked":D,disabled:!L,title:L?void 0:e.hints.configureAiKey,onClick:()=>R(e=>!e),className:`relative mt-0.5 inline-flex shrink-0 h-4 w-7 cursor-pointer rounded-full border-2 border-transparent transition-colors focus-visible:ring-2 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 ${D?"bg-[var(--amber)]":"bg-muted"}`,children:(0,a.jsx)("span",{className:`pointer-events-none inline-block h-3 w-3 rounded-full bg-white shadow-sm transition-transform ${D?"translate-x-3":"translate-x-0"}`})}),(0,a.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,a.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,a.jsx)(l.A,{size:12,className:"text-[var(--amber)] shrink-0"}),(0,a.jsx)("span",{className:"text-xs font-medium text-foreground",children:F.aiInit??"AI initialize content"})]}),!1===L&&(0,a.jsxs)("p",{className:"text-2xs text-muted-foreground mt-0.5 flex items-center gap-1",children:[(0,a.jsx)(o.A,{size:10,className:"text-[var(--amber)] shrink-0"}),F.aiInitNoKey??"Configure an API key in Settings → AI to enable"]}),L&&D&&(0,a.jsx)("p",{className:"text-2xs text-muted-foreground mt-0.5",children:F.aiInitHint??"AI will generate README and INSTRUCTION for this space"})]})]}),T&&(0,a.jsxs)("div",{className:"flex items-center gap-1.5 text-xs text-muted-foreground font-mono px-1",children:[(0,a.jsx)(c.A,{size:12,className:"shrink-0 text-[var(--amber)]"}),(0,a.jsx)("span",{className:"truncate",children:T})]}),C&&(0,a.jsx)("span",{role:"alert",className:"text-xs text-error px-1",children:C}),(0,a.jsxs)("div",{className:"flex items-center justify-end gap-2 pt-1",children:[(0,a.jsx)("button",{onClick:M,className:"px-4 py-2 rounded-lg text-sm font-medium text-muted-foreground transition-colors hover:bg-muted",children:F.cancelCreate}),(0,a.jsxs)("button",{onClick:$,disabled:!g.trim()||k||!!E,className:"flex items-center gap-1.5 px-4 py-2 rounded-lg text-sm font-medium bg-[var(--amber)] text-[var(--amber-foreground)] transition-colors hover:opacity-90 disabled:opacity-50 disabled:cursor-not-allowed",children:[k&&(0,a.jsx)(d.A,{size:14,className:"animate-spin"}),F.createSpace]})]})]})]})]}),document.body)}}}]);
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5098],{75098:(e,s,t)=>{t.r(s),t.d(s,{default:()=>h});var a=t(66839),r=t(44223),n=t(53454),i=t(72799),l=t(19378),o=t(5038),c=t(61017),d=t(44361),u=t(56261),m=t(58221),x=t(65799);let p=(0,x.createServerReference)("70972d0e79d9b4d19cb6ef1825f5b5eb84e8ad23ac",x.callServer,void 0,x.findSourceMapURL,"createSpaceAction");var f=t(62800),b=t(25176);function h({t:e,dirPaths:s}){let t=(0,u.useRouter)(),[x,h]=(0,r.useState)(!1),[g,v]=(0,r.useState)(""),[N,j]=(0,r.useState)(""),[w,y]=(0,r.useState)(""),[k,S]=(0,r.useState)(!1),[C,A]=(0,r.useState)(""),[E,I]=(0,r.useState)(""),[L,z]=(0,r.useState)(null),[D,R]=(0,r.useState)(!0),K=(0,r.useRef)(null);(0,r.useEffect)(()=>{let e=()=>{h(!0),A(""),I(""),setTimeout(()=>K.current?.focus(),80)};return window.addEventListener("mindos:create-space",e),()=>window.removeEventListener("mindos:create-space",e)},[]),(0,r.useEffect)(()=>{x&&null===L&&(0,f.wD)().then(e=>{z(e),R(e)})},[x,L]);let M=(0,r.useCallback)(()=>{h(!1),v(""),j(""),y(""),A(""),I(""),z(null)},[]),P=(0,r.useCallback)(s=>s.includes("/")||s.includes("\\")?(I(e.home.spaceNameNoSlash??"Name cannot contain / or \\"),!1):(I(""),!0),[e]),T=(0,r.useMemo)(()=>{let e=g.trim();return e?(w?w+"/":"")+e+"/":""},[g,w]),$=(0,r.useCallback)(async()=>{if(!g.trim()||k||!P(g))return;S(!0),A("");let s=g.trim(),a=await p(s,N,w);if(a.success){let e=a.path??s;D&&L&&(0,f.Vz)(s,e,N),M(),t.refresh(),window.dispatchEvent(new Event("mindos:files-changed")),t.push(`/view/${(0,m.O0)(e+"/")}`)}else(a.error??"").includes("already exists")?A(e.home.spaceExists??"A space with this name already exists"):A(e.home.spaceCreateFailed??"Failed to create space");S(!1)},[g,N,w,k,M,t,e,P,D,L]),_=(0,r.useCallback)(e=>{"Escape"===e.key&&M(),"Enter"===e.key&&!e.shiftKey&&e.target instanceof HTMLInputElement&&(e.preventDefault(),$())},[M,$]);if(!x)return null;let F=e.home;return(0,n.createPortal)((0,a.jsxs)("div",{className:"fixed inset-0 z-50 flex items-center justify-center",onKeyDown:_,children:[(0,a.jsx)("div",{className:"absolute inset-0 overlay-backdrop",onClick:M}),(0,a.jsxs)("div",{role:"dialog","aria-modal":"true","aria-label":F.newSpace,className:"relative w-full max-w-md mx-4 rounded-2xl border border-border bg-card shadow-xl",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between px-5 pt-5 pb-3",children:[(0,a.jsx)("h3",{className:"text-base font-semibold text-foreground",children:F.newSpace}),(0,a.jsx)("button",{onClick:M,className:"p-1 rounded-md text-muted-foreground hover:bg-muted transition-colors",children:(0,a.jsx)(i.A,{size:14})})]}),(0,a.jsxs)("div",{className:"px-5 pb-5 flex flex-col gap-3",children:[(0,a.jsxs)("div",{className:"space-y-1",children:[(0,a.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:F.spaceLocation??"Location"}),(0,a.jsx)(b.A,{dirPaths:s,value:w,onChange:y,rootLabel:F.rootLevel??"Root"})]}),(0,a.jsxs)("div",{className:"space-y-1",children:[(0,a.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:F.spaceName}),(0,a.jsx)("input",{ref:K,type:"text",value:g,onChange:e=>{v(e.target.value),A(""),P(e.target.value)},placeholder:"e.g. \uD83D\uDCDD Notes",maxLength:80,"aria-invalid":!!E,"aria-describedby":E?"space-name-hint":void 0,className:`w-full px-3 py-2 text-sm rounded-lg border bg-background outline-none transition-colors ${E?"border-error focus-visible:border-error":"border-border focus-visible:ring-1 focus-visible:ring-ring"}`}),E&&(0,a.jsx)("span",{id:"space-name-hint",className:"text-xs text-error",children:E})]}),(0,a.jsxs)("div",{className:"space-y-1",children:[(0,a.jsxs)("label",{className:"text-xs font-medium text-muted-foreground",children:[F.spaceDescription," ",(0,a.jsxs)("span",{className:"opacity-50",children:["(",F.optional??"optional",")"]})]}),(0,a.jsx)("input",{type:"text",value:N,onChange:e=>j(e.target.value),placeholder:F.spaceDescPlaceholder??"Describe the purpose of this space",maxLength:200,className:"w-full px-3 py-2 text-sm rounded-lg border border-border bg-background text-foreground placeholder:text-muted-foreground outline-none focus-visible:ring-1 focus-visible:ring-ring transition-colors"})]}),(0,a.jsxs)("div",{className:"flex items-start gap-2.5 px-1 py-1",children:[(0,a.jsx)("button",{type:"button",role:"switch","aria-checked":D,disabled:!L,title:L?void 0:e.hints.configureAiKey,onClick:()=>R(e=>!e),className:`relative mt-0.5 inline-flex shrink-0 h-4 w-7 cursor-pointer rounded-full border-2 border-transparent transition-colors focus-visible:ring-2 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 ${D?"bg-[var(--amber)]":"bg-muted"}`,children:(0,a.jsx)("span",{className:`pointer-events-none inline-block h-3 w-3 rounded-full bg-white shadow-sm transition-transform ${D?"translate-x-3":"translate-x-0"}`})}),(0,a.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,a.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,a.jsx)(l.A,{size:12,className:"text-[var(--amber)] shrink-0"}),(0,a.jsx)("span",{className:"text-xs font-medium text-foreground",children:F.aiInit??"AI initialize content"})]}),!1===L&&(0,a.jsxs)("p",{className:"text-2xs text-muted-foreground mt-0.5 flex items-center gap-1",children:[(0,a.jsx)(o.A,{size:10,className:"text-[var(--amber)] shrink-0"}),F.aiInitNoKey??"Configure an API key in Settings → AI to enable"]}),L&&D&&(0,a.jsx)("p",{className:"text-2xs text-muted-foreground mt-0.5",children:F.aiInitHint??"AI will generate README and INSTRUCTION for this space"})]})]}),T&&(0,a.jsxs)("div",{className:"flex items-center gap-1.5 text-xs text-muted-foreground font-mono px-1",children:[(0,a.jsx)(c.A,{size:12,className:"shrink-0 text-[var(--amber)]"}),(0,a.jsx)("span",{className:"truncate",children:T})]}),C&&(0,a.jsx)("span",{role:"alert",className:"text-xs text-error px-1",children:C}),(0,a.jsxs)("div",{className:"flex items-center justify-end gap-2 pt-1",children:[(0,a.jsx)("button",{onClick:M,className:"px-4 py-2 rounded-lg text-sm font-medium text-muted-foreground transition-colors hover:bg-muted",children:F.cancelCreate}),(0,a.jsxs)("button",{onClick:$,disabled:!g.trim()||k||!!E,className:"flex items-center gap-1.5 px-4 py-2 rounded-lg text-sm font-medium bg-[var(--amber)] text-[var(--amber-foreground)] transition-colors hover:opacity-90 disabled:opacity-50 disabled:cursor-not-allowed",children:[k&&(0,a.jsx)(d.A,{size:14,className:"animate-spin"}),F.createSpace]})]})]})]})]}),document.body)}}}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5840],{72997:e=>{!function(){"use strict";var t={114:function(e){function t(e){if("string"!=typeof e)throw TypeError("Path must be a string. Received "+JSON.stringify(e))}function r(e,t){for(var r,a="",l=0,s=-1,n=0,i=0;i<=e.length;++i){if(i<e.length)r=e.charCodeAt(i);else if(47===r)break;else r=47;if(47===r){if(s===i-1||1===n);else if(s!==i-1&&2===n){if(a.length<2||2!==l||46!==a.charCodeAt(a.length-1)||46!==a.charCodeAt(a.length-2)){if(a.length>2){var o=a.lastIndexOf("/");if(o!==a.length-1){-1===o?(a="",l=0):l=(a=a.slice(0,o)).length-1-a.lastIndexOf("/"),s=i,n=0;continue}}else if(2===a.length||1===a.length){a="",l=0,s=i,n=0;continue}}t&&(a.length>0?a+="/..":a="..",l=2)}else a.length>0?a+="/"+e.slice(s+1,i):a=e.slice(s+1,i),l=i-s-1;s=i,n=0}else 46===r&&-1!==n?++n:n=-1}return a}var a={resolve:function(){for(var e,a,l="",s=!1,n=arguments.length-1;n>=-1&&!s;n--)n>=0?a=arguments[n]:(void 0===e&&(e=""),a=e),t(a),0!==a.length&&(l=a+"/"+l,s=47===a.charCodeAt(0));if(l=r(l,!s),s)if(l.length>0)return"/"+l;else return"/";return l.length>0?l:"."},normalize:function(e){if(t(e),0===e.length)return".";var a=47===e.charCodeAt(0),l=47===e.charCodeAt(e.length-1);return(0!==(e=r(e,!a)).length||a||(e="."),e.length>0&&l&&(e+="/"),a)?"/"+e:e},isAbsolute:function(e){return t(e),e.length>0&&47===e.charCodeAt(0)},join:function(){if(0==arguments.length)return".";for(var e,r=0;r<arguments.length;++r){var l=arguments[r];t(l),l.length>0&&(void 0===e?e=l:e+="/"+l)}return void 0===e?".":a.normalize(e)},relative:function(e,r){if(t(e),t(r),e===r||(e=a.resolve(e))===(r=a.resolve(r)))return"";for(var l=1;l<e.length&&47===e.charCodeAt(l);++l);for(var s=e.length,n=s-l,i=1;i<r.length&&47===r.charCodeAt(i);++i);for(var o=r.length-i,c=n<o?n:o,d=-1,m=0;m<=c;++m){if(m===c){if(o>c){if(47===r.charCodeAt(i+m))return r.slice(i+m+1);else if(0===m)return r.slice(i+m)}else n>c&&(47===e.charCodeAt(l+m)?d=m:0===m&&(d=0));break}var f=e.charCodeAt(l+m);if(f!==r.charCodeAt(i+m))break;47===f&&(d=m)}var u="";for(m=l+d+1;m<=s;++m)(m===s||47===e.charCodeAt(m))&&(0===u.length?u+="..":u+="/..");return u.length>0?u+r.slice(i+d):(i+=d,47===r.charCodeAt(i)&&++i,r.slice(i))},_makeLong:function(e){return e},dirname:function(e){if(t(e),0===e.length)return".";for(var r=e.charCodeAt(0),a=47===r,l=-1,s=!0,n=e.length-1;n>=1;--n)if(47===(r=e.charCodeAt(n))){if(!s){l=n;break}}else s=!1;return -1===l?a?"/":".":a&&1===l?"//":e.slice(0,l)},basename:function(e,r){if(void 0!==r&&"string"!=typeof r)throw TypeError('"ext" argument must be a string');t(e);var a,l=0,s=-1,n=!0;if(void 0!==r&&r.length>0&&r.length<=e.length){if(r.length===e.length&&r===e)return"";var i=r.length-1,o=-1;for(a=e.length-1;a>=0;--a){var c=e.charCodeAt(a);if(47===c){if(!n){l=a+1;break}}else -1===o&&(n=!1,o=a+1),i>=0&&(c===r.charCodeAt(i)?-1==--i&&(s=a):(i=-1,s=o))}return l===s?s=o:-1===s&&(s=e.length),e.slice(l,s)}for(a=e.length-1;a>=0;--a)if(47===e.charCodeAt(a)){if(!n){l=a+1;break}}else -1===s&&(n=!1,s=a+1);return -1===s?"":e.slice(l,s)},extname:function(e){t(e);for(var r=-1,a=0,l=-1,s=!0,n=0,i=e.length-1;i>=0;--i){var o=e.charCodeAt(i);if(47===o){if(!s){a=i+1;break}continue}-1===l&&(s=!1,l=i+1),46===o?-1===r?r=i:1!==n&&(n=1):-1!==r&&(n=-1)}return -1===r||-1===l||0===n||1===n&&r===l-1&&r===a+1?"":e.slice(r,l)},format:function(e){var t,r;if(null===e||"object"!=typeof e)throw TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return t=e.dir||e.root,r=e.base||(e.name||"")+(e.ext||""),t?t===e.root?t+r:t+"/"+r:r},parse:function(e){t(e);var r,a={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return a;var l=e.charCodeAt(0),s=47===l;s?(a.root="/",r=1):r=0;for(var n=-1,i=0,o=-1,c=!0,d=e.length-1,m=0;d>=r;--d){if(47===(l=e.charCodeAt(d))){if(!c){i=d+1;break}continue}-1===o&&(c=!1,o=d+1),46===l?-1===n?n=d:1!==m&&(m=1):-1!==n&&(m=-1)}return -1===n||-1===o||0===m||1===m&&n===o-1&&n===i+1?-1!==o&&(0===i&&s?a.base=a.name=e.slice(1,o):a.base=a.name=e.slice(i,o)):(0===i&&s?(a.name=e.slice(1,n),a.base=e.slice(1,o)):(a.name=e.slice(i,n),a.base=e.slice(i,o)),a.ext=e.slice(n,o)),i>0?a.dir=e.slice(0,i-1):s&&(a.dir="/"),a},sep:"/",delimiter:":",win32:null,posix:null};a.posix=a,e.exports=a}},r={};function a(e){var l=r[e];if(void 0!==l)return l.exports;var s=r[e]={exports:{}},n=!0;try{t[e](s,s.exports,a),n=!1}finally{n&&delete r[e]}return s.exports}a.ab="//",e.exports=a(114)}()},85840:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>y});var a=r(66839),l=r(44223),s=r(72799),n=r(10952),i=r(44361),o=r(21082),c=r(30401),d=r(27636),m=r(5038),f=r(19378),u=r(72615),p=r(76723),h=r(2073);r(72997);let x=new Set([".txt",".md",".markdown",".csv",".tsv",".json",".yaml",".yml",".xml",".html",".htm",".pdf",".doc",".docx",".docm",".xls",".xlsx",".ppt",".pptx",".png",".jpg",".jpeg",".webp",".gif"]);function g(e){let t=e.lastIndexOf(".");return t>=0?e.slice(t).toLowerCase():""}function v(e){return e<1024?`${e} B`:e<1048576?`${(e/1024).toFixed(1)} KB`:`${(e/1048576).toFixed(1)} MB`}async function b(e){let t=await new Promise((t,r)=>{let a=new FileReader;a.onload=()=>{let e=a.result,r=e.indexOf(",");t(r>=0?e.slice(r+1):"")},a.onerror=()=>r(a.error??Error("FileReader error")),a.readAsDataURL(e)});if(!t)throw Error("Empty PDF file");let r=await fetch("/api/extract-pdf",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:e.name,dataBase64:t})});if(!r.ok)throw Error((await r.json().catch(()=>({}))).error||"PDF extraction failed");let a=await r.json();if("error"===a.extracted)throw Error(a.extractionError||"Failed to parse PDF");if("success"!==a.extracted||!a.text)throw Error("No text extracted from PDF");return a.text}var j=r(84734),C=r(25176);let N=Array.from(x).join(",");function y({open:e,onClose:t,defaultSpace:r,initialFiles:y,aiOrganize:k,dirPaths:w}){let I,{t:A}=(0,h.Y)(),z=function(){let[e,t]=(0,l.useState)([]),[r,a]=(0,l.useState)("select"),[s,n]=(0,l.useState)("archive"),[i,o]=(0,l.useState)(""),[c,d]=(0,l.useState)("rename"),[m,f]=(0,l.useState)(!1),[u,p]=(0,l.useState)(null),h=(0,l.useRef)(null),j=(0,l.useCallback)(async e=>{let r=Array.from(e).slice(0,20),a=[];for(let e of r){let t=g(e.name),r=".pdf"===t?0xc00000:5242880,l=null;x.has(t)?e.size>r&&(l="tooLarge"):l="unsupported",a.push({file:e,name:e.name,size:e.size,content:null,loading:!l,error:l})}for(let e of(t(e=>{let t=[...e];for(let e of a)!t.some(t=>t.name===e.name&&t.size===e.size&&t.file.lastModified===e.file.lastModified)&&t.length<20&&t.push(e);return t}),a))if(!e.error)try{let r,a=g(e.name);r=".pdf"===a?await b(e.file):await e.file.text(),t(t=>t.map(t=>t.name===e.name&&t.size===e.size?{...t,content:r,loading:!1}:t))}catch{t(t=>t.map(t=>t.name===e.name&&t.size===e.size?{...t,loading:!1,error:"readFailed"}:t))}},[]),C=(0,l.useCallback)(e=>{t(t=>t.filter((t,r)=>r!==e))},[]),N=(0,l.useCallback)(()=>{t([]),a("select"),p(null)},[]),y=e.filter(e=>!e.error&&null!==e.content),k=e.length>0&&e.every(e=>!e.loading),w=e.some(e=>e.error),I=(0,l.useCallback)(async()=>{if(0!==y.length){f(!0),a("importing");try{let e={files:y.map(e=>({name:e.name,content:e.content})),targetSpace:i||void 0,conflict:c,organize:!0},t=await fetch("/api/file/import",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}),r=await t.json();if(!t.ok)throw Error(r.error||`HTTP ${t.status}`);p(r),a("done")}catch(e){p({created:[],skipped:[],errors:[{name:"*",error:e.message}],updatedFiles:[]}),a("done")}finally{f(!1)}}},[y,i,c]),A=(0,l.useCallback)(()=>{t([]),a("select"),n("archive"),o(""),d("rename"),f(!1),p(null)},[]);return{files:e,step:r,intent:s,targetSpace:i,conflict:c,importing:m,result:u,inputRef:h,validFiles:y,allReady:k,hasErrors:w,addFiles:j,removeFile:C,clearFiles:N,setStep:a,setIntent:n,setTargetSpace:o,setConflict:d,doArchive:I,reset:A,formatSize:v}}(),F=(0,l.useRef)(null),S=(0,l.useRef)(null),[T,E]=(0,l.useState)(!1),[$,P]=(0,l.useState)(!1),[_,O]=(0,l.useState)([]),[R,D]=(0,l.useState)(!1),[L,B]=(0,l.useState)(!1),[M,J]=(0,l.useState)(""),U=(0,l.useRef)(!1);(0,l.useEffect)(()=>{if(!e){U.current=!1;return}!U.current&&(U.current=!0,z.reset(),O([]),D(!1),r&&z.setTargetSpace(r),y&&y.length>0&&z.addFiles(y))},[e,r,y,z]);let V=(0,l.useCallback)(()=>{B(!1),E(!0),setTimeout(()=>{E(!1),t(),z.reset(),O([]),D(!1),J("")},150)},[z,t]),H=(0,l.useCallback)(()=>{z.files.length>0&&"done"!==z.step?B(!0):V()},[z,V]);(0,l.useEffect)(()=>{if(!e)return;let t=e=>{if("Escape"===e.key){if(L){e.stopPropagation(),B(!1);return}e.stopPropagation(),H()}};return window.addEventListener("keydown",t,!0),()=>window.removeEventListener("keydown",t,!0)},[e,H,L]);let K=(0,l.useCallback)(async(e,t)=>{try{let r=e.map(encodeURIComponent).join(","),a=t?`&space=${encodeURIComponent(t)}`:"",l=await fetch(`/api/file?op=check_conflicts&names=${r}${a}`);if(l.ok){let e=await l.json();O(e.conflicts??[]),D((e.conflicts??[]).length>0)}}catch{}},[]),W=(0,l.useCallback)(e=>{if(z.setIntent(e),"archive"===e)z.setStep("archive_config"),K(z.validFiles.map(e=>e.name),z.targetSpace);else{let e=z.validFiles.map(e=>({name:e.name,content:e.content})),r=z.targetSpace||void 0,a=1===e.length?A.fileImport.digestPromptSingle(e[0].name,r):A.fileImport.digestPromptMulti(e.length,r);k.start(e,a,"import-modal"),t(),z.reset()}},[z,A,k,t]),Y=(0,l.useCallback)(async()=>{await z.doArchive(),z.result&&z.result.created.length>0&&(P(!0),setTimeout(()=>{E(!0),setTimeout(()=>{E(!1),t(),z.reset(),P(!1),window.dispatchEvent(new Event("mindos:files-changed"))},150)},600))},[z,t]);(0,l.useEffect)(()=>{"archive_config"===z.step&&K(z.validFiles.map(e=>e.name),z.targetSpace)},[z.targetSpace]),(0,l.useEffect)(()=>{if("archive_config"!==z.step||0===w.length||0===z.validFiles.length||r)return;let e=z.validFiles.flatMap(e=>e.name.replace(/\.[^.]+$/,"").toLowerCase().split(/[\s_\-/\\]+/)).filter(e=>e.length>=2),t="",a=0;for(let r of w){let l=(r.split("/").pop()||r).toLowerCase().split(/[\s_\-/\\]+/).filter(e=>e.length>=2),s=0;for(let t of e)for(let e of l)(t.includes(e)||e.includes(t))&&(s+=Math.min(t.length,e.length));s>a&&(a=s,t=r)}t&&a>=2&&(z.setTargetSpace(t),J(t))},[z.step,w.length,z.validFiles.length]),(0,l.useEffect)(()=>{if("done"===z.step&&z.result&&z.result.created.length>0){P(!0);let e=setTimeout(()=>{E(!0),setTimeout(()=>{E(!1),t(),z.reset(),P(!1),window.dispatchEvent(new Event("mindos:files-changed"))},150)},800);return()=>clearTimeout(e)}},[z.step,z.result,t,z]);let q=z.files.length>0,G="select"===z.step,Q="archive_config"===z.step,X="importing"===z.step;return e||T?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{ref:F,className:`fixed inset-0 z-50 modal-backdrop flex items-center justify-center p-4 transition-opacity duration-200 ${T?"opacity-0":"opacity-100"}`,onClick:e=>{e.target===F.current&&H()},children:(0,a.jsxs)("div",{className:`w-full max-w-lg max-h-[80vh] flex flex-col bg-card rounded-xl shadow-xl border border-border transition-all duration-200 ${T?"opacity-0 scale-[0.98]":"opacity-100 scale-100"}`,role:"dialog","aria-modal":"true","aria-label":A.fileImport.title,children:[(0,a.jsxs)("div",{className:"flex items-start justify-between px-5 pt-5 pb-2 shrink-0",children:[(0,a.jsxs)("div",{children:[Q&&(0,a.jsx)("button",{onClick:()=>z.setStep("select"),className:"text-xs text-muted-foreground hover:text-foreground transition-colors mb-1",children:A.fileImport.back}),(0,a.jsx)("h2",{className:"text-base font-semibold text-foreground",children:Q?A.fileImport.archiveConfigTitle:A.fileImport.title}),G&&(0,a.jsx)("p",{className:"text-xs text-muted-foreground mt-0.5",children:A.fileImport.subtitle})]}),(0,a.jsx)("button",{onClick:H,className:"p-1 rounded-md text-muted-foreground hover:text-foreground hover:bg-muted transition-colors","aria-label":"Close",children:(0,a.jsx)(s.A,{size:16})})]}),(0,a.jsxs)("div",{className:"px-5 pb-5 overflow-y-auto min-h-0",children:[G&&(0,a.jsx)("div",{className:`rounded-lg transition-all duration-200 cursor-pointer ${q?"border border-border/50 bg-muted/25 py-3 px-4":"border-2 border-dashed border-[var(--amber)]/25 hover:border-[var(--amber)]/40 bg-[var(--amber)]/2 hover:bg-[var(--amber)]/4 py-8 px-4 shadow-[inset_0_1px_2px_rgba(200,135,58,0.08)]"}`,role:"button",tabIndex:0,"aria-label":A.fileImport.dropzoneButton,onClick:()=>S.current?.click(),onKeyDown:e=>{("Enter"===e.key||" "===e.key)&&(e.preventDefault(),S.current?.click())},onDragOver:e=>{e.preventDefault(),e.stopPropagation()},onDrop:e=>{e.preventDefault(),e.stopPropagation(),e.dataTransfer.files.length>0&&z.addFiles(e.dataTransfer.files)},children:q?(0,a.jsxs)("p",{className:"text-xs text-muted-foreground text-center",children:[A.fileImport.dropzoneCompact," ",(0,a.jsx)("span",{className:"text-[var(--amber)] hover:underline",children:A.fileImport.dropzoneCompactButton})]}):(0,a.jsxs)("div",{className:"flex flex-col items-center gap-2 text-center",children:[(0,a.jsx)(n.A,{size:28,className:"text-[var(--amber)]/40"}),(0,a.jsxs)("p",{className:"text-sm text-muted-foreground",children:[(0,a.jsxs)("span",{className:"hidden md:inline",children:[A.fileImport.dropzoneText," "]}),(0,a.jsx)("span",{className:"md:hidden",children:A.fileImport.dropzoneMobile}),(0,a.jsx)("span",{className:"hidden md:inline text-[var(--amber)] hover:underline",children:A.fileImport.dropzoneButton})]}),(0,a.jsx)("p",{className:"text-2xs text-muted-foreground/60",children:A.fileImport.dropOverlayFormats})]})}),(0,a.jsx)("input",{ref:S,type:"file",multiple:!0,className:"hidden",accept:N,onChange:e=>{e.target.files&&z.addFiles(e.target.files),e.target.value=""}}),q&&(0,a.jsxs)("div",{className:"mt-3",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between mb-1.5",children:[(0,a.jsx)("span",{className:"text-xs text-muted-foreground",children:A.fileImport.fileCount(z.files.length)}),G&&(0,a.jsx)("button",{onClick:z.clearFiles,className:"text-2xs text-muted-foreground hover:text-foreground transition-colors",children:A.fileImport.clearAll})]}),(0,a.jsx)("div",{className:"flex flex-col gap-1 max-h-[200px] overflow-y-auto",children:z.files.map((e,t)=>(0,a.jsxs)("div",{className:`flex items-center gap-2 px-3 py-2 rounded-md text-sm ${e.error?"bg-error/5":"bg-muted/50"}`,children:[e.loading?(0,a.jsx)(i.A,{size:14,className:"text-muted-foreground animate-spin shrink-0"}):e.error?(0,a.jsx)(o.A,{size:14,className:"text-error shrink-0"}):(0,a.jsx)(c.A,{size:14,className:"text-muted-foreground shrink-0"}),(0,a.jsx)("span",{className:"truncate flex-1 text-foreground",children:e.name}),e.error?(0,a.jsx)("span",{className:"text-xs text-error shrink-0",children:"unsupported"===e.error?A.fileImport.unsupported:"tooLarge"===e.error?A.fileImport.tooLarge("5MB"):e.error}):(0,a.jsx)("span",{className:"text-xs text-muted-foreground tabular-nums shrink-0",children:z.formatSize(e.size)}),G&&!Q&&(0,a.jsx)("button",{onClick:e=>{e.stopPropagation(),z.removeFile(t)},className:"p-0.5 text-muted-foreground hover:text-foreground transition-colors shrink-0","aria-label":`${A.fileImport.remove} ${e.name}`,children:(0,a.jsx)(s.A,{size:14})})]},`${e.name}-${t}`))}),Q&&((I=z.validFiles.map(e=>{let t=e.name.split(".").pop()?.toLowerCase(),r="txt"===t||"html"===t||"htm"===t||"yaml"===t||"yml"===t||"xml"===t?"md":t,a=e.name.replace(/\.[^.]+$/,""),l=`${a}.${r}`,s=z.targetSpace?`${z.targetSpace}/${l}`:l,n=_.includes(e.name),i=l!==e.name||!!z.targetSpace;return{f:e,targetPath:s,hasConflict:n,changed:i}})).some(e=>e.changed||e.hasConflict)?(0,a.jsx)("div",{className:"flex flex-col gap-1 mt-2 max-h-[120px] overflow-y-auto",children:I.filter(e=>e.changed||e.hasConflict).map((e,t)=>(0,a.jsxs)("div",{className:"flex items-center gap-1.5 text-xs text-muted-foreground px-3",children:[(0,a.jsx)("span",{className:"truncate",children:e.f.name}),(0,a.jsx)("span",{className:"text-muted-foreground/50 shrink-0",children:A.fileImport.arrowTo}),(0,a.jsx)(d.A,{size:12,className:"text-muted-foreground/60 shrink-0"}),(0,a.jsx)("span",{className:`truncate ${e.hasConflict?"text-[var(--amber)]":""}`,children:e.targetPath}),e.hasConflict&&(0,a.jsx)(m.A,{size:11,className:"text-[var(--amber)] shrink-0"})]},`preview-${t}`))}):null)]}),G&&q&&z.allReady&&(0,a.jsxs)("div",{className:"grid grid-cols-2 gap-3 mt-4",children:[(0,a.jsxs)("button",{onClick:()=>W("archive"),className:"flex flex-col items-center gap-2 p-4 border rounded-lg cursor-pointer transition-all duration-150 border-[var(--amber)]/30 bg-card hover:border-[var(--amber)]/60 hover:shadow-sm active:scale-[0.98] text-left",disabled:0===z.validFiles.length,title:0===z.validFiles.length?A.hints.noValidFiles:void 0,children:[(0,a.jsx)(n.A,{size:24,className:"text-[var(--amber)]"}),(0,a.jsx)("span",{className:"text-sm font-medium text-foreground",children:A.fileImport.archiveTitle}),(0,a.jsx)("span",{className:"text-xs text-muted-foreground text-center",children:A.fileImport.archiveDesc})]}),(0,a.jsxs)("button",{onClick:()=>W("digest"),className:"flex flex-col items-center gap-2 p-4 border border-border rounded-lg cursor-pointer transition-all duration-150 bg-card hover:border-[var(--amber)]/50 hover:shadow-sm active:scale-[0.98] text-left",disabled:0===z.validFiles.length||"organizing"===k.phase,title:0===z.validFiles.length?A.hints.noValidFiles:"organizing"===k.phase?A.hints.aiOrganizing:void 0,children:[(0,a.jsx)(f.A,{size:24,className:"text-[var(--amber)]"}),(0,a.jsx)("span",{className:"text-sm font-medium text-foreground",children:A.fileImport.digestTitle}),(0,a.jsx)("span",{className:"text-xs text-muted-foreground text-center",children:A.fileImport.digestDesc})]})]}),Q&&(0,a.jsxs)("div",{className:"mt-4 space-y-4",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"text-xs font-medium text-foreground mb-1 block",children:A.fileImport.targetSpace}),(0,a.jsx)(C.A,{dirPaths:w,value:z.targetSpace,onChange:e=>{z.setTargetSpace(e),J("")},rootLabel:A.fileImport.rootDir}),M&&z.targetSpace===M&&(0,a.jsxs)("p",{className:"text-2xs text-muted-foreground/70 mt-1 flex items-center gap-1",children:[(0,a.jsx)(f.A,{size:10,className:"text-[var(--amber)]"}),A.fileImport.aiRecommendedHint]})]}),_.length>0?(0,a.jsxs)("div",{children:[(0,a.jsxs)("button",{type:"button",onClick:()=>D(e=>!e),className:"flex items-center gap-1.5 text-xs font-medium text-[var(--amber)] hover:opacity-80 transition-colors",children:[(0,a.jsx)(m.A,{size:12,className:"shrink-0"}),A.fileImport.conflictsFound(_.length),(0,a.jsx)(u.A,{size:12,className:`shrink-0 transition-transform duration-200 ${R?"rotate-180":""}`})]}),R&&(0,a.jsxs)("div",{className:"flex flex-col gap-1.5 mt-2 pl-0.5",children:[[{value:"rename",label:A.fileImport.conflictRename},{value:"skip",label:A.fileImport.conflictSkip},{value:"overwrite",label:A.fileImport.conflictOverwrite}].map(e=>(0,a.jsxs)("label",{className:`flex items-center gap-2 py-0.5 text-xs cursor-pointer ${"overwrite"===e.value?"text-error":"text-foreground"}`,children:[(0,a.jsx)("input",{type:"radio",name:"conflict",value:e.value,checked:z.conflict===e.value,onChange:()=>z.setConflict(e.value),className:"form-radio"}),e.label,"overwrite"===e.value&&(0,a.jsx)(m.A,{size:11,className:"text-error shrink-0"})]},e.value)),"overwrite"===z.conflict&&(0,a.jsx)("p",{className:"text-2xs text-error/80 pl-5",children:A.fileImport.overwriteWarn})]})]}):null,(0,a.jsxs)("div",{className:"flex items-center justify-end gap-3 pt-2",children:[(0,a.jsx)("button",{onClick:H,className:"text-xs text-muted-foreground/70 hover:text-muted-foreground transition-colors px-2 py-1.5",children:A.fileImport.cancel}),(0,a.jsx)("button",{onClick:Y,disabled:X||0===z.validFiles.length,title:X?A.hints.importInProgress:0===z.validFiles.length?A.hints.noValidFiles:void 0,className:`flex items-center gap-2 px-4 py-2 rounded-lg text-sm font-medium transition-all duration-200 ${$?"bg-success text-success-foreground":"bg-[var(--amber)] text-[var(--amber-foreground)] hover:opacity-90"} disabled:opacity-50`,children:$?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(p.A,{size:14})," ",A.fileImport.importButton(z.validFiles.length)]}):X?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(i.A,{size:14,className:"animate-spin"})," ",A.fileImport.importing]}):z.allReady?A.fileImport.importButton(z.validFiles.length):A.fileImport.preparing})]})]})]})]})}),(0,a.jsx)(j.TM,{open:L,title:A.fileImport.discardTitle,message:A.fileImport.discardMessage(z.files.length),confirmLabel:A.fileImport.discardConfirm,cancelLabel:A.fileImport.discardCancel,onConfirm:V,onCancel:()=>B(!1)})]}):null}}}]);
@@ -1 +1 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5913],{10500:(e,a,t)=>{t.d(a,{A:()=>d});let d=(0,t(73015).A)("database",[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]])},13591:(e,a,t)=>{t.d(a,{A:()=>d});let d=(0,t(73015).A)("users",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]])},21036:(e,a,t)=>{t.d(a,{A:()=>d});let d=(0,t(73015).A)("columns-3",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"M15 3v18",key:"14nvp0"}]])},25208:(e,a,t)=>{t.d(a,{A:()=>d});let d=(0,t(73015).A)("moon",[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]])},38125:(e,a,t)=>{t.d(a,{A:()=>d});let d=(0,t(73015).A)("sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]])},40517:(e,a,t)=>{t.d(a,{A:()=>d});let d=(0,t(73015).A)("monitor",[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]])},42973:(e,a,t)=>{t.d(a,{A:()=>d});let d=(0,t(73015).A)("hard-drive",[["path",{d:"M10 16h.01",key:"1bzywj"}],["path",{d:"M2.212 11.577a2 2 0 0 0-.212.896V18a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-5.527a2 2 0 0 0-.212-.896L18.55 5.11A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",key:"18tbho"}],["path",{d:"M21.946 12.013H2.054",key:"zqlbp7"}],["path",{d:"M6 16h.01",key:"1pmjb7"}]])},46884:(e,a,t)=>{t.d(a,{A:()=>d});let d=(0,t(73015).A)("flask-conical",[["path",{d:"M14 2v6a2 2 0 0 0 .245.96l5.51 10.08A2 2 0 0 1 18 22H6a2 2 0 0 1-1.755-2.96l5.51-10.08A2 2 0 0 0 10 8V2",key:"18mbvz"}],["path",{d:"M6.453 15h11.094",key:"3shlmq"}],["path",{d:"M8.5 2h7",key:"csnxdl"}]])},47533:(e,a,t)=>{t.d(a,{A:()=>d});let d=(0,t(73015).A)("type",[["path",{d:"M12 4v16",key:"1654pz"}],["path",{d:"M4 7V5a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v2",key:"e0r10z"}],["path",{d:"M9 20h6",key:"s66wpe"}]])},52285:(e,a,t)=>{t.r(a),t.d(a,{default:()=>h});var d=t(66839),l=t(92258);function h({open:e,onClose:a,initialTab:t}){return(0,d.jsx)("div",{style:{display:e?void 0:"none"},children:(0,d.jsx)("div",{className:"fixed inset-0 z-50 flex items-end md:items-start justify-center md:pt-[10vh] modal-backdrop",onClick:e=>e.target===e.currentTarget&&a(),children:(0,d.jsx)("div",{role:"dialog","aria-modal":"true","aria-label":"Settings",className:"w-full md:max-w-3xl md:mx-4 bg-card border-t md:border border-border rounded-t-2xl md:rounded-xl shadow-2xl flex flex-col h-[88vh] md:h-[80vh] md:max-h-[85vh]",children:(0,d.jsx)(l.default,{visible:e,variant:"modal",onClose:a,initialTab:t})})})})}},71481:(e,a,t)=>{t.d(a,{A:()=>d});let d=(0,t(73015).A)("download",[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]])},73033:(e,a,t)=>{t.d(a,{A:()=>d});let d=(0,t(73015).A)("shield-check",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]])},82296:(e,a,t)=>{t.d(a,{A:()=>d});let d=(0,t(73015).A)("palette",[["path",{d:"M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z",key:"e79jfc"}],["circle",{cx:"13.5",cy:"6.5",r:".5",fill:"currentColor",key:"1okk4w"}],["circle",{cx:"17.5",cy:"10.5",r:".5",fill:"currentColor",key:"f64h9f"}],["circle",{cx:"6.5",cy:"12.5",r:".5",fill:"currentColor",key:"qy21gx"}],["circle",{cx:"8.5",cy:"7.5",r:".5",fill:"currentColor",key:"fotxhn"}]])},95156:(e,a,t)=>{t.d(a,{A:()=>d});let d=(0,t(73015).A)("a-large-small",[["path",{d:"m15 16 2.536-7.328a1.02 1.02 1 0 1 1.928 0L22 16",key:"xik6mr"}],["path",{d:"M15.697 14h5.606",key:"1stdlc"}],["path",{d:"m2 16 4.039-9.69a.5.5 0 0 1 .923 0L11 16",key:"d5nyq2"}],["path",{d:"M3.304 13h6.392",key:"1q3zxz"}]])},95333:(e,a,t)=>{t.d(a,{A:()=>d});let d=(0,t(73015).A)("plug",[["path",{d:"M12 22v-5",key:"1ega77"}],["path",{d:"M15 8V2",key:"18g5xt"}],["path",{d:"M17 8a1 1 0 0 1 1 1v4a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V9a1 1 0 0 1 1-1z",key:"1xoxul"}],["path",{d:"M9 8V2",key:"14iosj"}]])},96733:(e,a,t)=>{t.d(a,{A:()=>d});let d=(0,t(73015).A)("puzzle",[["path",{d:"M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z",key:"w46dr5"}]])},97786:(e,a,t)=>{t.d(a,{A:()=>d});let d=(0,t(73015).A)("circle-question-mark",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]])},98480:(e,a,t)=>{t.d(a,{A:()=>d});let d=(0,t(73015).A)("shield",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}]])}}]);
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5913],{10500:(e,a,t)=>{t.d(a,{A:()=>d});let d=(0,t(73015).A)("database",[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]])},13591:(e,a,t)=>{t.d(a,{A:()=>d});let d=(0,t(73015).A)("users",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]])},21036:(e,a,t)=>{t.d(a,{A:()=>d});let d=(0,t(73015).A)("columns-3",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"M15 3v18",key:"14nvp0"}]])},25208:(e,a,t)=>{t.d(a,{A:()=>d});let d=(0,t(73015).A)("moon",[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]])},38125:(e,a,t)=>{t.d(a,{A:()=>d});let d=(0,t(73015).A)("sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]])},40517:(e,a,t)=>{t.d(a,{A:()=>d});let d=(0,t(73015).A)("monitor",[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]])},42973:(e,a,t)=>{t.d(a,{A:()=>d});let d=(0,t(73015).A)("hard-drive",[["path",{d:"M10 16h.01",key:"1bzywj"}],["path",{d:"M2.212 11.577a2 2 0 0 0-.212.896V18a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-5.527a2 2 0 0 0-.212-.896L18.55 5.11A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",key:"18tbho"}],["path",{d:"M21.946 12.013H2.054",key:"zqlbp7"}],["path",{d:"M6 16h.01",key:"1pmjb7"}]])},46884:(e,a,t)=>{t.d(a,{A:()=>d});let d=(0,t(73015).A)("flask-conical",[["path",{d:"M14 2v6a2 2 0 0 0 .245.96l5.51 10.08A2 2 0 0 1 18 22H6a2 2 0 0 1-1.755-2.96l5.51-10.08A2 2 0 0 0 10 8V2",key:"18mbvz"}],["path",{d:"M6.453 15h11.094",key:"3shlmq"}],["path",{d:"M8.5 2h7",key:"csnxdl"}]])},47533:(e,a,t)=>{t.d(a,{A:()=>d});let d=(0,t(73015).A)("type",[["path",{d:"M12 4v16",key:"1654pz"}],["path",{d:"M4 7V5a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v2",key:"e0r10z"}],["path",{d:"M9 20h6",key:"s66wpe"}]])},52285:(e,a,t)=>{t.r(a),t.d(a,{default:()=>h});var d=t(66839),l=t(21023);function h({open:e,onClose:a,initialTab:t}){return(0,d.jsx)("div",{style:{display:e?void 0:"none"},children:(0,d.jsx)("div",{className:"fixed inset-0 z-50 flex items-end md:items-start justify-center md:pt-[10vh] modal-backdrop",onClick:e=>e.target===e.currentTarget&&a(),children:(0,d.jsx)("div",{role:"dialog","aria-modal":"true","aria-label":"Settings",className:"w-full md:max-w-3xl md:mx-4 bg-card border-t md:border border-border rounded-t-2xl md:rounded-xl shadow-2xl flex flex-col h-[88vh] md:h-[80vh] md:max-h-[85vh]",children:(0,d.jsx)(l.default,{visible:e,variant:"modal",onClose:a,initialTab:t})})})})}},71481:(e,a,t)=>{t.d(a,{A:()=>d});let d=(0,t(73015).A)("download",[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]])},73033:(e,a,t)=>{t.d(a,{A:()=>d});let d=(0,t(73015).A)("shield-check",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]])},82296:(e,a,t)=>{t.d(a,{A:()=>d});let d=(0,t(73015).A)("palette",[["path",{d:"M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z",key:"e79jfc"}],["circle",{cx:"13.5",cy:"6.5",r:".5",fill:"currentColor",key:"1okk4w"}],["circle",{cx:"17.5",cy:"10.5",r:".5",fill:"currentColor",key:"f64h9f"}],["circle",{cx:"6.5",cy:"12.5",r:".5",fill:"currentColor",key:"qy21gx"}],["circle",{cx:"8.5",cy:"7.5",r:".5",fill:"currentColor",key:"fotxhn"}]])},95156:(e,a,t)=>{t.d(a,{A:()=>d});let d=(0,t(73015).A)("a-large-small",[["path",{d:"m15 16 2.536-7.328a1.02 1.02 1 0 1 1.928 0L22 16",key:"xik6mr"}],["path",{d:"M15.697 14h5.606",key:"1stdlc"}],["path",{d:"m2 16 4.039-9.69a.5.5 0 0 1 .923 0L11 16",key:"d5nyq2"}],["path",{d:"M3.304 13h6.392",key:"1q3zxz"}]])},95333:(e,a,t)=>{t.d(a,{A:()=>d});let d=(0,t(73015).A)("plug",[["path",{d:"M12 22v-5",key:"1ega77"}],["path",{d:"M15 8V2",key:"18g5xt"}],["path",{d:"M17 8a1 1 0 0 1 1 1v4a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V9a1 1 0 0 1 1-1z",key:"1xoxul"}],["path",{d:"M9 8V2",key:"14iosj"}]])},96733:(e,a,t)=>{t.d(a,{A:()=>d});let d=(0,t(73015).A)("puzzle",[["path",{d:"M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z",key:"w46dr5"}]])},97786:(e,a,t)=>{t.d(a,{A:()=>d});let d=(0,t(73015).A)("circle-question-mark",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]])},98480:(e,a,t)=>{t.d(a,{A:()=>d});let d=(0,t(73015).A)("shield",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}]])}}]);