@geminilight/mindos 0.6.63 → 0.6.65
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 +21 -21
- package/_standalone/.next/build-manifest.json +2 -2
- 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/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 +48 -42
- 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/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_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app/api/file/import/route.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/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/mcp/agents/route.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/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/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.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 +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.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.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.js +1 -1
- package/_standalone/.next/server/app/api/skills/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/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 +2 -2
- 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 +2 -2
- 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/wiki/page.js +1 -1
- package/_standalone/.next/server/app/wiki/page.js.nft.json +1 -1
- package/_standalone/.next/server/app/wiki/page_client-reference-manifest.js +1 -1
- package/_standalone/.next/server/app-paths-manifest.json +21 -21
- package/_standalone/.next/server/chunks/122.js +222 -0
- package/_standalone/.next/server/chunks/3113.js +52 -0
- package/_standalone/.next/server/chunks/6539.js +1 -1
- package/_standalone/.next/server/chunks/8388.js +2 -2
- package/_standalone/.next/server/chunks/953.js +3 -3
- package/_standalone/.next/server/chunks/9787.js +2 -0
- 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/1001-99da82ec8d8c136f.js +1 -0
- package/_standalone/.next/static/chunks/5149-4d828886dda479fa.js +1 -0
- package/_standalone/.next/static/chunks/{5581-82e5db227f8e9393.js → 5581-c671163a2fe1b312.js} +2 -2
- package/_standalone/.next/static/chunks/6636-53238eff89503f03.js +6 -0
- package/_standalone/.next/static/chunks/6757-1c1a89720fdda8f0.js +1 -0
- package/_standalone/.next/static/chunks/7129-20e9d2463a9da646.js +1 -0
- package/_standalone/.next/static/chunks/{3674-be69a8b858ceacdd.js → 7294-cac25d97869afadc.js} +1 -1
- package/_standalone/.next/static/chunks/8225-21e5cebc3731ddf0.js +1 -0
- package/_standalone/.next/static/chunks/8520-b51810e66293ceb8.js +22 -0
- package/_standalone/.next/static/chunks/9207-dc9c31b351a2ed78.js +1 -0
- package/_standalone/.next/static/chunks/app/agents/[agentKey]/{page-b0dabe793500383d.js → page-2f5cf97e03dc1cc9.js} +1 -1
- package/_standalone/.next/static/chunks/app/agents/{page-1f1ac330c8177cf6.js → page-50eac58d511dcc6e.js} +1 -1
- package/_standalone/.next/static/chunks/app/echo/[segment]/page-2a00f4686adf3885.js +11 -0
- package/_standalone/.next/static/chunks/app/{layout-50a6b1164ee98ab9.js → layout-2cb7a6602d2e5d5f.js} +62 -58
- package/_standalone/.next/static/chunks/app/{page-73802bd31d7f6c9f.js → page-5ab911b2226f6ff7.js} +1 -1
- package/_standalone/.next/static/chunks/app/setup/page-907b7c57fad2292b.js +1 -0
- package/_standalone/.next/static/chunks/app/trash/page-11a511b065ea84c2.js +1 -0
- package/_standalone/.next/static/chunks/app/view/[...path]/{page-808f39963bf04715.js → page-26e47dd4c533a58c.js} +2 -2
- package/_standalone/.next/static/css/67e7918f5ed7d147.css +1 -0
- package/_standalone/.next/trace +65 -65
- package/_standalone/__tests__/api/ask-attachments.test.ts +194 -0
- package/_standalone/__tests__/api/settings.test.ts +16 -12
- package/_standalone/__tests__/api/setup.test.ts +11 -9
- package/_standalone/__tests__/api/test-key.test.ts +0 -10
- package/_standalone/__tests__/components/UpdateToast.test.ts +344 -0
- package/_standalone/__tests__/core/context.test.ts +48 -426
- package/_standalone/__tests__/lib/pi-skills.test.ts +4 -4
- package/_standalone/__tests__/lib/settings-ai-client.test.ts +32 -12
- package/_standalone/__tests__/setup.ts +5 -5
- package/_standalone/components/ask/AskContent.tsx +70 -40
- package/_standalone/components/ask/AskHeader.tsx +8 -1
- package/_standalone/components/ask/MessageList.tsx +37 -3
- package/_standalone/components/ask/ProviderModelCapsule.tsx +51 -129
- package/_standalone/components/settings/AiTab.tsx +270 -347
- package/_standalone/components/settings/CustomProviderFields.tsx +121 -0
- package/_standalone/components/settings/CustomProvidersCard.tsx +2 -2
- package/_standalone/components/settings/KnowledgeTab.tsx +6 -20
- package/_standalone/components/settings/McpAgentInstall.tsx +7 -2
- package/_standalone/components/settings/Primitives.tsx +48 -104
- package/_standalone/components/settings/ProviderModal.tsx +38 -221
- package/_standalone/components/settings/SettingsContent.tsx +5 -12
- package/_standalone/components/settings/TestButton.tsx +64 -0
- package/_standalone/components/settings/types.ts +3 -12
- package/_standalone/components/settings/useCustomProviderForm.ts +132 -0
- package/_standalone/components/setup/StepAI.tsx +3 -3
- package/_standalone/components/shared/ModelInput.tsx +18 -4
- package/_standalone/components/shared/ProviderSelect.tsx +126 -134
- package/_standalone/hooks/useAskChat.ts +97 -13
- package/_standalone/hooks/useAskPanel.ts +17 -1
- package/_standalone/lib/settings-ai-client.ts +17 -8
- package/_standalone/tsconfig.tsbuildinfo +1 -1
- package/app/app/api/ask/route.ts +124 -44
- package/app/app/api/mcp/agents/route.ts +3 -3
- package/app/app/api/settings/list-models/route.ts +15 -26
- package/app/app/api/settings/route.ts +14 -59
- package/app/app/api/settings/test-key/route.ts +47 -12
- package/app/app/api/setup/route.ts +36 -18
- package/app/app/api/skills/route.ts +1 -1
- package/app/app/layout.tsx +5 -3
- package/app/components/HomeContent.tsx +11 -0
- package/app/components/UpdateToast.tsx +255 -0
- package/app/components/ask/AskContent.tsx +70 -40
- package/app/components/ask/AskHeader.tsx +8 -1
- package/app/components/ask/MessageList.tsx +37 -3
- package/app/components/ask/ProviderModelCapsule.tsx +51 -129
- package/app/components/settings/AiTab.tsx +270 -347
- package/app/components/settings/CustomProviderFields.tsx +121 -0
- package/app/components/settings/CustomProvidersCard.tsx +2 -2
- package/app/components/settings/KnowledgeTab.tsx +6 -20
- package/app/components/settings/McpAgentInstall.tsx +7 -2
- package/app/components/settings/Primitives.tsx +48 -104
- package/app/components/settings/ProviderModal.tsx +38 -221
- package/app/components/settings/SettingsContent.tsx +5 -12
- package/app/components/settings/TestButton.tsx +64 -0
- package/app/components/settings/types.ts +3 -12
- package/app/components/settings/useCustomProviderForm.ts +132 -0
- package/app/components/setup/StepAI.tsx +3 -3
- package/app/components/shared/ModelInput.tsx +18 -4
- package/app/components/shared/ProviderSelect.tsx +126 -134
- package/app/hooks/useAskChat.ts +97 -13
- package/app/hooks/useAskPanel.ts +17 -1
- package/app/lib/agent/context.ts +65 -0
- package/app/lib/agent/providers.ts +25 -0
- package/app/lib/agent/tools.ts +1 -1
- package/app/lib/custom-endpoints.ts +129 -29
- package/app/lib/i18n/modules/settings.ts +20 -0
- package/app/lib/pi-integration/skills.ts +16 -4
- package/app/lib/settings-ai-client.ts +17 -8
- package/app/lib/settings.ts +64 -90
- package/app/lib/types.ts +4 -0
- package/package.json +1 -1
- package/_standalone/.next/server/chunks/530.js +0 -218
- package/_standalone/.next/server/chunks/9007.js +0 -2
- package/_standalone/.next/server/chunks/9137.js +0 -52
- package/_standalone/.next/static/chunks/1309-373ade1b40aea186.js +0 -1
- package/_standalone/.next/static/chunks/3165-9189a38fd9ebf6f2.js +0 -1
- package/_standalone/.next/static/chunks/4587-5d06728133fff222.js +0 -1
- package/_standalone/.next/static/chunks/6261-5ce86db54b19ae46.js +0 -1
- package/_standalone/.next/static/chunks/6636-9bbc90fb3b8731fe.js +0 -6
- package/_standalone/.next/static/chunks/7637-904b0a381dc3ec02.js +0 -1
- package/_standalone/.next/static/chunks/8520-84e607f33c409f91.js +0 -22
- package/_standalone/.next/static/chunks/9207-9a4a1a1ede4f8e6e.js +0 -1
- package/_standalone/.next/static/chunks/app/echo/[segment]/page-bc5e104eb7ae6327.js +0 -11
- package/_standalone/.next/static/chunks/app/setup/page-79acb0baf38184c6.js +0 -1
- package/_standalone/.next/static/chunks/app/trash/page-d040db56863da504.js +0 -1
- package/_standalone/.next/static/css/1287672978833d07.css +0 -1
- package/_standalone/lib/agent/context.ts +0 -403
- /package/_standalone/.next/static/{X86rF8dKEO0InosOw4a2_ → eIlwbGas1iRGonlPyEwj7}/_buildManifest.js +0 -0
- /package/_standalone/.next/static/{X86rF8dKEO0InosOw4a2_ → eIlwbGas1iRGonlPyEwj7}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9604],{16518:(e,t,r)=>{"use strict";r.d(t,{AI:()=>o,RS:()=>s});let s=["about-you","continued","daily","past-you","growth"],o={"about-you":"/echo/about-you",continued:"/echo/continued",daily:"/echo/daily","past-you":"/echo/past-you",growth:"/echo/growth"}},22368:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});let s=(0,r(90425).A)("user-round",[["circle",{cx:"12",cy:"8",r:"5",key:"1hypcn"}],["path",{d:"M20 21a8 8 0 0 0-16 0",key:"rfgkzh"}]])},22721:(e,t,r)=>{"use strict";r.d(t,{default:()=>Y});var s=r(95155),o=r(12115),n=r(22368),a=r(41762),i=r(51900),l=r(50538),d=r(90718),c=r(42268),u=r(94514),p=r(35581),m=r(27318);function h({heroKicker:e,pageTitle:t,lead:r,titleId:o,children:n}){return(0,s.jsxs)("header",{className:"relative overflow-hidden rounded-xl border border-border bg-card px-5 pb-5 pt-6 shadow-sm sm:px-8 sm:pb-6 sm:pt-8",children:[(0,s.jsx)("div",{className:"absolute left-0 top-5 w-[3px] rounded-full bg-[var(--amber)] sm:top-6",style:{bottom:n?"40%":"1.25rem"},"aria-hidden":!0}),(0,s.jsxs)("div",{className:"relative pl-4 sm:pl-5",children:[(0,s.jsx)("p",{className:"mb-4 font-sans text-2xs font-semibold uppercase tracking-[0.2em] text-[var(--amber-text)]",children:e}),(0,s.jsx)("h1",{id:o,className:"text-2xl font-semibold tracking-tight text-foreground md:text-3xl",children:t}),(0,s.jsx)("p",{className:"mt-3 max-w-prose font-sans text-base leading-relaxed text-muted-foreground",children:r})]}),n]})}var g=r(98500),x=r.n(g),b=r(91337),f=r(16518);function y({activeSegment:e}){let{t}=(0,p.Y)(),r=t.panels.echo,o=t.echoPages.segmentNavAria;return(0,s.jsx)("nav",{"aria-label":o,className:"mt-5 border-t border-border/30 pt-4 font-sans",children:(0,s.jsx)("ul",{className:"flex snap-x snap-mandatory gap-1.5 overflow-x-auto pb-0.5 [scrollbar-width:thin]",children:f.RS.map(t=>{let o=f.AI[t],{label:c,icon:u}=function(e,t){switch(e){case"about-you":return{label:t.aboutYouTitle,icon:(0,s.jsx)(n.A,{size:13})};case"continued":return{label:t.continuedTitle,icon:(0,s.jsx)(a.A,{size:13})};case"daily":return{label:t.dailyEchoTitle,icon:(0,s.jsx)(i.A,{size:13})};case"past-you":return{label:t.pastYouTitle,icon:(0,s.jsx)(l.A,{size:13})};case"growth":return{label:t.intentGrowthTitle,icon:(0,s.jsx)(d.A,{size:13})}}}(t,r),p=t===e;return(0,s.jsx)("li",{className:"snap-start shrink-0",children:(0,s.jsxs)(x(),{href:o,"aria-current":p?"page":void 0,className:(0,b.cn)("inline-flex min-h-9 max-w-[11rem] items-center gap-1.5 rounded-full border px-3 py-1.5 text-sm transition-[background-color,border-color,color] duration-150 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",p?"border-[var(--amber)]/45 bg-[var(--amber-dim)]/50 font-medium text-foreground":"border-transparent bg-muted/35 text-muted-foreground hover:bg-muted/55 hover:text-foreground"),children:[(0,s.jsx)("span",{className:"shrink-0","aria-hidden":!0,children:u}),(0,s.jsx)("span",{className:"truncate",children:c})]})},t)})})})}var v=r(86901),k=r(66088),j=r(6296),w=r(66804),N=r(32957),M=r(68589),A=r(47376);function L({title:e,showLabel:t,hideLabel:r,hint:n,generateLabel:a,noAiHint:i,generatingLabel:l,errorPrefix:d,retryLabel:c,userPrompt:u}){let[m,h]=(0,o.useState)(!1),[g,x]=(0,o.useState)(!1),[f,y]=(0,o.useState)(""),[L,E]=(0,o.useState)(""),I=(0,o.useId)(),T=`${I}-btn`,_=(0,o.useRef)(null),{ready:P,loading:C}=function(){let[e,t]=(0,o.useState)(!1),[r,s]=(0,o.useState)(!0);return(0,o.useEffect)(()=>{let e=!1,r=()=>{fetch("/api/settings",{cache:"no-store"}).then(e=>e.json()).then(r=>{e||t(function(e){let t=e.ai?.providers??[],r=e.ai?.activeProvider,s=e.envOverrides??{},o=r?t.find(e=>e.id===r):t[0];if(!o)return!1;if(o.apiKey&&o.apiKey.length>0)return!0;let n=(0,A.rl)(o.protocol)?(0,A.Ux)(o.protocol):void 0;if(n&&s[n])return!0;let a=(0,A.rl)(o.protocol)?A.T_[o.protocol]:void 0;return!!a?.apiKeyFallback}(r))}).catch(()=>{e||t(!1)}).finally(()=>{e||s(!1)})};r();let o=()=>r();return window.addEventListener("mindos:settings-changed",o),()=>{e=!0,window.removeEventListener("mindos:settings-changed",o)}},[]),{ready:e,loading:r}}(),{t:S}=(0,p.Y)();(0,o.useEffect)(()=>()=>_.current?.abort(),[]);let z=(0,o.useCallback)(async()=>{_.current?.abort();let e=new AbortController;_.current=e,E(""),y(""),x(!0);try{let t=await fetch("/api/ask",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({messages:[{role:"user",content:u}],maxSteps:16}),signal:e.signal});if(!t.ok){let e=`HTTP ${t.status}`;try{let r=await t.json();e=r?.error?.message??r?.message??e}catch{}throw Error(e)}if(!t.body)throw Error("No response body");await (0,M.m)(t.body,e=>{y(e.content??"")},e.signal)}catch(e){if(e instanceof Error&&"AbortError"===e.name)return;E(e instanceof Error?e.message:String(e))}finally{x(!1),_.current=null}},[u]),U=C||!P||g;return(0,s.jsxs)("div",{className:"mt-10 overflow-hidden rounded-xl border border-border bg-card shadow-sm transition-[border-color,box-shadow] duration-150 ease-out hover:border-[var(--amber)]/15 hover:shadow",children:[(0,s.jsxs)("button",{id:T,type:"button",className:"flex w-full items-center gap-3 px-5 py-4 text-left transition-colors duration-200 hover:bg-muted/25 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background","aria-expanded":m,"aria-controls":I,onClick:()=>h(e=>!e),children:[(0,s.jsx)("span",{className:"flex h-9 w-9 shrink-0 items-center justify-center rounded-lg bg-[var(--amber-dim)] text-[var(--amber)]","aria-hidden":!0,children:(0,s.jsx)(v.A,{size:17,strokeWidth:1.75})}),(0,s.jsx)("span",{className:"flex-1 font-sans text-sm font-medium text-foreground",children:e}),(0,s.jsx)(k.A,{size:16,className:(0,b.cn)("shrink-0 text-muted-foreground transition-transform duration-200",m&&"rotate-180"),"aria-hidden":!0}),(0,s.jsx)("span",{className:"sr-only",children:m?r:t})]}),(0,s.jsx)("div",{id:I,role:"region","aria-labelledby":T,className:(0,b.cn)("grid transition-[grid-template-rows] duration-250 ease-out",m?"grid-rows-[1fr]":"grid-rows-[0fr]"),children:(0,s.jsx)("div",{className:"overflow-hidden",...!m&&{inert:!0},children:(0,s.jsxs)("div",{className:"border-t border-border/60 px-5 pb-5 pt-4",children:[(0,s.jsx)("p",{className:"font-sans text-sm leading-relaxed text-muted-foreground",children:n}),(0,s.jsxs)("div",{className:"mt-4 flex flex-wrap items-center gap-2",children:[(0,s.jsxs)("button",{type:"button",disabled:U,title:U?S.hints.aiNotConfigured:void 0,onClick:z,className:"inline-flex items-center gap-2 rounded-lg bg-[var(--amber)] px-3 py-2 font-sans text-sm font-medium text-[var(--amber-foreground)] transition-opacity duration-150 hover:opacity-90 disabled:cursor-not-allowed disabled:opacity-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",children:[g?(0,s.jsx)(j.A,{size:16,className:"animate-spin shrink-0","aria-hidden":!0}):(0,s.jsx)(v.A,{size:15,className:"shrink-0","aria-hidden":!0}),g?l:a]}),L?(0,s.jsx)("button",{type:"button",onClick:z,disabled:g||!P,title:g||!P?S.hints.generationInProgress:void 0,className:"font-sans text-sm text-[var(--amber)] underline-offset-2 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring rounded-sm",children:c}):null]}),C||P?null:(0,s.jsx)("p",{className:"mt-2 font-sans text-2xs text-muted-foreground",children:i}),L?(0,s.jsxs)("p",{className:"mt-3 font-sans text-sm text-error",role:"alert",children:[d," ",L]}):null,f?(0,s.jsxs)("div",{className:(0,b.cn)("prose prose-sm prose-panel dark:prose-invert max-w-none text-foreground prose-p:my-1 prose-p:leading-relaxed prose-headings:font-semibold prose-headings:my-2 prose-headings:text-[13px] prose-ul:my-1 prose-li:my-0.5 prose-ol:my-1 prose-code:text-[0.8em] prose-code:bg-muted prose-code:px-1 prose-code:py-0.5 prose-code:rounded prose-code:before:content-none prose-code:after:content-none prose-pre:bg-muted prose-pre:text-foreground prose-pre:text-xs prose-blockquote:border-l-[var(--amber)] prose-blockquote:text-muted-foreground prose-a:text-[var(--amber)] prose-a:no-underline hover:prose-a:underline prose-strong:text-foreground prose-strong:font-semibold","mt-4 border-t border-border/60 pt-4"),children:[(0,s.jsx)(w.oz,{remarkPlugins:[N.A],children:f}),g?(0,s.jsx)("span",{className:"ml-0.5 inline-block h-3.5 w-1 animate-pulse rounded-sm bg-[var(--amber)] align-middle","aria-hidden":!0}):null]}):null]})})})]})}let E=(0,r(90425).A)("library",[["path",{d:"m16 6 4 14",key:"ji33uf"}],["path",{d:"M12 6v14",key:"1n7gus"}],["path",{d:"M8 8v12",key:"1gg7y9"}],["path",{d:"M4 4v16",key:"6qkkli"}]]);var I=r(48368),T=r(12651);function _({headingId:e,heading:t,snapshotBadge:r,emptyTitle:o,emptyBody:n,icon:a,actions:i}){return(0,s.jsxs)("section",{className:"rounded-xl border border-border bg-card p-5 shadow-sm transition-[border-color,box-shadow] duration-150 ease-out hover:border-[var(--amber)]/20 hover:shadow sm:p-6","aria-labelledby":e,children:[(0,s.jsxs)("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between",children:[(0,s.jsxs)("div",{className:"flex items-start gap-3",children:[(0,s.jsx)("span",{className:"flex h-9 w-9 shrink-0 items-center justify-center rounded-lg bg-[var(--amber-dim)] text-[var(--amber)]","aria-hidden":!0,children:a??(0,s.jsx)(E,{size:18,strokeWidth:1.75})}),(0,s.jsxs)("div",{children:[(0,s.jsx)("h2",{id:e,className:"font-sans text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:t}),(0,s.jsx)("p",{className:"mt-2 font-sans font-medium text-foreground",children:o})]})]}),(0,s.jsx)("span",{className:"font-sans text-2xs font-medium uppercase tracking-wide text-[var(--amber-text)] sm:mt-0.5 sm:shrink-0 rounded-md bg-[var(--amber-dim)] px-2 py-1",children:r})]}),(0,s.jsx)("p",{className:"mt-4 border-t border-border/60 pt-4 font-sans text-sm leading-relaxed text-muted-foreground",children:n}),i?(0,s.jsx)("div",{className:"mt-4 border-t border-border/60 pt-4",children:i}):null]})}function P({draftsLabel:e,todosLabel:t,subEmptyHint:r,footer:o}){let n=(e,t)=>(0,s.jsxs)("div",{className:"flex min-h-[5.75rem] flex-col justify-center rounded-xl border border-border/40 bg-card/30 px-4 py-4 transition-colors duration-150 hover:border-[var(--amber)]/25 hover:bg-[var(--amber-dim)]/15",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("span",{className:"shrink-0 text-muted-foreground","aria-hidden":!0,children:t}),(0,s.jsx)("h3",{className:"font-sans text-sm font-medium text-foreground",children:e})]}),(0,s.jsx)("p",{className:"mt-2 font-sans text-2xs leading-relaxed text-muted-foreground",children:r})]});return(0,s.jsxs)("div",{className:"space-y-4",children:[(0,s.jsxs)("div",{className:"grid gap-3 sm:grid-cols-2",children:[n(e,(0,s.jsx)(I.A,{size:15,strokeWidth:1.75})),n(t,(0,s.jsx)(T.A,{size:15,strokeWidth:1.75}))]}),o?(0,s.jsx)("div",{className:"border-t border-border/60 pt-4",children:o}):null]})}let C="mindos-echo-daily-line",S="mindos-echo-growth-intent",z={"about-you":(0,s.jsx)(n.A,{size:18,strokeWidth:1.75}),continued:(0,s.jsx)(a.A,{size:18,strokeWidth:1.75}),daily:(0,s.jsx)(i.A,{size:18,strokeWidth:1.75}),"past-you":(0,s.jsx)(l.A,{size:18,strokeWidth:1.75}),growth:(0,s.jsx)(d.A,{size:18,strokeWidth:1.75})},U="block font-sans text-2xs font-semibold uppercase tracking-wide text-muted-foreground",B="mt-2 w-full min-h-[5rem] resize-y rounded-lg border border-border bg-background px-3 py-2.5 font-sans text-sm text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:border-[var(--amber)]/40",O="rounded-xl border border-border bg-card p-5 shadow-sm transition-[border-color,box-shadow] duration-150 ease-out hover:border-[var(--amber)]/20 hover:shadow sm:p-6";function Y({segment:e}){let{t,locale:r}=(0,p.Y)(),n=t.echoPages,a=function(e,t){switch(e){case"about-you":return t.aboutYouTitle;case"continued":return t.continuedTitle;case"daily":return t.dailyEchoTitle;case"past-you":return t.pastYouTitle;case"growth":return t.intentGrowthTitle}}(e,t.panels.echo),i=function(e,t){switch(e){case"about-you":return t.aboutYouLead;case"continued":return t.continuedLead;case"daily":return t.dailyLead;case"past-you":return t.pastYouLead;case"growth":return t.growthLead}}(e,n),l=(0,o.useId)(),d="echo-page-title",[g,x]=(0,o.useState)(""),[b,f]=(0,o.useState)(""),[v,k]=(0,o.useState)(!1),[j,w]=(0,o.useState)(!1),N=(0,o.useRef)(void 0),M=(0,o.useRef)(void 0);(0,o.useEffect)(()=>()=>{clearTimeout(N.current),clearTimeout(M.current)},[]);let A=(0,o.useMemo)(()=>(function(e,t){switch(e){case"about-you":return{title:t.snapshotAboutYouTitle,body:t.snapshotAboutYouBody};case"continued":return{title:t.snapshotContinuedTitle,body:t.snapshotContinuedBody};case"daily":return{title:t.snapshotDailyTitle,body:t.snapshotDailyBody};case"past-you":return{title:t.snapshotPastYouTitle,body:t.snapshotPastYouBody};case"growth":return{title:t.snapshotGrowthTitle,body:t.snapshotGrowthBody}}})(e,n),[e,n]);(0,o.useEffect)(()=>{try{let e=localStorage.getItem(C);e&&x(e);let t=localStorage.getItem(S);t&&f(t)}catch{}},[]);let E=(0,o.useCallback)(()=>{try{localStorage.setItem(C,g)}catch{}clearTimeout(N.current),k(!0),N.current=setTimeout(()=>k(!1),1800)},[g]),I=(0,o.useCallback)(()=>{try{localStorage.setItem(S,b)}catch{}clearTimeout(M.current),w(!0),M.current=setTimeout(()=>w(!1),1800)},[b]),T=(0,o.useCallback)(()=>{E(),(0,m.NH)(n.dailyAskPrefill(g),"user")},[g,n,E]),Y=(0,o.useCallback)(()=>{(0,m.NH)(`${n.parent} / ${a}
|
|
2
|
+
|
|
3
|
+
`,"user")},[n.parent,a]),K=(0,o.useMemo)(()=>{var t;let s,o,i;return s="zh"===(t={locale:r,segment:e,segmentTitle:a,factsHeading:n.factsHeading,emptyTitle:A.title,emptyBody:A.body,continuedDrafts:n.continuedDrafts,continuedTodos:n.continuedTodos,subEmptyHint:n.subEmptyHint,dailyLineLabel:n.dailyLineLabel,dailyLine:g,growthIntentLabel:n.growthIntentLabel,growthIntent:b}).locale?"Chinese":"English",o=[`Echo section: ${t.segmentTitle}`,`${t.factsHeading}: ${t.emptyTitle}`,t.emptyBody],"continued"===t.segment&&o.push(`${t.continuedDrafts} — ${t.subEmptyHint}`,`${t.continuedTodos} — ${t.subEmptyHint}`),"daily"===t.segment&&t.dailyLine.trim()&&o.push(`${t.dailyLineLabel}: ${t.dailyLine.trim()}`),"growth"===t.segment&&t.growthIntent.trim()&&o.push(`${t.growthIntentLabel}: ${t.growthIntent.trim()}`),i=o.join("\n\n"),`You are a reflective assistant inside MindOS Echo (a personal, local-first notes companion). The user is viewing one Echo section. Below is exactly what they see on screen right now—it may be an empty-state placeholder until indexing fills the list.
|
|
4
|
+
|
|
5
|
+
--- Visible context ---
|
|
6
|
+
${i}
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
Write a short insight in ${s} as Markdown (under 220 words). Tone: warm, restrained, "quiet notebook"—not a hype coach. If the context is only generic empty copy, acknowledge that briefly and offer 2–3 reflection prompts instead of inventing files or facts. Do not claim you read their whole library. Prefer answering from this context; avoid unnecessary tool use.`},[r,e,a,n.factsHeading,A,n.continuedDrafts,n.continuedTodos,n.subEmptyHint,n.dailyLineLabel,g,n.growthIntentLabel,b]),H=e=>(0,s.jsxs)("button",{type:"button",onClick:e,className:"inline-flex items-center gap-1.5 rounded-lg border border-border bg-background px-4 py-2.5 font-sans text-sm font-medium text-foreground transition-colors duration-150 hover:border-[var(--amber)]/35 hover:bg-[var(--amber-dim)]/40 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",children:[n.continueAgent,(0,s.jsx)(c.A,{size:14,className:"shrink-0 text-muted-foreground","aria-hidden":!0})]});return(0,s.jsxs)("article",{className:"mx-auto max-w-3xl px-4 py-6 sm:px-6 md:py-11","aria-labelledby":d,children:[(0,s.jsx)(h,{heroKicker:n.heroKicker,pageTitle:a,lead:i,titleId:d,children:(0,s.jsx)(y,{activeSegment:e})}),(0,s.jsxs)("div",{className:"mt-6 space-y-6 sm:mt-8",children:[(0,s.jsx)(_,{headingId:l,heading:n.factsHeading,snapshotBadge:n.snapshotBadge,emptyTitle:A.title,emptyBody:A.body,icon:z[e],actions:"about-you"===e?H(Y):void 0}),"continued"===e?(0,s.jsx)(P,{draftsLabel:n.continuedDrafts,todosLabel:n.continuedTodos,subEmptyHint:n.subEmptyHint,footer:H(Y)}):null]}),"daily"===e?(0,s.jsxs)("section",{className:`${O} mt-6`,children:[(0,s.jsx)("label",{htmlFor:"echo-daily-line",className:U,children:n.dailyLineLabel}),(0,s.jsx)("textarea",{id:"echo-daily-line",value:g,onChange:e=>x(e.target.value),onBlur:E,rows:3,placeholder:n.dailyLinePlaceholder,className:B}),(0,s.jsxs)("p",{className:"mt-3 flex items-center gap-2 font-sans text-2xs text-muted-foreground",children:[(0,s.jsx)("span",{children:n.dailySavedNote}),(0,s.jsx)("span",{className:"inline-flex items-center gap-1 text-[var(--success)]","aria-live":"polite",children:v?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(u.A,{size:12,"aria-hidden":!0})," ",n.savedFlash]}):null})]}),(0,s.jsx)("div",{className:"mt-4",children:H(T)})]}):null,"growth"===e?(0,s.jsxs)("section",{className:`${O} mt-6`,children:[(0,s.jsx)("label",{htmlFor:"echo-growth-intent",className:U,children:n.growthIntentLabel}),(0,s.jsx)("textarea",{id:"echo-growth-intent",value:b,onChange:e=>f(e.target.value),onBlur:I,rows:4,placeholder:n.growthIntentPlaceholder,className:`${B} min-h-[6.5rem]`}),(0,s.jsxs)("p",{className:"mt-3 flex items-center gap-2 font-sans text-2xs text-muted-foreground",children:[(0,s.jsx)("span",{children:n.growthSavedNote}),(0,s.jsx)("span",{className:"inline-flex items-center gap-1 text-[var(--success)]","aria-live":"polite",children:j?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(u.A,{size:12,"aria-hidden":!0})," ",n.savedFlash]}):null})]}),(0,s.jsx)("div",{className:"mt-4 border-t border-border/60 pt-4",children:H(Y)})]}):null,"past-you"===e?(0,s.jsxs)("section",{className:`${O} mt-6`,children:[(0,s.jsxs)("div",{className:"flex items-center gap-3",children:[(0,s.jsx)("span",{className:U,children:n.pastYouDrawLabel}),(0,s.jsx)("span",{className:"rounded-full bg-muted px-2 py-0.5 font-sans text-2xs font-medium text-muted-foreground",children:n.pastYouComingSoon})]}),(0,s.jsx)("p",{className:"mt-3 font-sans text-sm leading-relaxed text-muted-foreground",children:n.pastYouDisabledHint}),(0,s.jsx)("div",{className:"mt-4 border-t border-border/60 pt-4",children:H(Y)})]}):null,(0,s.jsx)(L,{title:n.insightTitle,showLabel:n.insightShow,hideLabel:n.insightHide,hint:n.insightHint,generateLabel:n.generateInsight,noAiHint:n.generateInsightNoAi,generatingLabel:n.insightGenerating,errorPrefix:n.insightErrorPrefix,retryLabel:n.insightRetry,userPrompt:K})]})}},27318:(e,t,r)=>{"use strict";r.d(t,{KT:()=>c,NH:()=>d});var s=r(12115);let o={open:!1,initialMessage:"",source:"user",acpAgent:null},n=new Set;function a(){n.forEach(e=>e())}function i(e){return n.add(e),()=>{n.delete(e)}}function l(){return o}function d(e="",t="user",r=null){o={open:!0,initialMessage:e,source:t,acpAgent:r},a()}function c(){let e=(0,s.useSyncExternalStore)(i,l,l);return{open:e.open,initialMessage:e.initialMessage,source:e.source,acpAgent:e.acpAgent,openWith:(0,s.useCallback)((e,t="user",r=null)=>d(e,t,r),[]),close:(0,s.useCallback)(()=>void(o={open:!1,initialMessage:"",source:"user",acpAgent:null},a()),[])}}},31683:(e,t,r)=>{Promise.resolve().then(r.bind(r,22721))},41762:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});let s=(0,r(90425).A)("bookmark",[["path",{d:"M17 3a2 2 0 0 1 2 2v15a1 1 0 0 1-1.496.868l-4.512-2.578a2 2 0 0 0-1.984 0l-4.512 2.578A1 1 0 0 1 5 20V5a2 2 0 0 1 2-2z",key:"oz39mx"}]])},42268:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});let s=(0,r(90425).A)("arrow-up-right",[["path",{d:"M7 7h10v10",key:"1tivn9"}],["path",{d:"M7 17 17 7",key:"1vkiza"}]])},47376:(e,t,r)=>{"use strict";r.d(t,{Ot:()=>u,T_:()=>o,Ux:()=>c,bf:()=>i,jt:()=>n,rl:()=>a});var s=r(20699);r(87358);let o={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"}},n=Object.keys(o);function a(e){return e in o}function i(){let e=[],t=[];for(let r of n)"primary"===o[r].category?e.push(r):t.push(r);return t.sort((e,t)=>o[e].name.localeCompare(o[t].name)),{primary:e,more:t}}function l(e){return o[e].piProviderOverride??e}let d={deepseek:"DEEPSEEK_API_KEY"};function c(e){return d[e]?d[e]:p[l(e)]}function u(e){let t=o[e];if(t.fixedBaseUrl)return t.fixedBaseUrl;try{let t=(0,s.zr)(l(e));return t[0]?.baseUrl??""}catch{return""}}let p={anthropic:"ANTHROPIC_API_KEY",openai:"OPENAI_API_KEY","azure-openai-responses":"AZURE_OPENAI_API_KEY",google:"GEMINI_API_KEY",groq:"GROQ_API_KEY",cerebras:"CEREBRAS_API_KEY",xai:"XAI_API_KEY",openrouter:"OPENROUTER_API_KEY",zai:"ZAI_API_KEY","zai-cn":"ZAI_API_KEY",mistral:"MISTRAL_API_KEY",minimax:"MINIMAX_API_KEY","minimax-cn":"MINIMAX_API_KEY",huggingface:"HF_TOKEN","kimi-coding":"KIMI_API_KEY"}},51900:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});let s=(0,r(90425).A)("sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]])},60392:e=>{function t(e){return Promise.resolve().then(()=>{var t=Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t})}t.keys=()=>[],t.resolve=t,t.id=60392,e.exports=t},68589:(e,t,r)=>{"use strict";r.d(t,{m:()=>o});let s=new Set(["write_file","create_file","batch_create_files","update_section","insert_after_heading","delete_file","rename_file","create_space"]);async function o(e,t,r){let o=e.getReader(),n=new TextDecoder,a="",i=[],l=new Map,d=null,c=null,u=Date.now();function p(){let e=i.map(e=>"text"===e.type?{type:"text",text:e.text}:"reasoning"===e.type?{type:"reasoning",text:e.text}:{...e});return{role:"assistant",content:e.filter(e=>"text"===e.type).map(e=>e.text).join(""),parts:e,timestamp:u}}try{for(;!r?.aborted;){let{done:e,value:r}=await o.read();if(e)break;let u=(a+=n.decode(r,{stream:!0})).split("\n");a=u.pop()??"";let m=!1;for(let e of u){let t,r=e.trim(),o=null;if(r.startsWith("data:")&&(o=r.slice(5).trim()),o){try{t=JSON.parse(o)}catch{continue}switch(t.type){case"text_delta":{let e=function(e){if(d===e){let e=i[i.length-1];if(e&&"text"===e.type)return e}let t={type:"text",text:""};return i.push(t),d=e,t}("text");e.text+=t.delta??"",m=!0;break}case"thinking_delta":c||(c={type:"reasoning",text:""},i.push(c),d=null),c.text+=t.delta??"",m=!0;break;case"tool_start":{let e=t.toolCallId,r=t.toolName,s=function(e,t){let r=l.get(e);return r||(r={type:"tool-call",toolCallId:e,toolName:t??"unknown",input:void 0,state:"pending"},l.set(e,r),i.push(r),d=null),r}(e,r);s.input=t.args,s.state="running",m=!0;break}case"tool_end":{let e=t.toolCallId,r=l.get(e);r&&(r.output=t.output??"",r.state=t.isError?"error":"done",m=!0,!t.isError&&s.has(r.toolName)&&window.dispatchEvent(new Event("mindos:files-changed")));break}case"error":{let e=t.message;i.push({type:"text",text:`
|
|
10
|
+
|
|
11
|
+
**Stream Error:** ${e}`}),d=null,m=!0}}}}m&&t(p())}}finally{o.releaseLock()}let m=!1;for(let e of l.values())("running"===e.state||"pending"===e.state)&&(e.state="error",e.output=e.output??"Stream ended before tool completed",m=!0);return m&&t(p()),p()}},84825:e=>{function t(e){return Promise.resolve().then(()=>{var t=Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t})}t.keys=()=>[],t.resolve=t,t.id=84825,e.exports=t},91337:(e,t,r)=>{"use strict";r.d(t,{IX:()=>l,KW:()=>i,O0:()=>a,cn:()=>n,vr:()=>d});var s=r(29722),o=r(622);function n(...e){return(0,o.QP)((0,s.$)(e))}function a(e){return e.split("/").map(encodeURIComponent).join("/")}function i(e,t){let r=Date.now()-e,s=Math.floor(r/6e4),o=Math.floor(r/36e5),n=Math.floor(r/864e5);return s<1?t.justNow:s<60?t.minutesAgo(s):o<24?t.hoursAgo(o):n<7?t.daysAgo(n):new Date(e).toLocaleDateString()}function l(e){let t=e.match(/^[\p{Emoji_Presentation}\p{Extended_Pictographic}]+/u);return t?.[0]??""}function d(e){return e.replace(/^[\p{Emoji_Presentation}\p{Extended_Pictographic}\s]+/u,"")||e}}},e=>{e.O(0,[4913,9186,8409,1088,5718,5581,8441,3794,7358],()=>e(e.s=31683)),_N_E=e.O()}]);
|