@geminilight/mindos 0.6.57 → 0.6.59

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 (293) hide show
  1. package/_standalone/.mindos-build-version +1 -1
  2. package/_standalone/.next/BUILD_ID +1 -1
  3. package/_standalone/.next/app-path-routes-manifest.json +24 -24
  4. package/_standalone/.next/build-manifest.json +3 -3
  5. package/_standalone/.next/cache/.previewinfo +1 -1
  6. package/_standalone/.next/cache/.rscinfo +1 -1
  7. package/_standalone/.next/cache/config.json +3 -3
  8. package/_standalone/.next/prerender-manifest.json +3 -3
  9. package/_standalone/.next/react-loadable-manifest.json +1 -1
  10. package/_standalone/.next/server/app/.well-known/agent-card.json/route_client-reference-manifest.js +1 -1
  11. package/_standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  12. package/_standalone/.next/server/app/_global-error.html +2 -2
  13. package/_standalone/.next/server/app/_global-error.rsc +1 -1
  14. package/_standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  15. package/_standalone/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  16. package/_standalone/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  17. package/_standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  18. package/_standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  19. package/_standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  20. package/_standalone/.next/server/app/_not-found/page.js +1 -1
  21. package/_standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
  22. package/_standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  23. package/_standalone/.next/server/app/agents/[agentKey]/page.js +2 -2
  24. package/_standalone/.next/server/app/agents/[agentKey]/page.js.nft.json +1 -1
  25. package/_standalone/.next/server/app/agents/[agentKey]/page_client-reference-manifest.js +1 -1
  26. package/_standalone/.next/server/app/agents/page.js +2 -2
  27. package/_standalone/.next/server/app/agents/page.js.nft.json +1 -1
  28. package/_standalone/.next/server/app/agents/page_client-reference-manifest.js +1 -1
  29. package/_standalone/.next/server/app/api/a2a/agents/route_client-reference-manifest.js +1 -1
  30. package/_standalone/.next/server/app/api/a2a/delegations/route_client-reference-manifest.js +1 -1
  31. package/_standalone/.next/server/app/api/a2a/discover/route_client-reference-manifest.js +1 -1
  32. package/_standalone/.next/server/app/api/a2a/route_client-reference-manifest.js +1 -1
  33. package/_standalone/.next/server/app/api/acp/config/route.js +1 -1
  34. package/_standalone/.next/server/app/api/acp/config/route_client-reference-manifest.js +1 -1
  35. package/_standalone/.next/server/app/api/acp/detect/route.js +1 -1
  36. package/_standalone/.next/server/app/api/acp/detect/route_client-reference-manifest.js +1 -1
  37. package/_standalone/.next/server/app/api/acp/install/route_client-reference-manifest.js +1 -1
  38. package/_standalone/.next/server/app/api/acp/registry/route_client-reference-manifest.js +1 -1
  39. package/_standalone/.next/server/app/api/acp/session/route_client-reference-manifest.js +1 -1
  40. package/_standalone/.next/server/app/api/agent-activity/route_client-reference-manifest.js +1 -1
  41. package/_standalone/.next/server/app/api/agents/custom/detect/route.js +1 -1
  42. package/_standalone/.next/server/app/api/agents/custom/detect/route_client-reference-manifest.js +1 -1
  43. package/_standalone/.next/server/app/api/agents/custom/route.js +1 -1
  44. package/_standalone/.next/server/app/api/agents/custom/route_client-reference-manifest.js +1 -1
  45. package/_standalone/.next/server/app/api/ask/route.js +5 -5
  46. package/_standalone/.next/server/app/api/ask/route.js.nft.json +1 -1
  47. package/_standalone/.next/server/app/api/ask/route_client-reference-manifest.js +1 -1
  48. package/_standalone/.next/server/app/api/ask-sessions/route_client-reference-manifest.js +1 -1
  49. package/_standalone/.next/server/app/api/auth/route_client-reference-manifest.js +1 -1
  50. package/_standalone/.next/server/app/api/backlinks/route.js.nft.json +1 -1
  51. package/_standalone/.next/server/app/api/backlinks/route_client-reference-manifest.js +1 -1
  52. package/_standalone/.next/server/app/api/bootstrap/route.js.nft.json +1 -1
  53. package/_standalone/.next/server/app/api/bootstrap/route_client-reference-manifest.js +1 -1
  54. package/_standalone/.next/server/app/api/changes/route.js.nft.json +1 -1
  55. package/_standalone/.next/server/app/api/changes/route_client-reference-manifest.js +1 -1
  56. package/_standalone/.next/server/app/api/export/route.js.nft.json +1 -1
  57. package/_standalone/.next/server/app/api/export/route_client-reference-manifest.js +1 -1
  58. package/_standalone/.next/server/app/api/extract-pdf/route_client-reference-manifest.js +1 -1
  59. package/_standalone/.next/server/app/api/file/import/route.js.nft.json +1 -1
  60. package/_standalone/.next/server/app/api/file/import/route_client-reference-manifest.js +1 -1
  61. package/_standalone/.next/server/app/api/file/raw/route.js.nft.json +1 -1
  62. package/_standalone/.next/server/app/api/file/raw/route_client-reference-manifest.js +1 -1
  63. package/_standalone/.next/server/app/api/file/route.js.nft.json +1 -1
  64. package/_standalone/.next/server/app/api/file/route_client-reference-manifest.js +1 -1
  65. package/_standalone/.next/server/app/api/files/route.js.nft.json +1 -1
  66. package/_standalone/.next/server/app/api/files/route_client-reference-manifest.js +1 -1
  67. package/_standalone/.next/server/app/api/git/route.js.nft.json +1 -1
  68. package/_standalone/.next/server/app/api/git/route_client-reference-manifest.js +1 -1
  69. package/_standalone/.next/server/app/api/graph/route.js.nft.json +1 -1
  70. package/_standalone/.next/server/app/api/graph/route_client-reference-manifest.js +1 -1
  71. package/_standalone/.next/server/app/api/health/route_client-reference-manifest.js +1 -1
  72. package/_standalone/.next/server/app/api/inbox/route.js.nft.json +1 -1
  73. package/_standalone/.next/server/app/api/inbox/route_client-reference-manifest.js +1 -1
  74. package/_standalone/.next/server/app/api/init/route.js.nft.json +1 -1
  75. package/_standalone/.next/server/app/api/init/route_client-reference-manifest.js +1 -1
  76. package/_standalone/.next/server/app/api/mcp/agents/route.js +1 -1
  77. package/_standalone/.next/server/app/api/mcp/agents/route.js.nft.json +1 -1
  78. package/_standalone/.next/server/app/api/mcp/agents/route_client-reference-manifest.js +1 -1
  79. package/_standalone/.next/server/app/api/mcp/install/route.js +1 -1
  80. package/_standalone/.next/server/app/api/mcp/install/route_client-reference-manifest.js +1 -1
  81. package/_standalone/.next/server/app/api/mcp/install-skill/route_client-reference-manifest.js +1 -1
  82. package/_standalone/.next/server/app/api/mcp/restart/route_client-reference-manifest.js +1 -1
  83. package/_standalone/.next/server/app/api/mcp/status/route.js +1 -1
  84. package/_standalone/.next/server/app/api/mcp/status/route_client-reference-manifest.js +1 -1
  85. package/_standalone/.next/server/app/api/mcp/uninstall/route_client-reference-manifest.js +1 -1
  86. package/_standalone/.next/server/app/api/monitoring/route.js.nft.json +1 -1
  87. package/_standalone/.next/server/app/api/monitoring/route_client-reference-manifest.js +1 -1
  88. package/_standalone/.next/server/app/api/recent-files/route.js.nft.json +1 -1
  89. package/_standalone/.next/server/app/api/recent-files/route_client-reference-manifest.js +1 -1
  90. package/_standalone/.next/server/app/api/restart/route_client-reference-manifest.js +1 -1
  91. package/_standalone/.next/server/app/api/search/route.js.nft.json +1 -1
  92. package/_standalone/.next/server/app/api/search/route_client-reference-manifest.js +1 -1
  93. package/_standalone/.next/server/app/api/settings/list-models/route_client-reference-manifest.js +1 -1
  94. package/_standalone/.next/server/app/api/settings/reset-token/route.js +1 -1
  95. package/_standalone/.next/server/app/api/settings/reset-token/route_client-reference-manifest.js +1 -1
  96. package/_standalone/.next/server/app/api/settings/route.js +1 -1
  97. package/_standalone/.next/server/app/api/settings/route.js.nft.json +1 -1
  98. package/_standalone/.next/server/app/api/settings/route_client-reference-manifest.js +1 -1
  99. package/_standalone/.next/server/app/api/settings/test-key/route.js +1 -1
  100. package/_standalone/.next/server/app/api/settings/test-key/route_client-reference-manifest.js +1 -1
  101. package/_standalone/.next/server/app/api/setup/check-path/route_client-reference-manifest.js +1 -1
  102. package/_standalone/.next/server/app/api/setup/check-port/route_client-reference-manifest.js +1 -1
  103. package/_standalone/.next/server/app/api/setup/generate-token/route_client-reference-manifest.js +1 -1
  104. package/_standalone/.next/server/app/api/setup/ls/route_client-reference-manifest.js +1 -1
  105. package/_standalone/.next/server/app/api/setup/route.js +1 -1
  106. package/_standalone/.next/server/app/api/setup/route_client-reference-manifest.js +1 -1
  107. package/_standalone/.next/server/app/api/skills/route.js +1 -1
  108. package/_standalone/.next/server/app/api/skills/route_client-reference-manifest.js +1 -1
  109. package/_standalone/.next/server/app/api/sync/route_client-reference-manifest.js +1 -1
  110. package/_standalone/.next/server/app/api/tree-version/route.js.nft.json +1 -1
  111. package/_standalone/.next/server/app/api/tree-version/route_client-reference-manifest.js +1 -1
  112. package/_standalone/.next/server/app/api/uninstall/route_client-reference-manifest.js +1 -1
  113. package/_standalone/.next/server/app/api/update/route_client-reference-manifest.js +1 -1
  114. package/_standalone/.next/server/app/api/update-check/route_client-reference-manifest.js +1 -1
  115. package/_standalone/.next/server/app/api/update-status/route_client-reference-manifest.js +1 -1
  116. package/_standalone/.next/server/app/api/workflows/route.js.nft.json +1 -1
  117. package/_standalone/.next/server/app/api/workflows/route_client-reference-manifest.js +1 -1
  118. package/_standalone/.next/server/app/changes/page.js +2 -2
  119. package/_standalone/.next/server/app/changes/page.js.nft.json +1 -1
  120. package/_standalone/.next/server/app/changes/page_client-reference-manifest.js +1 -1
  121. package/_standalone/.next/server/app/echo/[segment]/page.js +3 -3
  122. package/_standalone/.next/server/app/echo/[segment]/page.js.nft.json +1 -1
  123. package/_standalone/.next/server/app/echo/[segment]/page_client-reference-manifest.js +1 -1
  124. package/_standalone/.next/server/app/echo/page.js +1 -1
  125. package/_standalone/.next/server/app/echo/page.js.nft.json +1 -1
  126. package/_standalone/.next/server/app/echo/page_client-reference-manifest.js +1 -1
  127. package/_standalone/.next/server/app/explore/page.js +3 -3
  128. package/_standalone/.next/server/app/explore/page.js.nft.json +1 -1
  129. package/_standalone/.next/server/app/explore/page_client-reference-manifest.js +1 -1
  130. package/_standalone/.next/server/app/help/page.js +2 -2
  131. package/_standalone/.next/server/app/help/page.js.nft.json +1 -1
  132. package/_standalone/.next/server/app/help/page_client-reference-manifest.js +1 -1
  133. package/_standalone/.next/server/app/inbox/history/page.js +1 -1
  134. package/_standalone/.next/server/app/inbox/history/page.js.nft.json +1 -1
  135. package/_standalone/.next/server/app/inbox/history/page_client-reference-manifest.js +1 -1
  136. package/_standalone/.next/server/app/login/page.js +2 -2
  137. package/_standalone/.next/server/app/login/page.js.nft.json +1 -1
  138. package/_standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
  139. package/_standalone/.next/server/app/page.js +2 -8
  140. package/_standalone/.next/server/app/page.js.nft.json +1 -1
  141. package/_standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  142. package/_standalone/.next/server/app/setup/page.js +2 -2
  143. package/_standalone/.next/server/app/setup/page.js.nft.json +1 -1
  144. package/_standalone/.next/server/app/setup/page_client-reference-manifest.js +1 -1
  145. package/_standalone/.next/server/app/trash/page.js +3 -3
  146. package/_standalone/.next/server/app/trash/page.js.nft.json +1 -1
  147. package/_standalone/.next/server/app/trash/page_client-reference-manifest.js +1 -1
  148. package/_standalone/.next/server/app/view/[...path]/page.js +3 -3
  149. package/_standalone/.next/server/app/view/[...path]/page.js.nft.json +1 -1
  150. package/_standalone/.next/server/app/view/[...path]/page_client-reference-manifest.js +1 -1
  151. package/_standalone/.next/server/app/wiki/page.js +2 -2
  152. package/_standalone/.next/server/app/wiki/page.js.nft.json +1 -1
  153. package/_standalone/.next/server/app/wiki/page_client-reference-manifest.js +1 -1
  154. package/_standalone/.next/server/app-paths-manifest.json +24 -24
  155. package/_standalone/.next/server/chunks/1550.js +1 -1
  156. package/_standalone/.next/server/chunks/1750.js +1 -1
  157. package/_standalone/.next/server/chunks/3484.js +1 -1
  158. package/_standalone/.next/server/chunks/530.js +61 -62
  159. package/_standalone/.next/server/chunks/6539.js +1 -1
  160. package/_standalone/.next/server/chunks/{2159.js → 8343.js} +2 -2
  161. package/_standalone/.next/server/chunks/9787.js +2 -0
  162. package/_standalone/.next/server/middleware-build-manifest.js +1 -1
  163. package/_standalone/.next/server/middleware-react-loadable-manifest.js +1 -1
  164. package/_standalone/.next/server/pages/500.html +2 -2
  165. package/_standalone/.next/server/server-reference-manifest.js +1 -1
  166. package/_standalone/.next/server/server-reference-manifest.json +1 -1
  167. package/_standalone/.next/static/chunks/{1814.a7c127b2c73d1f70.js → 1814.a79b84d37df75c43.js} +1 -1
  168. package/_standalone/.next/static/chunks/3427-2e61a5df1f5e55fb.js +1 -0
  169. package/_standalone/.next/static/chunks/5581-dac72e9f16e5ea29.js +29 -0
  170. package/_standalone/.next/static/chunks/6297-085daa21037d5f81.js +1 -0
  171. package/_standalone/.next/static/chunks/7249-6cf8f2b78718c59e.js +11 -0
  172. package/_standalone/.next/static/chunks/8520-56ec9ff087c15204.js +22 -0
  173. package/_standalone/.next/static/chunks/9905-a19d379cb225246e.js +1 -0
  174. package/_standalone/.next/static/chunks/app/agents/[agentKey]/{page-7bdeab5af8e4f5f2.js → page-35ea6de1af2be3b5.js} +1 -1
  175. package/_standalone/.next/static/chunks/app/agents/page-b172ea3743adb047.js +1 -0
  176. package/_standalone/.next/static/chunks/app/changes/{page-5a72144d1080a699.js → page-6d2f49651c0061f7.js} +1 -1
  177. package/_standalone/.next/static/chunks/app/echo/[segment]/page-84b95256f6e38aae.js +11 -0
  178. package/_standalone/.next/static/chunks/app/explore/{page-d3d99308146c2240.js → page-d9f58000bc445360.js} +2 -2
  179. package/_standalone/.next/static/chunks/app/help/{page-222df603080b5fab.js → page-f8cb806371b3175f.js} +1 -1
  180. package/_standalone/.next/static/chunks/app/inbox/history/{page-07819cf95cb0805f.js → page-26e71fb6f716a4c4.js} +1 -1
  181. package/_standalone/.next/static/chunks/app/layout-b89b0d955f39a753.js +164 -0
  182. package/_standalone/.next/static/chunks/app/login/{page-0eeef685052869a6.js → page-18fb00d568cd1f0e.js} +1 -1
  183. package/_standalone/.next/static/chunks/app/page-a8e6f085f38388bf.js +1 -0
  184. package/_standalone/.next/static/chunks/app/setup/{page-99fcfc460fa29733.js → page-821714e7477be46c.js} +1 -1
  185. package/_standalone/.next/static/chunks/app/trash/page-f92b728b78ac0f7e.js +1 -0
  186. package/_standalone/.next/static/chunks/app/view/[...path]/{not-found-fc04c2bd4f35bc6f.js → not-found-6e0c75ad26ce8572.js} +1 -1
  187. package/_standalone/.next/static/chunks/app/view/[...path]/page-f87f4901b5e1a88f.js +12 -0
  188. package/_standalone/.next/static/chunks/app/wiki/page-641edb1f3cff2f93.js +1 -0
  189. package/_standalone/.next/static/chunks/{webpack-2c19436659aa657b.js → webpack-72e8d9e9073fd1f9.js} +1 -1
  190. package/_standalone/.next/static/css/6c104b118d3bc9b7.css +1 -0
  191. package/_standalone/.next/trace +64 -64
  192. package/_standalone/__tests__/api/mcp-install.test.ts +3 -2
  193. package/_standalone/__tests__/ask/non-streaming-api.test.ts +281 -0
  194. package/_standalone/__tests__/core/skill-install-logic.test.ts +1 -0
  195. package/_standalone/app/globals.css +2 -1
  196. package/_standalone/components/AskFab.tsx +4 -4
  197. package/_standalone/components/AskModal.tsx +1 -1
  198. package/_standalone/components/GuideCard.tsx +101 -152
  199. package/_standalone/components/RightAskPanel.tsx +2 -2
  200. package/_standalone/components/agents/CustomAgentModal.tsx +32 -8
  201. package/_standalone/components/ask/AskContent.tsx +90 -51
  202. package/_standalone/components/ask/AskHeader.tsx +218 -18
  203. package/_standalone/components/ask/MessageList.tsx +66 -47
  204. package/_standalone/components/ask/SessionHistory.tsx +86 -60
  205. package/_standalone/components/ask/SessionTabBar.tsx +29 -21
  206. package/_standalone/components/ask/ThinkingBlock.tsx +6 -5
  207. package/_standalone/components/ask/ToolCallBlock.tsx +10 -9
  208. package/_standalone/components/settings/SettingsContent.tsx +1 -1
  209. package/_standalone/data/skills/mindos/SKILL.md +72 -15
  210. package/_standalone/data/skills/mindos-zh/SKILL.md +73 -8
  211. package/_standalone/hooks/useAskSession.ts +23 -1
  212. package/_standalone/lib/stores/locale-store.ts +20 -6
  213. package/_standalone/tsconfig.tsbuildinfo +1 -1
  214. package/app/app/api/agents/custom/route.ts +8 -0
  215. package/app/app/api/ask/route.ts +171 -10
  216. package/app/app/api/mcp/agents/route.ts +5 -3
  217. package/app/app/api/settings/route.ts +9 -0
  218. package/app/app/api/settings/test-key/route.ts +13 -1
  219. package/app/app/globals.css +2 -1
  220. package/app/app/layout.tsx +16 -4
  221. package/app/components/AskFab.tsx +4 -4
  222. package/app/components/AskModal.tsx +1 -1
  223. package/app/components/GuideCard.tsx +101 -152
  224. package/app/components/HomeContent.tsx +116 -575
  225. package/app/components/RightAskPanel.tsx +2 -2
  226. package/app/components/WikiHomeContent.tsx +151 -3
  227. package/app/components/agents/CustomAgentModal.tsx +32 -8
  228. package/app/components/ask/AskContent.tsx +90 -51
  229. package/app/components/ask/AskHeader.tsx +218 -18
  230. package/app/components/ask/MessageList.tsx +66 -47
  231. package/app/components/ask/SessionHistory.tsx +86 -60
  232. package/app/components/ask/SessionTabBar.tsx +29 -21
  233. package/app/components/ask/ThinkingBlock.tsx +6 -5
  234. package/app/components/ask/ToolCallBlock.tsx +10 -9
  235. package/app/components/settings/SettingsContent.tsx +1 -1
  236. package/app/data/skills/mindos/SKILL.md +72 -15
  237. package/app/data/skills/mindos-zh/SKILL.md +73 -8
  238. package/app/hooks/useAskSession.ts +23 -1
  239. package/app/lib/custom-agents.ts +45 -2
  240. package/app/lib/i18n/modules/ai-chat.ts +97 -10
  241. package/app/lib/i18n/modules/onboarding.ts +12 -12
  242. package/app/lib/i18n/modules/panels.ts +10 -2
  243. package/app/lib/mcp-agents.ts +10 -0
  244. package/app/lib/stores/LocaleStoreInit.tsx +24 -1
  245. package/app/lib/stores/locale-store.ts +20 -6
  246. package/app/lib/types.ts +1 -0
  247. package/bin/lib/mcp-agents.js +10 -0
  248. package/package.json +1 -1
  249. package/skills/mindos/SKILL.md +69 -11
  250. package/skills/mindos/references/knowledge-health.md +120 -0
  251. package/skills/mindos-max/SKILL.md +238 -0
  252. package/skills/mindos-max-workspace/evals/evals.json +23 -0
  253. package/skills/mindos-max-workspace/iteration-1/capture-debugging-experience-en/eval_metadata.json +11 -0
  254. package/skills/mindos-max-workspace/iteration-1/capture-debugging-experience-en/old_skill/grading.json +28 -0
  255. package/skills/mindos-max-workspace/iteration-1/capture-debugging-experience-en/old_skill/outputs/transcript.md +203 -0
  256. package/skills/mindos-max-workspace/iteration-1/capture-debugging-experience-en/with_skill/grading.json +28 -0
  257. package/skills/mindos-max-workspace/iteration-1/capture-debugging-experience-en/with_skill/outputs/transcript.md +271 -0
  258. package/skills/mindos-max-workspace/iteration-1/save-meeting-decision-zh/eval_metadata.json +11 -0
  259. package/skills/mindos-max-workspace/iteration-1/save-meeting-decision-zh/old_skill/grading.json +28 -0
  260. package/skills/mindos-max-workspace/iteration-1/save-meeting-decision-zh/old_skill/outputs/transcript.md +121 -0
  261. package/skills/mindos-max-workspace/iteration-1/save-meeting-decision-zh/with_skill/grading.json +28 -0
  262. package/skills/mindos-max-workspace/iteration-1/save-meeting-decision-zh/with_skill/outputs/transcript.md +168 -0
  263. package/skills/mindos-max-workspace/iteration-1/search-past-decision-zh/eval_metadata.json +11 -0
  264. package/skills/mindos-max-workspace/iteration-1/search-past-decision-zh/old_skill/grading.json +28 -0
  265. package/skills/mindos-max-workspace/iteration-1/search-past-decision-zh/old_skill/outputs/transcript.md +143 -0
  266. package/skills/mindos-max-workspace/iteration-1/search-past-decision-zh/with_skill/grading.json +28 -0
  267. package/skills/mindos-max-workspace/iteration-1/search-past-decision-zh/with_skill/outputs/transcript.md +233 -0
  268. package/skills/mindos-max-workspace/skill-snapshot/mindos-original/SKILL.md +165 -0
  269. package/skills/mindos-max-workspace/skill-snapshot/mindos-original/references/README.md +12 -0
  270. package/skills/mindos-max-workspace/skill-snapshot/mindos-original/references/post-task-hooks.md +27 -0
  271. package/skills/mindos-max-workspace/skill-snapshot/mindos-original/references/preference-capture.md +41 -0
  272. package/skills/mindos-max-workspace/skill-snapshot/mindos-original/references/sop-template.md +74 -0
  273. package/skills/mindos-max-workspace/skill-snapshot/mindos-original/references/write-supplement.md +119 -0
  274. package/skills/mindos-max-zh/SKILL.md +241 -0
  275. package/skills/mindos-zh/SKILL.md +72 -8
  276. package/_standalone/.next/server/chunks/2364.js +0 -2
  277. package/_standalone/.next/server/chunks/357.js +0 -1
  278. package/_standalone/.next/static/chunks/1053-5cb008a24930e271.js +0 -29
  279. package/_standalone/.next/static/chunks/178-105779afb62d36d9.js +0 -1
  280. package/_standalone/.next/static/chunks/2218-d54538000574ffef.js +0 -1
  281. package/_standalone/.next/static/chunks/2549-e63cf57fa927a41d.js +0 -1
  282. package/_standalone/.next/static/chunks/7249-8cd568ad23656622.js +0 -11
  283. package/_standalone/.next/static/chunks/9274-296ab35f9f09e42e.js +0 -1
  284. package/_standalone/.next/static/chunks/app/agents/page-5d1446665ddb3801.js +0 -1
  285. package/_standalone/.next/static/chunks/app/echo/[segment]/page-b0103509ce34444b.js +0 -11
  286. package/_standalone/.next/static/chunks/app/layout-b3919384ec2eb979.js +0 -186
  287. package/_standalone/.next/static/chunks/app/page-6436a99cda35132b.js +0 -7
  288. package/_standalone/.next/static/chunks/app/trash/page-8dc388695344fdd4.js +0 -1
  289. package/_standalone/.next/static/chunks/app/view/[...path]/page-b292b55305ecc021.js +0 -12
  290. package/_standalone/.next/static/chunks/app/wiki/page-d492256a93f0b8bc.js +0 -1
  291. package/_standalone/.next/static/css/fd84c8316ead16eb.css +0 -1
  292. /package/_standalone/.next/static/{zOaEtgJbdRMncnCBucULp → u8p6oIRTcr_ns-ElNZ9rl}/_buildManifest.js +0 -0
  293. /package/_standalone/.next/static/{zOaEtgJbdRMncnCBucULp → u8p6oIRTcr_ns-ElNZ9rl}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- exports.id=6539,exports.ids=[6539],exports.modules={39008:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{KP:()=>i,Ot:()=>l,T_:()=>n,Ux:()=>j,im:()=>h,jt:()=>o,lr:()=>k,rl:()=>g,us:()=>m});var e=c(14270),f=a([e]);e=(f.then?(await f)():f)[0];let n={anthropic:{id:"anthropic",name:"Anthropic",nameZh:"Anthropic",defaultModel:"claude-sonnet-4-6",supportsBaseUrl:!0,supportsThinking:!0,supportsListModels:!0,signupUrl:"https://console.anthropic.com/settings/keys",category:"primary"},openai:{id:"openai",name:"OpenAI",nameZh:"OpenAI",defaultModel:"gpt-5.4",supportsBaseUrl:!0,supportsThinking:!0,supportsListModels:!0,signupUrl:"https://platform.openai.com/api-keys",category:"primary"},google:{id:"google",name:"Google Gemini",nameZh:"Google Gemini",defaultModel:"gemini-2.5-flash",supportsBaseUrl:!1,supportsThinking:!0,supportsListModels:!1,signupUrl:"https://aistudio.google.com/apikey",category:"primary"},groq:{id:"groq",name:"Groq",nameZh:"Groq",defaultModel:"llama-3.3-70b-versatile",supportsBaseUrl:!1,supportsThinking:!1,supportsListModels:!0,signupUrl:"https://console.groq.com/keys",category:"more"},xai:{id:"xai",name:"xAI (Grok)",nameZh:"xAI (Grok)",defaultModel:"grok-3",supportsBaseUrl:!1,supportsThinking:!1,supportsListModels:!0,category:"more"},openrouter:{id:"openrouter",name:"OpenRouter",nameZh:"OpenRouter",defaultModel:"anthropic/claude-sonnet-4",supportsBaseUrl:!1,supportsThinking:!1,supportsListModels:!0,category:"more"},mistral:{id:"mistral",name:"Mistral",nameZh:"Mistral",defaultModel:"mistral-large-latest",supportsBaseUrl:!1,supportsThinking:!1,supportsListModels:!0,category:"more"},deepseek:{id:"deepseek",name:"DeepSeek",nameZh:"DeepSeek",defaultModel:"deepseek-chat",piProviderOverride:"openai",fixedBaseUrl:"https://api.deepseek.com/v1",supportsBaseUrl:!0,supportsThinking:!0,supportsListModels:!0,signupUrl:"https://platform.deepseek.com/api_keys",category:"more"},zai:{id:"zai",name:"ZhipuAI (GLM)",nameZh:"智谱 AI (GLM 国际版)",defaultModel:"glm-4-plus",supportsBaseUrl:!1,supportsThinking:!0,supportsListModels:!1,category:"more"},"zai-cn":{id:"zai-cn",name:"ZhipuAI (GLM China)",nameZh:"智谱 AI (GLM 国内版)",defaultModel:"glm-4-plus",piProviderOverride:"zai",fixedBaseUrl:"https://open.bigmodel.cn/api/coding/paas/v4",supportsBaseUrl:!1,supportsThinking:!0,supportsListModels:!1,signupUrl:"https://open.bigmodel.cn/",category:"more"},"kimi-coding":{id:"kimi-coding",name:"Kimi Coding",nameZh:"Kimi Coding (月之暗面)",defaultModel:"kimi-k2-thinking",supportsBaseUrl:!1,supportsThinking:!0,supportsListModels:!1,category:"more"},cerebras:{id:"cerebras",name:"Cerebras",nameZh:"Cerebras",defaultModel:"llama-4-scout-17b-16e",supportsBaseUrl:!1,supportsThinking:!1,supportsListModels:!0,category:"more"},minimax:{id:"minimax",name:"MiniMax",nameZh:"MiniMax (国际版)",defaultModel:"MiniMax-M2.5",supportsBaseUrl:!1,supportsThinking:!0,supportsListModels:!1,category:"more"},"minimax-cn":{id:"minimax-cn",name:"MiniMax (China)",nameZh:"MiniMax (国内版)",defaultModel:"MiniMax-M2.5",supportsBaseUrl:!1,supportsThinking:!0,supportsListModels:!1,category:"more"},huggingface:{id:"huggingface",name:"Hugging Face",nameZh:"Hugging Face",defaultModel:"Qwen/Qwen3-235B-A22B-Thinking-2507",supportsBaseUrl:!1,supportsThinking:!0,supportsListModels:!1,category:"more"},ollama:{id:"ollama",name:"Ollama",nameZh:"Ollama (本地)",defaultModel:"llama3.2",piProviderOverride:"openai",fixedBaseUrl:"http://localhost:11434/v1",apiKeyFallback:"ollama",supportsBaseUrl:!0,supportsThinking:!1,supportsListModels:!0,signupUrl:"https://ollama.com/download",category:"more"}},o=Object.keys(n);function g(a){return a in n}function h(a){return n[a]??n.anthropic}function i(a){return n[a].piProviderOverride??a}let p={deepseek:"DEEPSEEK_API_KEY"};function j(a){return p[a]?p[a]:q[i(a)]}function k(a){return"deepseek"===a?process.env.DEEPSEEK_API_KEY:(0,e.getEnvApiKey)(i(a))}function l(a){let b=n[a];if(b.fixedBaseUrl)return b.fixedBaseUrl;try{let b=(0,e.getModels)(i(a));return b[0]?.baseUrl??""}catch{return""}}function m(a){try{let b=(0,e.getModels)(i(a));return b[0]?.api??"openai-completions"}catch{return"openai-completions"}}let q={anthropic:"ANTHROPIC_API_KEY",openai:"OPENAI_API_KEY","azure-openai-responses":"AZURE_OPENAI_API_KEY",google:"GEMINI_API_KEY",groq:"GROQ_API_KEY",cerebras:"CEREBRAS_API_KEY",xai:"XAI_API_KEY",openrouter:"OPENROUTER_API_KEY",zai:"ZAI_API_KEY","zai-cn":"ZAI_API_KEY",mistral:"MISTRAL_API_KEY",minimax:"MINIMAX_API_KEY","minimax-cn":"MINIMAX_API_KEY",huggingface:"HF_TOKEN","kimi-coding":"KIMI_API_KEY"};d()}catch(a){d(a)}})},61913:(a,b,c)=>{"use strict";c.d(b,{bp:()=>e,gG:()=>j,ug:()=>i,v_:()=>g,vm:()=>f,xX:()=>h});let d={gemini:{binary:"gemini",cmd:"gemini",args:["--experimental-acp"],installCmd:"npm install -g @google/gemini-cli",displayName:"Gemini CLI",description:"Google Gemini 驱动的编程智能体。支持多文件编辑、代码审查、调试和项目级重构,原生集成 Google 搜索实时查询技术文档。"},"gemini-cli":{binary:"gemini",cmd:"gemini",args:["--experimental-acp"],installCmd:"npm install -g @google/gemini-cli",displayName:"Gemini CLI",description:"Google Gemini 驱动的编程智能体。支持多文件编辑、代码审查、调试和项目级重构,原生集成 Google 搜索实时查询技术文档。"},claude:{binary:"claude",cmd:"npx",args:["--yes","@agentclientprotocol/claude-agent-acp"],installCmd:"npm install -g @anthropic-ai/claude-code",displayName:"Claude Code",description:"Anthropic Claude 驱动的编程智能体。擅长复杂推理、长上下文理解和安全代码生成,支持多文件编辑与 agentic 工作流。"},"claude-code":{binary:"claude",cmd:"npx",args:["--yes","@agentclientprotocol/claude-agent-acp"],installCmd:"npm install -g @anthropic-ai/claude-code",displayName:"Claude Code",description:"Anthropic Claude 驱动的编程智能体。擅长复杂推理、长上下文理解和安全代码生成,支持多文件编辑与 agentic 工作流。"},"claude-acp":{binary:"claude",cmd:"npx",args:["--yes","@agentclientprotocol/claude-agent-acp"],installCmd:"npm install -g @anthropic-ai/claude-code",displayName:"Claude Code",description:"Anthropic Claude 驱动的编程智能体。擅长复杂推理、长上下文理解和安全代码生成,支持多文件编辑与 agentic 工作流。"},"codebuddy-code":{binary:"codebuddy",cmd:"codebuddy",args:["--acp"],installCmd:"npm install -g @tencent-ai/codebuddy-code",displayName:"CodeBuddy Code",description:"腾讯云智能编程助手。基于混元大模型,支持代码补全、生成、审查和多文件重构,深度理解中文语境,适配国内开发生态。"},codebuddy:{binary:"codebuddy",cmd:"codebuddy",args:["--acp"],installCmd:"npm install -g @tencent-ai/codebuddy-code",displayName:"CodeBuddy Code",description:"腾讯云智能编程助手。基于混元大模型,支持代码补全、生成、审查和多文件重构,深度理解中文语境,适配国内开发生态。"},"codex-acp":{binary:"codex",cmd:"codex",args:[],installCmd:"npm install -g @openai/codex",displayName:"Codex",description:"OpenAI Codex 编程智能体。基于 GPT 系列模型,擅长代码生成、自动化任务和多语言编程支持。"},codex:{binary:"codex",cmd:"codex",args:[],installCmd:"npm install -g @openai/codex",displayName:"Codex",description:"OpenAI Codex 编程智能体。基于 GPT 系列模型,擅长代码生成、自动化任务和多语言编程支持。"},cursor:{binary:"cursor",cmd:"cursor",args:[],displayName:"Cursor",description:"Cursor AI 编程智能体。AI-first 代码编辑器的 CLI 模式,支持上下文感知的代码编辑、Tab 补全和多文件协同修改。"},cline:{binary:"cline",cmd:"cline",args:[],installCmd:"npm install -g cline",displayName:"Cline",description:"开源自主编程智能体。支持多模型后端,内置文件编辑、终端执行和浏览器自动化能力。"},"github-copilot-cli":{binary:"github-copilot",cmd:"github-copilot",args:[],installCmd:"npm install -g @github/copilot",displayName:"GitHub Copilot",description:"GitHub Copilot 编程智能体。基于海量开源代码训练,擅长代码补全、测试生成和跨语言编程支持。"},goose:{binary:"goose",cmd:"goose",args:[],installCmd:"pip install goose-ai",displayName:"Goose",description:"Block 开源自主编程智能体。支持多模型后端,可扩展插件架构,擅长复杂任务自动化。"},opencode:{binary:"opencode",cmd:"opencode",args:[],installCmd:"go install github.com/opencode-ai/opencode@latest",displayName:"OpenCode",description:"开源终端编程智能体。Go 实现,轻量快速,支持多模型后端和丰富的代码编辑工具。"},kilo:{binary:"kilo",cmd:"kilo",args:[],installCmd:"npm install -g @kilocode/cli",displayName:"Kilo Code",description:"Kilo Code 编程智能体。开源 VS Code 扩展的 CLI 模式,支持多模型、自动审批和代码差异预览。"},openclaw:{binary:"openclaw",cmd:"openclaw",args:[],displayName:"OpenClaw",description:"OpenClaw 编程智能体。开源 Claude Code 替代方案,支持多模型后端和完整的 agentic 工作流。"},pi:{binary:"pi",cmd:"pi",args:[],displayName:"Pi Agent",description:"Pi Agent 编程智能体。轻量级终端编程助手。"},"pi-acp":{binary:"pi",cmd:"pi",args:[],displayName:"Pi Agent",description:"Pi Agent 编程智能体。轻量级终端编程助手。"},auggie:{binary:"auggie",cmd:"auggie",args:[],displayName:"Auggie",description:"Augment Code 编程智能体。支持代码理解、生成和全仓库上下文感知。"},iflow:{binary:"iflow",cmd:"iflow",args:[],displayName:"iFlow",description:"iFlow 编程智能体。AI 驱动的工作流自动化工具。"},kimi:{binary:"kimi",cmd:"kimi",args:[],displayName:"Kimi",description:"Moonshot AI Kimi 编程智能体。擅长超长上下文理解,支持中文语境下的代码生成与分析。"},"qwen-code":{binary:"qwen-code",cmd:"qwen-code",args:[],installCmd:"npm install -g @qwen-code/qwen-code",displayName:"Qwen Code",description:"阿里通义千问 Qwen 编程智能体。基于 Qwen 大模型,支持代码生成、审查和多语言编程,深度适配中文开发场景。"}};function e(a,b,c){let e=d[a],f=c?.enabled!==!1;if(c&&(c.command||c.args))return{cmd:c.command??e?.cmd??b?.command??a,args:c.args??e?.args??[],env:c.env,source:"user-override",binary:e?.binary??a,installCmd:e?.installCmd,enabled:f};if(e)return{cmd:e.cmd,args:e.args,env:c?.env,source:"descriptor",binary:e.binary,installCmd:e.installCmd,enabled:f};if(b){let{cmd:d,args:e}=function(a){switch(a.transport){case"npx":return{cmd:"npx",args:["--yes",a.command,...a.args??[]]};case"uvx":return{cmd:"uvx",args:[a.command,...a.args??[]]};default:return{cmd:a.command,args:a.args??[]}}}(b);return{cmd:d,args:e,env:c?.env,source:"registry",binary:a,installCmd:b.packageName?`npm install -g ${b.packageName}`:void 0,enabled:f}}return{cmd:a,args:[],env:c?.env,source:"registry",binary:a,enabled:f}}function f(a){return d[a]?.binary}function g(a){return d[a]?.installCmd}function h(a){return d[a]?.displayName}function i(a){return d[a]?.description}function j(a){if(!a||"object"!=typeof a||Array.isArray(a))return;let b={},c=!1;for(let[d,e]of Object.entries(a)){if(!e||"object"!=typeof e||Array.isArray(e))continue;let a={};if("string"==typeof e.command&&e.command.trim()&&(a.command=e.command.trim()),Array.isArray(e.args)&&(a.args=e.args.filter(a=>"string"==typeof a)),e.env&&"object"==typeof e.env&&!Array.isArray(e.env)){let b={};for(let[a,c]of Object.entries(e.env))"string"==typeof c&&(b[a]=c);Object.keys(b).length>0&&(a.env=b)}"boolean"==typeof e.enabled&&(a.enabled=e.enabled),Object.keys(a).length>0&&(b[d]=a,c=!0)}return c?b:void 0}},76223:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Ln:()=>p,Sf:()=>r,_S:()=>u,kh:()=>s,recordSkillInstall:()=>q,sb:()=>o,xV:()=>t});var e=c(29021),f=c.n(e),g=c(33873),h=c.n(g),i=c(21820),j=c.n(i),k=c(61913),l=c(39008),m=a([l]);l=(m.then?(await m)():m)[0];let v=h().join(j().homedir(),".mindos","config.json"),w={ai:{provider:"anthropic",providers:{anthropic:{apiKey:"",model:"claude-sonnet-4-6"},openai:{apiKey:"",model:"gpt-5.4",baseUrl:""}}},mindRoot:""};function n(a,b,c){if(a&&"object"==typeof a){let c=a[b];if("string"==typeof c&&""!==c.trim())return c}return c}function o(){try{var a;let b=f().readFileSync(v,"utf-8"),c=JSON.parse(b);return{ai:function(a){let b=a.ai;if(!b)return{...w.ai};let c="string"==typeof b.provider?b.provider:"anthropic",d=(0,l.rl)(c)?c:"anthropic";if(b.providers&&"object"==typeof b.providers){let a=b.providers,c={};for(let b of Object.keys(a)){var e;if(!(0,l.rl)(b))continue;let d=l.T_[b],f=w.ai.providers[b]??{apiKey:"",model:d.defaultModel};c[b]=(e=a[b],{apiKey:n(e,"apiKey",f.apiKey),model:n(e,"model",f.model),...void 0!==f.baseUrl?{baseUrl:n(e,"baseUrl",f.baseUrl)}:{}})}return c.anthropic||(c.anthropic=w.ai.providers.anthropic),c.openai||(c.openai=w.ai.providers.openai),{provider:d,providers:c}}return{provider:d,providers:{anthropic:{apiKey:n(b,"anthropicApiKey",""),model:n(b,"anthropicModel","claude-sonnet-4-6")},openai:{apiKey:n(b,"openaiApiKey",""),model:n(b,"openaiModel","gpt-5.4"),baseUrl:n(b,"openaiBaseUrl","")}}}}(c),agent:function(a){if(!a||"object"!=typeof a)return;let b={};return"number"==typeof a.maxSteps&&(b.maxSteps=Math.min(30,Math.max(1,a.maxSteps))),"boolean"==typeof a.enableThinking&&(b.enableThinking=a.enableThinking),"number"==typeof a.thinkingBudget&&(b.thinkingBudget=Math.min(5e4,Math.max(1e3,a.thinkingBudget))),("auto"===a.contextStrategy||"off"===a.contextStrategy)&&(b.contextStrategy=a.contextStrategy),"number"==typeof a.reconnectRetries&&(b.reconnectRetries=Math.min(10,Math.max(0,a.reconnectRetries))),Object.keys(b).length>0?b:void 0}(c.agent),acpAgents:(a=c.acpAgents,(0,k.gG)(a)),mindRoot:c.mindRoot??w.mindRoot,webPassword:"string"==typeof c.webPassword?c.webPassword:void 0,authToken:"string"==typeof c.authToken?c.authToken:void 0,mcpPort:"number"==typeof c.mcpPort?c.mcpPort:void 0,port:"number"==typeof c.port?c.port:void 0,startMode:"string"==typeof c.startMode?c.startMode:void 0,setupPending:!0===c.setupPending||void 0,disabledSkills:Array.isArray(c.disabledSkills)?c.disabledSkills:void 0,guideState:function(a){if(!a||"object"!=typeof a||!0!==a.active)return;let b="en"===a.template||"zh"===a.template||"empty"===a.template?a.template:"en";return{active:!0,dismissed:!0===a.dismissed,template:b,step1Done:!0===a.step1Done,askedAI:!0===a.askedAI,nextStepIndex:"number"==typeof a.nextStepIndex?a.nextStepIndex:0,walkthroughStep:"number"==typeof a.walkthroughStep?a.walkthroughStep:void 0,walkthroughDismissed:"boolean"==typeof a.walkthroughDismissed?a.walkthroughDismissed:void 0}}(c.guideState),baseUrlCompat:(()=>{let a=c.baseUrlCompat;if(!a||"object"!=typeof a)return;let b={};for(let[c,d]of Object.entries(a))("streaming"===d||"non-streaming"===d)&&(b[c]=d);return Object.keys(b).length>0?b:void 0})(),connectionMode:function(a){if(a.connectionMode&&"object"==typeof a.connectionMode){let b=a.connectionMode;if("boolean"==typeof b.cli&&"boolean"==typeof b.mcp)return{cli:b.cli,mcp:b.mcp}}let b=!0===a.setupPending||!a.mindRoot;return{cli:!0,mcp:!b}}(c),customAgents:Array.isArray(c.customAgents)?c.customAgents:void 0}}catch{return{...w,ai:{...w.ai,providers:{...w.ai.providers}},setupPending:!0,connectionMode:{cli:!0,mcp:!1}}}}function p(a){let b=h().dirname(v);f().existsSync(b)||f().mkdirSync(b,{recursive:!0});let c={};try{c=JSON.parse(f().readFileSync(v,"utf-8"))}catch{}let d={...c,ai:a.ai,mindRoot:a.mindRoot};void 0!==a.agent&&(d.agent=a.agent),void 0!==a.webPassword&&(d.webPassword=a.webPassword),void 0!==a.authToken&&(d.authToken=a.authToken),void 0!==a.port&&(d.port=a.port),void 0!==a.mcpPort&&(d.mcpPort=a.mcpPort),void 0!==a.startMode&&(d.startMode=a.startMode),void 0!==a.disabledSkills&&(d.disabledSkills=a.disabledSkills),void 0!==a.guideState&&(d.guideState=a.guideState),void 0!==a.acpAgents&&(d.acpAgents=a.acpAgents),void 0!==a.baseUrlCompat&&(d.baseUrlCompat=a.baseUrlCompat),void 0!==a.connectionMode&&(d.connectionMode=a.connectionMode),void 0!==a.customAgents&&(d.customAgents=a.customAgents),"setupPending"in a&&(a.setupPending?d.setupPending=!0:delete d.setupPending),"setupPort"in a&&(a.setupPort?d.setupPort=a.setupPort:delete d.setupPort),f().writeFileSync(v,JSON.stringify(d,null,2)+"\n","utf-8")}function q(a,b,c){let d={};try{d=JSON.parse(f().readFileSync(v,"utf-8"))}catch{}let e=Array.isArray(d.installedSkillAgents)?d.installedSkillAgents:[],g={agent:a,skill:b,path:c},i=e.findIndex(c=>c.agent===a&&c.skill===b);i>=0?e[i]=g:e.push(g),d.installedSkillAgents=e;let j=h().dirname(v);f().existsSync(j)||f().mkdirSync(j,{recursive:!0}),f().writeFileSync(v,JSON.stringify(d,null,2)+"\n","utf-8")}function r(a){let b=o(),c=process.env.AI_PROVIDER,d=a??((0,l.rl)(b.ai.provider)?b.ai.provider:c&&(0,l.rl)(c)?c:"anthropic"),e=l.T_[d]??l.T_.anthropic,f=b.ai.providers[d]??{apiKey:"",model:""},g=f.apiKey||(0,l.lr)(d)||e.apiKeyFallback||"",h=f.model||e.defaultModel,i=f.baseUrl||e.fixedBaseUrl||"";return{provider:d,apiKey:g,model:h,baseUrl:i}}function s(){return o().mindRoot||process.env.MIND_ROOT||h().join(j().homedir(),"MindOS","mind")}function t(){try{return o().baseUrlCompat??{}}catch{return{}}}function u(a,b){let c=o(),d={...c.baseUrlCompat??{},[a]:b};p({...c,baseUrlCompat:d})}d()}catch(a){d(a)}})},78335:()=>{},96487:()=>{}};
1
+ exports.id=6539,exports.ids=[6539],exports.modules={39008:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{KP:()=>i,Ot:()=>l,T_:()=>n,Ux:()=>j,im:()=>h,jt:()=>o,lr:()=>k,rl:()=>g,us:()=>m});var e=c(14270),f=a([e]);e=(f.then?(await f)():f)[0];let n={anthropic:{id:"anthropic",name:"Anthropic",nameZh:"Anthropic",defaultModel:"claude-sonnet-4-6",supportsBaseUrl:!0,supportsThinking:!0,supportsListModels:!0,signupUrl:"https://console.anthropic.com/settings/keys",category:"primary"},openai:{id:"openai",name:"OpenAI",nameZh:"OpenAI",defaultModel:"gpt-5.4",supportsBaseUrl:!0,supportsThinking:!0,supportsListModels:!0,signupUrl:"https://platform.openai.com/api-keys",category:"primary"},google:{id:"google",name:"Google Gemini",nameZh:"Google Gemini",defaultModel:"gemini-2.5-flash",supportsBaseUrl:!1,supportsThinking:!0,supportsListModels:!1,signupUrl:"https://aistudio.google.com/apikey",category:"primary"},groq:{id:"groq",name:"Groq",nameZh:"Groq",defaultModel:"llama-3.3-70b-versatile",supportsBaseUrl:!1,supportsThinking:!1,supportsListModels:!0,signupUrl:"https://console.groq.com/keys",category:"more"},xai:{id:"xai",name:"xAI (Grok)",nameZh:"xAI (Grok)",defaultModel:"grok-3",supportsBaseUrl:!1,supportsThinking:!1,supportsListModels:!0,category:"more"},openrouter:{id:"openrouter",name:"OpenRouter",nameZh:"OpenRouter",defaultModel:"anthropic/claude-sonnet-4",supportsBaseUrl:!1,supportsThinking:!1,supportsListModels:!0,category:"more"},mistral:{id:"mistral",name:"Mistral",nameZh:"Mistral",defaultModel:"mistral-large-latest",supportsBaseUrl:!1,supportsThinking:!1,supportsListModels:!0,category:"more"},deepseek:{id:"deepseek",name:"DeepSeek",nameZh:"DeepSeek",defaultModel:"deepseek-chat",piProviderOverride:"openai",fixedBaseUrl:"https://api.deepseek.com/v1",supportsBaseUrl:!0,supportsThinking:!0,supportsListModels:!0,signupUrl:"https://platform.deepseek.com/api_keys",category:"more"},zai:{id:"zai",name:"ZhipuAI (GLM)",nameZh:"智谱 AI (GLM 国际版)",defaultModel:"glm-4-plus",supportsBaseUrl:!1,supportsThinking:!0,supportsListModels:!1,category:"more"},"zai-cn":{id:"zai-cn",name:"ZhipuAI (GLM China)",nameZh:"智谱 AI (GLM 国内版)",defaultModel:"glm-4-plus",piProviderOverride:"zai",fixedBaseUrl:"https://open.bigmodel.cn/api/coding/paas/v4",supportsBaseUrl:!1,supportsThinking:!0,supportsListModels:!1,signupUrl:"https://open.bigmodel.cn/",category:"more"},"kimi-coding":{id:"kimi-coding",name:"Kimi Coding",nameZh:"Kimi Coding (月之暗面)",defaultModel:"kimi-k2-thinking",supportsBaseUrl:!1,supportsThinking:!0,supportsListModels:!1,category:"more"},cerebras:{id:"cerebras",name:"Cerebras",nameZh:"Cerebras",defaultModel:"llama-4-scout-17b-16e",supportsBaseUrl:!1,supportsThinking:!1,supportsListModels:!0,category:"more"},minimax:{id:"minimax",name:"MiniMax",nameZh:"MiniMax (国际版)",defaultModel:"MiniMax-M2.5",supportsBaseUrl:!1,supportsThinking:!0,supportsListModels:!1,category:"more"},"minimax-cn":{id:"minimax-cn",name:"MiniMax (China)",nameZh:"MiniMax (国内版)",defaultModel:"MiniMax-M2.5",supportsBaseUrl:!1,supportsThinking:!0,supportsListModels:!1,category:"more"},huggingface:{id:"huggingface",name:"Hugging Face",nameZh:"Hugging Face",defaultModel:"Qwen/Qwen3-235B-A22B-Thinking-2507",supportsBaseUrl:!1,supportsThinking:!0,supportsListModels:!1,category:"more"},ollama:{id:"ollama",name:"Ollama",nameZh:"Ollama (本地)",defaultModel:"llama3.2",piProviderOverride:"openai",fixedBaseUrl:"http://localhost:11434/v1",apiKeyFallback:"ollama",supportsBaseUrl:!0,supportsThinking:!1,supportsListModels:!0,signupUrl:"https://ollama.com/download",category:"more"}},o=Object.keys(n);function g(a){return a in n}function h(a){return n[a]??n.anthropic}function i(a){return n[a].piProviderOverride??a}let p={deepseek:"DEEPSEEK_API_KEY"};function j(a){return p[a]?p[a]:q[i(a)]}function k(a){return"deepseek"===a?process.env.DEEPSEEK_API_KEY:(0,e.getEnvApiKey)(i(a))}function l(a){let b=n[a];if(b.fixedBaseUrl)return b.fixedBaseUrl;try{let b=(0,e.getModels)(i(a));return b[0]?.baseUrl??""}catch{return""}}function m(a){try{let b=(0,e.getModels)(i(a));return b[0]?.api??"openai-completions"}catch{return"openai-completions"}}let q={anthropic:"ANTHROPIC_API_KEY",openai:"OPENAI_API_KEY","azure-openai-responses":"AZURE_OPENAI_API_KEY",google:"GEMINI_API_KEY",groq:"GROQ_API_KEY",cerebras:"CEREBRAS_API_KEY",xai:"XAI_API_KEY",openrouter:"OPENROUTER_API_KEY",zai:"ZAI_API_KEY","zai-cn":"ZAI_API_KEY",mistral:"MISTRAL_API_KEY",minimax:"MINIMAX_API_KEY","minimax-cn":"MINIMAX_API_KEY",huggingface:"HF_TOKEN","kimi-coding":"KIMI_API_KEY"};d()}catch(a){d(a)}})},61913:(a,b,c)=>{"use strict";c.d(b,{bp:()=>e,gG:()=>j,ug:()=>i,v_:()=>g,vm:()=>f,xX:()=>h});let d={gemini:{binary:"gemini",cmd:"gemini",args:["--experimental-acp"],installCmd:"npm install -g @google/gemini-cli",displayName:"Gemini CLI",description:"Google Gemini 驱动的编程智能体。支持多文件编辑、代码审查、调试和项目级重构,原生集成 Google 搜索实时查询技术文档。"},"gemini-cli":{binary:"gemini",cmd:"gemini",args:["--experimental-acp"],installCmd:"npm install -g @google/gemini-cli",displayName:"Gemini CLI",description:"Google Gemini 驱动的编程智能体。支持多文件编辑、代码审查、调试和项目级重构,原生集成 Google 搜索实时查询技术文档。"},claude:{binary:"claude",cmd:"npx",args:["--yes","@agentclientprotocol/claude-agent-acp"],installCmd:"npm install -g @anthropic-ai/claude-code",displayName:"Claude Code",description:"Anthropic Claude 驱动的编程智能体。擅长复杂推理、长上下文理解和安全代码生成,支持多文件编辑与 agentic 工作流。"},"claude-code":{binary:"claude",cmd:"npx",args:["--yes","@agentclientprotocol/claude-agent-acp"],installCmd:"npm install -g @anthropic-ai/claude-code",displayName:"Claude Code",description:"Anthropic Claude 驱动的编程智能体。擅长复杂推理、长上下文理解和安全代码生成,支持多文件编辑与 agentic 工作流。"},"claude-acp":{binary:"claude",cmd:"npx",args:["--yes","@agentclientprotocol/claude-agent-acp"],installCmd:"npm install -g @anthropic-ai/claude-code",displayName:"Claude Code",description:"Anthropic Claude 驱动的编程智能体。擅长复杂推理、长上下文理解和安全代码生成,支持多文件编辑与 agentic 工作流。"},"codebuddy-code":{binary:"codebuddy",cmd:"codebuddy",args:["--acp"],installCmd:"npm install -g @tencent-ai/codebuddy-code",displayName:"CodeBuddy Code",description:"腾讯云智能编程助手。基于混元大模型,支持代码补全、生成、审查和多文件重构,深度理解中文语境,适配国内开发生态。"},codebuddy:{binary:"codebuddy",cmd:"codebuddy",args:["--acp"],installCmd:"npm install -g @tencent-ai/codebuddy-code",displayName:"CodeBuddy Code",description:"腾讯云智能编程助手。基于混元大模型,支持代码补全、生成、审查和多文件重构,深度理解中文语境,适配国内开发生态。"},"codex-acp":{binary:"codex",cmd:"codex",args:[],installCmd:"npm install -g @openai/codex",displayName:"Codex",description:"OpenAI Codex 编程智能体。基于 GPT 系列模型,擅长代码生成、自动化任务和多语言编程支持。"},codex:{binary:"codex",cmd:"codex",args:[],installCmd:"npm install -g @openai/codex",displayName:"Codex",description:"OpenAI Codex 编程智能体。基于 GPT 系列模型,擅长代码生成、自动化任务和多语言编程支持。"},cursor:{binary:"cursor",cmd:"cursor",args:[],displayName:"Cursor",description:"Cursor AI 编程智能体。AI-first 代码编辑器的 CLI 模式,支持上下文感知的代码编辑、Tab 补全和多文件协同修改。"},cline:{binary:"cline",cmd:"cline",args:[],installCmd:"npm install -g cline",displayName:"Cline",description:"开源自主编程智能体。支持多模型后端,内置文件编辑、终端执行和浏览器自动化能力。"},"github-copilot-cli":{binary:"github-copilot",cmd:"github-copilot",args:[],installCmd:"npm install -g @github/copilot",displayName:"GitHub Copilot",description:"GitHub Copilot 编程智能体。基于海量开源代码训练,擅长代码补全、测试生成和跨语言编程支持。"},goose:{binary:"goose",cmd:"goose",args:[],installCmd:"pip install goose-ai",displayName:"Goose",description:"Block 开源自主编程智能体。支持多模型后端,可扩展插件架构,擅长复杂任务自动化。"},opencode:{binary:"opencode",cmd:"opencode",args:[],installCmd:"go install github.com/opencode-ai/opencode@latest",displayName:"OpenCode",description:"开源终端编程智能体。Go 实现,轻量快速,支持多模型后端和丰富的代码编辑工具。"},kilo:{binary:"kilo",cmd:"kilo",args:[],installCmd:"npm install -g @kilocode/cli",displayName:"Kilo Code",description:"Kilo Code 编程智能体。开源 VS Code 扩展的 CLI 模式,支持多模型、自动审批和代码差异预览。"},openclaw:{binary:"openclaw",cmd:"openclaw",args:[],displayName:"OpenClaw",description:"OpenClaw 编程智能体。开源 Claude Code 替代方案,支持多模型后端和完整的 agentic 工作流。"},pi:{binary:"pi",cmd:"pi",args:[],displayName:"Pi Agent",description:"Pi Agent 编程智能体。轻量级终端编程助手。"},"pi-acp":{binary:"pi",cmd:"pi",args:[],displayName:"Pi Agent",description:"Pi Agent 编程智能体。轻量级终端编程助手。"},auggie:{binary:"auggie",cmd:"auggie",args:[],displayName:"Auggie",description:"Augment Code 编程智能体。支持代码理解、生成和全仓库上下文感知。"},iflow:{binary:"iflow",cmd:"iflow",args:[],displayName:"iFlow",description:"iFlow 编程智能体。AI 驱动的工作流自动化工具。"},kimi:{binary:"kimi",cmd:"kimi",args:[],displayName:"Kimi",description:"Moonshot AI Kimi 编程智能体。擅长超长上下文理解,支持中文语境下的代码生成与分析。"},"qwen-code":{binary:"qwen-code",cmd:"qwen-code",args:[],installCmd:"npm install -g @qwen-code/qwen-code",displayName:"Qwen Code",description:"阿里通义千问 Qwen 编程智能体。基于 Qwen 大模型,支持代码生成、审查和多语言编程,深度适配中文开发场景。"}};function e(a,b,c){let e=d[a],f=c?.enabled!==!1;if(c&&(c.command||c.args))return{cmd:c.command??e?.cmd??b?.command??a,args:c.args??e?.args??[],env:c.env,source:"user-override",binary:e?.binary??a,installCmd:e?.installCmd,enabled:f};if(e)return{cmd:e.cmd,args:e.args,env:c?.env,source:"descriptor",binary:e.binary,installCmd:e.installCmd,enabled:f};if(b){let{cmd:d,args:e}=function(a){switch(a.transport){case"npx":return{cmd:"npx",args:["--yes",a.command,...a.args??[]]};case"uvx":return{cmd:"uvx",args:[a.command,...a.args??[]]};default:return{cmd:a.command,args:a.args??[]}}}(b);return{cmd:d,args:e,env:c?.env,source:"registry",binary:a,installCmd:b.packageName?`npm install -g ${b.packageName}`:void 0,enabled:f}}return{cmd:a,args:[],env:c?.env,source:"registry",binary:a,enabled:f}}function f(a){return d[a]?.binary}function g(a){return d[a]?.installCmd}function h(a){return d[a]?.displayName}function i(a){return d[a]?.description}function j(a){if(!a||"object"!=typeof a||Array.isArray(a))return;let b={},c=!1;for(let[d,e]of Object.entries(a)){if(!e||"object"!=typeof e||Array.isArray(e))continue;let a={};if("string"==typeof e.command&&e.command.trim()&&(a.command=e.command.trim()),Array.isArray(e.args)&&(a.args=e.args.filter(a=>"string"==typeof a)),e.env&&"object"==typeof e.env&&!Array.isArray(e.env)){let b={};for(let[a,c]of Object.entries(e.env))"string"==typeof c&&(b[a]=c);Object.keys(b).length>0&&(a.env=b)}"boolean"==typeof e.enabled&&(a.enabled=e.enabled),Object.keys(a).length>0&&(b[d]=a,c=!0)}return c?b:void 0}},76223:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Sf:()=>r,_S:()=>u,kh:()=>s,readSettings:()=>o,recordSkillInstall:()=>q,writeSettings:()=>p,xV:()=>t});var e=c(29021),f=c.n(e),g=c(33873),h=c.n(g),i=c(21820),j=c.n(i),k=c(61913),l=c(39008),m=a([l]);l=(m.then?(await m)():m)[0];let v=h().join(j().homedir(),".mindos","config.json"),w={ai:{provider:"anthropic",providers:{anthropic:{apiKey:"",model:"claude-sonnet-4-6"},openai:{apiKey:"",model:"gpt-5.4",baseUrl:""}}},mindRoot:""};function n(a,b,c){if(a&&"object"==typeof a){let c=a[b];if("string"==typeof c&&""!==c.trim())return c}return c}function o(){try{var a;let b=f().readFileSync(v,"utf-8"),c=JSON.parse(b);return{ai:function(a){let b=a.ai;if(!b)return{...w.ai};let c="string"==typeof b.provider?b.provider:"anthropic",d=(0,l.rl)(c)?c:"anthropic";if(b.providers&&"object"==typeof b.providers){let a=b.providers,c={};for(let b of Object.keys(a)){var e;if(!(0,l.rl)(b))continue;let d=l.T_[b],f=w.ai.providers[b]??{apiKey:"",model:d.defaultModel};c[b]=(e=a[b],{apiKey:n(e,"apiKey",f.apiKey),model:n(e,"model",f.model),...void 0!==f.baseUrl?{baseUrl:n(e,"baseUrl",f.baseUrl)}:{}})}return c.anthropic||(c.anthropic=w.ai.providers.anthropic),c.openai||(c.openai=w.ai.providers.openai),{provider:d,providers:c}}return{provider:d,providers:{anthropic:{apiKey:n(b,"anthropicApiKey",""),model:n(b,"anthropicModel","claude-sonnet-4-6")},openai:{apiKey:n(b,"openaiApiKey",""),model:n(b,"openaiModel","gpt-5.4"),baseUrl:n(b,"openaiBaseUrl","")}}}}(c),agent:function(a){if(!a||"object"!=typeof a)return;let b={};return"number"==typeof a.maxSteps&&(b.maxSteps=Math.min(30,Math.max(1,a.maxSteps))),"boolean"==typeof a.enableThinking&&(b.enableThinking=a.enableThinking),"number"==typeof a.thinkingBudget&&(b.thinkingBudget=Math.min(5e4,Math.max(1e3,a.thinkingBudget))),("auto"===a.contextStrategy||"off"===a.contextStrategy)&&(b.contextStrategy=a.contextStrategy),"number"==typeof a.reconnectRetries&&(b.reconnectRetries=Math.min(10,Math.max(0,a.reconnectRetries))),Object.keys(b).length>0?b:void 0}(c.agent),acpAgents:(a=c.acpAgents,(0,k.gG)(a)),mindRoot:c.mindRoot??w.mindRoot,webPassword:"string"==typeof c.webPassword?c.webPassword:void 0,authToken:"string"==typeof c.authToken?c.authToken:void 0,mcpPort:"number"==typeof c.mcpPort?c.mcpPort:void 0,port:"number"==typeof c.port?c.port:void 0,startMode:"string"==typeof c.startMode?c.startMode:void 0,setupPending:!0===c.setupPending||void 0,disabledSkills:Array.isArray(c.disabledSkills)?c.disabledSkills:void 0,guideState:function(a){if(!a||"object"!=typeof a||!0!==a.active)return;let b="en"===a.template||"zh"===a.template||"empty"===a.template?a.template:"en";return{active:!0,dismissed:!0===a.dismissed,template:b,step1Done:!0===a.step1Done,askedAI:!0===a.askedAI,nextStepIndex:"number"==typeof a.nextStepIndex?a.nextStepIndex:0,walkthroughStep:"number"==typeof a.walkthroughStep?a.walkthroughStep:void 0,walkthroughDismissed:"boolean"==typeof a.walkthroughDismissed?a.walkthroughDismissed:void 0}}(c.guideState),baseUrlCompat:(()=>{let a=c.baseUrlCompat;if(!a||"object"!=typeof a)return;let b={};for(let[c,d]of Object.entries(a))("streaming"===d||"non-streaming"===d)&&(b[c]=d);return Object.keys(b).length>0?b:void 0})(),connectionMode:function(a){if(a.connectionMode&&"object"==typeof a.connectionMode){let b=a.connectionMode;if("boolean"==typeof b.cli&&"boolean"==typeof b.mcp)return{cli:b.cli,mcp:b.mcp}}let b=!0===a.setupPending||!a.mindRoot;return{cli:!0,mcp:!b}}(c),customAgents:Array.isArray(c.customAgents)?c.customAgents:void 0}}catch{return{...w,ai:{...w.ai,providers:{...w.ai.providers}},setupPending:!0,connectionMode:{cli:!0,mcp:!1}}}}function p(a){let b=h().dirname(v);f().existsSync(b)||f().mkdirSync(b,{recursive:!0});let c={};try{c=JSON.parse(f().readFileSync(v,"utf-8"))}catch{}let d={...c,ai:a.ai,mindRoot:a.mindRoot};void 0!==a.agent&&(d.agent=a.agent),void 0!==a.webPassword&&(d.webPassword=a.webPassword),void 0!==a.authToken&&(d.authToken=a.authToken),void 0!==a.port&&(d.port=a.port),void 0!==a.mcpPort&&(d.mcpPort=a.mcpPort),void 0!==a.startMode&&(d.startMode=a.startMode),void 0!==a.disabledSkills&&(d.disabledSkills=a.disabledSkills),void 0!==a.guideState&&(d.guideState=a.guideState),void 0!==a.acpAgents&&(d.acpAgents=a.acpAgents),void 0!==a.baseUrlCompat&&(d.baseUrlCompat=a.baseUrlCompat),void 0!==a.connectionMode&&(d.connectionMode=a.connectionMode),void 0!==a.customAgents&&(d.customAgents=a.customAgents),"setupPending"in a&&(a.setupPending?d.setupPending=!0:delete d.setupPending),"setupPort"in a&&(a.setupPort?d.setupPort=a.setupPort:delete d.setupPort),f().writeFileSync(v,JSON.stringify(d,null,2)+"\n","utf-8")}function q(a,b,c){let d={};try{d=JSON.parse(f().readFileSync(v,"utf-8"))}catch{}let e=Array.isArray(d.installedSkillAgents)?d.installedSkillAgents:[],g={agent:a,skill:b,path:c},i=e.findIndex(c=>c.agent===a&&c.skill===b);i>=0?e[i]=g:e.push(g),d.installedSkillAgents=e;let j=h().dirname(v);f().existsSync(j)||f().mkdirSync(j,{recursive:!0}),f().writeFileSync(v,JSON.stringify(d,null,2)+"\n","utf-8")}function r(a){let b=o(),c=process.env.AI_PROVIDER,d=a??((0,l.rl)(b.ai.provider)?b.ai.provider:c&&(0,l.rl)(c)?c:"anthropic"),e=l.T_[d]??l.T_.anthropic,f=b.ai.providers[d]??{apiKey:"",model:""},g=f.apiKey||(0,l.lr)(d)||e.apiKeyFallback||"",h=f.model||e.defaultModel,i=f.baseUrl||e.fixedBaseUrl||"";return{provider:d,apiKey:g,model:h,baseUrl:i}}function s(){return o().mindRoot||process.env.MIND_ROOT||h().join(j().homedir(),"MindOS","mind")}function t(){try{return o().baseUrlCompat??{}}catch{return{}}}function u(a,b){let c=o(),d={...c.baseUrlCompat??{},[a]:b};p({...c,baseUrlCompat:d})}d()}catch(a){d(a)}})},78335:()=>{},96487:()=>{}};
@@ -1,4 +1,4 @@
1
- "use strict";exports.id=2159,exports.ids=[2159],exports.modules={1160:(a,b,c)=>{c.d(b,{GL:()=>d,_l:()=>e,e1:()=>f}),c(29021),c(33873);let d=a=>`# ${a} Instruction Set
1
+ "use strict";exports.id=8343,exports.ids=[8343],exports.modules={1160:(a,b,c)=>{c.d(b,{GL:()=>d,_l:()=>e,e1:()=>f}),c(29021),c(33873);let d=a=>`# ${a} Instruction Set
2
2
 
3
3
  ## Goal
4
4
 
@@ -49,4 +49,4 @@ ${a}/
49
49
  ## 💡 Usage
50
50
 
51
51
  (Add usage guidelines for this space.)
52
- `}function l(a,b,c,d=""){let f=b.trim();if(!f)throw new h.Vt(h.tG.INVALID_REQUEST,"Space name is required",{name:b});if(f.includes("/")||f.includes("\\"))throw new h.Vt(h.tG.INVALID_PATH,"Space name must not contain path separators",{name:f});let m=d.replace(/\/+$/,"").trim();if(m.includes("..")||m.startsWith("/")||m.includes("\\"))throw new h.Vt(h.tG.INVALID_PATH,"Invalid parent path",{parentPath:d});let n=m?`${m}/`:"",o=`${n}${f}`,p=k(o,f,c);(0,i.x3)(a,`${o}/README.md`,p);let q=g().resolve(a,o),r=g().join(q,"INSTRUCTION.md");return e().existsSync(r)||e().writeFileSync(r,(0,j.GL)((0,j.e1)(f)),"utf-8"),{path:o}}},16081:(a,b,c)=>{c.d(b,{F0:()=>o,JI:()=>u,Lr:()=>p,YN:()=>t,hQ:()=>s,kz:()=>q,vn:()=>r});var d=c(29021),e=c.n(d),f=c(33873),g=c.n(f);function h(a,b){return g().join(g().dirname(a),b)}function i(a){return h(a,".trash")}function j(a){return h(a,".trash-meta")}function k(a){e().mkdirSync(i(a),{recursive:!0}),e().mkdirSync(j(a),{recursive:!0})}function l(a,b){let c=g().join(j(a),`${b}.json`);if(!e().existsSync(c))return null;try{return JSON.parse(e().readFileSync(c,"utf-8"))}catch{return null}}function m(a,b){let c=g().join(j(a),`${b}.json`);try{e().unlinkSync(c)}catch{}}function n(a,b,c){if(c)e().cpSync(a,b,{recursive:!0}),e().rmSync(a,{recursive:!0,force:!0});else try{e().renameSync(a,b)}catch(c){if("EXDEV"===c.code)e().copyFileSync(a,b),e().unlinkSync(a);else throw c}}function o(a,b){let c,d;k(a);let f=g().join(a,b);if(!e().existsSync(f))throw Error(`File not found: ${b}`);let h=e().statSync(f).isDirectory(),l=g().basename(b),m=(c=l.replace(/[^a-zA-Z0-9._\-\u4e00-\u9fff]/g,"_"),`${Date.now()}_${c}`),o=g().join(i(a),m);e().mkdirSync(g().dirname(o),{recursive:!0}),n(f,o,h);let p=new Date,q={id:m,originalPath:b,deletedAt:p.toISOString(),expiresAt:new Date(p.getTime()+2592e6).toISOString(),fileName:l,isDirectory:h};return d=g().join(j(a),`${q.id}.json`),e().writeFileSync(d,JSON.stringify(q,null,2),"utf-8"),q}function p(a,b,c=!1){let d=l(a,b);if(!d)throw Error("Item not found in trash");let f=g().join(i(a),b);if(!e().existsSync(f))throw Error("Trash file missing from disk");let h=g().join(a,d.originalPath);if(e().existsSync(h)&&!c)throw Object.assign(Error("Restore conflict: file exists at original location"),{code:"RESTORE_CONFLICT"});return e().mkdirSync(g().dirname(h),{recursive:!0}),d.isDirectory?c&&e().existsSync(h)&&e().rmSync(h,{recursive:!0,force:!0}):c&&e().existsSync(h)&&e().unlinkSync(h),n(f,h,d.isDirectory),m(a,b),{restoredPath:d.originalPath}}function q(a,b){let c=l(a,b);if(!c)throw Error("Item not found in trash");let d=g().join(i(a),b);if(!e().existsSync(d))throw Error("Trash file missing from disk");let f=g().dirname(c.originalPath),h=g().extname(c.fileName),j=g().basename(c.fileName,h),k=g().join(f,`${j} (copy)${h}`),o=2;for(;e().existsSync(g().join(a,k));)k=g().join(f,`${j} (copy ${o})${h}`),o++;let p=g().join(a,k);return e().mkdirSync(g().dirname(p),{recursive:!0}),n(d,p,c.isDirectory),m(a,b),{restoredPath:k}}function r(a,b){let c=g().join(i(a),b);try{e().existsSync(c)&&(e().statSync(c).isDirectory()?e().rmSync(c,{recursive:!0,force:!0}):e().unlinkSync(c))}catch{}m(a,b)}function s(a){let b;k(a);let c=j(a);try{b=e().readdirSync(c).filter(a=>a.endsWith(".json"))}catch{return[]}let d=[];for(let f of b)try{let b=JSON.parse(e().readFileSync(g().join(c,f),"utf-8")),h=g().join(i(a),b.id);if(e().existsSync(h))d.push(b);else try{e().unlinkSync(g().join(c,f))}catch{}}catch{}return d.sort((a,b)=>new Date(b.deletedAt).getTime()-new Date(a.deletedAt).getTime()),d}function t(a){let b=s(a);for(let c of b)r(a,c.id);return b.length}function u(a){let b=s(a),c=Date.now(),d=0;for(let e of b)new Date(e.expiresAt).getTime()<=c&&(r(a,e.id),d++);return d}},18451:(a,b,c)=>{c.d(b,{H5:()=>n,OV:()=>o,TA:()=>k,rt:()=>m,x3:()=>l});var d=c(29021),e=c.n(d),f=c(33873),g=c.n(f),h=c(99863),i=c(20018),j=c(1160);function k(a,b){let c=(0,h.eX)(a,b);return e().readFileSync(c,"utf-8")}function l(a,b,c=""){let d=(0,h.eX)(a,b);e().mkdirSync(g().dirname(d),{recursive:!0});try{e().writeFileSync(d,c,{encoding:"utf-8",flag:"wx"})}catch(a){if(a instanceof Error&&"code"in a&&"EEXIST"===a.code)throw new i.Vt(i.tG.FILE_ALREADY_EXISTS,`File already exists: ${b}`,{filePath:b});throw a}}function m(a,b){let c=(0,h.eX)(a,b);if(!e().existsSync(c))throw new i.Vt(i.tG.FILE_NOT_FOUND,`Directory not found: ${b}`,{dirPath:b});if(!e().statSync(c).isDirectory())throw new i.Vt(i.tG.INVALID_PATH,`Not a directory: ${b}`,{dirPath:b});let d=g().basename(c),f=(0,j.e1)(d),k=g().join(c,"INSTRUCTION.md");e().existsSync(k)||e().writeFileSync(k,(0,j.GL)(f),"utf-8");let l=g().join(c,"README.md");e().existsSync(l)||e().writeFileSync(l,(0,j._l)(f),"utf-8")}function n(a,b,c){if(c.includes("/")||c.includes("\\"))throw new i.Vt(i.tG.INVALID_PATH,"Invalid filename: must not contain path separators",{newName:c});let d=g().resolve(a),f=g().resolve(g().join(d,b));(0,h.cP)(f,d);let j=g().dirname(f),k=g().join(j,c);if((0,h.cP)(k,d),e().existsSync(k))throw new i.Vt(i.tG.FILE_ALREADY_EXISTS,"A file with that name already exists",{newName:c});return e().renameSync(f,k),g().relative(d,k)}function o(a,b,c){let d=c.trim();if(!d||d.includes("/")||d.includes("\\"))throw new i.Vt(i.tG.INVALID_PATH,"Invalid space name: must not contain path separators",{newName:c});let f=b.replace(/\/+$/g,"").trim();if(!f)throw new i.Vt(i.tG.INVALID_PATH,"Space path is required",{spacePath:b});let j=g().resolve(a),k=(0,h.eX)(a,f);if(!e().existsSync(k))throw new i.Vt(i.tG.FILE_NOT_FOUND,`Space not found: ${f}`,{spacePath:f});if(!e().statSync(k).isDirectory())throw new i.Vt(i.tG.INVALID_PATH,`Not a directory: ${f}`,{spacePath:f});let l=g().dirname(k),m=g().join(l,d);if((0,h.cP)(m,j),e().existsSync(m))throw new i.Vt(i.tG.FILE_ALREADY_EXISTS,"A space with that name already exists",{newName:d});return e().renameSync(k,m),g().relative(j,m)}},20018:(a,b,c)=>{c.d(b,{Vt:()=>d,tG:()=>e}),c(20457);class d extends Error{constructor(a,b,c,d){super(b),this.code=a,this.context=c,this.userMessage=d,this.name="MindOSError"}}let e={FILE_NOT_FOUND:"FILE_NOT_FOUND",FILE_ALREADY_EXISTS:"FILE_ALREADY_EXISTS",PATH_OUTSIDE_ROOT:"PATH_OUTSIDE_ROOT",PROTECTED_FILE:"PROTECTED_FILE",INVALID_PATH:"INVALID_PATH",INVALID_RANGE:"INVALID_RANGE",HEADING_NOT_FOUND:"HEADING_NOT_FOUND",INVALID_FILE_TYPE:"INVALID_FILE_TYPE",INVALID_REQUEST:"INVALID_REQUEST",MODEL_INIT_FAILED:"MODEL_INIT_FAILED",INTERNAL_ERROR:"INTERNAL_ERROR",PERMISSION_DENIED:"PERMISSION_DENIED"}},27114:(a,b,c)=>{c.d(b,{A:()=>d});let d=new Set(["TODO.md"])},27313:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{T_:()=>h,rl:()=>g});var e=c(14270),f=a([e]);e=(f.then?(await f)():f)[0];let h={anthropic:{id:"anthropic",name:"Anthropic",nameZh:"Anthropic",defaultModel:"claude-sonnet-4-6",supportsBaseUrl:!0,supportsThinking:!0,supportsListModels:!0,signupUrl:"https://console.anthropic.com/settings/keys",category:"primary"},openai:{id:"openai",name:"OpenAI",nameZh:"OpenAI",defaultModel:"gpt-5.4",supportsBaseUrl:!0,supportsThinking:!0,supportsListModels:!0,signupUrl:"https://platform.openai.com/api-keys",category:"primary"},google:{id:"google",name:"Google Gemini",nameZh:"Google Gemini",defaultModel:"gemini-2.5-flash",supportsBaseUrl:!1,supportsThinking:!0,supportsListModels:!1,signupUrl:"https://aistudio.google.com/apikey",category:"primary"},groq:{id:"groq",name:"Groq",nameZh:"Groq",defaultModel:"llama-3.3-70b-versatile",supportsBaseUrl:!1,supportsThinking:!1,supportsListModels:!0,signupUrl:"https://console.groq.com/keys",category:"more"},xai:{id:"xai",name:"xAI (Grok)",nameZh:"xAI (Grok)",defaultModel:"grok-3",supportsBaseUrl:!1,supportsThinking:!1,supportsListModels:!0,category:"more"},openrouter:{id:"openrouter",name:"OpenRouter",nameZh:"OpenRouter",defaultModel:"anthropic/claude-sonnet-4",supportsBaseUrl:!1,supportsThinking:!1,supportsListModels:!0,category:"more"},mistral:{id:"mistral",name:"Mistral",nameZh:"Mistral",defaultModel:"mistral-large-latest",supportsBaseUrl:!1,supportsThinking:!1,supportsListModels:!0,category:"more"},deepseek:{id:"deepseek",name:"DeepSeek",nameZh:"DeepSeek",defaultModel:"deepseek-chat",piProviderOverride:"openai",fixedBaseUrl:"https://api.deepseek.com/v1",supportsBaseUrl:!0,supportsThinking:!0,supportsListModels:!0,signupUrl:"https://platform.deepseek.com/api_keys",category:"more"},zai:{id:"zai",name:"ZhipuAI (GLM)",nameZh:"智谱 AI (GLM 国际版)",defaultModel:"glm-4-plus",supportsBaseUrl:!1,supportsThinking:!0,supportsListModels:!1,category:"more"},"zai-cn":{id:"zai-cn",name:"ZhipuAI (GLM China)",nameZh:"智谱 AI (GLM 国内版)",defaultModel:"glm-4-plus",piProviderOverride:"zai",fixedBaseUrl:"https://open.bigmodel.cn/api/coding/paas/v4",supportsBaseUrl:!1,supportsThinking:!0,supportsListModels:!1,signupUrl:"https://open.bigmodel.cn/",category:"more"},"kimi-coding":{id:"kimi-coding",name:"Kimi Coding",nameZh:"Kimi Coding (月之暗面)",defaultModel:"kimi-k2-thinking",supportsBaseUrl:!1,supportsThinking:!0,supportsListModels:!1,category:"more"},cerebras:{id:"cerebras",name:"Cerebras",nameZh:"Cerebras",defaultModel:"llama-4-scout-17b-16e",supportsBaseUrl:!1,supportsThinking:!1,supportsListModels:!0,category:"more"},minimax:{id:"minimax",name:"MiniMax",nameZh:"MiniMax (国际版)",defaultModel:"MiniMax-M2.5",supportsBaseUrl:!1,supportsThinking:!0,supportsListModels:!1,category:"more"},"minimax-cn":{id:"minimax-cn",name:"MiniMax (China)",nameZh:"MiniMax (国内版)",defaultModel:"MiniMax-M2.5",supportsBaseUrl:!1,supportsThinking:!0,supportsListModels:!1,category:"more"},huggingface:{id:"huggingface",name:"Hugging Face",nameZh:"Hugging Face",defaultModel:"Qwen/Qwen3-235B-A22B-Thinking-2507",supportsBaseUrl:!1,supportsThinking:!0,supportsListModels:!1,category:"more"},ollama:{id:"ollama",name:"Ollama",nameZh:"Ollama (本地)",defaultModel:"llama3.2",piProviderOverride:"openai",fixedBaseUrl:"http://localhost:11434/v1",apiKeyFallback:"ollama",supportsBaseUrl:!0,supportsThinking:!1,supportsListModels:!0,signupUrl:"https://ollama.com/download",category:"more"}};function g(a){return a in h}Object.keys(h),d()}catch(a){d(a)}})},32159:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{"001f8edcccf02c7bd354543afee113f3198aab7c41":()=>e.EG,"00308a73908de4826a3f0f39500aa0093cbc4eba58":()=>e.Bn,"00378b55b18eba87d9b87cad7d3b4c39a845bdae96":()=>e.GB,"00c8d749ef8261aaf63cc82cb2c10e46dc2036c0c6":()=>e.Dg,"4029b8630e2ea6a05fce010d9884f7aa3ab32513e0":()=>e.jW,"40aa2a1c0a268542aa5ace1d2fc659754c7ba81830":()=>e.Ye,"40acb67289055e2a7cf859e2f6ed38019fb8614bb8":()=>e.VO,"40b0d5b0a35191bf6081423eaf747fa337af001835":()=>e.ku,"40e5ea6456318a51539d4e410c8657545074d59694":()=>e.iJ,"40f0a1a2b20bd17a72369b1ae181cdb0353e69814d":()=>e.bC,"40f958421c4ea61c85b54ce36ce367332c0e3fad48":()=>e.Ar,"606ed4c711c7afb5258507cdf1637069d161415a64":()=>e.f,"608f239cecc3c92eb214a5191b42ffcea3a4a83e45":()=>e.pG,"60a5de2fb47fb4d5ed791b1613fbfb7cb2e9c04939":()=>e.NN,"60d52cba857746ce00ea8f5761b413f409a53d8eb1":()=>e.X3,"707bc62d3309f69b9d55c136b391e7956ad9822cf7":()=>e.pX,"708a95af0a6b9e6857b3d434443135f9fe7171c77d":()=>e.FZ});var e=c(85224),f=a([e]);e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},53134:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{H5:()=>r,JX:()=>l,Jh:()=>s,f:()=>p,gm:()=>m,rt:()=>t,x3:()=>q});var e=c(29021),f=c.n(e),g=c(33873),h=c.n(g);c(20018);var i=c(14432),j=c(4120);c(89531),c(16081);var k=a([j]);function l(){return(0,j.kh)()}j=(k.then?(await k)():k)[0];let u=new Set([".git","node_modules","app",".next",".DS_Store",".media","mcp"]),v=new Set([".md",".csv",".json",".pdf",".png",".jpg",".jpeg",".gif",".webp",".svg",".bmp",".ico",".mp3",".wav",".m4a",".ogg",".flac",".aac",".mp4",".webm",".mov",".mkv"]),w=null,x=0,y=new i.Xs;function m(){w=null,x++,(0,i._E)(),y.invalidate()}let z=null,A=null;function n(a,b){try{let c=f().readFileSync(a,"utf-8"),d=[];for(let a of c.split("\n")){let c=a.trim();if(!(!c||c.startsWith("#"))&&(d.push(c),d.length>=b))break}return d}catch{return[]}}let B=["Define local execution rules for this directory.","(your files here)","(Describe the purpose and usage of this space.)","(Add usage guidelines for this space.)"];function o(a){try{let b=f().readFileSync(a,"utf-8");return B.some(a=>b.includes(a))}catch{return!1}}function p(){var a;let b,c;return(null!==w&&Date.now()-w.timestamp<3e4?w:(a=l(),b=function a(b,c){let d,e=c??l();try{d=f().readdirSync(b,{withFileTypes:!0})}catch{return[]}let g=[];for(let c of d){let d=h().join(b,c.name),f=h().relative(e,d);if(c.isDirectory()){if(u.has(c.name))continue;let b=a(d,e);if(b.length>0){let a=b.some(a=>"file"===a.type&&"INSTRUCTION.md"===a.name),e={name:c.name,path:f,type:"directory",children:b};a&&(e.isSpace=!0,e.spacePreview=function(a){let b=h().join(a,"INSTRUCTION.md"),c=h().join(a,"README.md");return{instructionLines:n(b,3),readmeLines:n(c,3),isTemplate:o(b)&&o(c)}}(d)),g.push(e)}}else if(c.isFile()){let a=h().extname(c.name).toLowerCase();v.has(a)&&g.push({name:c.name,path:f,type:"file",extension:a})}}return g.sort((a,b)=>a.type!==b.type?"directory"===a.type?-1:1:a.name.localeCompare(b.name)),g}(a),c=[],function a(b){for(let d of b)"file"===d.type?c.push(d.path):d.children&&a(d.children)}(b),w={tree:b,allFiles:c,timestamp:Date.now()},z||function(){let a;if(!z){try{a=l()}catch{return}try{(z=f().watch(a,{recursive:!0},(a,b)=>{!b||b.startsWith(".git")||b.includes("node_modules")||b.includes(".next")||(A&&clearTimeout(A),A=setTimeout(()=>{w=null,A=null},500))})).on("error",()=>{A&&(clearTimeout(A),A=null),z&&(z.close(),z=null)})}catch{z=null}}}(),w)).allFiles}function q(a,b=""){(0,i.x3)(l(),a,b),w=null,x++,(0,i.As)(l(),a),y.isBuilt()&&y.updateFile(l(),a)}function r(a,b){let c=(0,i.H5)(l(),a,b);return m(),c}function s(a,b){let c=(0,i.OV)(l(),a,b);return m(),c}function t(a){(0,i.rt)(l(),a),m()}d()}catch(a){d(a)}})},61374:(a,b,c)=>{c.d(b,{gG:()=>d});function d(a){if(!a||"object"!=typeof a||Array.isArray(a))return;let b={},c=!1;for(let[d,e]of Object.entries(a)){if(!e||"object"!=typeof e||Array.isArray(e))continue;let a={};if("string"==typeof e.command&&e.command.trim()&&(a.command=e.command.trim()),Array.isArray(e.args)&&(a.args=e.args.filter(a=>"string"==typeof a)),e.env&&"object"==typeof e.env&&!Array.isArray(e.env)){let b={};for(let[a,c]of Object.entries(e.env))"string"==typeof c&&(b[a]=c);Object.keys(b).length>0&&(a.env=b)}"boolean"==typeof e.enabled&&(a.enabled=e.enabled),Object.keys(a).length>0&&(b[d]=a,c=!0)}return c?b:void 0}},85224:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Ar:()=>v,Bn:()=>E,Dg:()=>B,EG:()=>C,FZ:()=>A,GB:()=>H,NN:()=>F,VO:()=>D,X3:()=>r,Ye:()=>y,bC:()=>G,f:()=>t,iJ:()=>s,jW:()=>u,ku:()=>x,pG:()=>w,pX:()=>z});var e=c(95349),f=c(29021),g=c.n(f),h=c(33873),i=c.n(h),j=c(53134),k=c(16081),l=c(15872),m=c(1160),n=c(42650),o=c(27114),p=c(89337),q=a([j]);async function r(a,b){try{let c=b.trim();if(!c)return{success:!1,error:"File name is required"};let d=c.endsWith(".md")||c.endsWith(".csv")?c:`${c}.md`,e=a?`${a}/${d}`:d;return(0,j.x3)(e),(0,n.revalidatePath)("/","layout"),{success:!0,filePath:e}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to create file"}}}async function s(a){try{let b=i().posix.basename(a);if(!a.includes("/")&&o.A.has(b))return{success:!1,error:`"${b}" is protected and cannot be deleted`};let c=(0,k.F0)((0,j.JX)(),a);return(0,j.gm)(),(0,n.revalidatePath)("/","layout"),{success:!0,trashId:c.id}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to delete file"}}}async function t(a,b){try{let c=(0,j.H5)(a,b);return(0,n.revalidatePath)("/","layout"),{success:!0,newPath:c}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to rename file"}}}async function u(a){try{return(0,j.rt)(a),(0,n.revalidatePath)("/","layout"),{success:!0}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to convert to space"}}}async function v(a){try{let b=(0,k.F0)((0,j.JX)(),a);return(0,j.gm)(),(0,n.revalidatePath)("/","layout"),{success:!0,trashId:b.id}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to delete folder"}}}async function w(a,b){try{let c=(0,j.Jh)(a,b);return(0,n.revalidatePath)("/","layout"),{success:!0,newPath:c}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to rename space"}}}async function x(a){try{let b=(0,k.F0)((0,j.JX)(),a);return(0,j.gm)(),(0,n.revalidatePath)("/","layout"),{success:!0,trashId:b.id}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to delete space"}}}async function y(a){try{return(0,k.Lr)((0,j.JX)(),a,!1),(0,j.gm)(),(0,n.revalidatePath)("/","layout"),{success:!0}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Undo failed"}}}async function z(a,b,c=""){try{let{path:d}=(0,l._)((0,j.JX)(),a,b,c);return(0,j.gm)(),(0,n.revalidatePath)("/","layout"),{success:!0,path:d}}catch(b){let a=b instanceof Error?b.message:"Failed to create space";if(a.includes("already exists"))return{success:!1,error:"A space with this name already exists"};return{success:!1,error:a}}}async function A(a,b,c){try{let d=(0,j.JX)(),e=i().resolve(d,a);if(!e.startsWith(d))return{success:!1,error:"Invalid path"};let f=i().join(e,"README.md"),h=i().join(e,"INSTRUCTION.md"),k=(0,l.c)(a,b,c);g().writeFileSync(f,k,"utf-8");let o=(0,m.e1)(b);return g().writeFileSync(h,(0,m.GL)(o),"utf-8"),(0,j.gm)(),(0,n.revalidatePath)("/","layout"),{success:!0}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to revert"}}}async function B(){return{files:(0,j.f)().filter(a=>i().basename(a).startsWith("\uD83E\uDDEA_example_"))}}async function C(){try{let{files:a}=await B();if(0===a.length)return{success:!0,deleted:0};let b=(0,j.JX)();for(let c of a){let a=i().resolve(b,c);a.startsWith(b)&&g().existsSync(a)&&g().unlinkSync(a)}for(let c of[...new Set(a.map(a=>i().dirname(i().resolve(b,a))))].sort((a,b)=>b.length-a.length))try{if(c.startsWith(b)&&c!==b){let a=g().readdirSync(c);0===a.length&&g().rmdirSync(c)}}catch{}return(0,j.gm)(),(0,n.revalidatePath)("/","layout"),{success:!0,deleted:a.length}}catch(a){return{success:!1,deleted:0,error:a instanceof Error?a.message:"Failed to cleanup"}}}async function D(a){let b=(0,j.f)(),c=a.endsWith("/")?a:a+"/";return b.filter(a=>a.startsWith(c))}async function E(){return(0,k.JI)((0,j.JX)()),(0,k.hQ)((0,j.JX)())}async function F(a,b="restore"){try{let c,d=(0,j.JX)();return c="copy"===b?(0,k.kz)(d,a):(0,k.Lr)(d,a,"overwrite"===b),(0,j.gm)(),(0,n.revalidatePath)("/","layout"),{success:!0,restoredPath:c.restoredPath}}catch(a){if("RESTORE_CONFLICT"===a.code)return{success:!1,error:a.message,conflict:!0};return{success:!1,error:a.message??"Failed to restore"}}}async function G(a){try{return(0,k.vn)((0,j.JX)(),a),{success:!0}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to delete"}}}async function H(){try{let a=(0,k.YN)((0,j.JX)());return{success:!0,count:a}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to empty trash"}}}j=(q.then?(await q)():q)[0],(0,p.D)([r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H]),(0,e.A)(r,"60d52cba857746ce00ea8f5761b413f409a53d8eb1",null),(0,e.A)(s,"40e5ea6456318a51539d4e410c8657545074d59694",null),(0,e.A)(t,"606ed4c711c7afb5258507cdf1637069d161415a64",null),(0,e.A)(u,"4029b8630e2ea6a05fce010d9884f7aa3ab32513e0",null),(0,e.A)(v,"40f958421c4ea61c85b54ce36ce367332c0e3fad48",null),(0,e.A)(w,"608f239cecc3c92eb214a5191b42ffcea3a4a83e45",null),(0,e.A)(x,"40b0d5b0a35191bf6081423eaf747fa337af001835",null),(0,e.A)(y,"40aa2a1c0a268542aa5ace1d2fc659754c7ba81830",null),(0,e.A)(z,"707bc62d3309f69b9d55c136b391e7956ad9822cf7",null),(0,e.A)(A,"708a95af0a6b9e6857b3d434443135f9fe7171c77d",null),(0,e.A)(B,"00c8d749ef8261aaf63cc82cb2c10e46dc2036c0c6",null),(0,e.A)(C,"001f8edcccf02c7bd354543afee113f3198aab7c41",null),(0,e.A)(D,"40acb67289055e2a7cf859e2f6ed38019fb8614bb8",null),(0,e.A)(E,"00308a73908de4826a3f0f39500aa0093cbc4eba58",null),(0,e.A)(F,"60a5de2fb47fb4d5ed791b1613fbfb7cb2e9c04939",null),(0,e.A)(G,"40f0a1a2b20bd17a72369b1ae181cdb0353e69814d",null),(0,e.A)(H,"00378b55b18eba87d9b87cad7d3b4c39a845bdae96",null),d()}catch(a){d(a)}})},89531:(a,b,c)=>{c.d(b,{b:()=>i});var d=c(29021),e=c.n(d),f=c(33873),g=c.n(f),h=c(79646);function i(a){try{let b=process.env.MINDOS_PROJECT_ROOT?g().join(process.env.MINDOS_PROJECT_ROOT,"app"):g().resolve(process.cwd()),c=g().join(b,"scripts","extract-pdf.cjs");if(!e().existsSync(c))return"";let d=(0,h.execFileSync)("node",[c,a],{encoding:"utf-8",timeout:15e3,maxBuffer:5242880});return JSON.parse(d).text||""}catch{return""}}},99863:(a,b,c)=>{c.d(b,{cP:()=>g,eX:()=>h});var d=c(33873),e=c.n(d),f=c(20018);function g(a,b){if(!a.startsWith(b+e().sep)&&a!==b)throw new f.Vt(f.tG.PATH_OUTSIDE_ROOT,"Access denied: path outside MIND_ROOT",{resolved:a,root:b})}function h(a,b){let c=e().resolve(a),d=e().resolve(e().join(c,b));return g(d,c),d}}};
52
+ `}function l(a,b,c,d=""){let f=b.trim();if(!f)throw new h.Vt(h.tG.INVALID_REQUEST,"Space name is required",{name:b});if(f.includes("/")||f.includes("\\"))throw new h.Vt(h.tG.INVALID_PATH,"Space name must not contain path separators",{name:f});let m=d.replace(/\/+$/,"").trim();if(m.includes("..")||m.startsWith("/")||m.includes("\\"))throw new h.Vt(h.tG.INVALID_PATH,"Invalid parent path",{parentPath:d});let n=m?`${m}/`:"",o=`${n}${f}`,p=k(o,f,c);(0,i.x3)(a,`${o}/README.md`,p);let q=g().resolve(a,o),r=g().join(q,"INSTRUCTION.md");return e().existsSync(r)||e().writeFileSync(r,(0,j.GL)((0,j.e1)(f)),"utf-8"),{path:o}}},16081:(a,b,c)=>{c.d(b,{F0:()=>o,JI:()=>u,Lr:()=>p,YN:()=>t,hQ:()=>s,kz:()=>q,vn:()=>r});var d=c(29021),e=c.n(d),f=c(33873),g=c.n(f);function h(a,b){return g().join(g().dirname(a),b)}function i(a){return h(a,".trash")}function j(a){return h(a,".trash-meta")}function k(a){e().mkdirSync(i(a),{recursive:!0}),e().mkdirSync(j(a),{recursive:!0})}function l(a,b){let c=g().join(j(a),`${b}.json`);if(!e().existsSync(c))return null;try{return JSON.parse(e().readFileSync(c,"utf-8"))}catch{return null}}function m(a,b){let c=g().join(j(a),`${b}.json`);try{e().unlinkSync(c)}catch{}}function n(a,b,c){if(c)e().cpSync(a,b,{recursive:!0}),e().rmSync(a,{recursive:!0,force:!0});else try{e().renameSync(a,b)}catch(c){if("EXDEV"===c.code)e().copyFileSync(a,b),e().unlinkSync(a);else throw c}}function o(a,b){let c,d;k(a);let f=g().join(a,b);if(!e().existsSync(f))throw Error(`File not found: ${b}`);let h=e().statSync(f).isDirectory(),l=g().basename(b),m=(c=l.replace(/[^a-zA-Z0-9._\-\u4e00-\u9fff]/g,"_"),`${Date.now()}_${c}`),o=g().join(i(a),m);e().mkdirSync(g().dirname(o),{recursive:!0}),n(f,o,h);let p=new Date,q={id:m,originalPath:b,deletedAt:p.toISOString(),expiresAt:new Date(p.getTime()+2592e6).toISOString(),fileName:l,isDirectory:h};return d=g().join(j(a),`${q.id}.json`),e().writeFileSync(d,JSON.stringify(q,null,2),"utf-8"),q}function p(a,b,c=!1){let d=l(a,b);if(!d)throw Error("Item not found in trash");let f=g().join(i(a),b);if(!e().existsSync(f))throw Error("Trash file missing from disk");let h=g().join(a,d.originalPath);if(e().existsSync(h)&&!c)throw Object.assign(Error("Restore conflict: file exists at original location"),{code:"RESTORE_CONFLICT"});return e().mkdirSync(g().dirname(h),{recursive:!0}),d.isDirectory?c&&e().existsSync(h)&&e().rmSync(h,{recursive:!0,force:!0}):c&&e().existsSync(h)&&e().unlinkSync(h),n(f,h,d.isDirectory),m(a,b),{restoredPath:d.originalPath}}function q(a,b){let c=l(a,b);if(!c)throw Error("Item not found in trash");let d=g().join(i(a),b);if(!e().existsSync(d))throw Error("Trash file missing from disk");let f=g().dirname(c.originalPath),h=g().extname(c.fileName),j=g().basename(c.fileName,h),k=g().join(f,`${j} (copy)${h}`),o=2;for(;e().existsSync(g().join(a,k));)k=g().join(f,`${j} (copy ${o})${h}`),o++;let p=g().join(a,k);return e().mkdirSync(g().dirname(p),{recursive:!0}),n(d,p,c.isDirectory),m(a,b),{restoredPath:k}}function r(a,b){let c=g().join(i(a),b);try{e().existsSync(c)&&(e().statSync(c).isDirectory()?e().rmSync(c,{recursive:!0,force:!0}):e().unlinkSync(c))}catch{}m(a,b)}function s(a){let b;k(a);let c=j(a);try{b=e().readdirSync(c).filter(a=>a.endsWith(".json"))}catch{return[]}let d=[];for(let f of b)try{let b=JSON.parse(e().readFileSync(g().join(c,f),"utf-8")),h=g().join(i(a),b.id);if(e().existsSync(h))d.push(b);else try{e().unlinkSync(g().join(c,f))}catch{}}catch{}return d.sort((a,b)=>new Date(b.deletedAt).getTime()-new Date(a.deletedAt).getTime()),d}function t(a){let b=s(a);for(let c of b)r(a,c.id);return b.length}function u(a){let b=s(a),c=Date.now(),d=0;for(let e of b)new Date(e.expiresAt).getTime()<=c&&(r(a,e.id),d++);return d}},18451:(a,b,c)=>{c.d(b,{H5:()=>n,OV:()=>o,TA:()=>k,rt:()=>m,x3:()=>l});var d=c(29021),e=c.n(d),f=c(33873),g=c.n(f),h=c(99863),i=c(20018),j=c(1160);function k(a,b){let c=(0,h.eX)(a,b);return e().readFileSync(c,"utf-8")}function l(a,b,c=""){let d=(0,h.eX)(a,b);e().mkdirSync(g().dirname(d),{recursive:!0});try{e().writeFileSync(d,c,{encoding:"utf-8",flag:"wx"})}catch(a){if(a instanceof Error&&"code"in a&&"EEXIST"===a.code)throw new i.Vt(i.tG.FILE_ALREADY_EXISTS,`File already exists: ${b}`,{filePath:b});throw a}}function m(a,b){let c=(0,h.eX)(a,b);if(!e().existsSync(c))throw new i.Vt(i.tG.FILE_NOT_FOUND,`Directory not found: ${b}`,{dirPath:b});if(!e().statSync(c).isDirectory())throw new i.Vt(i.tG.INVALID_PATH,`Not a directory: ${b}`,{dirPath:b});let d=g().basename(c),f=(0,j.e1)(d),k=g().join(c,"INSTRUCTION.md");e().existsSync(k)||e().writeFileSync(k,(0,j.GL)(f),"utf-8");let l=g().join(c,"README.md");e().existsSync(l)||e().writeFileSync(l,(0,j._l)(f),"utf-8")}function n(a,b,c){if(c.includes("/")||c.includes("\\"))throw new i.Vt(i.tG.INVALID_PATH,"Invalid filename: must not contain path separators",{newName:c});let d=g().resolve(a),f=g().resolve(g().join(d,b));(0,h.cP)(f,d);let j=g().dirname(f),k=g().join(j,c);if((0,h.cP)(k,d),e().existsSync(k))throw new i.Vt(i.tG.FILE_ALREADY_EXISTS,"A file with that name already exists",{newName:c});return e().renameSync(f,k),g().relative(d,k)}function o(a,b,c){let d=c.trim();if(!d||d.includes("/")||d.includes("\\"))throw new i.Vt(i.tG.INVALID_PATH,"Invalid space name: must not contain path separators",{newName:c});let f=b.replace(/\/+$/g,"").trim();if(!f)throw new i.Vt(i.tG.INVALID_PATH,"Space path is required",{spacePath:b});let j=g().resolve(a),k=(0,h.eX)(a,f);if(!e().existsSync(k))throw new i.Vt(i.tG.FILE_NOT_FOUND,`Space not found: ${f}`,{spacePath:f});if(!e().statSync(k).isDirectory())throw new i.Vt(i.tG.INVALID_PATH,`Not a directory: ${f}`,{spacePath:f});let l=g().dirname(k),m=g().join(l,d);if((0,h.cP)(m,j),e().existsSync(m))throw new i.Vt(i.tG.FILE_ALREADY_EXISTS,"A space with that name already exists",{newName:d});return e().renameSync(k,m),g().relative(j,m)}},20018:(a,b,c)=>{c.d(b,{Vt:()=>d,tG:()=>e}),c(20457);class d extends Error{constructor(a,b,c,d){super(b),this.code=a,this.context=c,this.userMessage=d,this.name="MindOSError"}}let e={FILE_NOT_FOUND:"FILE_NOT_FOUND",FILE_ALREADY_EXISTS:"FILE_ALREADY_EXISTS",PATH_OUTSIDE_ROOT:"PATH_OUTSIDE_ROOT",PROTECTED_FILE:"PROTECTED_FILE",INVALID_PATH:"INVALID_PATH",INVALID_RANGE:"INVALID_RANGE",HEADING_NOT_FOUND:"HEADING_NOT_FOUND",INVALID_FILE_TYPE:"INVALID_FILE_TYPE",INVALID_REQUEST:"INVALID_REQUEST",MODEL_INIT_FAILED:"MODEL_INIT_FAILED",INTERNAL_ERROR:"INTERNAL_ERROR",PERMISSION_DENIED:"PERMISSION_DENIED"}},27114:(a,b,c)=>{c.d(b,{A:()=>d});let d=new Set(["TODO.md"])},27313:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{T_:()=>h,rl:()=>g});var e=c(14270),f=a([e]);e=(f.then?(await f)():f)[0];let h={anthropic:{id:"anthropic",name:"Anthropic",nameZh:"Anthropic",defaultModel:"claude-sonnet-4-6",supportsBaseUrl:!0,supportsThinking:!0,supportsListModels:!0,signupUrl:"https://console.anthropic.com/settings/keys",category:"primary"},openai:{id:"openai",name:"OpenAI",nameZh:"OpenAI",defaultModel:"gpt-5.4",supportsBaseUrl:!0,supportsThinking:!0,supportsListModels:!0,signupUrl:"https://platform.openai.com/api-keys",category:"primary"},google:{id:"google",name:"Google Gemini",nameZh:"Google Gemini",defaultModel:"gemini-2.5-flash",supportsBaseUrl:!1,supportsThinking:!0,supportsListModels:!1,signupUrl:"https://aistudio.google.com/apikey",category:"primary"},groq:{id:"groq",name:"Groq",nameZh:"Groq",defaultModel:"llama-3.3-70b-versatile",supportsBaseUrl:!1,supportsThinking:!1,supportsListModels:!0,signupUrl:"https://console.groq.com/keys",category:"more"},xai:{id:"xai",name:"xAI (Grok)",nameZh:"xAI (Grok)",defaultModel:"grok-3",supportsBaseUrl:!1,supportsThinking:!1,supportsListModels:!0,category:"more"},openrouter:{id:"openrouter",name:"OpenRouter",nameZh:"OpenRouter",defaultModel:"anthropic/claude-sonnet-4",supportsBaseUrl:!1,supportsThinking:!1,supportsListModels:!0,category:"more"},mistral:{id:"mistral",name:"Mistral",nameZh:"Mistral",defaultModel:"mistral-large-latest",supportsBaseUrl:!1,supportsThinking:!1,supportsListModels:!0,category:"more"},deepseek:{id:"deepseek",name:"DeepSeek",nameZh:"DeepSeek",defaultModel:"deepseek-chat",piProviderOverride:"openai",fixedBaseUrl:"https://api.deepseek.com/v1",supportsBaseUrl:!0,supportsThinking:!0,supportsListModels:!0,signupUrl:"https://platform.deepseek.com/api_keys",category:"more"},zai:{id:"zai",name:"ZhipuAI (GLM)",nameZh:"智谱 AI (GLM 国际版)",defaultModel:"glm-4-plus",supportsBaseUrl:!1,supportsThinking:!0,supportsListModels:!1,category:"more"},"zai-cn":{id:"zai-cn",name:"ZhipuAI (GLM China)",nameZh:"智谱 AI (GLM 国内版)",defaultModel:"glm-4-plus",piProviderOverride:"zai",fixedBaseUrl:"https://open.bigmodel.cn/api/coding/paas/v4",supportsBaseUrl:!1,supportsThinking:!0,supportsListModels:!1,signupUrl:"https://open.bigmodel.cn/",category:"more"},"kimi-coding":{id:"kimi-coding",name:"Kimi Coding",nameZh:"Kimi Coding (月之暗面)",defaultModel:"kimi-k2-thinking",supportsBaseUrl:!1,supportsThinking:!0,supportsListModels:!1,category:"more"},cerebras:{id:"cerebras",name:"Cerebras",nameZh:"Cerebras",defaultModel:"llama-4-scout-17b-16e",supportsBaseUrl:!1,supportsThinking:!1,supportsListModels:!0,category:"more"},minimax:{id:"minimax",name:"MiniMax",nameZh:"MiniMax (国际版)",defaultModel:"MiniMax-M2.5",supportsBaseUrl:!1,supportsThinking:!0,supportsListModels:!1,category:"more"},"minimax-cn":{id:"minimax-cn",name:"MiniMax (China)",nameZh:"MiniMax (国内版)",defaultModel:"MiniMax-M2.5",supportsBaseUrl:!1,supportsThinking:!0,supportsListModels:!1,category:"more"},huggingface:{id:"huggingface",name:"Hugging Face",nameZh:"Hugging Face",defaultModel:"Qwen/Qwen3-235B-A22B-Thinking-2507",supportsBaseUrl:!1,supportsThinking:!0,supportsListModels:!1,category:"more"},ollama:{id:"ollama",name:"Ollama",nameZh:"Ollama (本地)",defaultModel:"llama3.2",piProviderOverride:"openai",fixedBaseUrl:"http://localhost:11434/v1",apiKeyFallback:"ollama",supportsBaseUrl:!0,supportsThinking:!1,supportsListModels:!0,signupUrl:"https://ollama.com/download",category:"more"}};function g(a){return a in h}Object.keys(h),d()}catch(a){d(a)}})},53134:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{H5:()=>r,JX:()=>l,Jh:()=>s,f:()=>p,gm:()=>m,rt:()=>t,x3:()=>q});var e=c(29021),f=c.n(e),g=c(33873),h=c.n(g);c(20018);var i=c(14432),j=c(4120);c(89531),c(16081);var k=a([j]);function l(){return(0,j.kh)()}j=(k.then?(await k)():k)[0];let u=new Set([".git","node_modules","app",".next",".DS_Store",".media","mcp"]),v=new Set([".md",".csv",".json",".pdf",".png",".jpg",".jpeg",".gif",".webp",".svg",".bmp",".ico",".mp3",".wav",".m4a",".ogg",".flac",".aac",".mp4",".webm",".mov",".mkv"]),w=null,x=0,y=new i.Xs;function m(){w=null,x++,(0,i._E)(),y.invalidate()}let z=null,A=null;function n(a,b){try{let c=f().readFileSync(a,"utf-8"),d=[];for(let a of c.split("\n")){let c=a.trim();if(!(!c||c.startsWith("#"))&&(d.push(c),d.length>=b))break}return d}catch{return[]}}let B=["Define local execution rules for this directory.","(your files here)","(Describe the purpose and usage of this space.)","(Add usage guidelines for this space.)"];function o(a){try{let b=f().readFileSync(a,"utf-8");return B.some(a=>b.includes(a))}catch{return!1}}function p(){var a;let b,c;return(null!==w&&Date.now()-w.timestamp<3e4?w:(a=l(),b=function a(b,c){let d,e=c??l();try{d=f().readdirSync(b,{withFileTypes:!0})}catch{return[]}let g=[];for(let c of d){let d=h().join(b,c.name),f=h().relative(e,d);if(c.isDirectory()){if(u.has(c.name))continue;let b=a(d,e);if(b.length>0){let a=b.some(a=>"file"===a.type&&"INSTRUCTION.md"===a.name),e={name:c.name,path:f,type:"directory",children:b};a&&(e.isSpace=!0,e.spacePreview=function(a){let b=h().join(a,"INSTRUCTION.md"),c=h().join(a,"README.md");return{instructionLines:n(b,3),readmeLines:n(c,3),isTemplate:o(b)&&o(c)}}(d)),g.push(e)}}else if(c.isFile()){let a=h().extname(c.name).toLowerCase();v.has(a)&&g.push({name:c.name,path:f,type:"file",extension:a})}}return g.sort((a,b)=>a.type!==b.type?"directory"===a.type?-1:1:a.name.localeCompare(b.name)),g}(a),c=[],function a(b){for(let d of b)"file"===d.type?c.push(d.path):d.children&&a(d.children)}(b),w={tree:b,allFiles:c,timestamp:Date.now()},z||function(){let a;if(!z){try{a=l()}catch{return}try{(z=f().watch(a,{recursive:!0},(a,b)=>{!b||b.startsWith(".git")||b.includes("node_modules")||b.includes(".next")||(A&&clearTimeout(A),A=setTimeout(()=>{w=null,A=null},500))})).on("error",()=>{A&&(clearTimeout(A),A=null),z&&(z.close(),z=null)})}catch{z=null}}}(),w)).allFiles}function q(a,b=""){(0,i.x3)(l(),a,b),w=null,x++,(0,i.As)(l(),a),y.isBuilt()&&y.updateFile(l(),a)}function r(a,b){let c=(0,i.H5)(l(),a,b);return m(),c}function s(a,b){let c=(0,i.OV)(l(),a,b);return m(),c}function t(a){(0,i.rt)(l(),a),m()}d()}catch(a){d(a)}})},61374:(a,b,c)=>{c.d(b,{gG:()=>d});function d(a){if(!a||"object"!=typeof a||Array.isArray(a))return;let b={},c=!1;for(let[d,e]of Object.entries(a)){if(!e||"object"!=typeof e||Array.isArray(e))continue;let a={};if("string"==typeof e.command&&e.command.trim()&&(a.command=e.command.trim()),Array.isArray(e.args)&&(a.args=e.args.filter(a=>"string"==typeof a)),e.env&&"object"==typeof e.env&&!Array.isArray(e.env)){let b={};for(let[a,c]of Object.entries(e.env))"string"==typeof c&&(b[a]=c);Object.keys(b).length>0&&(a.env=b)}"boolean"==typeof e.enabled&&(a.enabled=e.enabled),Object.keys(a).length>0&&(b[d]=a,c=!0)}return c?b:void 0}},78343:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{"002aa25919f808f8dd502e30a9f6207f2dac0355d7":()=>e.Dg,"00730a74d0e75070dd47c1d8b90694b253b60f235f":()=>e.EG,"007bcd188942431e3fbb71696e74e9ecadc8bd58f7":()=>e.Bn,"00ab6550efcaaf4a024da9657190e2a7842c8612bc":()=>e.GB,"4009051a7cddbfd88f0b1a759ea33b72d75987ab39":()=>e.VO,"4019c85807995f6d2c0ddbf7e34f067240518721db":()=>e.jW,"4036f7a581dd59783d5fffa80331b2a4d18b65ed43":()=>e.Ar,"40a0adbb5b837e5ccc1bd44d76b4644d662aee8e6c":()=>e.bC,"40c2f41416ac04fd7377bb002e68c453787a30e0a8":()=>e.ku,"40c86ac21ee661ed9d62ce7c5af52049cbaeca26a2":()=>e.iJ,"40e068f238ad6b0c3c038043142db432d430be10bf":()=>e.Ye,"60086aac16846e7543e4e5d9b7f6ae6f85bd303b02":()=>e.X3,"60514eb6d89625f146634c094363137fa7c5b3ffbd":()=>e.pG,"6099aeef0ea0986634a1692974c32cf406a07d5bec":()=>e.NN,"60caab788d0a97f69cb3a7a7f69dd321d69d6025d1":()=>e.f,"703ae7acded946912bd9988b0bcfe3ac15c20a89b4":()=>e.FZ,"70eedfa0cdb1bf6564fa3543e9494e4e4c6632162b":()=>e.pX});var e=c(85224),f=a([e]);e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},85224:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Ar:()=>v,Bn:()=>E,Dg:()=>B,EG:()=>C,FZ:()=>A,GB:()=>H,NN:()=>F,VO:()=>D,X3:()=>r,Ye:()=>y,bC:()=>G,f:()=>t,iJ:()=>s,jW:()=>u,ku:()=>x,pG:()=>w,pX:()=>z});var e=c(95349),f=c(29021),g=c.n(f),h=c(33873),i=c.n(h),j=c(53134),k=c(16081),l=c(15872),m=c(1160),n=c(42650),o=c(27114),p=c(89337),q=a([j]);async function r(a,b){try{let c=b.trim();if(!c)return{success:!1,error:"File name is required"};let d=c.endsWith(".md")||c.endsWith(".csv")?c:`${c}.md`,e=a?`${a}/${d}`:d;return(0,j.x3)(e),(0,n.revalidatePath)("/","layout"),{success:!0,filePath:e}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to create file"}}}async function s(a){try{let b=i().posix.basename(a);if(!a.includes("/")&&o.A.has(b))return{success:!1,error:`"${b}" is protected and cannot be deleted`};let c=(0,k.F0)((0,j.JX)(),a);return(0,j.gm)(),(0,n.revalidatePath)("/","layout"),{success:!0,trashId:c.id}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to delete file"}}}async function t(a,b){try{let c=(0,j.H5)(a,b);return(0,n.revalidatePath)("/","layout"),{success:!0,newPath:c}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to rename file"}}}async function u(a){try{return(0,j.rt)(a),(0,n.revalidatePath)("/","layout"),{success:!0}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to convert to space"}}}async function v(a){try{let b=(0,k.F0)((0,j.JX)(),a);return(0,j.gm)(),(0,n.revalidatePath)("/","layout"),{success:!0,trashId:b.id}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to delete folder"}}}async function w(a,b){try{let c=(0,j.Jh)(a,b);return(0,n.revalidatePath)("/","layout"),{success:!0,newPath:c}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to rename space"}}}async function x(a){try{let b=(0,k.F0)((0,j.JX)(),a);return(0,j.gm)(),(0,n.revalidatePath)("/","layout"),{success:!0,trashId:b.id}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to delete space"}}}async function y(a){try{return(0,k.Lr)((0,j.JX)(),a,!1),(0,j.gm)(),(0,n.revalidatePath)("/","layout"),{success:!0}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Undo failed"}}}async function z(a,b,c=""){try{let{path:d}=(0,l._)((0,j.JX)(),a,b,c);return(0,j.gm)(),(0,n.revalidatePath)("/","layout"),{success:!0,path:d}}catch(b){let a=b instanceof Error?b.message:"Failed to create space";if(a.includes("already exists"))return{success:!1,error:"A space with this name already exists"};return{success:!1,error:a}}}async function A(a,b,c){try{let d=(0,j.JX)(),e=i().resolve(d,a);if(!e.startsWith(d))return{success:!1,error:"Invalid path"};let f=i().join(e,"README.md"),h=i().join(e,"INSTRUCTION.md"),k=(0,l.c)(a,b,c);g().writeFileSync(f,k,"utf-8");let o=(0,m.e1)(b);return g().writeFileSync(h,(0,m.GL)(o),"utf-8"),(0,j.gm)(),(0,n.revalidatePath)("/","layout"),{success:!0}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to revert"}}}async function B(){return{files:(0,j.f)().filter(a=>i().basename(a).startsWith("\uD83E\uDDEA_example_"))}}async function C(){try{let{files:a}=await B();if(0===a.length)return{success:!0,deleted:0};let b=(0,j.JX)();for(let c of a){let a=i().resolve(b,c);a.startsWith(b)&&g().existsSync(a)&&g().unlinkSync(a)}for(let c of[...new Set(a.map(a=>i().dirname(i().resolve(b,a))))].sort((a,b)=>b.length-a.length))try{if(c.startsWith(b)&&c!==b){let a=g().readdirSync(c);0===a.length&&g().rmdirSync(c)}}catch{}return(0,j.gm)(),(0,n.revalidatePath)("/","layout"),{success:!0,deleted:a.length}}catch(a){return{success:!1,deleted:0,error:a instanceof Error?a.message:"Failed to cleanup"}}}async function D(a){let b=(0,j.f)(),c=a.endsWith("/")?a:a+"/";return b.filter(a=>a.startsWith(c))}async function E(){return(0,k.JI)((0,j.JX)()),(0,k.hQ)((0,j.JX)())}async function F(a,b="restore"){try{let c,d=(0,j.JX)();return c="copy"===b?(0,k.kz)(d,a):(0,k.Lr)(d,a,"overwrite"===b),(0,j.gm)(),(0,n.revalidatePath)("/","layout"),{success:!0,restoredPath:c.restoredPath}}catch(a){if("RESTORE_CONFLICT"===a.code)return{success:!1,error:a.message,conflict:!0};return{success:!1,error:a.message??"Failed to restore"}}}async function G(a){try{return(0,k.vn)((0,j.JX)(),a),{success:!0}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to delete"}}}async function H(){try{let a=(0,k.YN)((0,j.JX)());return{success:!0,count:a}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to empty trash"}}}j=(q.then?(await q)():q)[0],(0,p.D)([r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H]),(0,e.A)(r,"60086aac16846e7543e4e5d9b7f6ae6f85bd303b02",null),(0,e.A)(s,"40c86ac21ee661ed9d62ce7c5af52049cbaeca26a2",null),(0,e.A)(t,"60caab788d0a97f69cb3a7a7f69dd321d69d6025d1",null),(0,e.A)(u,"4019c85807995f6d2c0ddbf7e34f067240518721db",null),(0,e.A)(v,"4036f7a581dd59783d5fffa80331b2a4d18b65ed43",null),(0,e.A)(w,"60514eb6d89625f146634c094363137fa7c5b3ffbd",null),(0,e.A)(x,"40c2f41416ac04fd7377bb002e68c453787a30e0a8",null),(0,e.A)(y,"40e068f238ad6b0c3c038043142db432d430be10bf",null),(0,e.A)(z,"70eedfa0cdb1bf6564fa3543e9494e4e4c6632162b",null),(0,e.A)(A,"703ae7acded946912bd9988b0bcfe3ac15c20a89b4",null),(0,e.A)(B,"002aa25919f808f8dd502e30a9f6207f2dac0355d7",null),(0,e.A)(C,"00730a74d0e75070dd47c1d8b90694b253b60f235f",null),(0,e.A)(D,"4009051a7cddbfd88f0b1a759ea33b72d75987ab39",null),(0,e.A)(E,"007bcd188942431e3fbb71696e74e9ecadc8bd58f7",null),(0,e.A)(F,"6099aeef0ea0986634a1692974c32cf406a07d5bec",null),(0,e.A)(G,"40a0adbb5b837e5ccc1bd44d76b4644d662aee8e6c",null),(0,e.A)(H,"00ab6550efcaaf4a024da9657190e2a7842c8612bc",null),d()}catch(a){d(a)}})},89531:(a,b,c)=>{c.d(b,{b:()=>i});var d=c(29021),e=c.n(d),f=c(33873),g=c.n(f),h=c(79646);function i(a){try{let b=process.env.MINDOS_PROJECT_ROOT?g().join(process.env.MINDOS_PROJECT_ROOT,"app"):g().resolve(process.cwd()),c=g().join(b,"scripts","extract-pdf.cjs");if(!e().existsSync(c))return"";let d=(0,h.execFileSync)("node",[c,a],{encoding:"utf-8",timeout:15e3,maxBuffer:5242880});return JSON.parse(d).text||""}catch{return""}}},99863:(a,b,c)=>{c.d(b,{cP:()=>g,eX:()=>h});var d=c(33873),e=c.n(d),f=c(20018);function g(a,b){if(!a.startsWith(b+e().sep)&&a!==b)throw new f.Vt(f.tG.PATH_OUTSIDE_ROOT,"Access denied: path outside MIND_ROOT",{resolved:a,root:b})}function h(a,b){let c=e().resolve(a),d=e().resolve(e().join(c,b));return g(d,c),d}}};