@geminilight/mindos 0.6.73 → 0.6.75
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.
- package/_standalone/.mindos-build-version +1 -1
- package/_standalone/.next/BUILD_ID +1 -1
- package/_standalone/.next/app-path-routes-manifest.json +30 -30
- package/_standalone/.next/build-manifest.json +3 -3
- package/_standalone/.next/cache/.previewinfo +1 -1
- package/_standalone/.next/cache/.rscinfo +1 -1
- package/_standalone/.next/cache/config.json +3 -3
- package/_standalone/.next/prerender-manifest.json +3 -3
- package/_standalone/.next/react-loadable-manifest.json +5 -5
- package/_standalone/.next/required-server-files.json +14 -1
- package/_standalone/.next/server/app/.well-known/agent-card.json/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/_global-error.html +2 -2
- package/_standalone/.next/server/app/_global-error.rsc +1 -1
- package/_standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/_standalone/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/_standalone/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
- package/_standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/_standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/_standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/_standalone/.next/server/app/_not-found/page.js +1 -1
- package/_standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/_standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/agents/[agentKey]/page.js +1 -1
- package/_standalone/.next/server/app/agents/[agentKey]/page.js.nft.json +1 -1
- package/_standalone/.next/server/app/agents/[agentKey]/page_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/agents/page.js +1 -1
- package/_standalone/.next/server/app/agents/page.js.nft.json +1 -1
- package/_standalone/.next/server/app/agents/page_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/a2a/agents/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/a2a/delegations/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/a2a/discover/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/a2a/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/acp/config/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/acp/detect/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/acp/install/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/acp/registry/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/acp/session/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/agent-activity/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/agents/copy-skill/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/agents/copy-skill/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/agents/custom/detect/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/agents/custom/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/ask/route.js +1 -1
- package/_standalone/.next/server/app/api/ask/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/ask/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/ask-sessions/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/auth/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/backlinks/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/backlinks/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/bootstrap/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/bootstrap/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/changes/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/changes/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/channels/verify/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/channels/verify/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/connect/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/embedding/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/embedding/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/export/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/export/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/extract-pdf/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/extract-pdf/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/file/import/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/file/import/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/file/raw/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/file/raw/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/file/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/file/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/files/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/files/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/git/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/git/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/graph/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/graph/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/health/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/im/activity/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/im/config/route.js +1 -1
- package/_standalone/.next/server/app/api/im/config/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/im/status/route.js +1 -7
- package/_standalone/.next/server/app/api/im/status/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/im/status/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/im/test/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/im/test/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/im/webhook/feishu/route.js +1 -7
- package/_standalone/.next/server/app/api/im/webhook/feishu/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/im/webhook/feishu/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/im/webhook-status/route.js +1 -7
- package/_standalone/.next/server/app/api/im/webhook-status/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/im/webhook-status/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/inbox/clip/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/inbox/clip/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/inbox/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/inbox/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/init/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/init/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/lint/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/lint/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/mcp/agents/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/mcp/agents/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/mcp/direct-tools/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/mcp/install/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/mcp/install-skill/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/mcp/restart/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/mcp/status/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/mcp/tools/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/mcp/uninstall/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/monitoring/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/monitoring/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/recent-files/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/recent-files/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/restart/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/search/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/search/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/settings/list-models/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/settings/reset-token/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/settings/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/settings/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/settings/test-key/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/setup/check-path/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/setup/check-port/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/setup/generate-token/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/setup/ls/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/setup/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/skills/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/space-overview/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/space-overview/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/sync/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/tree-version/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/tree-version/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/uninstall/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/update/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/update-check/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/update-status/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/workflows/route.js.nft.json +1 -1
- package/_standalone/.next/server/app/api/workflows/route_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/changelog/page.js +1 -1
- package/_standalone/.next/server/app/changelog/page.js.nft.json +1 -1
- package/_standalone/.next/server/app/changelog/page_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/changes/page.js +1 -1
- package/_standalone/.next/server/app/changes/page.js.nft.json +1 -1
- package/_standalone/.next/server/app/changes/page_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/echo/[segment]/page.js +1 -1
- package/_standalone/.next/server/app/echo/[segment]/page.js.nft.json +1 -1
- package/_standalone/.next/server/app/echo/[segment]/page_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/echo/page.js +1 -1
- package/_standalone/.next/server/app/echo/page.js.nft.json +1 -1
- package/_standalone/.next/server/app/echo/page_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/explore/page.js +1 -1
- package/_standalone/.next/server/app/explore/page.js.nft.json +1 -1
- package/_standalone/.next/server/app/explore/page_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/help/page.js +1 -1
- package/_standalone/.next/server/app/help/page.js.nft.json +1 -1
- package/_standalone/.next/server/app/help/page_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/inbox/history/page.js +1 -1
- package/_standalone/.next/server/app/inbox/history/page.js.nft.json +1 -1
- package/_standalone/.next/server/app/inbox/history/page_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/login/page.js +1 -1
- package/_standalone/.next/server/app/login/page.js.nft.json +1 -1
- package/_standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/page.js +1 -1
- package/_standalone/.next/server/app/page.js.nft.json +1 -1
- package/_standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/setup/page.js +2 -2
- package/_standalone/.next/server/app/setup/page.js.nft.json +1 -1
- package/_standalone/.next/server/app/setup/page_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/trash/page.js +3 -3
- package/_standalone/.next/server/app/trash/page.js.nft.json +1 -1
- package/_standalone/.next/server/app/trash/page_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/view/[...path]/page.js +3 -3
- package/_standalone/.next/server/app/view/[...path]/page.js.nft.json +1 -1
- package/_standalone/.next/server/app/view/[...path]/page_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app-paths-manifest.json +30 -30
- package/_standalone/.next/server/chunks/1076.js +1 -1
- package/_standalone/.next/server/chunks/{2449.js → 2424.js} +2 -2
- package/_standalone/.next/server/chunks/2792.js +1 -0
- package/_standalone/.next/server/chunks/2885.js +7 -0
- package/_standalone/.next/server/chunks/3800.js +1 -1
- package/_standalone/.next/server/chunks/5299.js +1 -1
- package/_standalone/.next/server/chunks/5464.js +1 -1
- package/_standalone/.next/server/chunks/6022.js +28 -28
- package/_standalone/.next/server/chunks/6539.js +1 -1
- package/_standalone/.next/server/chunks/8388.js +2 -2
- package/_standalone/.next/server/middleware-build-manifest.js +1 -1
- package/_standalone/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/_standalone/.next/server/pages/500.html +2 -2
- package/_standalone/.next/server/server-reference-manifest.js +1 -1
- package/_standalone/.next/server/server-reference-manifest.json +1 -1
- package/_standalone/.next/static/chunks/{5331.c89084fd7f67887d.js → 4342.ccc18d7a45f204a4.js} +5 -5
- package/_standalone/.next/static/chunks/{4094.09364c01df411380.js → 4496.f77a677ac2034e48.js} +1 -1
- package/_standalone/.next/static/chunks/{5358-15618fc9b20018ee.js → 5358-15ceeb8c1cd9889d.js} +6 -6
- package/_standalone/.next/static/chunks/{6902-edc5c487c696bd0b.js → 6902-53a31f849968ddf8.js} +1 -1
- package/_standalone/.next/static/chunks/9207-456dc6941d557f33.js +1 -0
- package/_standalone/.next/static/chunks/app/{layout-fcbde5bee626d21a.js → layout-09f08f52e3cbfc47.js} +66 -66
- package/_standalone/.next/static/chunks/app/setup/{page-e40f3c5704c3c857.js → page-64d7fa097ef3f367.js} +1 -1
- package/_standalone/.next/static/chunks/app/trash/page-8e0ea3ba71702757.js +1 -0
- package/_standalone/.next/static/chunks/app/view/[...path]/page-04f43178679a8bfb.js +12 -0
- package/_standalone/.next/static/chunks/{webpack-dc486b68118d1328.js → webpack-ec9c6076012b75f3.js} +1 -1
- package/_standalone/.next/trace +72 -72
- package/_standalone/__tests__/agent/provider-presets.test.ts +32 -0
- package/_standalone/__tests__/api/im-config-feishu-conversation.test.ts +39 -0
- package/_standalone/__tests__/api/im-webhook-feishu.test.ts +21 -12
- package/_standalone/__tests__/api/pi-subagents.test.ts +81 -0
- package/_standalone/__tests__/ask/file-chip-variants.test.tsx +18 -0
- package/_standalone/__tests__/ask/message-list-agent-attribution.test.tsx +2 -0
- package/_standalone/__tests__/im/feishu-dispatcher.test.ts +151 -0
- package/_standalone/__tests__/im/feishu-webhook.test.ts +85 -57
- package/_standalone/__tests__/im/feishu-ws-client.test.ts +91 -0
- package/_standalone/__tests__/settings/custom-provider-form.test.ts +30 -0
- package/_standalone/components/ask/FileChip.tsx +1 -1
- package/_standalone/components/ask/MessageList.tsx +2 -2
- package/_standalone/components/settings/CustomProviderFields.tsx +1 -1
- package/_standalone/components/settings/CustomProvidersCard.tsx +3 -0
- package/_standalone/components/settings/useCustomProviderForm.ts +78 -24
- package/_standalone/components/shared/ProviderSelect.tsx +6 -5
- package/_standalone/next.config.ts +28 -4
- package/_standalone/package-lock.json +20 -2
- package/_standalone/package.json +3 -1
- package/_standalone/scripts/feishu-long-connection.ts +32 -0
- package/_standalone/server.js +1 -1
- package/_standalone/tsconfig.tsbuildinfo +1 -1
- package/app/__tests__/agent/provider-presets.test.ts +32 -0
- package/app/__tests__/api/im-config-feishu-conversation.test.ts +39 -0
- package/app/__tests__/api/im-webhook-feishu.test.ts +21 -12
- package/app/__tests__/api/pi-subagents.test.ts +81 -0
- package/app/__tests__/ask/file-chip-variants.test.tsx +18 -0
- package/app/__tests__/ask/message-list-agent-attribution.test.tsx +2 -0
- package/app/__tests__/im/feishu-dispatcher.test.ts +151 -0
- package/app/__tests__/im/feishu-webhook.test.ts +85 -57
- package/app/__tests__/im/feishu-ws-client.test.ts +91 -0
- package/app/__tests__/settings/custom-provider-form.test.ts +30 -0
- package/app/app/api/ask/route.ts +2 -0
- package/app/app/api/im/config/route.ts +2 -0
- package/app/app/api/im/webhook/feishu/route.ts +4 -2
- package/app/components/ask/FileChip.tsx +1 -1
- package/app/components/ask/MessageList.tsx +2 -2
- package/app/components/settings/CustomProviderFields.tsx +1 -1
- package/app/components/settings/CustomProvidersCard.tsx +3 -0
- package/app/components/settings/useCustomProviderForm.ts +78 -24
- package/app/components/shared/ProviderSelect.tsx +6 -5
- package/app/lib/agent/providers.ts +44 -6
- package/app/lib/im/feishu-dispatcher.ts +111 -0
- package/app/lib/im/feishu-ws-client.ts +72 -0
- package/app/lib/im/types.ts +14 -0
- package/app/lib/im/webhook/feishu.ts +44 -55
- package/app/next.config.ts +28 -4
- package/app/package.json +3 -1
- package/app/scripts/feishu-long-connection.ts +32 -0
- package/bin/cli.js +3 -1
- package/bin/commands/feishu-ws.js +39 -0
- package/package.json +1 -1
- package/scripts/build-runtime-archive.sh +36 -2
- package/_standalone/.next/static/chunks/9207-3b19c55a3c974a09.js +0 -1
- package/_standalone/.next/static/chunks/app/trash/page-e623ff0ab35de002.js +0 -1
- package/_standalone/.next/static/chunks/app/view/[...path]/page-49c4eff6ffdb5168.js +0 -12
- /package/_standalone/.next/static/{Dn8EHqUedSzanCfrM8WWS → dZDCx13MSM8QVQk2QNRs8}/_buildManifest.js +0 -0
- /package/_standalone/.next/static/{Dn8EHqUedSzanCfrM8WWS → dZDCx13MSM8QVQk2QNRs8}/_ssgManifest.js +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";exports.id=
|
|
1
|
+
"use strict";exports.id=2424,exports.ids=[2424],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,6 +49,6 @@ ${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)}},19186:(a,b,c)=>{c.d(b,{X:()=>h});var d=c(33873),e=c.n(d),f=c(78569),g=c(18451);class h{rebuild(a){let b=(0,f.f)(a).filter(a=>a.endsWith(".md")),c=new Set(b),d=function(a){let b=new Map;for(let c of a){let a=e().basename(c).toLowerCase();b.has(a)||b.set(a,[]),b.get(a).push(c)}return b}(b),h=new Map,j=new Map;for(let e of b){let b;try{b=(0,g.TA)(a,e)}catch{continue}let f=i(b,e,c,d),k=new Set;for(let a of f)a!==e&&k.add(a);for(let a of(h.set(e,k),k)){let b=j.get(a);b||(b=new Set,j.set(a,b)),b.add(e)}}this.forwardLinks=h,this.backwardLinks=j,this.builtForRoot=a,this.fileSet=c,this.basenameMap=d}invalidate(){this.forwardLinks.clear(),this.backwardLinks.clear(),this.builtForRoot=null,this.fileSet.clear(),this.basenameMap.clear()}isBuiltFor(a){return this.builtForRoot===a}isBuilt(){return null!==this.builtForRoot}getForwardLinks(a){return[...this.forwardLinks.get(a)??[]]}getBacklinks(a){return[...this.backwardLinks.get(a)??[]]}getAllEdges(){let a=[];for(let[b,c]of this.forwardLinks)for(let d of c)a.push({source:b,target:d});return a}removeFile(a){let b=this.forwardLinks.get(a);if(b){for(let c of b)this.backwardLinks.get(c)?.delete(a);this.forwardLinks.delete(a)}let c=this.backwardLinks.get(a);if(c){for(let b of c)this.forwardLinks.get(b)?.delete(a);this.backwardLinks.delete(a)}this.fileSet.delete(a);let d=e().basename(a).toLowerCase(),f=this.basenameMap.get(d);if(f){let b=f.indexOf(a);b>=0&&f.splice(b,1),0===f.length&&this.basenameMap.delete(d)}}updateFile(a,b){let c;if(!this.builtForRoot||!b.endsWith(".md"))return;let d=this.forwardLinks.get(b);if(d)for(let a of d)this.backwardLinks.get(a)?.delete(b);try{c=(0,g.TA)(a,b)}catch{return}if(!this.fileSet.has(b)){this.fileSet.add(b);let a=e().basename(b).toLowerCase();this.basenameMap.has(a)||this.basenameMap.set(a,[]),this.basenameMap.get(a).push(b)}let f=i(c,b,this.fileSet,this.basenameMap),h=new Set;for(let a of f)a!==b&&h.add(a);for(let a of(this.forwardLinks.set(b,h),h)){let c=this.backwardLinks.get(a);c||(c=new Set,this.backwardLinks.set(a,c)),c.add(b)}}constructor(){this.forwardLinks=new Map,this.backwardLinks=new Map,this.builtForRoot=null,this.fileSet=new Set,this.basenameMap=new Map}}function i(a,b,c,d){let f,g=[],h=e().dirname(b),i=/\[\[([^\]|#]+)(?:[|#][^\]]*)?/g;for(;null!==(f=i.exec(a));){let a=f[1].trim();if(!a)continue;if(c.has(a)){g.push(a);continue}let b=a.endsWith(".md")?a:a+".md";if(c.has(b)){g.push(b);continue}let h=e().basename(b).toLowerCase(),i=d.get(h);i&&1===i.length&&g.push(i[0])}let j=/\[[^\]]+\]\(([^)]+\.md)(?:#[^)]*)?\)/g;for(;null!==(f=j.exec(a));){let a=f[1].trim();if(!a||a.startsWith("http"))continue;let b=e().normalize(e().join(h,a));c.has(b)&&g.push(b)}return g}},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"}},22219:(a,b,c)=>{c(29021),c(33873),c(99863),c(20018)},22571:(a,b,c)=>{c.d(b,{d:()=>p});var d=c(29021),e=c.n(d),f=c(33873),g=c.n(f),h=c(78569),i=c(18451),j=c(99863),k=c(66561);let l=/[\u4e00-\u9fff\u3040-\u309f\u30a0-\u30ff\uac00-\ud7af]/,m="u">typeof Intl&&Intl.Segmenter?new Intl.Segmenter("zh",{granularity:"word"}):null;function n(a){let b=new Set,c=a.toLowerCase(),d=c.match(/[a-z0-9_$@#]+/g);if(d)for(let a of d)a.length>=2&&b.add(a);if(l.test(c))if(m)for(let{segment:a,isWordLike:d}of m.segment(c)){if(!d)continue;let c=a.trim();if(c)for(let a of(b.add(c),c))l.test(a)&&b.add(a)}else{let a=[];for(let d of c)l.test(d)?a.push(d):a.length>0&&(o(a,b),a.length=0);a.length>0&&o(a,b)}return b}function o(a,b){for(let c=0;c<a.length;c++)b.add(a[c]),c+1<a.length&&b.add(a[c]+a[c+1])}class p{rebuild(a){let b=(0,h.f)(a),c=new Map,d=new Map,e=new Map,f=0;for(let h of b){let b;if(".pdf"===g().extname(h).toLowerCase())try{let c=(0,j.eX)(a,h);if(!(b=(0,k.b)(c)))continue}catch{continue}else try{b=(0,i.TA)(a,h)}catch{continue}d.set(h,b.length),f+=b.length,b.length>5e4&&(b=b.slice(0,5e4));let l=n(h+"\n"+b);for(let a of(e.set(h,l),l)){let b=c.get(a);b||(b=new Set,c.set(a,b)),b.add(h)}}this.invertedIndex=c,this.builtForRoot=a,this.fileCount=b.length,this.docLengths=d,this.totalChars=f,this.fileTokens=e}invalidate(){this.invertedIndex=null,this.builtForRoot=null,this.fileCount=0,this.docLengths.clear(),this.totalChars=0,this.fileTokens.clear()}removeFile(a){if(!this.invertedIndex)return;let b=this.fileTokens.get(a);if(b){for(let c of b)this.invertedIndex.get(c)?.delete(a);this.fileTokens.delete(a)}let c=this.docLengths.get(a)??0;this.totalChars-=c,this.docLengths.delete(a),this.fileCount=Math.max(0,this.fileCount-1)}addFile(a,b){let c;if(!this.invertedIndex)return;if(".pdf"===g().extname(b).toLowerCase())try{let d=(0,j.eX)(a,b);if(!(c=(0,k.b)(d)))return}catch{return}else try{c=(0,i.TA)(a,b)}catch{return}this.docLengths.set(b,c.length),this.totalChars+=c.length,this.fileCount++,c.length>5e4&&(c=c.slice(0,5e4));let d=n(b+"\n"+c);for(let a of(this.fileTokens.set(b,d),d)){let c=this.invertedIndex.get(a);c||(c=new Set,this.invertedIndex.set(a,c)),c.add(b)}}updateFile(a,b){this.invertedIndex&&(this.removeFile(b),this.addFile(a,b))}isBuiltFor(a){return null!==this.invertedIndex&&this.builtForRoot===a}isBuilt(){return null!==this.invertedIndex}getFileCount(){return this.fileCount}getAvgDocLength(){return this.fileCount>0?this.totalChars/this.fileCount:0}getDocLength(a){return this.docLengths.get(a)??0}getDocFrequency(a){return this.invertedIndex?this.invertedIndex.get(a)?.size??0:0}getCandidatesUnion(a){if(!a.trim()||!this.invertedIndex)return null;let b=n(a.toLowerCase().trim());if(0===b.size)return null;let c=new Map;for(let a of b){let b=this.invertedIndex.get(a);if(b)for(let a of b)c.set(a,(c.get(a)??0)+1)}if(0===c.size)return[];let d=b.size;if(d>=3){let a=Math.max(1,Math.floor(d/2)),b=[...c.entries()].filter(([,b])=>b>=a).map(([a])=>a);if(b.length>0)return b}return[...c.keys()]}getCandidates(a){if(!a.trim()||!this.invertedIndex)return null;let b=n(a.toLowerCase().trim());if(0===b.size)return null;let c=null;for(let a of b){let b=this.invertedIndex.get(a);if(!b)return[];if(null===c)c=new Set(b);else{for(let a of c)b.has(a)||c.delete(a);if(0===c.size)return[]}}return c?Array.from(c):[]}persist(a){if(!this.invertedIndex)return;let b={version:1,builtForRoot:this.builtForRoot??"",fileCount:this.fileCount,totalChars:this.totalChars,docLengths:Object.fromEntries(this.docLengths),invertedIndex:{},timestamp:Date.now()};for(let[a,c]of this.invertedIndex)b.invertedIndex[a]=[...c];let c=g().join(a,"search-index.json");try{e().mkdirSync(a,{recursive:!0}),e().writeFileSync(c,JSON.stringify(b),"utf-8")}catch{}}load(a,b){let c,d,f=g().join(a,"search-index.json");try{c=e().readFileSync(f,"utf-8")}catch{return!1}try{d=JSON.parse(c)}catch{return!1}if(1!==d.version||d.builtForRoot!==b||(0,h.f)(b).length!==d.fileCount)return!1;let i=Object.keys(d.docLengths);if(Math.min(50,i.length)===i.length)for(let a of i)try{if(e().statSync(g().join(b,a)).mtimeMs>d.timestamp)return!1}catch{return!1}else{let a=Math.max(1,Math.floor(i.length/40)),c=new Set;for(let b=0;b<i.length;b+=a)c.add(b);for(let a=Math.max(0,i.length-10);a<i.length;a++)c.add(a);for(let a of c)try{if(e().statSync(g().join(b,i[a])).mtimeMs>d.timestamp)return!1}catch{return!1}}this.builtForRoot=d.builtForRoot,this.fileCount=d.fileCount,this.totalChars=d.totalChars,this.docLengths=new Map(Object.entries(d.docLengths).map(([a,b])=>[a,b]));let j=new Map,k=new Map;for(let[a,b]of Object.entries(d.invertedIndex)){let c=new Set(b);for(let b of(j.set(a,c),c)){let c=k.get(b);c||(c=new Set,k.set(b,c)),c.add(a)}}return this.invertedIndex=j,this.fileTokens=k,!0}constructor(){this.invertedIndex=null,this.builtForRoot=null,this.fileCount=0,this.docLengths=new Map,this.totalChars=0,this.fileTokens=new Map}}},26615:(a,b,c)=>{c(33873),c(78569),c(18451)},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",shortLabel:"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",shortLabel:"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",shortLabel:"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",shortLabel:"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)",shortLabel:"xAI",defaultModel:"grok-3",supportsBaseUrl:!1,supportsThinking:!1,supportsListModels:!0,category:"more"},openrouter:{id:"openrouter",name:"OpenRouter",nameZh:"OpenRouter",shortLabel:"OpenRouter",defaultModel:"anthropic/claude-sonnet-4",supportsBaseUrl:!1,supportsThinking:!1,supportsListModels:!0,category:"more"},mistral:{id:"mistral",name:"Mistral",nameZh:"Mistral",shortLabel:"Mistral",defaultModel:"mistral-large-latest",supportsBaseUrl:!1,supportsThinking:!1,supportsListModels:!0,category:"more"},deepseek:{id:"deepseek",name:"DeepSeek",nameZh:"DeepSeek",shortLabel:"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 国际版)",shortLabel:"智谱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 国内版)",shortLabel:"智谱GLM-CN",description:"China region version",descriptionZh:"中国区版本",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 (月之暗面)",shortLabel:"Kimi Coding",defaultModel:"kimi-k2-thinking",supportsBaseUrl:!1,supportsThinking:!0,supportsListModels:!1,category:"more"},cerebras:{id:"cerebras",name:"Cerebras",nameZh:"Cerebras",shortLabel:"Cerebras",defaultModel:"llama-4-scout-17b-16e",supportsBaseUrl:!1,supportsThinking:!1,supportsListModels:!0,category:"more"},minimax:{id:"minimax",name:"MiniMax",nameZh:"MiniMax (国际版)",shortLabel:"MiniMax",defaultModel:"MiniMax-M2.5",supportsBaseUrl:!1,supportsThinking:!0,supportsListModels:!1,category:"more"},"minimax-cn":{id:"minimax-cn",name:"MiniMax (China)",nameZh:"MiniMax (国内版)",shortLabel:"MiniMax-CN",description:"China region version",descriptionZh:"中国区版本",defaultModel:"MiniMax-M2.5",supportsBaseUrl:!1,supportsThinking:!0,supportsListModels:!1,category:"more"},huggingface:{id:"huggingface",name:"Hugging Face",nameZh:"Hugging Face",shortLabel:"HuggingFace",defaultModel:"Qwen/Qwen3-235B-A22B-Thinking-2507",supportsBaseUrl:!1,supportsThinking:!0,supportsListModels:!1,category:"more"},ollama:{id:"ollama",name:"Ollama",nameZh:"Ollama (本地)",shortLabel:"Ollama",description:"Local server (requires setup)",descriptionZh:"本地服务器 (需要本地部署)",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)}})},30583:(a,b,c)=>{c(29021),c(33873)},35990:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Bk:()=>h,II:()=>g,s7:()=>i});var e=c(4120),f=a([e]);function g(){try{let a=(0,e.sb)().embedding;if(!a||!a.enabled||"api"===a.provider&&(!a.baseUrl||!a.model)||"local"===a.provider&&!a.model)return null;return{enabled:!0,provider:a.provider||"api",baseUrl:(a.baseUrl||"").replace(/\/+$/,""),apiKey:a.apiKey||"",model:a.model}}catch{return null}}async function h(a){let b=g();if(!b||0===a.length)return[];try{if("local"===b.provider)return await k(b.model,a);return await l(b,a)}catch(a){return console.error("[embedding] Failed to get embeddings:",a instanceof Error?a.message:a),[]}}async function i(a){let b=await h([a]);return b.length>0?b[0]:null}e=(f.then?(await f)():f)[0];let o=null,p=null,q=null;async function j(a){return o&&p===a?o:q&&p===a?q:(p=a,q=(async()=>{try{let{pipeline:b}=await Promise.resolve().then(c.bind(c,99253));return o=await b("feature-extraction",a,{dtype:"fp32"})}catch(a){throw o=null,p=null,a}finally{q=null}})())}async function k(a,b){let c=await j(a);if(!c)return[];let d=[];for(let a=0;a<b.length;a+=32)for(let e of b.slice(a,a+32)){let a=(await c(e,{pooling:"mean",normalize:!0})).data;d.push(new Float32Array(a))}return d}async function l(a,b){let c=[];for(let d=0;d<b.length;d+=100){let e=b.slice(d,d+100),f=await m(a,e);if(0===f.length)return[];c.push(...f)}return c}async function m(a,b){let c=`${a.baseUrl}/embeddings`,d=JSON.stringify({model:a.model,input:b}),e={"Content-Type":"application/json"};a.apiKey&&(e.Authorization=`Bearer ${a.apiKey}`);for(let a=0;a<=2;a++)try{let b=new AbortController,f=setTimeout(()=>b.abort(),3e4),g=await fetch(c,{method:"POST",headers:e,body:d,signal:b.signal});if(clearTimeout(f),!g.ok){let b=g.status;if((429===b||b>=500)&&a<2){let a=parseInt(g.headers.get("retry-after")||"1",10);await n(Math.min(1e3*a,5e3));continue}let c=await g.text().catch(()=>"");return console.error(`[embedding] API error ${b}: ${c.slice(0,200)}`),[]}let h=await g.json();if(!h.data||!Array.isArray(h.data))return console.error("[embedding] Unexpected response shape"),[];return h.data.sort((a,b)=>a.index-b.index),h.data.map(a=>new Float32Array(a.embedding))}catch(b){if(a<2){await n(1e3*(a+1));continue}console.error("[embedding] Request failed:",b instanceof Error?b.message:b);break}return[]}function n(a){return new Promise(b=>setTimeout(b,a))}d()}catch(a){d(a)}})},36351:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{As:()=>f.As,H5:()=>e.H5,OV:()=>e.OV,Xs:()=>g.X,_E:()=>f._E,rt:()=>e.rt,x3:()=>e.x3}),c(99863);var e=c(18451);c(78569);var f=c(65701),g=c(19186);c(74702),c(22219),c(26615),c(57143),c(15872),c(11591),c(49832),c(65940),c(30583);var h=a([f]);f=(h.then?(await h)():h)[0],d()}catch(a){d(a)}})},49832:(a,b,c)=>{c(29021),c(33873),c(99863)},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(36351),j=c(4120);c(66561),c(16081);var k=a([i,j]);function l(){return(0,j.kh)()}[i,j]=k.then?(await k)():k;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),i=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:i,type:"directory",children:b};a&&(e.isSpace=!0,e.spacePreview=function(a){let b,c=h().join(a,"INSTRUCTION.md"),d=h().join(a,"README.md"),e=o(d);try{let a=f().readFileSync(d,"utf-8").match(/<!-- mindos:compiled (\S+) files:\d+ -->/);a&&(b=a[1])}catch{}return{instructionLines:n(c,3),readmeLines:n(d,3),isTemplate:o(c)&&e,readmeIsTemplate:e,lastCompiled:b}}(d)),g.push(e)}}else if(c.isFile()){let a=h().extname(c.name).toLowerCase();v.has(a)&&g.push({name:c.name,path:i,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,x++,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)}})},57143:(a,b,c)=>{c(79646),c(99863)},58519:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Ko:()=>j,S9:()=>i});var e=c(27313),f=a([e]);function g(){return"p_"+Math.random().toString(36).slice(2,10)}function h(a){return!!a&&"object"==typeof a&&"string"==typeof a.id&&a.id.startsWith("p_")&&"string"==typeof a.name&&a.name.trim().length>0&&"string"==typeof a.protocol&&(0,e.rl)(a.protocol)&&"string"==typeof a.apiKey&&"string"==typeof a.model&&"string"==typeof a.baseUrl}function i(a){return Array.isArray(a)?a.filter(h):[]}function j(a){let b=a.ai;if(!b||Array.isArray(b.providers))return null;let c=b.providers??{},d=b.provider??"openai",f=a.customProviders??[],h=[],i="";for(let[a,b]of Object.entries(c)){if(!b||!(0,e.rl)(a)||!b.apiKey&&!b.model&&!b.baseUrl)continue;let c=e.T_[a],f=g();h.push({id:f,name:c?.name??a,protocol:a,apiKey:b.apiKey??"",model:b.model??"",baseUrl:b.baseUrl??""}),a===d&&(i=f)}for(let a of f){if(!a.name||!a.baseProviderId)continue;let b=g();h.push({id:b,name:a.name,protocol:(0,e.rl)(a.baseProviderId)?a.baseProviderId:"openai",apiKey:a.apiKey??"",model:a.model??"",baseUrl:a.baseUrl??""}),a.id===d&&(i=b)}if(!i)if(h.length>0)i=h[0].id;else{let a=g();h.push({id:a,name:"OpenAI",protocol:"openai",apiKey:"",model:e.T_.openai?.defaultModel??"",baseUrl:""}),i=a}return{activeProvider:i,providers:h}}e=(f.then?(await f)():f)[0],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}},65701:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{As:()=>m,_E:()=>l}),c(29021);var e=c(33873),f=c.n(e),g=c(21820),h=c.n(g);c(78569),c(18451);var i=c(22571),j=c(99276),k=a([j]);j=(k.then?(await k)():k)[0];let o=new i.d;function l(){o.invalidate(),(0,j.R9)()}function m(a,b){o.isBuilt()&&(o.addFile(a,b),q=!0,p&&clearTimeout(p),p=setTimeout(n,5e3),(0,j.X_)(a,b))}let p=null,q=!1;function n(){if(p&&(clearTimeout(p),p=null),q){q=!1;try{o.persist(f().join(h().homedir(),".mindos"))}catch{}}}"u">typeof process&&(process.on("beforeExit",n),process.on("SIGTERM",()=>{n(),process.exit(0)}),process.on("SIGINT",()=>{n(),process.exit(0)})),d()}catch(a){d(a)}})},65940:(a,b,c)=>{c(29021),c(33873)},66561:(a,b,c)=>{c.d(b,{b:()=>i});var d=c(79646),e=c(29021),f=c.n(e),g=c(33873),h=c.n(g);function i(a){try{let b=function(a){let b=[],c=process.env.MINDOS_PROJECT_ROOT;c&&b.push(h().join(c,"app","scripts",a));let d=process.cwd();for(let c of(b.push(h().join(d,"scripts",a)),b.push(h().resolve(d,"..","app","scripts",a)),b.push(h().join(d,".next","standalone","scripts",a)),b))if(f().existsSync(c))return c;return null}("extract-pdf.cjs");if(!b)return"";let c=(0,d.execFileSync)("node",[b,a],{encoding:"utf-8",timeout:15e3,maxBuffer:5242880});return JSON.parse(c).text||""}catch{return""}}},74702:(a,b,c)=>{c(29021),c(18451),c(20018),c(99863)},78569:(a,b,c)=>{c.d(b,{f:()=>function a(b,c,d={}){let f,k=g().resolve(b),l=c??k,m=d.ignoredDirs??h,n=d.allowedExtensions??i;try{f=e().readdirSync(l,{withFileTypes:!0})}catch{return[]}let o=[];for(let c of f){let e=g().join(l,c.name);if(c.isDirectory()){if(m.has(c.name))continue;o.push(...a(b,e,d))}else if(c.isFile()){if(l===k&&j.has(c.name))continue;let a=g().extname(c.name).toLowerCase();n.has(a)&&o.push(g().relative(k,e))}}return o}});var d=c(29021),e=c.n(d);c(79748);var f=c(33873),g=c.n(f);let h=new Set([".git","node_modules","app",".next",".DS_Store","mcp",".media"]),i=new Set([".md",".csv",".pdf",".png",".jpg",".jpeg",".gif",".webp",".svg",".bmp",".ico",".mp3",".wav",".m4a",".ogg",".flac",".aac",".mp4",".webm",".mov",".mkv"]),j=new Set(["INSTRUCTION.md","README.md","CONFIG.json","CHANGELOG.md"])},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,"609770dbffb6dd5f6482f431838ddd73c66e6fb04a",null),(0,e.A)(s,"409c8f8b7df63a33bb3074b98fd9fb5bdff37b225d",null),(0,e.A)(t,"609756b5490f196ddab99396fa6785c780400b0f8b",null),(0,e.A)(u,"40a9efee6e91ebb9e069ef43969945bfc5075d8b30",null),(0,e.A)(v,"4054c7cd458df2480d4292ce3745ae737a77db6414",null),(0,e.A)(w,"602e42f20ce2bc506dfb072dd63f153eb6d0c1e1b0",null),(0,e.A)(x,"400b794e1c61c411e93ba28203bb3da99d0082553c",null),(0,e.A)(y,"400a0980a13528af448c3be2b2dd16b1b5c9246d7f",null),(0,e.A)(z,"70987f63b04a47183e40b9707aae28e02f9cf2c232",null),(0,e.A)(A,"701aebaca34a9de557a4f74bb0d53a1c70e680bec7",null),(0,e.A)(B,"00f20fa32e51987475aff2943f980c699273a21515",null),(0,e.A)(C,"00a32b751868ea5031b06dc80cd3869f66c886452e",null),(0,e.A)(D,"40f86da9452b4985fe82c205f7911d25eb1049583a",null),(0,e.A)(E,"002441373f10a6500aebe7e47271f8b944031d9964",null),(0,e.A)(F,"60406dc77d1b718062048258d5454d5a9441a65db7",null),(0,e.A)(G,"40f00189372e0652e0b80b9458043fdef6462ab28c",null),(0,e.A)(H,"009102f21f80fd5d09459f7919bb6240c4c4993e12",null),d()}catch(a){d(a)}})},92449:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{"002441373f10a6500aebe7e47271f8b944031d9964":()=>e.Bn,"009102f21f80fd5d09459f7919bb6240c4c4993e12":()=>e.GB,"00a32b751868ea5031b06dc80cd3869f66c886452e":()=>e.EG,"00f20fa32e51987475aff2943f980c699273a21515":()=>e.Dg,"400a0980a13528af448c3be2b2dd16b1b5c9246d7f":()=>e.Ye,"400b794e1c61c411e93ba28203bb3da99d0082553c":()=>e.ku,"4054c7cd458df2480d4292ce3745ae737a77db6414":()=>e.Ar,"409c8f8b7df63a33bb3074b98fd9fb5bdff37b225d":()=>e.iJ,"40a9efee6e91ebb9e069ef43969945bfc5075d8b30":()=>e.jW,"40f00189372e0652e0b80b9458043fdef6462ab28c":()=>e.bC,"40f86da9452b4985fe82c205f7911d25eb1049583a":()=>e.VO,"602e42f20ce2bc506dfb072dd63f153eb6d0c1e1b0":()=>e.pG,"60406dc77d1b718062048258d5454d5a9441a65db7":()=>e.NN,"609756b5490f196ddab99396fa6785c780400b0f8b":()=>e.f,"609770dbffb6dd5f6482f431838ddd73c66e6fb04a":()=>e.X3,"701aebaca34a9de557a4f74bb0d53a1c70e680bec7":()=>e.FZ,"70987f63b04a47183e40b9707aae28e02f9cf2c232":()=>e.pX});var e=c(85224),f=a([e]);e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},96599:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{O:()=>o});var e=c(29021),f=c.n(e),g=c(33873),h=c.n(g),i=c(21820),j=c.n(i),k=c(78569),l=c(18451),m=c(35990),n=a([m]);m=(n.then?(await n)():n)[0];class o{isReady(){return this._ready}isBuilding(){return this._building}getDocCount(){return this.vectors.size}async rebuild(a){if(!this._building){this._building=!0;try{if(!(0,m.II)()){this._building=!1;return}let b=(0,k.f)(a),c=[],d=[];for(let e of b){let b,f=h().extname(e).toLowerCase();if(".md"!==f&&".csv"!==f)continue;try{b=(0,l.TA)(a,e)}catch{continue}let g=`${e}
|
|
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)}},19186:(a,b,c)=>{c.d(b,{X:()=>h});var d=c(33873),e=c.n(d),f=c(78569),g=c(18451);class h{rebuild(a){let b=(0,f.f)(a).filter(a=>a.endsWith(".md")),c=new Set(b),d=function(a){let b=new Map;for(let c of a){let a=e().basename(c).toLowerCase();b.has(a)||b.set(a,[]),b.get(a).push(c)}return b}(b),h=new Map,j=new Map;for(let e of b){let b;try{b=(0,g.TA)(a,e)}catch{continue}let f=i(b,e,c,d),k=new Set;for(let a of f)a!==e&&k.add(a);for(let a of(h.set(e,k),k)){let b=j.get(a);b||(b=new Set,j.set(a,b)),b.add(e)}}this.forwardLinks=h,this.backwardLinks=j,this.builtForRoot=a,this.fileSet=c,this.basenameMap=d}invalidate(){this.forwardLinks.clear(),this.backwardLinks.clear(),this.builtForRoot=null,this.fileSet.clear(),this.basenameMap.clear()}isBuiltFor(a){return this.builtForRoot===a}isBuilt(){return null!==this.builtForRoot}getForwardLinks(a){return[...this.forwardLinks.get(a)??[]]}getBacklinks(a){return[...this.backwardLinks.get(a)??[]]}getAllEdges(){let a=[];for(let[b,c]of this.forwardLinks)for(let d of c)a.push({source:b,target:d});return a}removeFile(a){let b=this.forwardLinks.get(a);if(b){for(let c of b)this.backwardLinks.get(c)?.delete(a);this.forwardLinks.delete(a)}let c=this.backwardLinks.get(a);if(c){for(let b of c)this.forwardLinks.get(b)?.delete(a);this.backwardLinks.delete(a)}this.fileSet.delete(a);let d=e().basename(a).toLowerCase(),f=this.basenameMap.get(d);if(f){let b=f.indexOf(a);b>=0&&f.splice(b,1),0===f.length&&this.basenameMap.delete(d)}}updateFile(a,b){let c;if(!this.builtForRoot||!b.endsWith(".md"))return;let d=this.forwardLinks.get(b);if(d)for(let a of d)this.backwardLinks.get(a)?.delete(b);try{c=(0,g.TA)(a,b)}catch{return}if(!this.fileSet.has(b)){this.fileSet.add(b);let a=e().basename(b).toLowerCase();this.basenameMap.has(a)||this.basenameMap.set(a,[]),this.basenameMap.get(a).push(b)}let f=i(c,b,this.fileSet,this.basenameMap),h=new Set;for(let a of f)a!==b&&h.add(a);for(let a of(this.forwardLinks.set(b,h),h)){let c=this.backwardLinks.get(a);c||(c=new Set,this.backwardLinks.set(a,c)),c.add(b)}}constructor(){this.forwardLinks=new Map,this.backwardLinks=new Map,this.builtForRoot=null,this.fileSet=new Set,this.basenameMap=new Map}}function i(a,b,c,d){let f,g=[],h=e().dirname(b),i=/\[\[([^\]|#]+)(?:[|#][^\]]*)?/g;for(;null!==(f=i.exec(a));){let a=f[1].trim();if(!a)continue;if(c.has(a)){g.push(a);continue}let b=a.endsWith(".md")?a:a+".md";if(c.has(b)){g.push(b);continue}let h=e().basename(b).toLowerCase(),i=d.get(h);i&&1===i.length&&g.push(i[0])}let j=/\[[^\]]+\]\(([^)]+\.md)(?:#[^)]*)?\)/g;for(;null!==(f=j.exec(a));){let a=f[1].trim();if(!a||a.startsWith("http"))continue;let b=e().normalize(e().join(h,a));c.has(b)&&g.push(b)}return g}},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"}},22219:(a,b,c)=>{c(29021),c(33873),c(99863),c(20018)},22571:(a,b,c)=>{c.d(b,{d:()=>p});var d=c(29021),e=c.n(d),f=c(33873),g=c.n(f),h=c(78569),i=c(18451),j=c(99863),k=c(66561);let l=/[\u4e00-\u9fff\u3040-\u309f\u30a0-\u30ff\uac00-\ud7af]/,m="u">typeof Intl&&Intl.Segmenter?new Intl.Segmenter("zh",{granularity:"word"}):null;function n(a){let b=new Set,c=a.toLowerCase(),d=c.match(/[a-z0-9_$@#]+/g);if(d)for(let a of d)a.length>=2&&b.add(a);if(l.test(c))if(m)for(let{segment:a,isWordLike:d}of m.segment(c)){if(!d)continue;let c=a.trim();if(c)for(let a of(b.add(c),c))l.test(a)&&b.add(a)}else{let a=[];for(let d of c)l.test(d)?a.push(d):a.length>0&&(o(a,b),a.length=0);a.length>0&&o(a,b)}return b}function o(a,b){for(let c=0;c<a.length;c++)b.add(a[c]),c+1<a.length&&b.add(a[c]+a[c+1])}class p{rebuild(a){let b=(0,h.f)(a),c=new Map,d=new Map,e=new Map,f=0;for(let h of b){let b;if(".pdf"===g().extname(h).toLowerCase())try{let c=(0,j.eX)(a,h);if(!(b=(0,k.b)(c)))continue}catch{continue}else try{b=(0,i.TA)(a,h)}catch{continue}d.set(h,b.length),f+=b.length,b.length>5e4&&(b=b.slice(0,5e4));let l=n(h+"\n"+b);for(let a of(e.set(h,l),l)){let b=c.get(a);b||(b=new Set,c.set(a,b)),b.add(h)}}this.invertedIndex=c,this.builtForRoot=a,this.fileCount=b.length,this.docLengths=d,this.totalChars=f,this.fileTokens=e}invalidate(){this.invertedIndex=null,this.builtForRoot=null,this.fileCount=0,this.docLengths.clear(),this.totalChars=0,this.fileTokens.clear()}removeFile(a){if(!this.invertedIndex)return;let b=this.fileTokens.get(a);if(b){for(let c of b)this.invertedIndex.get(c)?.delete(a);this.fileTokens.delete(a)}let c=this.docLengths.get(a)??0;this.totalChars-=c,this.docLengths.delete(a),this.fileCount=Math.max(0,this.fileCount-1)}addFile(a,b){let c;if(!this.invertedIndex)return;if(".pdf"===g().extname(b).toLowerCase())try{let d=(0,j.eX)(a,b);if(!(c=(0,k.b)(d)))return}catch{return}else try{c=(0,i.TA)(a,b)}catch{return}this.docLengths.set(b,c.length),this.totalChars+=c.length,this.fileCount++,c.length>5e4&&(c=c.slice(0,5e4));let d=n(b+"\n"+c);for(let a of(this.fileTokens.set(b,d),d)){let c=this.invertedIndex.get(a);c||(c=new Set,this.invertedIndex.set(a,c)),c.add(b)}}updateFile(a,b){this.invertedIndex&&(this.removeFile(b),this.addFile(a,b))}isBuiltFor(a){return null!==this.invertedIndex&&this.builtForRoot===a}isBuilt(){return null!==this.invertedIndex}getFileCount(){return this.fileCount}getAvgDocLength(){return this.fileCount>0?this.totalChars/this.fileCount:0}getDocLength(a){return this.docLengths.get(a)??0}getDocFrequency(a){return this.invertedIndex?this.invertedIndex.get(a)?.size??0:0}getCandidatesUnion(a){if(!a.trim()||!this.invertedIndex)return null;let b=n(a.toLowerCase().trim());if(0===b.size)return null;let c=new Map;for(let a of b){let b=this.invertedIndex.get(a);if(b)for(let a of b)c.set(a,(c.get(a)??0)+1)}if(0===c.size)return[];let d=b.size;if(d>=3){let a=Math.max(1,Math.floor(d/2)),b=[...c.entries()].filter(([,b])=>b>=a).map(([a])=>a);if(b.length>0)return b}return[...c.keys()]}getCandidates(a){if(!a.trim()||!this.invertedIndex)return null;let b=n(a.toLowerCase().trim());if(0===b.size)return null;let c=null;for(let a of b){let b=this.invertedIndex.get(a);if(!b)return[];if(null===c)c=new Set(b);else{for(let a of c)b.has(a)||c.delete(a);if(0===c.size)return[]}}return c?Array.from(c):[]}persist(a){if(!this.invertedIndex)return;let b={version:1,builtForRoot:this.builtForRoot??"",fileCount:this.fileCount,totalChars:this.totalChars,docLengths:Object.fromEntries(this.docLengths),invertedIndex:{},timestamp:Date.now()};for(let[a,c]of this.invertedIndex)b.invertedIndex[a]=[...c];let c=g().join(a,"search-index.json");try{e().mkdirSync(a,{recursive:!0}),e().writeFileSync(c,JSON.stringify(b),"utf-8")}catch{}}load(a,b){let c,d,f=g().join(a,"search-index.json");try{c=e().readFileSync(f,"utf-8")}catch{return!1}try{d=JSON.parse(c)}catch{return!1}if(1!==d.version||d.builtForRoot!==b||(0,h.f)(b).length!==d.fileCount)return!1;let i=Object.keys(d.docLengths);if(Math.min(50,i.length)===i.length)for(let a of i)try{if(e().statSync(g().join(b,a)).mtimeMs>d.timestamp)return!1}catch{return!1}else{let a=Math.max(1,Math.floor(i.length/40)),c=new Set;for(let b=0;b<i.length;b+=a)c.add(b);for(let a=Math.max(0,i.length-10);a<i.length;a++)c.add(a);for(let a of c)try{if(e().statSync(g().join(b,i[a])).mtimeMs>d.timestamp)return!1}catch{return!1}}this.builtForRoot=d.builtForRoot,this.fileCount=d.fileCount,this.totalChars=d.totalChars,this.docLengths=new Map(Object.entries(d.docLengths).map(([a,b])=>[a,b]));let j=new Map,k=new Map;for(let[a,b]of Object.entries(d.invertedIndex)){let c=new Set(b);for(let b of(j.set(a,c),c)){let c=k.get(b);c||(c=new Set,k.set(b,c)),c.add(a)}}return this.invertedIndex=j,this.fileTokens=k,!0}constructor(){this.invertedIndex=null,this.builtForRoot=null,this.fileCount=0,this.docLengths=new Map,this.totalChars=0,this.fileTokens=new Map}}},26615:(a,b,c)=>{c(33873),c(78569),c(18451)},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",shortLabel:"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",shortLabel:"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",shortLabel:"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",shortLabel:"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)",shortLabel:"xAI",defaultModel:"grok-3",supportsBaseUrl:!1,supportsThinking:!1,supportsListModels:!0,category:"more"},openrouter:{id:"openrouter",name:"OpenRouter",nameZh:"OpenRouter",shortLabel:"OpenRouter",defaultModel:"anthropic/claude-sonnet-4",supportsBaseUrl:!1,supportsThinking:!1,supportsListModels:!0,category:"more"},mistral:{id:"mistral",name:"Mistral",nameZh:"Mistral",shortLabel:"Mistral",defaultModel:"mistral-large-latest",supportsBaseUrl:!1,supportsThinking:!1,supportsListModels:!0,category:"more"},deepseek:{id:"deepseek",name:"DeepSeek",nameZh:"DeepSeek",shortLabel:"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 国际版)",shortLabel:"智谱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 国内版)",shortLabel:"智谱GLM-CN",description:"China region version",descriptionZh:"中国区版本",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 (月之暗面)",shortLabel:"Kimi Coding",defaultModel:"kimi-k2-thinking",supportsBaseUrl:!1,supportsThinking:!0,supportsListModels:!1,category:"more"},cerebras:{id:"cerebras",name:"Cerebras",nameZh:"Cerebras",shortLabel:"Cerebras",defaultModel:"llama-4-scout-17b-16e",supportsBaseUrl:!1,supportsThinking:!1,supportsListModels:!0,category:"more"},minimax:{id:"minimax",name:"MiniMax",nameZh:"MiniMax (国际版)",shortLabel:"MiniMax",defaultModel:"MiniMax-M2.5",supportsBaseUrl:!1,supportsThinking:!0,supportsListModels:!1,category:"more"},"minimax-cn":{id:"minimax-cn",name:"MiniMax (China)",nameZh:"MiniMax (国内版)",shortLabel:"MiniMax-CN",description:"China region version",descriptionZh:"中国区版本",defaultModel:"MiniMax-M2.5",supportsBaseUrl:!1,supportsThinking:!0,supportsListModels:!1,category:"more"},huggingface:{id:"huggingface",name:"Hugging Face",nameZh:"Hugging Face",shortLabel:"HuggingFace",defaultModel:"Qwen/Qwen3-235B-A22B-Thinking-2507",supportsBaseUrl:!1,supportsThinking:!0,supportsListModels:!1,category:"more"},ollama:{id:"ollama",name:"Ollama",nameZh:"Ollama (本地)",shortLabel:"Ollama",description:"Local server (requires setup)",descriptionZh:"本地服务器 (需要本地部署)",defaultModel:"llama3.2",piProviderOverride:"openai",fixedBaseUrl:"http://localhost:11434/v1",apiKeyFallback:"ollama",supportsBaseUrl:!0,supportsThinking:!1,supportsListModels:!0,signupUrl:"https://ollama.com/download",category:"local"},"lm-studio":{id:"lm-studio",name:"LM Studio",nameZh:"LM Studio (本地)",shortLabel:"LM Studio",description:"Local OpenAI-compatible server",descriptionZh:"本地 OpenAI 兼容服务",defaultModel:"local-model",piProviderOverride:"openai",fixedBaseUrl:"http://localhost:1234/v1",apiKeyFallback:"lm-studio",supportsBaseUrl:!0,supportsThinking:!1,supportsListModels:!0,signupUrl:"https://lmstudio.ai/",category:"local"},vllm:{id:"vllm",name:"vLLM",nameZh:"vLLM (本地)",shortLabel:"vLLM",description:"Local OpenAI-compatible server",descriptionZh:"本地 OpenAI 兼容服务",defaultModel:"local-model",piProviderOverride:"openai",fixedBaseUrl:"http://localhost:8000/v1",apiKeyFallback:"vllm",supportsBaseUrl:!0,supportsThinking:!1,supportsListModels:!0,signupUrl:"https://docs.vllm.ai/",category:"local"}};function g(a){return a in h}Object.keys(h),d()}catch(a){d(a)}})},30583:(a,b,c)=>{c(29021),c(33873)},35990:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Bk:()=>h,II:()=>g,s7:()=>i});var e=c(4120),f=a([e]);function g(){try{let a=(0,e.sb)().embedding;if(!a||!a.enabled||"api"===a.provider&&(!a.baseUrl||!a.model)||"local"===a.provider&&!a.model)return null;return{enabled:!0,provider:a.provider||"api",baseUrl:(a.baseUrl||"").replace(/\/+$/,""),apiKey:a.apiKey||"",model:a.model}}catch{return null}}async function h(a){let b=g();if(!b||0===a.length)return[];try{if("local"===b.provider)return await k(b.model,a);return await l(b,a)}catch(a){return console.error("[embedding] Failed to get embeddings:",a instanceof Error?a.message:a),[]}}async function i(a){let b=await h([a]);return b.length>0?b[0]:null}e=(f.then?(await f)():f)[0];let o=null,p=null,q=null;async function j(a){return o&&p===a?o:q&&p===a?q:(p=a,q=(async()=>{try{let{pipeline:b}=await Promise.resolve().then(c.bind(c,99253));return o=await b("feature-extraction",a,{dtype:"fp32"})}catch(a){throw o=null,p=null,a}finally{q=null}})())}async function k(a,b){let c=await j(a);if(!c)return[];let d=[];for(let a=0;a<b.length;a+=32)for(let e of b.slice(a,a+32)){let a=(await c(e,{pooling:"mean",normalize:!0})).data;d.push(new Float32Array(a))}return d}async function l(a,b){let c=[];for(let d=0;d<b.length;d+=100){let e=b.slice(d,d+100),f=await m(a,e);if(0===f.length)return[];c.push(...f)}return c}async function m(a,b){let c=`${a.baseUrl}/embeddings`,d=JSON.stringify({model:a.model,input:b}),e={"Content-Type":"application/json"};a.apiKey&&(e.Authorization=`Bearer ${a.apiKey}`);for(let a=0;a<=2;a++)try{let b=new AbortController,f=setTimeout(()=>b.abort(),3e4),g=await fetch(c,{method:"POST",headers:e,body:d,signal:b.signal});if(clearTimeout(f),!g.ok){let b=g.status;if((429===b||b>=500)&&a<2){let a=parseInt(g.headers.get("retry-after")||"1",10);await n(Math.min(1e3*a,5e3));continue}let c=await g.text().catch(()=>"");return console.error(`[embedding] API error ${b}: ${c.slice(0,200)}`),[]}let h=await g.json();if(!h.data||!Array.isArray(h.data))return console.error("[embedding] Unexpected response shape"),[];return h.data.sort((a,b)=>a.index-b.index),h.data.map(a=>new Float32Array(a.embedding))}catch(b){if(a<2){await n(1e3*(a+1));continue}console.error("[embedding] Request failed:",b instanceof Error?b.message:b);break}return[]}function n(a){return new Promise(b=>setTimeout(b,a))}d()}catch(a){d(a)}})},36351:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{As:()=>f.As,H5:()=>e.H5,OV:()=>e.OV,Xs:()=>g.X,_E:()=>f._E,rt:()=>e.rt,x3:()=>e.x3}),c(99863);var e=c(18451);c(78569);var f=c(65701),g=c(19186);c(74702),c(22219),c(26615),c(57143),c(15872),c(11591),c(49832),c(65940),c(30583);var h=a([f]);f=(h.then?(await h)():h)[0],d()}catch(a){d(a)}})},49832:(a,b,c)=>{c(29021),c(33873),c(99863)},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(36351),j=c(4120);c(66561),c(16081);var k=a([i,j]);function l(){return(0,j.kh)()}[i,j]=k.then?(await k)():k;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),i=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:i,type:"directory",children:b};a&&(e.isSpace=!0,e.spacePreview=function(a){let b,c=h().join(a,"INSTRUCTION.md"),d=h().join(a,"README.md"),e=o(d);try{let a=f().readFileSync(d,"utf-8").match(/<!-- mindos:compiled (\S+) files:\d+ -->/);a&&(b=a[1])}catch{}return{instructionLines:n(c,3),readmeLines:n(d,3),isTemplate:o(c)&&e,readmeIsTemplate:e,lastCompiled:b}}(d)),g.push(e)}}else if(c.isFile()){let a=h().extname(c.name).toLowerCase();v.has(a)&&g.push({name:c.name,path:i,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,x++,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)}})},57143:(a,b,c)=>{c(79646),c(99863)},58519:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Ko:()=>j,S9:()=>i});var e=c(27313),f=a([e]);function g(){return"p_"+Math.random().toString(36).slice(2,10)}function h(a){return!!a&&"object"==typeof a&&"string"==typeof a.id&&a.id.startsWith("p_")&&"string"==typeof a.name&&a.name.trim().length>0&&"string"==typeof a.protocol&&(0,e.rl)(a.protocol)&&"string"==typeof a.apiKey&&"string"==typeof a.model&&"string"==typeof a.baseUrl}function i(a){return Array.isArray(a)?a.filter(h):[]}function j(a){let b=a.ai;if(!b||Array.isArray(b.providers))return null;let c=b.providers??{},d=b.provider??"openai",f=a.customProviders??[],h=[],i="";for(let[a,b]of Object.entries(c)){if(!b||!(0,e.rl)(a)||!b.apiKey&&!b.model&&!b.baseUrl)continue;let c=e.T_[a],f=g();h.push({id:f,name:c?.name??a,protocol:a,apiKey:b.apiKey??"",model:b.model??"",baseUrl:b.baseUrl??""}),a===d&&(i=f)}for(let a of f){if(!a.name||!a.baseProviderId)continue;let b=g();h.push({id:b,name:a.name,protocol:(0,e.rl)(a.baseProviderId)?a.baseProviderId:"openai",apiKey:a.apiKey??"",model:a.model??"",baseUrl:a.baseUrl??""}),a.id===d&&(i=b)}if(!i)if(h.length>0)i=h[0].id;else{let a=g();h.push({id:a,name:"OpenAI",protocol:"openai",apiKey:"",model:e.T_.openai?.defaultModel??"",baseUrl:""}),i=a}return{activeProvider:i,providers:h}}e=(f.then?(await f)():f)[0],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}},65701:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{As:()=>m,_E:()=>l}),c(29021);var e=c(33873),f=c.n(e),g=c(21820),h=c.n(g);c(78569),c(18451);var i=c(22571),j=c(99276),k=a([j]);j=(k.then?(await k)():k)[0];let o=new i.d;function l(){o.invalidate(),(0,j.R9)()}function m(a,b){o.isBuilt()&&(o.addFile(a,b),q=!0,p&&clearTimeout(p),p=setTimeout(n,5e3),(0,j.X_)(a,b))}let p=null,q=!1;function n(){if(p&&(clearTimeout(p),p=null),q){q=!1;try{o.persist(f().join(h().homedir(),".mindos"))}catch{}}}"u">typeof process&&(process.on("beforeExit",n),process.on("SIGTERM",()=>{n(),process.exit(0)}),process.on("SIGINT",()=>{n(),process.exit(0)})),d()}catch(a){d(a)}})},65940:(a,b,c)=>{c(29021),c(33873)},66561:(a,b,c)=>{c.d(b,{b:()=>i});var d=c(79646),e=c(29021),f=c.n(e),g=c(33873),h=c.n(g);function i(a){try{let b=function(a){let b=[],c=process.env.MINDOS_PROJECT_ROOT;c&&b.push(h().join(c,"app","scripts",a));let d=process.cwd();for(let c of(b.push(h().join(d,"scripts",a)),b.push(h().resolve(d,"..","app","scripts",a)),b.push(h().join(d,".next","standalone","scripts",a)),b))if(f().existsSync(c))return c;return null}("extract-pdf.cjs");if(!b)return"";let c=(0,d.execFileSync)("node",[b,a],{encoding:"utf-8",timeout:15e3,maxBuffer:5242880});return JSON.parse(c).text||""}catch{return""}}},74702:(a,b,c)=>{c(29021),c(18451),c(20018),c(99863)},78569:(a,b,c)=>{c.d(b,{f:()=>function a(b,c,d={}){let f,k=g().resolve(b),l=c??k,m=d.ignoredDirs??h,n=d.allowedExtensions??i;try{f=e().readdirSync(l,{withFileTypes:!0})}catch{return[]}let o=[];for(let c of f){let e=g().join(l,c.name);if(c.isDirectory()){if(m.has(c.name))continue;o.push(...a(b,e,d))}else if(c.isFile()){if(l===k&&j.has(c.name))continue;let a=g().extname(c.name).toLowerCase();n.has(a)&&o.push(g().relative(k,e))}}return o}});var d=c(29021),e=c.n(d);c(79748);var f=c(33873),g=c.n(f);let h=new Set([".git","node_modules","app",".next",".DS_Store","mcp",".media"]),i=new Set([".md",".csv",".pdf",".png",".jpg",".jpeg",".gif",".webp",".svg",".bmp",".ico",".mp3",".wav",".m4a",".ogg",".flac",".aac",".mp4",".webm",".mov",".mkv"]),j=new Set(["INSTRUCTION.md","README.md","CONFIG.json","CHANGELOG.md"])},82424:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{"00c47a42f3420930d186129c9c1ff0f1a75aa26ac6":()=>e.Bn,"00cc084c0cc7853ce3eb3ad528a64e2522825ff7da":()=>e.EG,"00cfee7ba0071f94f02b605594357225daec0db30b":()=>e.GB,"00f64b3f61c1b0d19dd94d22514655546d61ef00be":()=>e.Dg,"401565f7e4f3b54b4aa2e09cb7b67becb3fd2db35a":()=>e.jW,"4080ae086bd630df5a48b1901fbd1db818337e2873":()=>e.ku,"408ee90c5b6189ba2dc4c2dd50104bbf4c5c6c20ca":()=>e.bC,"40b3d98d55f3502ddf0bc8dc9c24e3ed5e0ee47dc7":()=>e.iJ,"40ba352a8d8394805301f760d14bad6e3f9fa9d5cd":()=>e.Ye,"40d39fa0c566a925d514096a7fba973e61e7eca3d9":()=>e.VO,"40fafcaccf5c19868cf011332ee71efd81a90b7f23":()=>e.Ar,"6018b06c5f4acddbcd531440029db8625b9dc42c01":()=>e.pG,"6096bbe912e9134c58dda288830e06ec0f275e25f3":()=>e.NN,"60bbcbc4f7bca33ff0fa3311ee13b6502b104fddc1":()=>e.f,"60ff38a1e7c12956af51587d6735b6270c886b0189":()=>e.X3,"706092c1b21e086bd8bff1c3f0a9a5c14fccd01788":()=>e.pX,"70d16cd0049bb99354c82d868bb46d43eb4475ae06":()=>e.FZ});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,"60ff38a1e7c12956af51587d6735b6270c886b0189",null),(0,e.A)(s,"40b3d98d55f3502ddf0bc8dc9c24e3ed5e0ee47dc7",null),(0,e.A)(t,"60bbcbc4f7bca33ff0fa3311ee13b6502b104fddc1",null),(0,e.A)(u,"401565f7e4f3b54b4aa2e09cb7b67becb3fd2db35a",null),(0,e.A)(v,"40fafcaccf5c19868cf011332ee71efd81a90b7f23",null),(0,e.A)(w,"6018b06c5f4acddbcd531440029db8625b9dc42c01",null),(0,e.A)(x,"4080ae086bd630df5a48b1901fbd1db818337e2873",null),(0,e.A)(y,"40ba352a8d8394805301f760d14bad6e3f9fa9d5cd",null),(0,e.A)(z,"706092c1b21e086bd8bff1c3f0a9a5c14fccd01788",null),(0,e.A)(A,"70d16cd0049bb99354c82d868bb46d43eb4475ae06",null),(0,e.A)(B,"00f64b3f61c1b0d19dd94d22514655546d61ef00be",null),(0,e.A)(C,"00cc084c0cc7853ce3eb3ad528a64e2522825ff7da",null),(0,e.A)(D,"40d39fa0c566a925d514096a7fba973e61e7eca3d9",null),(0,e.A)(E,"00c47a42f3420930d186129c9c1ff0f1a75aa26ac6",null),(0,e.A)(F,"6096bbe912e9134c58dda288830e06ec0f275e25f3",null),(0,e.A)(G,"408ee90c5b6189ba2dc4c2dd50104bbf4c5c6c20ca",null),(0,e.A)(H,"00cfee7ba0071f94f02b605594357225daec0db30b",null),d()}catch(a){d(a)}})},96599:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{O:()=>o});var e=c(29021),f=c.n(e),g=c(33873),h=c.n(g),i=c(21820),j=c.n(i),k=c(78569),l=c(18451),m=c(35990),n=a([m]);m=(n.then?(await n)():n)[0];class o{isReady(){return this._ready}isBuilding(){return this._building}getDocCount(){return this.vectors.size}async rebuild(a){if(!this._building){this._building=!0;try{if(!(0,m.II)()){this._building=!1;return}let b=(0,k.f)(a),c=[],d=[];for(let e of b){let b,f=h().extname(e).toLowerCase();if(".md"!==f&&".csv"!==f)continue;try{b=(0,l.TA)(a,e)}catch{continue}let g=`${e}
|
|
53
53
|
${b}`.slice(0,8e3);c.push(g),d.push(e)}if(0===c.length){this._building=!1,this._ready=!0,this.builtForRoot=a;return}let e=await (0,m.Bk)(c);if(e.length!==c.length){console.error(`[embedding-index] Expected ${c.length} vectors, got ${e.length}`),this._building=!1;return}this.vectors.clear(),this.dimensions=e[0].length;for(let a=0;a<d.length;a++)this.vectors.set(d[a],e[a]);this.builtForRoot=a,this._ready=!0;try{this.persist()}catch{}}catch(a){console.error("[embedding-index] Rebuild failed:",a instanceof Error?a.message:a)}finally{this._building=!1}}}async updateFile(a,b){let c;if(!this._ready)return;let d=h().extname(b).toLowerCase();if(".md"!==d&&".csv"!==d)return;try{c=(0,l.TA)(a,b)}catch{return}let e=`${b}
|
|
54
54
|
${c}`.slice(0,8e3),f=await (0,m.s7)(e);f&&(this.vectors.set(b,f),0===this.dimensions&&(this.dimensions=f.length))}removeFile(a){this.vectors.delete(a)}searchByVector(a,b=20){if(!this._ready||0===this.vectors.size)return[];let c=[];for(let[b,d]of this.vectors){let e=function(a,b){if(a.length!==b.length||0===a.length)return 0;let c=0,d=0,e=0;for(let f=0;f<a.length;f++)c+=a[f]*b[f],d+=a[f]*a[f],e+=b[f]*b[f];let f=Math.sqrt(d)*Math.sqrt(e);return 0===f?0:Math.max(0,Math.min(1,c/f))}(a,d);c.push({path:b,similarity:e})}return c.sort((a,b)=>b.similarity-a.similarity),c.slice(0,b)}async search(a,b=20){if(!this._ready)return[];let c=await (0,m.s7)(a);return c?this.searchByVector(c,b):[]}get persistPath(){return h().join(j().homedir(),".mindos","embedding-index.json")}persist(){if(0===this.vectors.size)return;let a={version:1,builtForRoot:this.builtForRoot??"",dimensions:this.dimensions,docCount:this.vectors.size,timestamp:Date.now(),vectors:{}};for(let[b,c]of this.vectors)a.vectors[b]=Array.from(c);let b=h().dirname(this.persistPath);try{f().mkdirSync(b,{recursive:!0}),f().writeFileSync(this.persistPath,JSON.stringify(a),"utf-8")}catch{}}load(a){try{let b=f().readFileSync(this.persistPath,"utf-8"),c=JSON.parse(b);if(1!==c.version||c.builtForRoot!==a)return!1;let d=(0,k.f)(a).filter(a=>{let b=h().extname(a).toLowerCase();return".md"===b||".csv"===b}).length;if(Math.abs(d-c.docCount)>Math.max(5,.1*d))return!1;for(let[a,b]of(this.vectors.clear(),this.dimensions=c.dimensions,Object.entries(c.vectors)))this.vectors.set(a,new Float32Array(b));return this.builtForRoot=c.builtForRoot,this._ready=!0,!0}catch{return!1}}invalidate(){this.vectors.clear(),this.dimensions=0,this.builtForRoot=null,this._ready=!1}isBuiltFor(a){return this._ready&&this.builtForRoot===a}constructor(){this.vectors=new Map,this.dimensions=0,this.builtForRoot=null,this._ready=!1,this._building=!1}}d()}catch(a){d(a)}})},99276:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{R9:()=>j,X_:()=>i});var e=c(65701),f=c(96599),g=c(35990),h=a([e,f,g]);[e,f,g]=h.then?(await h)():h;let k=new f.O;function i(a,b){k.isReady()&&k.updateFile(a,b).catch(()=>{})}function j(){k.invalidate()}d()}catch(a){d(a)}})},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}}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
exports.id=2792,exports.ids=[2792],exports.modules={39727:()=>{},47990:()=>{}};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
exports.id=2885,exports.ids=[2792,2885],exports.modules={8539:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Hs:()=>o,Uv:()=>l});var e=c(90463),f=c(74144),g=c(10030),h=c(91546),i=c(61866),j=a([e,i]);function k(a){let b=a.event?.message?.mentions;return Array.isArray(b)&&b.length>0}function l(a){let b=a?.conversation,c=a?.conversation?.transport??"webhook",d=b?.public_base_url?.trim(),e=d?d.replace(/\/+$/,""):void 0,f=e?`${e}/api/im/webhook/feishu`:void 0;if(!b?.enabled)return{platform:"feishu",state:"disabled",publicBaseUrl:e,webhookUrl:f};if("long_connection"===c){let b=(0,i.YY)();return a?.app_id&&a?.app_secret?{platform:"feishu",state:b.running?"ready":"pending",lastError:b.running?void 0:b.lastError??"Start the Feishu long connection client to receive events locally."}:{platform:"feishu",state:"error",lastError:"Feishu App ID and App Secret are required for long connection mode."}}return b.encrypt_key?e?{platform:"feishu",state:"ready",publicBaseUrl:e,webhookUrl:f,lastError:void 0}:{platform:"feishu",state:"pending",publicBaseUrl:void 0,webhookUrl:void 0,lastError:"Public base URL is required for Feishu event callbacks."}:{platform:"feishu",state:"error",publicBaseUrl:e,webhookUrl:f,lastError:"Encrypt Key is required to enable Feishu conversations."}}function m(){return"I received your message, but I could not generate a reply just now. Please try again from MindOS or send another message."}async function n(a){(0,g.L1)({platform:"feishu",type:"conversation_inbound",status:"success",recipient:a.senderId,message:a.text});let{messages:b}=(0,f.kP)("feishu",a.chatId),c="";try{c=(await (0,e.e)({userMessage:a.text,historyMessages:b,mode:"agent",maxSteps:8})).text.trim()||m()}catch(a){console.error("[feishu/webhook] Agent run failed:",a),c=m()}let d=await (0,h.Ki)({platform:"feishu",recipientId:a.chatId,text:c,format:"markdown"},void 0,{activityType:"conversation_reply"}),i={role:"user",content:a.text,timestamp:Date.now()},j={role:"assistant",content:d.ok?c:m(),timestamp:Date.now()};(0,f.zZ)({platform:"feishu",chatId:a.chatId,userMessage:i,assistantMessage:j})}async function o(a){let b,c,d;if(!a.message?.chat_id||!a.message?.message_id||!a.sender?.sender_id)return{ok:!0,ignored:!0,reason:"invalid_event_payload"};let e={header:{event_type:a.event_type??"im.message.receive_v1"},event:{message:a.message,sender:a.sender}},f=(b=e.event?.message?.chat_type,"p2p"===b?{ok:!0,reason:"direct_message"}:"group"===b?k(e)?{ok:!0,reason:"group_with_mention"}:{ok:!1,reason:"group_without_mention"}:{ok:!1,reason:"unsupported_chat_type"});if(!f.ok)return{ok:!0,ignored:!0,reason:f.reason};let g=(c=e.event?.message,d=e.event?.sender,{platform:"feishu",senderId:d?.sender_id?.open_id??d?.sender_id?.union_id??d?.sender_id?.user_id??"unknown",senderName:void 0,chatId:c?.chat_id??"unknown",chatType:c?.chat_type==="group"?"group":"dm",text:function(a){if(!a)return"";try{let b=JSON.parse(a);return"string"==typeof b.text?b.text.trim():""}catch{return""}}(c?.content),messageId:c?.message_id??"unknown",threadId:void 0,mentionsBot:k(e),rawEvent:e});return g.text.trim()?(n(g).catch(a=>{console.error("[feishu/webhook] Async processing failed:",a)}),{ok:!0,queued:!0,reason:f.reason,incoming:g}):{ok:!0,ignored:!0,reason:"empty_text"}}[e,i]=j.then?(await j)():j,d()}catch(a){d(a)}})},39727:()=>{},47990:()=>{},61866:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{let h;c.d(b,{YY:()=>g}),c(65464);var e=c(8539),f=a([e]);function g(){return{running:!1,startedAt:void 0,lastError:h}}e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},74144:(a,b,c)=>{"use strict";c.d(b,{kP:()=>n,zZ:()=>o});var d=c(29021),e=c.n(d),f=c(21820),g=c.n(f),h=c(33873),i=c.n(h);let j=i().join(g().homedir(),".mindos"),k=i().join(j,"im-conversations.json");function l(a,b){return`${a}-${b}-${Date.now()}`}function m(){try{if(!e().existsSync(k))return{version:1,conversations:{}};let a=e().readFileSync(k,"utf-8"),b=JSON.parse(a);if(b?.version===1&&b.conversations&&"object"==typeof b.conversations)return b}catch{}return{version:1,conversations:{}}}function n(a,b){let c=m().conversations[`${a}:${b}`];return c?{sessionId:c.sessionId,messages:c.messages??[]}:{sessionId:l(a,b),messages:[]}}function o(a){var b,c;let d,f=m(),g=(b=a.platform,c=a.chatId,`${b}:${c}`),h=f.conversations[g],i=h?.sessionId??l(a.platform,a.chatId),n=[...h?.messages??[],a.userMessage,a.assistantMessage].slice(-12);return f.conversations[g]={sessionId:i,updatedAt:new Date().toISOString(),messages:n},e().mkdirSync(j,{recursive:!0}),d=k+".tmp",e().writeFileSync(d,JSON.stringify(f,null,2)+"\n","utf-8"),e().renameSync(d,k),{sessionId:i}}},90463:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{e:()=>x});var e=c(21820),f=c.n(e),g=c(33873),h=c.n(g),i=c(38698),j=c(50953),k=c(34523),l=c(39008),m=c(4202),n=c(72570),o=c(47281),p=c(27198),q=c(64900),r=c(76223),s=c(75379),t=c(28978),u=c(47466),v=c(71333),w=a([i,j,k,l,m,o,q,r,s,t]);async function x(a){let b,c,d,e,g="organize"===a.mode?"organize":"chat"===a.mode?"chat":"agent",w=Array.isArray(a.historyMessages)?a.historyMessages:[],x={role:"user",content:a.userMessage,timestamp:Date.now()},y=[...w,x],z=(0,r.readSettings)(),A=z.agent??{};if(a.providerOverride)if((0,m.yx)(a.providerOverride)){let d=(0,m.CY)(z.ai.providers??[],a.providerOverride);if(!d)throw Error("Custom provider not found");b=d.protocol,c={apiKey:d.apiKey,model:d.model,baseUrl:d.baseUrl}}else(0,l.rl)(a.providerOverride)&&(b=a.providerOverride);let{model:B,apiKey:C,provider:D}=(0,k.Ac)({provider:b,apiKey:c?.apiKey,model:a.modelOverride?.trim()||c?.model,baseUrl:c?.baseUrl,hasImages:(0,k.v9)(y)}),E=(d=["organize"===g?n.dT:"chat"===g?n.m4:n.NO,`---
|
|
2
|
+
|
|
3
|
+
mind_root=${(0,j.JX)()}`],(e=function(a){try{return(0,o.xv)((0,j._P)(a))}catch{return null}}("README.md"))&&e.trim().length>10&&d.push(`---
|
|
4
|
+
|
|
5
|
+
## Knowledge Base Structure
|
|
6
|
+
|
|
7
|
+
${e}`),d.join("\n\n")),F=process.env.MINDOS_PROJECT_ROOT||h().resolve(process.cwd(),".."),G=("organize"===g?(0,o.dg)():"chat"===g?(0,o.WC)():(0,o.bm)()).map(a=>({name:a.name,label:a.label,description:a.description,parameters:a.parameters,execute:async(b,c,d,e)=>{let f=c??{};if(o.mk.has(a.name))for(let b of function(a,b){let c=[];if("batch_create_files"===a&&Array.isArray(b.files))b.files.forEach(a=>{a.path&&c.push(a.path)});else{let a=b.path??b.from_path;"string"==typeof a&&c.push(a)}return c}(a.name,f))try{(0,t.aj)(b,"modified by AI agent")}catch(b){var g;let a=b instanceof Error?b.message:String(b);return g=`Write-protection error: ${a}`,{content:[{type:"text",text:g}],details:{}}}let h=await a.execute(b,c,d,e),i=h?.content?.filter(a=>"text"===a.type).map(a=>a.text).join("")??"";try{(0,q.h)({ts:new Date().toISOString(),tool:a.name,params:f,result:i.startsWith("Error:")?"error":"ok",message:i.slice(0,200),agentName:"MindOS"})}catch{}return h}})),H=i.AuthStorage.create();H.setRuntimeApiKey((0,l.KP)(D),C);let I=new i.ModelRegistry(H),J=A.enableThinking??!1,K=A.thinkingBudget??5e3,L=A.contextStrategy??"auto",M=i.SettingsManager.inMemory({enableSkillCommands:!0,...J&&"anthropic"===D?{thinkingBudgets:{medium:K}}:{},..."off"===L?{compaction:{enabled:!1}}:{}}),N=new Set(["mindos","mindos-zh","mindos-max","mindos-max-zh"]),O=E,P=new i.DefaultResourceLoader({cwd:F,settingsManager:M,systemPromptOverride:()=>O,appendSystemPromptOverride:()=>[],agentsFilesOverride:()=>({agentsFiles:[]}),skillsOverride:a=>({...a,skills:a.skills.filter(a=>!N.has(a.name))}),additionalSkillPaths:[h().join(F,"app","data","skills"),h().join(F,"skills"),h().join((0,j.JX)(),".skills"),h().join(f().homedir(),".mindos","skills")],additionalExtensionPaths:[...(0,s.Zx)(),h().join(F,"app","node_modules","pi-mcp-adapter","index.ts"),h().join(F,"app","lib","im","index.ts")]});if(await P.reload(),"agent"===g){let{skills:a}=P.getSkills(),b=a.filter(a=>!a.disableModelInvocation);b.length>0&&(O+="\n\n---\n\n"+(0,u.X)(b),await P.reload())}let{session:Q}=await (0,i.createAgentSession)({cwd:F,model:B,thinkingLevel:J&&"anthropic"===D?"medium":"off",authStorage:H,modelRegistry:I,resourceLoader:P,sessionManager:i.SessionManager.inMemory(),settingsManager:M,tools:"agent"===g?[i.bashTool]:[],customTools:G}),R=(0,i.convertToLlm)((0,p.p)(w));await Q.newSession({setup:async a=>{for(let b of R)a.appendMessage(b)}});let S="",T="",U=[];return Q.subscribe(a=>{if((0,v.KQ)(a))S+=(0,v.cy)(a);else if((0,v.ph)(a))T+=(0,v.JR)(a);else if((0,v.Bl)(a)){let{toolCallId:b,toolName:c}=(0,v.pB)(a);U.push({toolCallId:b,toolName:c,output:"",isError:!1})}else if((0,v.io)(a)){let{toolCallId:b,output:c,isError:d}=(0,v.Qy)(a),e=U.findIndex(a=>a.toolCallId===b);e>=0?U[e]={...U[e],output:c,isError:d}:U.push({toolCallId:b,toolName:"unknown",output:c,isError:d})}}),await Q.prompt(a.userMessage),{text:S.trim(),thinking:T.trim(),toolCalls:U}}[i,j,k,l,m,o,q,r,s,t]=w.then?(await w)():w,d()}catch(a){d(a)}})}};
|