@researai/deepscientist 1.5.2 → 1.5.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. package/README.md +22 -0
  2. package/bin/ds.js +384 -0
  3. package/docs/en/00_QUICK_START.md +22 -0
  4. package/docs/zh/00_QUICK_START.md +22 -0
  5. package/install.sh +120 -4
  6. package/package.json +1 -1
  7. package/pyproject.toml +1 -1
  8. package/src/deepscientist/__init__.py +1 -1
  9. package/src/deepscientist/artifact/service.py +1 -1
  10. package/src/deepscientist/bash_exec/monitor.py +23 -4
  11. package/src/deepscientist/bash_exec/runtime.py +3 -0
  12. package/src/deepscientist/bash_exec/service.py +132 -4
  13. package/src/deepscientist/bridges/base.py +10 -19
  14. package/src/deepscientist/channels/discord_gateway.py +25 -2
  15. package/src/deepscientist/channels/feishu_long_connection.py +41 -3
  16. package/src/deepscientist/channels/qq.py +524 -64
  17. package/src/deepscientist/channels/qq_gateway.py +22 -3
  18. package/src/deepscientist/channels/relay.py +429 -90
  19. package/src/deepscientist/channels/slack_socket.py +29 -5
  20. package/src/deepscientist/channels/telegram_polling.py +25 -2
  21. package/src/deepscientist/channels/whatsapp_local_session.py +32 -4
  22. package/src/deepscientist/cli.py +27 -0
  23. package/src/deepscientist/config/models.py +6 -40
  24. package/src/deepscientist/config/service.py +164 -155
  25. package/src/deepscientist/connector_profiles.py +346 -0
  26. package/src/deepscientist/connector_runtime.py +88 -43
  27. package/src/deepscientist/daemon/api/handlers.py +47 -10
  28. package/src/deepscientist/daemon/api/router.py +2 -2
  29. package/src/deepscientist/daemon/app.py +682 -218
  30. package/src/deepscientist/mcp/server.py +60 -7
  31. package/src/deepscientist/migration.py +114 -0
  32. package/src/deepscientist/prompts/builder.py +30 -3
  33. package/src/deepscientist/qq_profiles.py +186 -0
  34. package/src/prompts/connectors/qq.md +42 -2
  35. package/src/prompts/system.md +85 -5
  36. package/src/skills/analysis-campaign/SKILL.md +11 -5
  37. package/src/skills/baseline/SKILL.md +66 -31
  38. package/src/skills/decision/SKILL.md +1 -1
  39. package/src/skills/experiment/SKILL.md +11 -5
  40. package/src/skills/finalize/SKILL.md +1 -1
  41. package/src/skills/idea/SKILL.md +1 -1
  42. package/src/skills/intake-audit/SKILL.md +1 -1
  43. package/src/skills/rebuttal/SKILL.md +1 -1
  44. package/src/skills/review/SKILL.md +1 -1
  45. package/src/skills/scout/SKILL.md +1 -1
  46. package/src/skills/write/SKILL.md +1 -1
  47. package/src/tui/package.json +1 -1
  48. package/src/ui/dist/assets/{AiManusChatView-CZpg376x.js → AiManusChatView-qzChi9uh.js} +14 -37
  49. package/src/ui/dist/assets/{AnalysisPlugin-CtHA22g3.js → AnalysisPlugin-CcC_-UqN.js} +1 -1
  50. package/src/ui/dist/assets/{AutoFigurePlugin-BSWmLMmF.js → AutoFigurePlugin-DD8LkJLe.js} +5 -5
  51. package/src/ui/dist/assets/{CliPlugin-CJ7jdm_s.js → CliPlugin-DJJFfVmW.js} +17 -110
  52. package/src/ui/dist/assets/{CodeEditorPlugin-DhInVGFf.js → CodeEditorPlugin-CrjkHNLh.js} +8 -8
  53. package/src/ui/dist/assets/{CodeViewerPlugin-D1n8S9r5.js → CodeViewerPlugin-obnD6G5R.js} +5 -5
  54. package/src/ui/dist/assets/{DocViewerPlugin-C4XM_kqk.js → DocViewerPlugin-DB9SUQVd.js} +3 -3
  55. package/src/ui/dist/assets/{GitDiffViewerPlugin-W6kS9r6v.js → GitDiffViewerPlugin-DZLlNlD2.js} +1 -1
  56. package/src/ui/dist/assets/{ImageViewerPlugin-DPeUx_Oz.js → ImageViewerPlugin-BGwfDZ0Y.js} +5 -5
  57. package/src/ui/dist/assets/{LabCopilotPanel-eAelUaub.js → LabCopilotPanel-dfLptQcR.js} +10 -10
  58. package/src/ui/dist/assets/{LabPlugin-BbOrBxKY.js → LabPlugin-CeGjAl3A.js} +1 -1
  59. package/src/ui/dist/assets/{LatexPlugin-C-HhkVXY.js → LatexPlugin-BBJ7kd1V.js} +7 -7
  60. package/src/ui/dist/assets/{MarkdownViewerPlugin-BDIzIBfh.js → MarkdownViewerPlugin-DKZi7BcB.js} +4 -4
  61. package/src/ui/dist/assets/{MarketplacePlugin-DAOJphwr.js → MarketplacePlugin-C_k-9jD0.js} +3 -3
  62. package/src/ui/dist/assets/{NotebookEditor-BsoMvDoU.js → NotebookEditor-4R88_BMO.js} +1 -1
  63. package/src/ui/dist/assets/{PdfLoader-fiC7RtHf.js → PdfLoader-DwEFQLrw.js} +1 -1
  64. package/src/ui/dist/assets/{PdfMarkdownPlugin-C5OxZBFK.js → PdfMarkdownPlugin-D-jdsqF8.js} +3 -3
  65. package/src/ui/dist/assets/{PdfViewerPlugin-CAbxQebk.js → PdfViewerPlugin-CmeBGDY0.js} +10 -10
  66. package/src/ui/dist/assets/{SearchPlugin-SE33Lb9B.js → SearchPlugin-Dlz2WKJ4.js} +1 -1
  67. package/src/ui/dist/assets/{Stepper-0Av7GfV7.js → Stepper-ClOgzWM3.js} +1 -1
  68. package/src/ui/dist/assets/{TextViewerPlugin-Daf2gJDI.js → TextViewerPlugin-DDQWxibk.js} +4 -4
  69. package/src/ui/dist/assets/{VNCViewer-BKrMUIOX.js → VNCViewer-CJXT0Nm8.js} +9 -9
  70. package/src/ui/dist/assets/{bibtex-JBdOEe45.js → bibtex-DLr4Rtk4.js} +1 -1
  71. package/src/ui/dist/assets/{code-B0TDFCZz.js → code-DgKK408Y.js} +1 -1
  72. package/src/ui/dist/assets/{file-content-3YtrSacz.js → file-content-6HBqQnvQ.js} +1 -1
  73. package/src/ui/dist/assets/{file-diff-panel-CJEg5OG1.js → file-diff-panel-Dhu0TbBM.js} +1 -1
  74. package/src/ui/dist/assets/{file-socket-CYQYdmB1.js → file-socket-CP3iwVZG.js} +1 -1
  75. package/src/ui/dist/assets/{file-utils-Cd1C9Ppl.js → file-utils-BsS-Aw68.js} +1 -1
  76. package/src/ui/dist/assets/{image-B33ctrvC.js → image-ByeK-Zcv.js} +1 -1
  77. package/src/ui/dist/assets/{index-BVXsmS7V.js → index-BLjo5--a.js} +9499 -8688
  78. package/src/ui/dist/assets/{index-BNQWqmJ2.js → index-BdsE0uRz.js} +11 -11
  79. package/src/ui/dist/assets/{index-9CLPVeZh.js → index-C-eX-N6A.js} +1 -1
  80. package/src/ui/dist/assets/{index-SwmFAld3.css → index-CuQhlrR-.css} +49 -2
  81. package/src/ui/dist/assets/{index-Buw_N1VQ.js → index-DyremSIv.js} +2 -2
  82. package/src/ui/dist/assets/{message-square-D0cUJ9yU.js → message-square-DnagiLnc.js} +1 -1
  83. package/src/ui/dist/assets/{monaco-UZLYkp2n.js → monaco-4kBFeprs.js} +1 -1
  84. package/src/ui/dist/assets/{popover-CTeiY-dK.js → popover-hRCXZzs2.js} +1 -1
  85. package/src/ui/dist/assets/{project-sync-Dbs01Xky.js → project-sync-O_85YuP6.js} +1 -1
  86. package/src/ui/dist/assets/{sigma-CM08S-xT.js → sigma-DvKopSnL.js} +1 -1
  87. package/src/ui/dist/assets/{tooltip-pDtzvU9p.js → tooltip-BmlPc6kc.js} +1 -1
  88. package/src/ui/dist/assets/{trash-YvPCP-da.js → trash-n-UvdZFR.js} +1 -1
  89. package/src/ui/dist/assets/{useCliAccess-Bavi74Ac.js → useCliAccess-WDd3_wIh.js} +1 -1
  90. package/src/ui/dist/assets/{useFileDiffOverlay-CVXY6oeg.js → useFileDiffOverlay-rXLIL2NF.js} +1 -1
  91. package/src/ui/dist/assets/{wrap-text-Cf4flRW7.js → wrap-text-qIYQ4a_W.js} +1 -1
  92. package/src/ui/dist/assets/{zoom-out-Hb0Z1YpT.js → zoom-out-fZXCEFsy.js} +1 -1
  93. package/src/ui/dist/index.html +2 -2
@@ -1,14 +1,14 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-Buw_N1VQ.js","assets/index-BVXsmS7V.js","assets/index-SwmFAld3.css","assets/useCliAccess-Bavi74Ac.js","assets/VNCViewer-BKrMUIOX.js","assets/file-content-3YtrSacz.js","assets/file-utils-Cd1C9Ppl.js","assets/file-jump-queue-r5XKgJEV.js","assets/pdf-effect-queue-DSw_D3RV.js","assets/file-diff-panel-CJEg5OG1.js","assets/message-square-D0cUJ9yU.js","assets/NotebookEditor-BsoMvDoU.js","assets/NotebookEditor-C3VQ7ylN.css","assets/tooltip-pDtzvU9p.js","assets/trash-YvPCP-da.js"])))=>i.map(i=>d[i]);
2
- import { z as createLucideIcon, r as reactExports, co as useIsomorphicLayoutEffect, ck as frame, d8 as LayoutGroupContext, j as jsxRuntimeExports, cr as useConstant, x as apiClient, bD as isQuestRuntimeSurface, d9 as shouldUseQuestProject, bE as getApiBaseUrl, da as deriveMcpIdentity, db as supportsProductApis, cW as axios, dc as getCachedValue, dd as setCachedValue, de as recordRequestEvent, df as redactSensitive, dg as sanitizeUrl, dh as refreshAccessToken, aO as useChatSessionStore, cG as getMyToken, bF as redirectToLanding, I as create$1, aA as useLabCopilotStore, bG as useCliStore, di as EXPLORER_REFRESH_EVENT, t as useTabsStore, c_ as buildCliFileId, dj as getCliFileName, c$ as toCliResourcePath, cX as getPluginIdFromExtension, y as BUILTIN_PLUGINS, b as cn, dk as GripVertical, f as useFileTreeStore, P as toFilesResourcePath, cY as getPluginIdFromMimeType, T as TriangleAlert, dl as resolveMcpIdentity, dm as getToolArgsRecord, dn as getToolResultRecord, dp as getToolResultValue, dq as asString$2, dr as asRecord$4, ds as asStringArray, dt as extractPathEntries, du as BookOpenText, dv as Clock3, dw as truncateText, dx as ArrowUpRight, l as Search, dy as Database, dz as ArrowRightLeft, D as Sparkles, k as FileText, bw as GitBranch, dA as asBoolean, bx as Bot, dB as BASH_CARRIAGE_RETURN_PREFIX, af as useQuery, bp as CircleHelp, dC as Activity, br as Clock, dD as truncateText$1, dE as listLabPendingQuestions, dF as listLabQuestionHistory, aa as BookOpen, ae as ExternalLink, u as useI18n, dG as normalizeWebSearchPayload, dH as WebSearchQueryPills, dI as WebSearchResults, H as EnhancedTerminal, h as dynamic, _ as __vitePreload, dJ as BashToolView, a7 as Terminal, v as useToast, dK as getMimeTypeFromExtension, dL as getFileTextPreview, dM as createFileObjectUrl, c as copyToClipboard, c2 as ChevronLeft, cv as Folder, m as ChevronUp, n as ChevronDown, X as X$1, L as LoaderCircle, aJ as FileIcon, dN as formatFileSize, E as Eye, e as Copy, b8 as Dialog, b9 as DialogContent, c5 as ChevronRight, dO as ConfirmModal, dP as RotatingText, d as Check, aL as useReducedMotion, dQ as useTokenStream, dR as McpBashExecView, dS as PngIcon, dT as Brain, dU as BRAND_LOGO_SMALL_SRC, dV as BRAND_LOGO_SMALL_SRC_INVERTED, dW as CircleX, aV as motion, bb as DialogTitle, c6 as DialogDescription, bO as DropdownMenu, bP as DropdownMenuTrigger, b1 as Ellipsis, bQ as DropdownMenuContent, bS as DropdownMenuItem, cC as DropdownMenuSeparator, cu as GlareHover, cB as SpotlightCard, d7 as Noise, b2 as Plus, ai as Info, Z as Play, dX as getWorkspaceContentTone, aU as AnimatePresence, a6 as useOpenFile, a as useWorkspaceSurfaceStore, p as useAuthStore, dY as useSearchParams, dZ as useAgentRegistryStore, d_ as PanelLeft, d$ as parseCliFileId, bV as getFile, bK as getProject, cJ as refreshCliServerStatus, e0 as COPILOT_FILES_ENABLED, W as listLatexBuilds, a2 as getLatexBuildLogText, V as compileLatex, e1 as ThinkingIndicator, b3 as Select, b4 as SelectTrigger, b6 as SelectContent, b7 as SelectItem, e2 as assetUrl, e3 as VariableSizeList, bq as OrbitLogoStatus, aK as reactDomExports, e4 as ChatScrollProvider, ba as DialogHeader, bc as DialogFooter } from './index-BVXsmS7V.js';
3
- import { u as useFileContentStore } from './file-content-3YtrSacz.js';
4
- import { n as normalizePath$1, j as joinPath, s as splitPath, S as Server, L as Layers } from './file-utils-Cd1C9Ppl.js';
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-DyremSIv.js","assets/index-BLjo5--a.js","assets/index-CuQhlrR-.css","assets/useCliAccess-WDd3_wIh.js","assets/VNCViewer-CJXT0Nm8.js","assets/file-content-6HBqQnvQ.js","assets/file-utils-BsS-Aw68.js","assets/file-jump-queue-r5XKgJEV.js","assets/pdf-effect-queue-DSw_D3RV.js","assets/file-diff-panel-Dhu0TbBM.js","assets/message-square-DnagiLnc.js","assets/NotebookEditor-4R88_BMO.js","assets/NotebookEditor-C3VQ7ylN.css","assets/tooltip-BmlPc6kc.js","assets/trash-n-UvdZFR.js"])))=>i.map(i=>d[i]);
2
+ import { z as createLucideIcon, r as reactExports, cb as useIsomorphicLayoutEffect, cd as frame_1, d8 as LayoutGroupContext, d9 as nodeGroup_1, j as jsxRuntimeExports, cg as useConstant, x as apiClient, bD as isQuestRuntimeSurface, da as shouldUseQuestProject, bE as getApiBaseUrl, db as deriveMcpIdentity, dc as supportsProductApis, cO as axios, dd as getCachedValue, de as setCachedValue, df as recordRequestEvent, dg as redactSensitive, dh as sanitizeUrl, di as refreshAccessToken, aO as useChatSessionStore, cx as getMyToken, bF as redirectToLanding, I as create$1, aA as useLabCopilotStore, bG as useCliStore, dj as EXPLORER_REFRESH_EVENT, t as useTabsStore, cS as buildCliFileId, dk as getCliFileName, cT as toCliResourcePath, cP as getPluginIdFromExtension, y as BUILTIN_PLUGINS, b as cn, dl as GripVertical, f as useFileTreeStore, P as toFilesResourcePath, cQ as getPluginIdFromMimeType, T as TriangleAlert, dm as resolveMcpIdentity, dn as getToolArgsRecord, dp as getToolResultRecord, dq as getToolResultValue, dr as asString$2, ds as asRecord$4, dt as asStringArray, du as extractPathEntries, dv as BookOpenText, dw as Clock3, dx as truncateText, dy as ArrowUpRight, l as Search, dz as Database, dA as ArrowRightLeft, D as Sparkles, k as FileText, bw as GitBranch, dB as asBoolean, bx as Bot, dC as BASH_CARRIAGE_RETURN_PREFIX, af as useQuery, bp as CircleHelp, dD as Activity, br as Clock, dE as truncateText$1, dF as listLabPendingQuestions, dG as listLabQuestionHistory, aa as BookOpen, ae as ExternalLink, u as useI18n, dH as normalizeWebSearchPayload, dI as WebSearchQueryPills, dJ as WebSearchResults, H as EnhancedTerminal, h as dynamic, _ as __vitePreload, dK as BashToolView, a7 as Terminal, v as useToast, dL as getMimeTypeFromExtension, dM as getFileTextPreview, dN as createFileObjectUrl, c as copyToClipboard, c2 as ChevronLeft, cm as Folder, m as ChevronUp, n as ChevronDown, X as X$1, L as LoaderCircle, aJ as FileIcon, dO as formatFileSize, E as Eye, e as Copy, b8 as Dialog, b9 as DialogContent, c5 as ChevronRight, dP as ConfirmModal, dQ as RotatingText, d as Check, aL as useReducedMotion, dR as useTokenStream, dS as McpBashExecView, dT as PngIcon, dU as Brain, dV as BRAND_LOGO_SMALL_SRC, dW as BRAND_LOGO_SMALL_SRC_INVERTED, dX as CircleX, aV as motion, bb as DialogTitle, c6 as DialogDescription, bO as DropdownMenu, bP as DropdownMenuTrigger, b1 as Ellipsis, bQ as DropdownMenuContent, bS as DropdownMenuItem, ct as DropdownMenuSeparator, cl as GlareHover, cs as SpotlightCard, c$ as Noise, b2 as Plus, ai as Info, Z as Play, dY as getWorkspaceContentTone, aU as AnimatePresence, a6 as useOpenFile, a as useWorkspaceSurfaceStore, p as useAuthStore, dZ as useSearchParams, d_ as useAgentRegistryStore, d$ as PanelLeft, e0 as parseCliFileId, bV as getFile, bK as getProject, cB as refreshCliServerStatus, e1 as COPILOT_FILES_ENABLED, W as listLatexBuilds, a2 as getLatexBuildLogText, V as compileLatex, e2 as ThinkingIndicator, b3 as Select, b4 as SelectTrigger, b6 as SelectContent, b7 as SelectItem, e3 as assetUrl, e4 as VariableSizeList, bq as OrbitLogoStatus, aK as reactDomExports, e5 as ChatScrollProvider, ba as DialogHeader, bc as DialogFooter } from './index-BLjo5--a.js';
3
+ import { u as useFileContentStore } from './file-content-6HBqQnvQ.js';
4
+ import { n as normalizePath$1, j as joinPath, s as splitPath, S as Server, L as Layers } from './file-utils-BsS-Aw68.js';
5
5
  import { q as queueFileJumpEffect } from './file-jump-queue-r5XKgJEV.js';
6
6
  import { q as queuePdfEffect } from './pdf-effect-queue-DSw_D3RV.js';
7
- import { F as FileDiffPanel } from './file-diff-panel-CJEg5OG1.js';
8
- import { M as MessageSquare } from './message-square-D0cUJ9yU.js';
9
- import { v as ve$2, d as defaultExtensions, g as getEditorMarkdown, s as setEditorMarkdown, U as U$2, I as I$1 } from './NotebookEditor-BsoMvDoU.js';
10
- import { T as TooltipProvider, a as Tooltip, b as TooltipTrigger, c as TooltipContent } from './tooltip-pDtzvU9p.js';
11
- import { T as Trash, A as ArrowDown } from './trash-YvPCP-da.js';
7
+ import { F as FileDiffPanel } from './file-diff-panel-Dhu0TbBM.js';
8
+ import { M as MessageSquare } from './message-square-DnagiLnc.js';
9
+ import { v as ve$2, d as defaultExtensions, g as getEditorMarkdown, s as setEditorMarkdown, U as U$2, I as I$1 } from './NotebookEditor-4R88_BMO.js';
10
+ import { T as TooltipProvider, a as Tooltip, b as TooltipTrigger, c as TooltipContent } from './tooltip-BmlPc6kc.js';
11
+ import { T as Trash, A as ArrowDown } from './trash-n-UvdZFR.js';
12
12
 
13
13
  /**
14
14
  * @license lucide-react v0.511.0 - ISC
@@ -381,29 +381,6 @@ const __iconNode = [
381
381
  ];
382
382
  const UserPlus = createLucideIcon("user-plus", __iconNode);
383
383
 
384
- const notify = (node) => !node.isLayoutDirty && node.willUpdate(false);
385
- function nodeGroup() {
386
- const nodes = new Set();
387
- const subscriptions = new WeakMap();
388
- const dirtyAll = () => nodes.forEach(notify);
389
- return {
390
- add: (node) => {
391
- nodes.add(node);
392
- subscriptions.set(node, node.addEventListener("willUpdate", dirtyAll));
393
- },
394
- remove: (node) => {
395
- nodes.delete(node);
396
- const unsubscribe = subscriptions.get(node);
397
- if (unsubscribe) {
398
- unsubscribe();
399
- subscriptions.delete(node);
400
- }
401
- dirtyAll();
402
- },
403
- dirty: dirtyAll,
404
- };
405
- }
406
-
407
384
  /**
408
385
  * Note: Still used by components generated by old versions of Framer
409
386
  *
@@ -432,7 +409,7 @@ function useForceUpdate() {
432
409
  * Defer this to the end of the next animation frame in case there are multiple
433
410
  * synchronous calls.
434
411
  */
435
- const deferredForceRender = reactExports.useCallback(() => frame.postRender(forceRender), [forceRender]);
412
+ const deferredForceRender = reactExports.useCallback(() => frame_1.postRender(forceRender), [forceRender]);
436
413
  return [deferredForceRender, forcedRenderCount];
437
414
  }
438
415
 
@@ -451,8 +428,8 @@ const LayoutGroup = ({ children, id, inherit = true }) => {
451
428
  context.current = {
452
429
  id,
453
430
  group: shouldInheritGroup(inherit)
454
- ? layoutGroupContext.group || nodeGroup()
455
- : nodeGroup(),
431
+ ? layoutGroupContext.group || nodeGroup_1()
432
+ : nodeGroup_1(),
456
433
  };
457
434
  }
458
435
  const memoizedContext = reactExports.useMemo(() => ({ ...context.current, forceRender }), [key]);
@@ -11467,7 +11444,7 @@ function SearchToolView({ toolContent, panelMode }) {
11467
11444
  }
11468
11445
 
11469
11446
  const CliToolTerminal = dynamic(
11470
- () => __vitePreload(() => import('./index-Buw_N1VQ.js'),true?__vite__mapDeps([0,1,2,3]):void 0).then((mod) => mod.CliToolTerminal),
11447
+ () => __vitePreload(() => import('./index-DyremSIv.js'),true?__vite__mapDeps([0,1,2,3]):void 0).then((mod) => mod.CliToolTerminal),
11471
11448
  {
11472
11449
  loading: () => /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex h-full items-center justify-center text-xs text-[var(--text-tertiary)]", children: "Loading terminal..." })
11473
11450
  }
@@ -18320,7 +18297,7 @@ function pickGreetingTemplate() {
18320
18297
  return GREETING_TEMPLATES[index];
18321
18298
  }
18322
18299
  const VNCViewer = dynamic(
18323
- () => __vitePreload(() => import('./VNCViewer-BKrMUIOX.js'),true?__vite__mapDeps([4,1,2,5,6,7,8,9,10,11,12,13,14]):void 0).then((mod) => mod.VNCViewer),
18300
+ () => __vitePreload(() => import('./VNCViewer-CJXT0Nm8.js'),true?__vite__mapDeps([4,1,2,5,6,7,8,9,10,11,12,13,14]):void 0).then((mod) => mod.VNCViewer),
18324
18301
  {
18325
18302
  loading: () => /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex h-full w-full items-center justify-center text-sm text-[var(--text-tertiary)]", children: "Loading sandbox view..." })
18326
18303
  }
@@ -1,4 +1,4 @@
1
- import { r as reactExports, c as copyToClipboard, j as jsxRuntimeExports, k as FileText, l as Search, A as ChartColumn, D as Sparkles, d as Check, e as Copy, b as cn } from './index-BVXsmS7V.js';
1
+ import { r as reactExports, c as copyToClipboard, j as jsxRuntimeExports, k as FileText, l as Search, A as ChartColumn, D as Sparkles, d as Check, e as Copy, b as cn } from './index-BLjo5--a.js';
2
2
 
3
3
  const actions = [
4
4
  {
@@ -1,8 +1,8 @@
1
- import { r as reactExports, j as jsxRuntimeExports, f as useFileTreeStore, J as updateFileContent, b_ as uploadFileAuto, b$ as deleteFiles, U as listFiles, c0 as createFolder, q as resolveApiBaseUrl, R as React, X, x as apiClient, af as useQuery, c1 as supportsPoints, aM as useQueryClient, v as useToast, c2 as ChevronLeft, c3 as Settings2, L as LoaderCircle, c4 as ArrowRight, c5 as ChevronRight, $ as Download, Z as Play, D as Sparkles, b8 as Dialog, b9 as DialogContent, ba as DialogHeader, bb as DialogTitle, c6 as DialogDescription, c7 as Input, bc as DialogFooter, a3 as Button, I as create, c8 as persist, _ as __vitePreload, p as useAuthStore, aZ as ScrollArea, b as cn, bT as SegmentedControl, bU as Textarea, k as FileText, b3 as Select, b4 as SelectTrigger, b5 as SelectValue, b6 as SelectContent, b7 as SelectItem, aK as reactDomExports, c9 as downloadFileById, bp as CircleHelp } from './index-BVXsmS7V.js';
2
- import { T as TooltipProvider, a as Tooltip, b as TooltipTrigger, c as TooltipContent } from './tooltip-pDtzvU9p.js';
3
- import { S as Stepper, a as Step, C as CloudUpload } from './Stepper-0Av7GfV7.js';
4
- import { M as MessageSquare } from './message-square-D0cUJ9yU.js';
5
- import { I as Image } from './image-B33ctrvC.js';
1
+ import { r as reactExports, j as jsxRuntimeExports, f as useFileTreeStore, J as updateFileContent, b_ as uploadFileAuto, b$ as deleteFiles, U as listFiles, c0 as createFolder, q as resolveApiBaseUrl, R as React, X, x as apiClient, af as useQuery, c1 as supportsPoints, aM as useQueryClient, v as useToast, c2 as ChevronLeft, c3 as Settings2, L as LoaderCircle, c4 as ArrowRight, c5 as ChevronRight, $ as Download, Z as Play, D as Sparkles, b8 as Dialog, b9 as DialogContent, ba as DialogHeader, bb as DialogTitle, c6 as DialogDescription, c7 as Input, bc as DialogFooter, a3 as Button, I as create, c8 as persist, _ as __vitePreload, p as useAuthStore, aZ as ScrollArea, b as cn, bT as SegmentedControl, bU as Textarea, k as FileText, b3 as Select, b4 as SelectTrigger, b5 as SelectValue, b6 as SelectContent, b7 as SelectItem, aK as reactDomExports, c9 as downloadFileById, bp as CircleHelp } from './index-BLjo5--a.js';
2
+ import { T as TooltipProvider, a as Tooltip, b as TooltipTrigger, c as TooltipContent } from './tooltip-BmlPc6kc.js';
3
+ import { S as Stepper, a as Step, C as CloudUpload } from './Stepper-ClOgzWM3.js';
4
+ import { M as MessageSquare } from './message-square-DnagiLnc.js';
5
+ import { I as Image } from './image-ByeK-Zcv.js';
6
6
 
7
7
  const ScrollStackItem = ({
8
8
  children,
@@ -1,9 +1,9 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-9CLPVeZh.js","assets/index-BVXsmS7V.js","assets/index-SwmFAld3.css"])))=>i.map(i=>d[i]);
2
- import { z as createLucideIcon, cj as interpolate, ck as frame, cl as isMotionValue, cm as JSAnimation, cn as useMotionValue, co as useIsomorphicLayoutEffect, cp as cancelFrame, cq as collectMotionValues, cr as useConstant, r as reactExports, cs as MotionConfigContext, ct as useInView, j as jsxRuntimeExports, b as cn, u as useI18n, bG as useCliStore, _ as __vitePreload, c5 as ChevronRight, g as RefreshCw, b2 as Plus, aZ as ScrollArea, c2 as ChevronLeft, cu as GlareHover, a3 as Button, c7 as Input, l as Search, k as FileText, cv as Folder, a7 as Terminal, D as Sparkles, b8 as Dialog, b9 as DialogContent, ba as DialogHeader, bb as DialogTitle, c6 as DialogDescription, bc as DialogFooter, cw as useTerminal, b3 as Select, b4 as SelectTrigger, b5 as SelectValue, b6 as SelectContent, b7 as SelectItem, cx as uploadCliFile, bU as Textarea, cy as CircleCheck, I as create, c8 as persist, v as useToast, cz as unbindCliServer, G as ConnectionState, cA as updateCliSession, cB as SpotlightCard, bO as DropdownMenu, bP as DropdownMenuTrigger, bQ as DropdownMenuContent, bS as DropdownMenuItem, Z as Play, cC as DropdownMenuSeparator, X, cD as Pencil, H as EnhancedTerminal, cE as listCliSessions, cF as FadeContent, x as apiClient, cG as getMyToken, c as copyToClipboard, cH as Bell, cc as Trash2, d as Check, cI as getCliServerMetrics, cJ as refreshCliServerStatus, cK as ResponsiveContainer, cL as LineChart, cM as XAxis, cN as YAxis, cO as Tooltip, cP as Line, cQ as getCliHealth, cR as Cpu, cS as listCliFiles, cT as readCliFile, cU as writeCliFile, cV as deleteCliFile, cW as axios, $ as Download, t as useTabsStore, cX as getPluginIdFromExtension, y as BUILTIN_PLUGINS, cY as getPluginIdFromMimeType, cZ as downloadCliFile, c_ as buildCliFileId, c$ as toCliResourcePath, d0 as Upload, L as LoaderCircle, d1 as listCliLogs, d2 as getCliLogObject, d3 as listCliTasks, T as TriangleAlert, d4 as listCliFindings, d5 as listCliMethods, d6 as createCliMethod, bL as useMaxEntitlement, d7 as Noise } from './index-BVXsmS7V.js';
3
- import { S as Server, L as Layers, n as normalizePath, f as formatFileSize, s as splitPath, j as joinPath, a as findSensitiveMarker, D as DOWNLOAD_MAX_BYTES, T as TEXT_PREVIEW_MAX_BYTES } from './file-utils-Cd1C9Ppl.js';
4
- import { S as SquareCheckBig } from './index-9CLPVeZh.js';
5
- import { w as wrapEnvelope, g as getCliClientId, c as acquireCliSocket, n as nextSeq, d as unwrapPayload, a as useCliSocket, e as buildDefaultSessionId, f as buildConversationSessionId, u as useCliAccess } from './useCliAccess-Bavi74Ac.js';
6
- import { C as CloudUpload, S as Stepper, a as Step } from './Stepper-0Av7GfV7.js';
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-C-eX-N6A.js","assets/index-BLjo5--a.js","assets/index-CuQhlrR-.css"])))=>i.map(i=>d[i]);
2
+ import { z as createLucideIcon, ca as useMotionValue, cb as useIsomorphicLayoutEffect, cc as cancelFrame_1, cd as frame_1, ce as collectMotionValues_1, cf as transform_1, cg as useConstant, r as reactExports, ch as MotionConfigContext, ci as attachFollow_1, cj as isMotionValue_1, ck as useInView, j as jsxRuntimeExports, b as cn, u as useI18n, bG as useCliStore, _ as __vitePreload, c5 as ChevronRight, g as RefreshCw, b2 as Plus, aZ as ScrollArea, c2 as ChevronLeft, cl as GlareHover, a3 as Button, c7 as Input, l as Search, k as FileText, cm as Folder, a7 as Terminal, D as Sparkles, b8 as Dialog, b9 as DialogContent, ba as DialogHeader, bb as DialogTitle, c6 as DialogDescription, bc as DialogFooter, cn as useTerminal, b3 as Select, b4 as SelectTrigger, b5 as SelectValue, b6 as SelectContent, b7 as SelectItem, co as uploadCliFile, bU as Textarea, cp as CircleCheck, I as create, c8 as persist, v as useToast, cq as unbindCliServer, G as ConnectionState, cr as updateCliSession, cs as SpotlightCard, bO as DropdownMenu, bP as DropdownMenuTrigger, bQ as DropdownMenuContent, bS as DropdownMenuItem, Z as Play, ct as DropdownMenuSeparator, X, cu as Pencil, H as EnhancedTerminal, cv as listCliSessions, cw as FadeContent, x as apiClient, cx as getMyToken, c as copyToClipboard, cy as Bell, cz as Trash2, d as Check, cA as getCliServerMetrics, cB as refreshCliServerStatus, cC as ResponsiveContainer, cD as LineChart, cE as XAxis, cF as YAxis, cG as Tooltip, cH as Line, cI as getCliHealth, cJ as Cpu, cK as listCliFiles, cL as readCliFile, cM as writeCliFile, cN as deleteCliFile, cO as axios, $ as Download, t as useTabsStore, cP as getPluginIdFromExtension, y as BUILTIN_PLUGINS, cQ as getPluginIdFromMimeType, cR as downloadCliFile, cS as buildCliFileId, cT as toCliResourcePath, cU as Upload, L as LoaderCircle, cV as listCliLogs, cW as getCliLogObject, cX as listCliTasks, T as TriangleAlert, cY as listCliFindings, cZ as listCliMethods, c_ as createCliMethod, bL as useMaxEntitlement, c$ as Noise } from './index-BLjo5--a.js';
3
+ import { S as Server, L as Layers, n as normalizePath, f as formatFileSize, s as splitPath, j as joinPath, a as findSensitiveMarker, D as DOWNLOAD_MAX_BYTES, T as TEXT_PREVIEW_MAX_BYTES } from './file-utils-BsS-Aw68.js';
4
+ import { S as SquareCheckBig } from './index-C-eX-N6A.js';
5
+ import { w as wrapEnvelope, g as getCliClientId, c as acquireCliSocket, n as nextSeq, d as unwrapPayload, a as useCliSocket, e as buildDefaultSessionId, f as buildConversationSessionId, u as useCliAccess } from './useCliAccess-WDd3_wIh.js';
6
+ import { C as CloudUpload, S as Stepper, a as Step } from './Stepper-ClOgzWM3.js';
7
7
 
8
8
  /**
9
9
  * @license lucide-react v0.511.0 - ISC
@@ -178,99 +178,6 @@ const __iconNode = [
178
178
  ];
179
179
  const Wifi = createLucideIcon("wifi", __iconNode);
180
180
 
181
- function transform(...args) {
182
- const useImmediate = !Array.isArray(args[0]);
183
- const argOffset = useImmediate ? 0 : -1;
184
- const inputValue = args[0 + argOffset];
185
- const inputRange = args[1 + argOffset];
186
- const outputRange = args[2 + argOffset];
187
- const options = args[3 + argOffset];
188
- const interpolator = interpolate(inputRange, outputRange, options);
189
- return useImmediate ? interpolator(inputValue) : interpolator;
190
- }
191
-
192
- /**
193
- * Attach an animation to a MotionValue that will animate whenever the value changes.
194
- * Similar to attachSpring but supports any transition type (spring, tween, inertia, etc.)
195
- *
196
- * @param value - The MotionValue to animate
197
- * @param source - Initial value or MotionValue to track
198
- * @param options - Animation transition options
199
- * @returns Cleanup function
200
- *
201
- * @public
202
- */
203
- function attachFollow(value, source, options = {}) {
204
- const initialValue = value.get();
205
- let activeAnimation = null;
206
- let latestValue = initialValue;
207
- let latestSetter;
208
- const unit = typeof initialValue === "string"
209
- ? initialValue.replace(/[\d.-]/g, "")
210
- : undefined;
211
- const stopAnimation = () => {
212
- if (activeAnimation) {
213
- activeAnimation.stop();
214
- activeAnimation = null;
215
- }
216
- };
217
- const startAnimation = () => {
218
- const currentValue = asNumber(value.get());
219
- const targetValue = asNumber(latestValue);
220
- // Don't animate if we're already at the target
221
- if (currentValue === targetValue) {
222
- stopAnimation();
223
- return;
224
- }
225
- // Use the running animation's analytical velocity for accuracy,
226
- // falling back to the MotionValue's velocity for the initial animation.
227
- // This prevents systematic velocity loss at high frame rates (240hz+).
228
- const velocity = activeAnimation
229
- ? activeAnimation.getGeneratorVelocity()
230
- : value.getVelocity();
231
- stopAnimation();
232
- activeAnimation = new JSAnimation({
233
- keyframes: [currentValue, targetValue],
234
- velocity,
235
- // Default to spring if no type specified (matches useSpring behavior)
236
- type: "spring",
237
- restDelta: 0.001,
238
- restSpeed: 0.01,
239
- ...options,
240
- onUpdate: latestSetter,
241
- });
242
- };
243
- // Use a stable function reference so the frame loop Set deduplicates
244
- // multiple calls within the same frame (e.g. rapid mouse events)
245
- const scheduleAnimation = () => {
246
- startAnimation();
247
- value["events"].animationStart?.notify();
248
- activeAnimation?.then(() => {
249
- value["events"].animationComplete?.notify();
250
- });
251
- };
252
- value.attach((v, set) => {
253
- latestValue = v;
254
- latestSetter = (latest) => set(parseValue(latest, unit));
255
- frame.postRender(scheduleAnimation);
256
- }, stopAnimation);
257
- if (isMotionValue(source)) {
258
- const removeSourceOnChange = source.on("change", (v) => value.set(parseValue(v, unit)));
259
- const removeValueOnDestroy = value.on("destroy", removeSourceOnChange);
260
- return () => {
261
- removeSourceOnChange();
262
- removeValueOnDestroy();
263
- };
264
- }
265
- return stopAnimation;
266
- }
267
- function parseValue(v, unit) {
268
- return unit ? v + unit : v;
269
- }
270
- function asNumber(v) {
271
- return typeof v === "number" ? v : parseFloat(v);
272
- }
273
-
274
181
  function useCombineMotionValues(values, combineValues) {
275
182
  /**
276
183
  * Initialise the returned motion value. This remains the same between renders.
@@ -293,11 +200,11 @@ function useCombineMotionValues(values, combineValues) {
293
200
  * schedule an update.
294
201
  */
295
202
  useIsomorphicLayoutEffect(() => {
296
- const scheduleUpdate = () => frame.preRender(updateValue, false, true);
203
+ const scheduleUpdate = () => frame_1.preRender(updateValue, false, true);
297
204
  const subscriptions = values.map((v) => v.on("change", scheduleUpdate));
298
205
  return () => {
299
206
  subscriptions.forEach((unsubscribe) => unsubscribe());
300
- cancelFrame(updateValue);
207
+ cancelFrame_1(updateValue);
301
208
  };
302
209
  });
303
210
  return value;
@@ -308,13 +215,13 @@ function useComputed(compute) {
308
215
  * Open session of collectMotionValues. Any MotionValue that calls get()
309
216
  * will be saved into this array.
310
217
  */
311
- collectMotionValues.current = [];
218
+ collectMotionValues_1.current = [];
312
219
  compute();
313
- const value = useCombineMotionValues(collectMotionValues.current, compute);
220
+ const value = useCombineMotionValues(collectMotionValues_1.current, compute);
314
221
  /**
315
222
  * Synchronously close session of collectMotionValues.
316
223
  */
317
- collectMotionValues.current = undefined;
224
+ collectMotionValues_1.current = undefined;
318
225
  return value;
319
226
  }
320
227
 
@@ -323,7 +230,7 @@ function useTransform(input, inputRangeOrTransformer, outputRangeOrMap, options)
323
230
  return useComputed(input);
324
231
  }
325
232
  const outputRange = outputRangeOrMap;
326
- const transformer = transform(inputRangeOrTransformer, outputRange, options);
233
+ const transformer = transform_1(inputRangeOrTransformer, outputRange, options);
327
234
  const result = Array.isArray(input)
328
235
  ? useListTransform(input, transformer)
329
236
  : useListTransform([input], ([latest]) => transformer(latest));
@@ -359,14 +266,14 @@ function useListTransform(values, transformer) {
359
266
 
360
267
  function useFollowValue(source, options = {}) {
361
268
  const { isStatic } = reactExports.useContext(MotionConfigContext);
362
- const getFromSource = () => (isMotionValue(source) ? source.get() : source);
269
+ const getFromSource = () => (isMotionValue_1(source) ? source.get() : source);
363
270
  // isStatic will never change, allowing early hooks return
364
271
  if (isStatic) {
365
272
  return useTransform(getFromSource);
366
273
  }
367
274
  const value = useMotionValue(getFromSource());
368
275
  reactExports.useInsertionEffect(() => {
369
- return attachFollow(value, source, options);
276
+ return attachFollow_1(value, source, options);
370
277
  }, [value, JSON.stringify(options)]);
371
278
  return value;
372
279
  }
@@ -616,7 +523,7 @@ function ServerList({
616
523
  const container = listRef.current;
617
524
  const targets = container.querySelectorAll("[data-cli-server-card]");
618
525
  if (targets.length === 0) return;
619
- __vitePreload(async () => { const {default: anime} = await import('./index-9CLPVeZh.js').then(n => n.i);return { default: anime }},true?__vite__mapDeps([0,1,2]):void 0).then(({ default: anime }) => {
526
+ __vitePreload(async () => { const {default: anime} = await import('./index-C-eX-N6A.js').then(n => n.i);return { default: anime }},true?__vite__mapDeps([0,1,2]):void 0).then(({ default: anime }) => {
620
527
  if (cancelled) return;
621
528
  anime({
622
529
  targets,
@@ -5012,7 +4919,7 @@ function TasksPanel({ projectId, serverId }) {
5012
4919
  let cancelled = false;
5013
4920
  const targets = listRef.current.querySelectorAll("[data-cli-task-item]");
5014
4921
  if (targets.length === 0) return;
5015
- __vitePreload(async () => { const {default: anime} = await import('./index-9CLPVeZh.js').then(n => n.i);return { default: anime }},true?__vite__mapDeps([0,1,2]):void 0).then(({ default: anime }) => {
4922
+ __vitePreload(async () => { const {default: anime} = await import('./index-C-eX-N6A.js').then(n => n.i);return { default: anime }},true?__vite__mapDeps([0,1,2]):void 0).then(({ default: anime }) => {
5016
4923
  if (cancelled) return;
5017
4924
  anime({
5018
4925
  targets,
@@ -5139,7 +5046,7 @@ function FindingsPanel({ projectId, serverId }) {
5139
5046
  let cancelled = false;
5140
5047
  const targets = listRef.current.querySelectorAll("[data-cli-finding-item]");
5141
5048
  if (targets.length === 0) return;
5142
- __vitePreload(async () => { const {default: anime} = await import('./index-9CLPVeZh.js').then(n => n.i);return { default: anime }},true?__vite__mapDeps([0,1,2]):void 0).then(({ default: anime }) => {
5049
+ __vitePreload(async () => { const {default: anime} = await import('./index-C-eX-N6A.js').then(n => n.i);return { default: anime }},true?__vite__mapDeps([0,1,2]):void 0).then(({ default: anime }) => {
5143
5050
  if (cancelled) return;
5144
5051
  anime({
5145
5052
  targets,
@@ -1,12 +1,12 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/monaco-UZLYkp2n.js","assets/index-BVXsmS7V.js","assets/index-SwmFAld3.css"])))=>i.map(i=>d[i]);
2
- import { i as isCliFileId, R as React, f as useFileTreeStore, j as jsxRuntimeExports, b as cn, L as LoaderCircle, S as Save, B as Braces, g as RefreshCw, h as dynamic, _ as __vitePreload } from './index-BVXsmS7V.js';
3
- import { u as useFileContentStore, a as useFileContentLoading } from './file-content-3YtrSacz.js';
4
- import { a as acquireFileSocket } from './file-socket-CYQYdmB1.js';
5
- import { c as configureMonacoLoader } from './monaco-UZLYkp2n.js';
6
- import { u as useFileDiffOverlay } from './useFileDiffOverlay-CVXY6oeg.js';
7
- import { F as FileDiffPanel } from './file-diff-panel-CJEg5OG1.js';
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/monaco-4kBFeprs.js","assets/index-BLjo5--a.js","assets/index-CuQhlrR-.css"])))=>i.map(i=>d[i]);
2
+ import { i as isCliFileId, R as React, f as useFileTreeStore, j as jsxRuntimeExports, b as cn, L as LoaderCircle, S as Save, B as Braces, g as RefreshCw, h as dynamic, _ as __vitePreload } from './index-BLjo5--a.js';
3
+ import { u as useFileContentStore, a as useFileContentLoading } from './file-content-6HBqQnvQ.js';
4
+ import { a as acquireFileSocket } from './file-socket-CP3iwVZG.js';
5
+ import { c as configureMonacoLoader } from './monaco-4kBFeprs.js';
6
+ import { u as useFileDiffOverlay } from './useFileDiffOverlay-rXLIL2NF.js';
7
+ import { F as FileDiffPanel } from './file-diff-panel-Dhu0TbBM.js';
8
8
 
9
- const MonacoEditor = dynamic(() => __vitePreload(() => import('./monaco-UZLYkp2n.js').then(n => n.i),true?__vite__mapDeps([0,1,2]):void 0), { });
9
+ const MonacoEditor = dynamic(() => __vitePreload(() => import('./monaco-4kBFeprs.js').then(n => n.i),true?__vite__mapDeps([0,1,2]):void 0), { });
10
10
  configureMonacoLoader();
11
11
  function getLanguageFromName(name) {
12
12
  const lower = name.toLowerCase();
@@ -1,8 +1,8 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-BVXsmS7V.js","assets/index-SwmFAld3.css"])))=>i.map(i=>d[i]);
2
- import { u as useI18n, a as useWorkspaceSurfaceStore, r as reactExports, c as copyToClipboard, j as jsxRuntimeExports, L as LoaderCircle, C as CircleAlert, F as FileCode, E as Eye, b as cn, d as Check, e as Copy, _ as __vitePreload } from './index-BVXsmS7V.js';
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-BLjo5--a.js","assets/index-CuQhlrR-.css"])))=>i.map(i=>d[i]);
2
+ import { u as useI18n, a as useWorkspaceSurfaceStore, r as reactExports, c as copyToClipboard, j as jsxRuntimeExports, L as LoaderCircle, C as CircleAlert, F as FileCode, E as Eye, b as cn, d as Check, e as Copy, _ as __vitePreload } from './index-BLjo5--a.js';
3
3
  import { c as consumeFileJumpEffects } from './file-jump-queue-r5XKgJEV.js';
4
- import { C as Code } from './code-B0TDFCZz.js';
5
- import { H as Hash, W as WrapText } from './wrap-text-Cf4flRW7.js';
4
+ import { C as Code } from './code-DgKK408Y.js';
5
+ import { H as Hash, W as WrapText } from './wrap-text-qIYQ4a_W.js';
6
6
 
7
7
  const EXTENSION_TO_LANGUAGE = {
8
8
  // JavaScript/TypeScript
@@ -416,7 +416,7 @@ function CodeViewerPlugin({
416
416
  setLoading(false);
417
417
  return;
418
418
  }
419
- const { getFileContent } = await __vitePreload(async () => { const { getFileContent } = await import('./index-BVXsmS7V.js').then(n => n.eh);return { getFileContent }},true?__vite__mapDeps([0,1]):void 0);
419
+ const { getFileContent } = await __vitePreload(async () => { const { getFileContent } = await import('./index-BLjo5--a.js').then(n => n.ei);return { getFileContent }},true?__vite__mapDeps([0,1]):void 0);
420
420
  const text = await getFileContent(context.resourceId);
421
421
  setContent(text);
422
422
  } catch (err) {
@@ -1,5 +1,5 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-BVXsmS7V.js","assets/index-SwmFAld3.css"])))=>i.map(i=>d[i]);
2
- import { z as createLucideIcon, u as useI18n, r as reactExports, j as jsxRuntimeExports, L as LoaderCircle, b as cn, T as TriangleAlert, $ as Download, _ as __vitePreload, a4 as FileSpreadsheet, k as FileText } from './index-BVXsmS7V.js';
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-BLjo5--a.js","assets/index-CuQhlrR-.css"])))=>i.map(i=>d[i]);
2
+ import { z as createLucideIcon, u as useI18n, r as reactExports, j as jsxRuntimeExports, L as LoaderCircle, b as cn, T as TriangleAlert, $ as Download, _ as __vitePreload, a4 as FileSpreadsheet, k as FileText } from './index-BLjo5--a.js';
3
3
 
4
4
  /**
5
5
  * @license lucide-react v0.511.0 - ISC
@@ -228,7 +228,7 @@ function DocViewerPlugin({
228
228
  if (!context.resourceId) return;
229
229
  (async () => {
230
230
  try {
231
- const { downloadFileById } = await __vitePreload(async () => { const { downloadFileById } = await import('./index-BVXsmS7V.js').then(n => n.eh);return { downloadFileById }},true?__vite__mapDeps([0,1]):void 0);
231
+ const { downloadFileById } = await __vitePreload(async () => { const { downloadFileById } = await import('./index-BLjo5--a.js').then(n => n.ei);return { downloadFileById }},true?__vite__mapDeps([0,1]):void 0);
232
232
  await downloadFileById(context.resourceId, fileName);
233
233
  } catch (err) {
234
234
  console.error("Failed to download document:", err);
@@ -1,4 +1,4 @@
1
- import { z as createLucideIcon, r as reactExports, j as jsxRuntimeExports, b as cn, af as useQuery, a3 as Button, g as RefreshCw, ae as ExternalLink, ag as client } from './index-BVXsmS7V.js';
1
+ import { z as createLucideIcon, r as reactExports, j as jsxRuntimeExports, b as cn, af as useQuery, a3 as Button, g as RefreshCw, ae as ExternalLink, ag as client } from './index-BLjo5--a.js';
2
2
 
3
3
  /**
4
4
  * @license lucide-react v0.511.0 - ISC
@@ -1,7 +1,7 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-BVXsmS7V.js","assets/index-SwmFAld3.css"])))=>i.map(i=>d[i]);
2
- import { z as createLucideIcon, r as reactExports, j as jsxRuntimeExports, b as cn, ah as RotateCcw, ai as Info, $ as Download, L as LoaderCircle, _ as __vitePreload } from './index-BVXsmS7V.js';
3
- import { I as Image } from './image-B33ctrvC.js';
4
- import { Z as ZoomOut, a as ZoomIn } from './zoom-out-Hb0Z1YpT.js';
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-BLjo5--a.js","assets/index-CuQhlrR-.css"])))=>i.map(i=>d[i]);
2
+ import { z as createLucideIcon, r as reactExports, j as jsxRuntimeExports, b as cn, ah as RotateCcw, ai as Info, $ as Download, L as LoaderCircle, _ as __vitePreload } from './index-BLjo5--a.js';
3
+ import { I as Image } from './image-ByeK-Zcv.js';
4
+ import { Z as ZoomOut, a as ZoomIn } from './zoom-out-fZXCEFsy.js';
5
5
 
6
6
  /**
7
7
  * @license lucide-react v0.511.0 - ISC
@@ -280,7 +280,7 @@ function ImageViewerPlugin({
280
280
  }
281
281
  const loadImageUrl = async () => {
282
282
  try {
283
- const { createFileObjectUrl } = await __vitePreload(async () => { const { createFileObjectUrl } = await import('./index-BVXsmS7V.js').then(n => n.eh);return { createFileObjectUrl }},true?__vite__mapDeps([0,1]):void 0);
283
+ const { createFileObjectUrl } = await __vitePreload(async () => { const { createFileObjectUrl } = await import('./index-BLjo5--a.js').then(n => n.ei);return { createFileObjectUrl }},true?__vite__mapDeps([0,1]):void 0);
284
284
  objectUrl = await createFileObjectUrl(context.resourceId);
285
285
  if (cancelled) {
286
286
  URL.revokeObjectURL(objectUrl);
@@ -1,15 +1,15 @@
1
- import { z as createLucideIcon, r as reactExports, aK as reactDomExports, aL as useReducedMotion, j as jsxRuntimeExports, aM as useQueryClient, v as useToast, u as useI18n, aA as useLabCopilotStore, aN as useLabGraphSelectionStore, aO as useChatSessionStore, aP as buildAvatarColorMap, aQ as isLabWorkingStatus, aR as getLabAgentDirectSession, aS as buildAgentDescriptor, aT as resolveAgentLogo, aF as resolveAgentDisplayName, aG as resolveAgentMentionLabel, aU as AnimatePresence, aV as motion, a3 as Button, aW as pickAvatarFrameColor, aH as resolveQuestLabel, d as Check, b as cn, p as useAuthStore, aX as useCopilotDockHeaderPortal, aY as assignLabAgent, aZ as ScrollArea, L as LoaderCircle, a_ as likeLabMoment, a$ as unlikeLabMoment, b0 as commentLabMoment, b1 as Ellipsis, b2 as Plus, l as Search, b3 as Select, b4 as SelectTrigger, b5 as SelectValue, b6 as SelectContent, b7 as SelectItem, b8 as Dialog, b9 as DialogContent, ba as DialogHeader, bb as DialogTitle, bc as DialogFooter, bd as getLabGroupSession, be as getLabFriendsSession } from './index-BVXsmS7V.js';
2
- import { P as Popover, a as PopoverTrigger, b as PopoverContent } from './popover-CTeiY-dK.js';
3
- import { A as AiManusChatView, D as DEFAULT_AGENT_ID, C as ChatBox, a as applyChatEvent, u as useSSESession, b as ChatMessage, r as renderMarkdown } from './AiManusChatView-CZpg376x.js';
4
- import './file-content-3YtrSacz.js';
5
- import './file-utils-Cd1C9Ppl.js';
1
+ import { z as createLucideIcon, r as reactExports, aK as reactDomExports, aL as useReducedMotion, j as jsxRuntimeExports, aM as useQueryClient, v as useToast, u as useI18n, aA as useLabCopilotStore, aN as useLabGraphSelectionStore, aO as useChatSessionStore, aP as buildAvatarColorMap, aQ as isLabWorkingStatus, aR as getLabAgentDirectSession, aS as buildAgentDescriptor, aT as resolveAgentLogo, aF as resolveAgentDisplayName, aG as resolveAgentMentionLabel, aU as AnimatePresence, aV as motion, a3 as Button, aW as pickAvatarFrameColor, aH as resolveQuestLabel, d as Check, b as cn, p as useAuthStore, aX as useCopilotDockHeaderPortal, aY as assignLabAgent, aZ as ScrollArea, L as LoaderCircle, a_ as likeLabMoment, a$ as unlikeLabMoment, b0 as commentLabMoment, b1 as Ellipsis, b2 as Plus, l as Search, b3 as Select, b4 as SelectTrigger, b5 as SelectValue, b6 as SelectContent, b7 as SelectItem, b8 as Dialog, b9 as DialogContent, ba as DialogHeader, bb as DialogTitle, bc as DialogFooter, bd as getLabGroupSession, be as getLabFriendsSession } from './index-BLjo5--a.js';
2
+ import { P as Popover, a as PopoverTrigger, b as PopoverContent } from './popover-hRCXZzs2.js';
3
+ import { A as AiManusChatView, D as DEFAULT_AGENT_ID, C as ChatBox, a as applyChatEvent, u as useSSESession, b as ChatMessage, r as renderMarkdown } from './AiManusChatView-qzChi9uh.js';
4
+ import './file-content-6HBqQnvQ.js';
5
+ import './file-utils-BsS-Aw68.js';
6
6
  import './file-jump-queue-r5XKgJEV.js';
7
7
  import './pdf-effect-queue-DSw_D3RV.js';
8
- import './file-diff-panel-CJEg5OG1.js';
9
- import './message-square-D0cUJ9yU.js';
10
- import './NotebookEditor-BsoMvDoU.js';
11
- import './tooltip-pDtzvU9p.js';
12
- import './trash-YvPCP-da.js';
8
+ import './file-diff-panel-Dhu0TbBM.js';
9
+ import './message-square-DnagiLnc.js';
10
+ import './NotebookEditor-4R88_BMO.js';
11
+ import './tooltip-BmlPc6kc.js';
12
+ import './trash-n-UvdZFR.js';
13
13
 
14
14
  /**
15
15
  * @license lucide-react v0.511.0 - ISC
@@ -1,4 +1,4 @@
1
- import { z as createLucideIcon, af as useQuery, r as reactExports, j as jsxRuntimeExports, bf as Skeleton, bg as Badge, ag as client, bh as ReactFlowProvider, u as useI18n, aF as resolveAgentDisplayName, aT as resolveAgentLogo, aW as pickAvatarFrameColor, aQ as isLabWorkingStatus, bi as normalizeLabStatus, bj as useNodesState, bk as useReactFlow, bl as index, bm as Background, b as cn, bn as Handle, bo as Position, bp as CircleHelp, bq as OrbitLogoStatus, br as Clock, bs as Moon, aI as formatRelativeTime, n as ChevronDown, aM as useQueryClient, aA as useLabCopilotStore, aN as useLabGraphSelectionStore, bt as resolveLabCanvasSelectionSemantic, a3 as Button, g as RefreshCw, bu as LabQuestGraphCanvas, bv as ArrowLeft, aZ as ScrollArea, D as Sparkles, bw as GitBranch, bx as Bot, by as LAB_CANVAS_SEMANTIC_TONE_META, bz as getLabQuest, bA as getLabQuestSummary, bB as getLabQuestEventPayload, bC as getLabQuestNodeTrace, bD as isQuestRuntimeSurface, bE as getApiBaseUrl, bF as redirectToLanding, bG as useCliStore, bH as useActiveTab, y as BUILTIN_PLUGINS, bI as listLabTemplates, aB as listLabAgents, aC as listLabQuests, bJ as getLabOverview, bK as getProject, bL as useMaxEntitlement } from './index-BVXsmS7V.js';
1
+ import { z as createLucideIcon, af as useQuery, r as reactExports, j as jsxRuntimeExports, bf as Skeleton, bg as Badge, ag as client, bh as ReactFlowProvider, u as useI18n, aF as resolveAgentDisplayName, aT as resolveAgentLogo, aW as pickAvatarFrameColor, aQ as isLabWorkingStatus, bi as normalizeLabStatus, bj as useNodesState, bk as useReactFlow, bl as index, bm as Background, b as cn, bn as Handle, bo as Position, bp as CircleHelp, bq as OrbitLogoStatus, br as Clock, bs as Moon, aI as formatRelativeTime, n as ChevronDown, aM as useQueryClient, aA as useLabCopilotStore, aN as useLabGraphSelectionStore, bt as resolveLabCanvasSelectionSemantic, a3 as Button, g as RefreshCw, bu as LabQuestGraphCanvas, bv as ArrowLeft, aZ as ScrollArea, D as Sparkles, bw as GitBranch, bx as Bot, by as LAB_CANVAS_SEMANTIC_TONE_META, bz as getLabQuest, bA as getLabQuestSummary, bB as getLabQuestEventPayload, bC as getLabQuestNodeTrace, bD as isQuestRuntimeSurface, bE as getApiBaseUrl, bF as redirectToLanding, bG as useCliStore, bH as useActiveTab, y as BUILTIN_PLUGINS, bI as listLabTemplates, aB as listLabAgents, aC as listLabQuests, bJ as getLabOverview, bK as getProject, bL as useMaxEntitlement } from './index-BLjo5--a.js';
2
2
 
3
3
  /**
4
4
  * @license lucide-react v0.511.0 - ISC
@@ -1,9 +1,9 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/monaco-UZLYkp2n.js","assets/index-BVXsmS7V.js","assets/index-SwmFAld3.css","assets/yjs-DncrqiZ8.js","assets/function-B5QZkkHC.js","assets/awareness-C0NPR2Dj.js"])))=>i.map(i=>d[i]);
2
- import { z as createLucideIcon, p as useAuthStore, u as useI18n, a as useWorkspaceSurfaceStore, r as reactExports, f as useFileTreeStore, P as toFilesResourcePath, Q as checkProjectAccess, U as listFiles, K as getFileContent, _ as __vitePreload, J as updateFileContent, V as compileLatex, W as listLatexBuilds, j as jsxRuntimeExports, b as cn, k as FileText, Y as Link2, L as LoaderCircle, S as Save, Z as Play, T as TriangleAlert, $ as Download, a0 as getLatexBuild, a1 as getLatexBuildPdfBlob, a2 as getLatexBuildLogText, h as dynamic } from './index-BVXsmS7V.js';
3
- import { P as ProjectSyncClient } from './project-sync-Dbs01Xky.js';
4
- import { c as configureMonacoLoader } from './monaco-UZLYkp2n.js';
5
- import { P as PAGE_DIMENSIONS, a as PdfLoader, b as PDF_CMAP_URL, c as PDF_WORKER_SRC, Z as ZOOM_LEVELS, d as PdfHighlighter } from './PdfLoader-fiC7RtHf.js';
6
- import { Z as ZoomOut, a as ZoomIn } from './zoom-out-Hb0Z1YpT.js';
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/monaco-4kBFeprs.js","assets/index-BLjo5--a.js","assets/index-CuQhlrR-.css","assets/yjs-DncrqiZ8.js","assets/function-B5QZkkHC.js","assets/awareness-C0NPR2Dj.js"])))=>i.map(i=>d[i]);
2
+ import { z as createLucideIcon, p as useAuthStore, u as useI18n, a as useWorkspaceSurfaceStore, r as reactExports, f as useFileTreeStore, P as toFilesResourcePath, Q as checkProjectAccess, U as listFiles, K as getFileContent, _ as __vitePreload, J as updateFileContent, V as compileLatex, W as listLatexBuilds, j as jsxRuntimeExports, b as cn, k as FileText, Y as Link2, L as LoaderCircle, S as Save, Z as Play, T as TriangleAlert, $ as Download, a0 as getLatexBuild, a1 as getLatexBuildPdfBlob, a2 as getLatexBuildLogText, h as dynamic } from './index-BLjo5--a.js';
3
+ import { P as ProjectSyncClient } from './project-sync-O_85YuP6.js';
4
+ import { c as configureMonacoLoader } from './monaco-4kBFeprs.js';
5
+ import { P as PAGE_DIMENSIONS, a as PdfLoader, b as PDF_CMAP_URL, c as PDF_WORKER_SRC, Z as ZOOM_LEVELS, d as PdfHighlighter } from './PdfLoader-DwEFQLrw.js';
6
+ import { Z as ZoomOut, a as ZoomIn } from './zoom-out-fZXCEFsy.js';
7
7
 
8
8
  /**
9
9
  * @license lucide-react v0.511.0 - ISC
@@ -19,7 +19,7 @@ const __iconNode = [
19
19
  ];
20
20
  const AtSign = createLucideIcon("at-sign", __iconNode);
21
21
 
22
- const MonacoEditor = dynamic(() => __vitePreload(() => import('./monaco-UZLYkp2n.js').then(n => n.i),true?__vite__mapDeps([0,1,2]):void 0), { });
22
+ const MonacoEditor = dynamic(() => __vitePreload(() => import('./monaco-4kBFeprs.js').then(n => n.i),true?__vite__mapDeps([0,1,2]):void 0), { });
23
23
  configureMonacoLoader();
24
24
  function useIsDarkMode() {
25
25
  const [isDark, setIsDark] = reactExports.useState(() => {
@@ -1,6 +1,6 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-BVXsmS7V.js","assets/index-SwmFAld3.css"])))=>i.map(i=>d[i]);
2
- import { u as useI18n, a as useWorkspaceSurfaceStore, r as reactExports, R as React, N as getQuestMarkdownContextFromFileId, c as copyToClipboard, j as jsxRuntimeExports, L as LoaderCircle, C as CircleAlert, O as MARKDOWN_VIEWER_STYLES, k as FileText, E as Eye, b as cn, d as Check, e as Copy, M as MarkdownRenderer, _ as __vitePreload } from './index-BVXsmS7V.js';
3
- import { C as Code } from './code-B0TDFCZz.js';
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-BLjo5--a.js","assets/index-CuQhlrR-.css"])))=>i.map(i=>d[i]);
2
+ import { u as useI18n, a as useWorkspaceSurfaceStore, r as reactExports, R as React, N as getQuestMarkdownContextFromFileId, c as copyToClipboard, j as jsxRuntimeExports, L as LoaderCircle, C as CircleAlert, O as MARKDOWN_VIEWER_STYLES, k as FileText, E as Eye, b as cn, d as Check, e as Copy, M as MarkdownRenderer, _ as __vitePreload } from './index-BLjo5--a.js';
3
+ import { C as Code } from './code-DgKK408Y.js';
4
4
 
5
5
  function isMdxDocument(fileName) {
6
6
  if (!fileName) return false;
@@ -217,7 +217,7 @@ function MarkdownViewerPlugin({
217
217
  setLoading(false);
218
218
  return;
219
219
  }
220
- const { getFileContent } = await __vitePreload(async () => { const { getFileContent } = await import('./index-BVXsmS7V.js').then(n => n.eh);return { getFileContent }},true?__vite__mapDeps([0,1]):void 0);
220
+ const { getFileContent } = await __vitePreload(async () => { const { getFileContent } = await import('./index-BLjo5--a.js').then(n => n.ei);return { getFileContent }},true?__vite__mapDeps([0,1]):void 0);
221
221
  const text = await getFileContent(context.resourceId);
222
222
  setContent(text);
223
223
  } catch (err) {
@@ -1,6 +1,6 @@
1
- import { z as createLucideIcon, r as reactExports, a5 as useNavigate, t as useTabsStore, a6 as useOpenFile, f as useFileTreeStore, y as BUILTIN_PLUGINS, j as jsxRuntimeExports, l as Search, D as Sparkles, a7 as Terminal, a8 as Settings, a9 as Puzzle, aa as BookOpen, k as FileText, ab as FileCode2, b as cn } from './index-BVXsmS7V.js';
2
- import { S as Sigma } from './sigma-CM08S-xT.js';
3
- import { I as Image } from './image-B33ctrvC.js';
1
+ import { z as createLucideIcon, r as reactExports, a5 as useNavigate, t as useTabsStore, a6 as useOpenFile, f as useFileTreeStore, y as BUILTIN_PLUGINS, j as jsxRuntimeExports, l as Search, D as Sparkles, a7 as Terminal, a8 as Settings, a9 as Puzzle, aa as BookOpen, k as FileText, ab as FileCode2, b as cn } from './index-BLjo5--a.js';
2
+ import { S as Sigma } from './sigma-DvKopSnL.js';
3
+ import { I as Image } from './image-ByeK-Zcv.js';
4
4
 
5
5
  /**
6
6
  * @license lucide-react v0.511.0 - ISC
@@ -1,4 +1,4 @@
1
- import { R as React, r as reactExports, aK as reactDomExports, e5 as ReactDOM, I as create, j as jsxRuntimeExports, e6 as createSlot, am as useId, e7 as Root, e8 as Portal, e9 as Overlay, ea as Content, aj as composeRefs, ci as getDefaultExportFromCjs$2, eb as clsx, ec as shimExports$1, ed as katex, ee as Slot, q as resolveApiBaseUrl, b_ as uploadFileAuto, ef as nanoid, eg as cx } from './index-BVXsmS7V.js';
1
+ import { R as React, r as reactExports, aK as reactDomExports, e6 as ReactDOM, I as create, j as jsxRuntimeExports, e7 as createSlot, am as useId, e8 as Root, e9 as Portal, ea as Overlay, eb as Content, aj as composeRefs, d7 as getDefaultExportFromCjs$2, ec as clsx, ed as shimExports$1, ee as katex, ef as Slot, q as resolveApiBaseUrl, b_ as uploadFileAuto, eg as nanoid, eh as cx } from './index-BLjo5--a.js';
2
2
 
3
3
  // ::- Persistent data structure representing an ordered mapping from
4
4
  // strings to values, with some convenient update methods.
@@ -1,4 +1,4 @@
1
- import { j as jsxRuntimeExports, r as reactExports, R as React$1, _ as __vitePreload, cg as createRoot, ch as getAugmentedNamespace, aK as reactDomExports, ci as getDefaultExportFromCjs } from './index-BVXsmS7V.js';
1
+ import { j as jsxRuntimeExports, r as reactExports, R as React$1, _ as __vitePreload, d5 as createRoot, d6 as getAugmentedNamespace, aK as reactDomExports, d7 as getDefaultExportFromCjs } from './index-BLjo5--a.js';
2
2
 
3
3
  const PAGE_DIMENSIONS = {
4
4
  /** A4 width in points */
@@ -1,6 +1,6 @@
1
- import { t as useTabsStore, a as useWorkspaceSurfaceStore, v as useToast, w as useArxivStore, r as reactExports, c as copyToClipboard, x as apiClient, y as BUILTIN_PLUGINS, j as jsxRuntimeExports, k as FileText, b as cn, g as RefreshCw, M as MarkdownRenderer } from './index-BVXsmS7V.js';
2
- import { d as defaultExtensions, s as setEditorMarkdown, U, I, r as resolveNotebookAssetUrl } from './NotebookEditor-BsoMvDoU.js';
3
- import { g as generateBibTeX, I as InfoTriangleIcon, A as ArxivInfoModal } from './bibtex-JBdOEe45.js';
1
+ import { t as useTabsStore, a as useWorkspaceSurfaceStore, v as useToast, w as useArxivStore, r as reactExports, c as copyToClipboard, x as apiClient, y as BUILTIN_PLUGINS, j as jsxRuntimeExports, k as FileText, b as cn, g as RefreshCw, M as MarkdownRenderer } from './index-BLjo5--a.js';
2
+ import { d as defaultExtensions, s as setEditorMarkdown, U, I, r as resolveNotebookAssetUrl } from './NotebookEditor-4R88_BMO.js';
3
+ import { g as generateBibTeX, I as InfoTriangleIcon, A as ArxivInfoModal } from './bibtex-DLr4Rtk4.js';
4
4
 
5
5
  function rewriteMarkdownImages(markdown, fileId) {
6
6
  if (!markdown) return markdown;
@@ -1,12 +1,12 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-BVXsmS7V.js","assets/index-SwmFAld3.css"])))=>i.map(i=>d[i]);
2
- import { z as createLucideIcon, r as reactExports, u as useI18n, j as jsxRuntimeExports, $ as Download, b as cn, k as FileText, l as Search, X, m as ChevronUp, n as ChevronDown, I as create, x as apiClient, aM as useQueryClient, af as useQuery, bM as useMutation, bN as Card, a3 as Button, bO as DropdownMenu, bP as DropdownMenuTrigger, bQ as DropdownMenuContent, bR as DropdownMenuLabel, bS as DropdownMenuItem, bT as SegmentedControl, bp as CircleHelp, bU as Textarea, i as isCliFileId, t as useTabsStore, f as useFileTreeStore, a as useWorkspaceSurfaceStore, v as useToast, w as useArxivStore, p as useAuthStore, c as copyToClipboard, P as toFilesResourcePath, y as BUILTIN_PLUGINS, bV as getFile, bW as listProjectMembers, _ as __vitePreload, D as Sparkles, T as TriangleAlert, bX as DropdownMenuRadioGroup, bY as DropdownMenuRadioItem, bZ as MarkdownPreview } from './index-BVXsmS7V.js';
3
- import { a as acquireFileSocket } from './file-socket-CYQYdmB1.js';
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-BLjo5--a.js","assets/index-CuQhlrR-.css"])))=>i.map(i=>d[i]);
2
+ import { z as createLucideIcon, r as reactExports, u as useI18n, j as jsxRuntimeExports, $ as Download, b as cn, k as FileText, l as Search, X, m as ChevronUp, n as ChevronDown, I as create, x as apiClient, aM as useQueryClient, af as useQuery, bM as useMutation, bN as Card, a3 as Button, bO as DropdownMenu, bP as DropdownMenuTrigger, bQ as DropdownMenuContent, bR as DropdownMenuLabel, bS as DropdownMenuItem, bT as SegmentedControl, bp as CircleHelp, bU as Textarea, i as isCliFileId, t as useTabsStore, f as useFileTreeStore, a as useWorkspaceSurfaceStore, v as useToast, w as useArxivStore, p as useAuthStore, c as copyToClipboard, P as toFilesResourcePath, y as BUILTIN_PLUGINS, bV as getFile, bW as listProjectMembers, _ as __vitePreload, D as Sparkles, T as TriangleAlert, bX as DropdownMenuRadioGroup, bY as DropdownMenuRadioItem, bZ as MarkdownPreview } from './index-BLjo5--a.js';
3
+ import { a as acquireFileSocket } from './file-socket-CP3iwVZG.js';
4
4
  import { i as isPdfEffectHandled, m as markPdfEffectHandled, c as consumePdfEffects } from './pdf-effect-queue-DSw_D3RV.js';
5
- import { I as InfoTriangleIcon, g as generateBibTeX, A as ArxivInfoModal } from './bibtex-JBdOEe45.js';
6
- import { Z as ZOOM_LEVELS, R as Rnd, g as getPageFromElement, a as PdfLoader, b as PDF_CMAP_URL, c as PDF_WORKER_SRC, d as PdfHighlighter } from './PdfLoader-fiC7RtHf.js';
7
- import { M as MessageSquare } from './message-square-D0cUJ9yU.js';
8
- import { Z as ZoomOut, a as ZoomIn } from './zoom-out-Hb0Z1YpT.js';
9
- import { S as SquareCheckBig } from './index-9CLPVeZh.js';
5
+ import { I as InfoTriangleIcon, g as generateBibTeX, A as ArxivInfoModal } from './bibtex-DLr4Rtk4.js';
6
+ import { Z as ZOOM_LEVELS, R as Rnd, g as getPageFromElement, a as PdfLoader, b as PDF_CMAP_URL, c as PDF_WORKER_SRC, d as PdfHighlighter } from './PdfLoader-DwEFQLrw.js';
7
+ import { M as MessageSquare } from './message-square-DnagiLnc.js';
8
+ import { Z as ZoomOut, a as ZoomIn } from './zoom-out-fZXCEFsy.js';
9
+ import { S as SquareCheckBig } from './index-C-eX-N6A.js';
10
10
 
11
11
  /**
12
12
  * @license lucide-react v0.511.0 - ISC
@@ -2456,7 +2456,7 @@ function PdfViewerPlugin({
2456
2456
  setCliPdfError(null);
2457
2457
  const loadCliPdf = async () => {
2458
2458
  try {
2459
- const { createFileObjectUrl } = await __vitePreload(async () => { const { createFileObjectUrl } = await import('./index-BVXsmS7V.js').then(n => n.eh);return { createFileObjectUrl }},true?__vite__mapDeps([0,1]):void 0);
2459
+ const { createFileObjectUrl } = await __vitePreload(async () => { const { createFileObjectUrl } = await import('./index-BLjo5--a.js').then(n => n.ei);return { createFileObjectUrl }},true?__vite__mapDeps([0,1]):void 0);
2460
2460
  objectUrl = await createFileObjectUrl(fileId);
2461
2461
  if (cancelled) {
2462
2462
  URL.revokeObjectURL(objectUrl);
@@ -2877,7 +2877,7 @@ function PdfViewerPlugin({
2877
2877
  return;
2878
2878
  }
2879
2879
  (async () => {
2880
- const { downloadFileById } = await __vitePreload(async () => { const { downloadFileById } = await import('./index-BVXsmS7V.js').then(n => n.eh);return { downloadFileById }},true?__vite__mapDeps([0,1]):void 0);
2880
+ const { downloadFileById } = await __vitePreload(async () => { const { downloadFileById } = await import('./index-BLjo5--a.js').then(n => n.ei);return { downloadFileById }},true?__vite__mapDeps([0,1]):void 0);
2881
2881
  await downloadFileById(fileId, fileName);
2882
2882
  })();
2883
2883
  }, [fileId, fileName, pdfUrl]);