@researai/deepscientist 1.5.12 → 1.5.14

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 (99) hide show
  1. package/bin/ds.js +20 -3
  2. package/docs/en/00_QUICK_START.md +24 -5
  3. package/docs/en/01_SETTINGS_REFERENCE.md +4 -0
  4. package/docs/en/05_TUI_GUIDE.md +466 -96
  5. package/docs/en/09_DOCTOR.md +24 -5
  6. package/docs/en/15_CODEX_PROVIDER_SETUP.md +113 -15
  7. package/docs/en/README.md +2 -0
  8. package/docs/zh/00_QUICK_START.md +24 -5
  9. package/docs/zh/01_SETTINGS_REFERENCE.md +4 -0
  10. package/docs/zh/05_TUI_GUIDE.md +465 -82
  11. package/docs/zh/09_DOCTOR.md +24 -5
  12. package/docs/zh/15_CODEX_PROVIDER_SETUP.md +113 -15
  13. package/docs/zh/README.md +2 -0
  14. package/package.json +2 -1
  15. package/pyproject.toml +1 -1
  16. package/src/deepscientist/__init__.py +1 -1
  17. package/src/deepscientist/artifact/service.py +125 -2
  18. package/src/deepscientist/cli.py +3 -0
  19. package/src/deepscientist/codex_cli_compat.py +117 -0
  20. package/src/deepscientist/config/service.py +53 -6
  21. package/src/deepscientist/connector/lingzhu_support.py +23 -4
  22. package/src/deepscientist/daemon/app.py +111 -30
  23. package/src/deepscientist/mcp/server.py +161 -19
  24. package/src/deepscientist/prompts/builder.py +13 -54
  25. package/src/deepscientist/quest/service.py +99 -0
  26. package/src/deepscientist/quest/stage_views.py +134 -29
  27. package/src/deepscientist/runners/codex.py +11 -2
  28. package/src/deepscientist/runners/runtime_overrides.py +3 -0
  29. package/src/deepscientist/shared.py +6 -1
  30. package/src/prompts/system.md +220 -2065
  31. package/src/skills/baseline/SKILL.md +265 -994
  32. package/src/skills/baseline/references/artifact-payload-examples.md +39 -0
  33. package/src/skills/baseline/references/baseline-checklist-template.md +21 -32
  34. package/src/skills/baseline/references/baseline-plan-template.md +41 -57
  35. package/src/tui/dist/app/AppContainer.js +1442 -52
  36. package/src/tui/dist/components/Composer.js +1 -1
  37. package/src/tui/dist/components/ConfigScreen.js +190 -36
  38. package/src/tui/dist/components/GradientStatusText.js +1 -20
  39. package/src/tui/dist/components/InputPrompt.js +41 -32
  40. package/src/tui/dist/components/LoadingIndicator.js +1 -1
  41. package/src/tui/dist/components/Logo.js +61 -38
  42. package/src/tui/dist/components/MainContent.js +10 -3
  43. package/src/tui/dist/components/WelcomePanel.js +4 -12
  44. package/src/tui/dist/components/messages/AssistantMessage.js +1 -1
  45. package/src/tui/dist/components/messages/BashExecOperationMessage.js +3 -3
  46. package/src/tui/dist/components/messages/OperationMessage.js +1 -1
  47. package/src/tui/dist/index.js +28 -1
  48. package/src/tui/dist/layouts/DefaultAppLayout.js +3 -3
  49. package/src/tui/dist/lib/api.js +17 -0
  50. package/src/tui/dist/lib/connectorConfig.js +90 -0
  51. package/src/tui/dist/lib/connectors.js +261 -0
  52. package/src/tui/dist/lib/qr.js +21 -0
  53. package/src/tui/dist/semantic-colors.js +29 -19
  54. package/src/tui/package.json +2 -1
  55. package/src/ui/dist/assets/{AiManusChatView-CnJcXynW.js → AiManusChatView-DaF9Nge_.js} +12 -12
  56. package/src/ui/dist/assets/{AnalysisPlugin-DeyzPEhV.js → AnalysisPlugin-BSVx6dXE.js} +1 -1
  57. package/src/ui/dist/assets/{CliPlugin-CB1YODQn.js → CliPlugin-C9gzJX41.js} +9 -9
  58. package/src/ui/dist/assets/{CodeEditorPlugin-B-xicq1e.js → CodeEditorPlugin-DU9G0Tox.js} +8 -8
  59. package/src/ui/dist/assets/{CodeViewerPlugin-DT54ysXa.js → CodeViewerPlugin-DoX_fI9l.js} +5 -5
  60. package/src/ui/dist/assets/{DocViewerPlugin-DQtKT-VD.js → DocViewerPlugin-C4FWIXuU.js} +3 -3
  61. package/src/ui/dist/assets/{GitDiffViewerPlugin-hqHbCfnv.js → GitDiffViewerPlugin-BgfFMgtf.js} +20 -20
  62. package/src/ui/dist/assets/{ImageViewerPlugin-OcVo33jV.js → ImageViewerPlugin-tcPkfY_x.js} +5 -5
  63. package/src/ui/dist/assets/{LabCopilotPanel-DdGwhEUV.js → LabCopilotPanel-_dKV60Bf.js} +11 -11
  64. package/src/ui/dist/assets/{LabPlugin-Ciz1gDaX.js → LabPlugin-Bje0ayoC.js} +2 -2
  65. package/src/ui/dist/assets/{LatexPlugin-BhmjNQRC.js → LatexPlugin-CVsBzAln.js} +7 -7
  66. package/src/ui/dist/assets/{MarkdownViewerPlugin-BzdVH9Bx.js → MarkdownViewerPlugin-xjmrqv_8.js} +4 -4
  67. package/src/ui/dist/assets/{MarketplacePlugin-DmyHspXt.js → MarketplacePlugin-mMM2A8wP.js} +3 -3
  68. package/src/ui/dist/assets/{NotebookEditor-BTVYRGkm.js → NotebookEditor-3kVDSOBo.js} +11 -11
  69. package/src/ui/dist/assets/{NotebookEditor-BMXKrDRk.js → NotebookEditor-SoJ8X-MO.js} +1 -1
  70. package/src/ui/dist/assets/{PdfLoader-CvcjJHXv.js → PdfLoader-DElVuHl9.js} +1 -1
  71. package/src/ui/dist/assets/{PdfMarkdownPlugin-DW2ej8Vk.js → PdfMarkdownPlugin-Bq88XT4G.js} +2 -2
  72. package/src/ui/dist/assets/{PdfViewerPlugin-CmlDxbhU.js → PdfViewerPlugin-CsCXMo9S.js} +10 -10
  73. package/src/ui/dist/assets/{SearchPlugin-DAjQZPSv.js → SearchPlugin-oUPvy19k.js} +1 -1
  74. package/src/ui/dist/assets/{TextViewerPlugin-C-nVAZb_.js → TextViewerPlugin-CRkT9yNy.js} +5 -5
  75. package/src/ui/dist/assets/{VNCViewer-D7-dIYon.js → VNCViewer-BgbuvWhR.js} +10 -10
  76. package/src/ui/dist/assets/{bot-C_G4WtNI.js → bot-v_RASACv.js} +1 -1
  77. package/src/ui/dist/assets/{code-Cd7WfiWq.js → code-5hC9d0VH.js} +1 -1
  78. package/src/ui/dist/assets/{file-content-B57zsL9y.js → file-content-D1PxfOrp.js} +1 -1
  79. package/src/ui/dist/assets/{file-diff-panel-DVoheLFq.js → file-diff-panel-DG1oT_Hj.js} +1 -1
  80. package/src/ui/dist/assets/{file-socket-B5kXFxZP.js → file-socket-BmdFYQlk.js} +1 -1
  81. package/src/ui/dist/assets/{image-LLOjkMHF.js → image-Dqe2X2tW.js} +1 -1
  82. package/src/ui/dist/assets/{index-Dxa2eYMY.js → index-DVsMKK_y.js} +1 -1
  83. package/src/ui/dist/assets/{index-C3r2iGrp.js → index-Duvz8Ip0.js} +12 -12
  84. package/src/ui/dist/assets/{index-CLQauncb.js → index-Nt9hS4ck.js} +470 -165
  85. package/src/ui/dist/assets/{index-hOUOWbW2.js → index-RDlNXXx1.js} +2 -2
  86. package/src/ui/dist/assets/{monaco-BGGAEii3.js → monaco-DIXge1CP.js} +1 -1
  87. package/src/ui/dist/assets/{pdf-effect-queue-DlEr1_y5.js → pdf-effect-queue-BBTTQaO-.js} +1 -1
  88. package/src/ui/dist/assets/{popover-CWJbJuYY.js → popover-BWlolyxo.js} +1 -1
  89. package/src/ui/dist/assets/{project-sync-CRJiucYO.js → project-sync-BM5PkFH4.js} +1 -1
  90. package/src/ui/dist/assets/{select-CoHB7pvH.js → select-D4dAtrA8.js} +2 -2
  91. package/src/ui/dist/assets/{sigma-D5aJWR8J.js → sigma-CKbE5jJT.js} +1 -1
  92. package/src/ui/dist/assets/{square-check-big-DUK_mnkS.js → square-check-big-CZNGMgiB.js} +1 -1
  93. package/src/ui/dist/assets/{trash-ChU3SEE3.js → trash-DaB37xAz.js} +1 -1
  94. package/src/ui/dist/assets/{useCliAccess-BrJBV3tY.js → useCliAccess-C2OmAcWe.js} +1 -1
  95. package/src/ui/dist/assets/{useFileDiffOverlay-C2OQaVWc.js → useFileDiffOverlay-Dowd1Ij4.js} +1 -1
  96. package/src/ui/dist/assets/{wrap-text-C7Qqh-om.js → wrap-text-BGjAhAUq.js} +1 -1
  97. package/src/ui/dist/assets/{zoom-out-rtX0FKya.js → zoom-out-dMZQMXzc.js} +1 -1
  98. package/src/ui/dist/index.html +1 -1
  99. package/uv.lock +1 -1
@@ -1,9 +1,9 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-Dxa2eYMY.js","assets/index-CLQauncb.js","assets/index-BQG-1s2o.css"])))=>i.map(i=>d[i]);
2
- import { w as createLucideIcon, cd as useMotionValue, ce as useIsomorphicLayoutEffect, cf as cancelFrame_1, cg as frame_1, ch as collectMotionValues_1, ci as transform_1, cj as useConstant, r as reactExports, ck as MotionConfigContext, cl as attachFollow_1, cm as isMotionValue_1, cn as useInView, j as jsxRuntimeExports, d as Check, b as cn, aO as Button, u as useI18n, bH as useCliStore, _ as __vitePreload, co as ChevronRight, g as RefreshCw, b9 as Plus, b4 as ScrollArea, cp as ChevronLeft, cq as GlareHover, cr as Input, l as Search, k as FileText, cs as Folder, ac as Terminal, N as Sparkles, ba as Dialog, bb as DialogContent, bc as DialogHeader, bd as DialogTitle, ct as DialogDescription, be as DialogFooter, cu as useTerminal, cv as uploadCliFile, bZ as Textarea, cw as CircleCheck, Q as create, cx as persist, o as useToast, cy as unbindCliServer, O as ConnectionState, cz as updateCliSession, cA as SpotlightCard, bT as DropdownMenu, bU as DropdownMenuTrigger, bV as DropdownMenuContent, bX as DropdownMenuItem, a2 as Play, cB as DropdownMenuSeparator, X, cC as Pencil, P as EnhancedTerminal, cD as listCliSessions, cE as FadeContent, t as apiClient, cF as getMyToken, c as copyToClipboard, cG as Bell, c9 as Trash2, cH as getCliServerMetrics, cI as refreshCliServerStatus, cJ as ResponsiveContainer, cK as LineChart, cL as XAxis, cM as YAxis, cN as Tooltip, cO as Line, cP as getCliHealth, cQ as Cpu, cR as listCliFiles, cS as readCliFile, cT as writeCliFile, cU as deleteCliFile, cV as axios, a3 as Download, n as useTabsStore, aM as getPluginIdFromExtension, v as BUILTIN_PLUGINS, aL as getPluginIdFromMimeType, cW as downloadCliFile, cX as buildCliFileId, cY as toCliResourcePath, cZ as Upload, L as LoaderCircle, c_ as listCliLogs, c$ as getCliLogObject, d0 as listCliTasks, T as TriangleAlert, d1 as listCliFindings, d2 as listCliMethods, d3 as createCliMethod, bM as useMaxEntitlement, d4 as Noise } from './index-CLQauncb.js';
3
- import { e as Server, S as Select, a as SelectTrigger, b as SelectValue, c as SelectContent, d as SelectItem, L as Layers, n as normalizePath, f as formatFileSize, s as splitPath, j as joinPath, g as findSensitiveMarker, D as DOWNLOAD_MAX_BYTES, T as TEXT_PREVIEW_MAX_BYTES } from './select-CoHB7pvH.js';
4
- import { S as SquareCheckBig } from './square-check-big-DUK_mnkS.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-BrJBV3tY.js';
6
- import './index-Dxa2eYMY.js';
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-DVsMKK_y.js","assets/index-Nt9hS4ck.js","assets/index-BQG-1s2o.css"])))=>i.map(i=>d[i]);
2
+ import { w as createLucideIcon, cd as useMotionValue, ce as useIsomorphicLayoutEffect, cf as cancelFrame_1, cg as frame_1, ch as collectMotionValues_1, ci as transform_1, cj as useConstant, r as reactExports, ck as MotionConfigContext, cl as attachFollow_1, cm as isMotionValue_1, cn as useInView, j as jsxRuntimeExports, d as Check, b as cn, aO as Button, u as useI18n, bH as useCliStore, _ as __vitePreload, co as ChevronRight, g as RefreshCw, b9 as Plus, b4 as ScrollArea, cp as ChevronLeft, cq as GlareHover, cr as Input, l as Search, k as FileText, cs as Folder, ac as Terminal, N as Sparkles, ba as Dialog, bb as DialogContent, bc as DialogHeader, bd as DialogTitle, ct as DialogDescription, be as DialogFooter, cu as useTerminal, cv as uploadCliFile, bZ as Textarea, cw as CircleCheck, Q as create, cx as persist, o as useToast, cy as unbindCliServer, O as ConnectionState, cz as updateCliSession, cA as SpotlightCard, bT as DropdownMenu, bU as DropdownMenuTrigger, bV as DropdownMenuContent, bX as DropdownMenuItem, a2 as Play, cB as DropdownMenuSeparator, X, cC as Pencil, P as EnhancedTerminal, cD as listCliSessions, cE as FadeContent, t as apiClient, cF as getMyToken, c as copyToClipboard, cG as Bell, c9 as Trash2, cH as getCliServerMetrics, cI as refreshCliServerStatus, cJ as ResponsiveContainer, cK as LineChart, cL as XAxis, cM as YAxis, cN as Tooltip, cO as Line, cP as getCliHealth, cQ as Cpu, cR as listCliFiles, cS as readCliFile, cT as writeCliFile, cU as deleteCliFile, cV as axios, a3 as Download, n as useTabsStore, aM as getPluginIdFromExtension, v as BUILTIN_PLUGINS, aL as getPluginIdFromMimeType, cW as downloadCliFile, cX as buildCliFileId, cY as toCliResourcePath, cZ as Upload, L as LoaderCircle, c_ as listCliLogs, c$ as getCliLogObject, d0 as listCliTasks, T as TriangleAlert, d1 as listCliFindings, d2 as listCliMethods, d3 as createCliMethod, bM as useMaxEntitlement, d4 as Noise } from './index-Nt9hS4ck.js';
3
+ import { e as Server, S as Select, a as SelectTrigger, b as SelectValue, c as SelectContent, d as SelectItem, L as Layers, n as normalizePath, f as formatFileSize, s as splitPath, j as joinPath, g as findSensitiveMarker, D as DOWNLOAD_MAX_BYTES, T as TEXT_PREVIEW_MAX_BYTES } from './select-D4dAtrA8.js';
4
+ import { S as SquareCheckBig } from './square-check-big-CZNGMgiB.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-C2OmAcWe.js';
6
+ import './index-DVsMKK_y.js';
7
7
 
8
8
  /**
9
9
  * @license lucide-react v0.511.0 - ISC
@@ -678,7 +678,7 @@ function ServerList({
678
678
  const container = listRef.current;
679
679
  const targets = container.querySelectorAll("[data-cli-server-card]");
680
680
  if (targets.length === 0) return;
681
- __vitePreload(async () => { const {default: anime} = await import('./index-Dxa2eYMY.js').then(n => n.i);return { default: anime }},true?__vite__mapDeps([0,1,2]):void 0).then(({ default: anime }) => {
681
+ __vitePreload(async () => { const {default: anime} = await import('./index-DVsMKK_y.js').then(n => n.i);return { default: anime }},true?__vite__mapDeps([0,1,2]):void 0).then(({ default: anime }) => {
682
682
  if (cancelled) return;
683
683
  anime({
684
684
  targets,
@@ -5074,7 +5074,7 @@ function TasksPanel({ projectId, serverId }) {
5074
5074
  let cancelled = false;
5075
5075
  const targets = listRef.current.querySelectorAll("[data-cli-task-item]");
5076
5076
  if (targets.length === 0) return;
5077
- __vitePreload(async () => { const {default: anime} = await import('./index-Dxa2eYMY.js').then(n => n.i);return { default: anime }},true?__vite__mapDeps([0,1,2]):void 0).then(({ default: anime }) => {
5077
+ __vitePreload(async () => { const {default: anime} = await import('./index-DVsMKK_y.js').then(n => n.i);return { default: anime }},true?__vite__mapDeps([0,1,2]):void 0).then(({ default: anime }) => {
5078
5078
  if (cancelled) return;
5079
5079
  anime({
5080
5080
  targets,
@@ -5201,7 +5201,7 @@ function FindingsPanel({ projectId, serverId }) {
5201
5201
  let cancelled = false;
5202
5202
  const targets = listRef.current.querySelectorAll("[data-cli-finding-item]");
5203
5203
  if (targets.length === 0) return;
5204
- __vitePreload(async () => { const {default: anime} = await import('./index-Dxa2eYMY.js').then(n => n.i);return { default: anime }},true?__vite__mapDeps([0,1,2]):void 0).then(({ default: anime }) => {
5204
+ __vitePreload(async () => { const {default: anime} = await import('./index-DVsMKK_y.js').then(n => n.i);return { default: anime }},true?__vite__mapDeps([0,1,2]):void 0).then(({ default: anime }) => {
5205
5205
  if (cancelled) return;
5206
5206
  anime({
5207
5207
  targets,
@@ -1,12 +1,12 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/monaco-BGGAEii3.js","assets/index-CLQauncb.js","assets/index-BQG-1s2o.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-CLQauncb.js';
3
- import { u as useFileContentStore, a as useFileContentLoading } from './file-content-B57zsL9y.js';
4
- import { a as acquireFileSocket } from './file-socket-B5kXFxZP.js';
5
- import { c as configureMonacoLoader } from './monaco-BGGAEii3.js';
6
- import { u as useFileDiffOverlay } from './useFileDiffOverlay-C2OQaVWc.js';
7
- import { F as FileDiffPanel } from './file-diff-panel-DVoheLFq.js';
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/monaco-DIXge1CP.js","assets/index-Nt9hS4ck.js","assets/index-BQG-1s2o.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-Nt9hS4ck.js';
3
+ import { u as useFileContentStore, a as useFileContentLoading } from './file-content-D1PxfOrp.js';
4
+ import { a as acquireFileSocket } from './file-socket-BmdFYQlk.js';
5
+ import { c as configureMonacoLoader } from './monaco-DIXge1CP.js';
6
+ import { u as useFileDiffOverlay } from './useFileDiffOverlay-Dowd1Ij4.js';
7
+ import { F as FileDiffPanel } from './file-diff-panel-DG1oT_Hj.js';
8
8
 
9
- const MonacoEditor = dynamic(() => __vitePreload(() => import('./monaco-BGGAEii3.js').then(n => n.i),true?__vite__mapDeps([0,1,2]):void 0), { });
9
+ const MonacoEditor = dynamic(() => __vitePreload(() => import('./monaco-DIXge1CP.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-CLQauncb.js","assets/index-BQG-1s2o.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-CLQauncb.js';
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-Nt9hS4ck.js","assets/index-BQG-1s2o.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-Nt9hS4ck.js';
3
3
  import { c as consumeFileJumpEffects } from './file-jump-queue-r5XKgJEV.js';
4
- import { C as Code } from './code-Cd7WfiWq.js';
5
- import { H as Hash, W as WrapText } from './wrap-text-C7Qqh-om.js';
4
+ import { C as Code } from './code-5hC9d0VH.js';
5
+ import { H as Hash, W as WrapText } from './wrap-text-BGjAhAUq.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-CLQauncb.js').then(n => n.el);return { getFileContent }},true?__vite__mapDeps([0,1]):void 0);
419
+ const { getFileContent } = await __vitePreload(async () => { const { getFileContent } = await import('./index-Nt9hS4ck.js').then(n => n.el);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-CLQauncb.js","assets/index-BQG-1s2o.css"])))=>i.map(i=>d[i]);
2
- import { w as createLucideIcon, u as useI18n, r as reactExports, j as jsxRuntimeExports, L as LoaderCircle, b as cn, T as TriangleAlert, a3 as Download, _ as __vitePreload, a9 as FileSpreadsheet, k as FileText } from './index-CLQauncb.js';
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-Nt9hS4ck.js","assets/index-BQG-1s2o.css"])))=>i.map(i=>d[i]);
2
+ import { w as createLucideIcon, u as useI18n, r as reactExports, j as jsxRuntimeExports, L as LoaderCircle, b as cn, T as TriangleAlert, a3 as Download, _ as __vitePreload, a9 as FileSpreadsheet, k as FileText } from './index-Nt9hS4ck.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-CLQauncb.js').then(n => n.el);return { downloadFileById }},true?__vite__mapDeps([0,1]):void 0);
231
+ const { downloadFileById } = await __vitePreload(async () => { const { downloadFileById } = await import('./index-Nt9hS4ck.js').then(n => n.el);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,25 +1,25 @@
1
- import { w as createLucideIcon, aK as inferWorkspaceContentKindFromMetadata, v as BUILTIN_PLUGINS, aL as getPluginIdFromMimeType, aM as getPluginIdFromExtension, r as reactExports, j as jsxRuntimeExports, u as useI18n, b as cn, a as useWorkspaceSurfaceStore, aN as useQuery, k as FileText, aO as Button, g as RefreshCw, aP as buildQuestFileNodeFromDocument, W as toFilesResourcePath, aQ as client } from './index-CLQauncb.js';
2
- import ImageViewerPlugin from './ImageViewerPlugin-OcVo33jV.js';
3
- import MarkdownViewerPlugin from './MarkdownViewerPlugin-BzdVH9Bx.js';
4
- import { N as NotebookEditor } from './NotebookEditor-BTVYRGkm.js';
5
- import PdfViewerPlugin from './PdfViewerPlugin-CmlDxbhU.js';
6
- import './image-LLOjkMHF.js';
7
- import './zoom-out-rtX0FKya.js';
8
- import './code-Cd7WfiWq.js';
9
- import './NotebookEditor-BMXKrDRk.js';
1
+ import { w as createLucideIcon, aK as inferWorkspaceContentKindFromMetadata, v as BUILTIN_PLUGINS, aL as getPluginIdFromMimeType, aM as getPluginIdFromExtension, r as reactExports, j as jsxRuntimeExports, u as useI18n, b as cn, a as useWorkspaceSurfaceStore, aN as useQuery, k as FileText, aO as Button, g as RefreshCw, aP as buildQuestFileNodeFromDocument, W as toFilesResourcePath, aQ as client } from './index-Nt9hS4ck.js';
2
+ import ImageViewerPlugin from './ImageViewerPlugin-tcPkfY_x.js';
3
+ import MarkdownViewerPlugin from './MarkdownViewerPlugin-xjmrqv_8.js';
4
+ import { N as NotebookEditor } from './NotebookEditor-3kVDSOBo.js';
5
+ import PdfViewerPlugin from './PdfViewerPlugin-CsCXMo9S.js';
6
+ import './image-Dqe2X2tW.js';
7
+ import './zoom-out-dMZQMXzc.js';
8
+ import './code-5hC9d0VH.js';
9
+ import './NotebookEditor-SoJ8X-MO.js';
10
10
  import './function-B5QZkkHC.js';
11
11
  import './yjs-DncrqiZ8.js';
12
- import './project-sync-CRJiucYO.js';
13
- import './square-check-big-DUK_mnkS.js';
14
- import './popover-CWJbJuYY.js';
15
- import './trash-ChU3SEE3.js';
16
- import './sigma-D5aJWR8J.js';
17
- import './useFileDiffOverlay-C2OQaVWc.js';
18
- import './file-diff-panel-DVoheLFq.js';
19
- import './file-socket-B5kXFxZP.js';
20
- import './pdf-effect-queue-DlEr1_y5.js';
21
- import './PdfLoader-CvcjJHXv.js';
22
- import './index-Dxa2eYMY.js';
12
+ import './project-sync-BM5PkFH4.js';
13
+ import './square-check-big-CZNGMgiB.js';
14
+ import './popover-BWlolyxo.js';
15
+ import './trash-DaB37xAz.js';
16
+ import './sigma-CKbE5jJT.js';
17
+ import './useFileDiffOverlay-Dowd1Ij4.js';
18
+ import './file-diff-panel-DG1oT_Hj.js';
19
+ import './file-socket-BmdFYQlk.js';
20
+ import './pdf-effect-queue-BBTTQaO-.js';
21
+ import './PdfLoader-DElVuHl9.js';
22
+ import './index-DVsMKK_y.js';
23
23
 
24
24
  /**
25
25
  * @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-CLQauncb.js","assets/index-BQG-1s2o.css"])))=>i.map(i=>d[i]);
2
- import { w as createLucideIcon, r as reactExports, j as jsxRuntimeExports, b as cn, ah as RotateCcw, ai as Info, a3 as Download, L as LoaderCircle, _ as __vitePreload } from './index-CLQauncb.js';
3
- import { I as Image } from './image-LLOjkMHF.js';
4
- import { Z as ZoomOut, a as ZoomIn } from './zoom-out-rtX0FKya.js';
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-Nt9hS4ck.js","assets/index-BQG-1s2o.css"])))=>i.map(i=>d[i]);
2
+ import { w as createLucideIcon, r as reactExports, j as jsxRuntimeExports, b as cn, ah as RotateCcw, ai as Info, a3 as Download, L as LoaderCircle, _ as __vitePreload } from './index-Nt9hS4ck.js';
3
+ import { I as Image } from './image-Dqe2X2tW.js';
4
+ import { Z as ZoomOut, a as ZoomIn } from './zoom-out-dMZQMXzc.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-CLQauncb.js').then(n => n.el);return { createFileObjectUrl }},true?__vite__mapDeps([0,1]):void 0);
283
+ const { createFileObjectUrl } = await __vitePreload(async () => { const { createFileObjectUrl } = await import('./index-Nt9hS4ck.js').then(n => n.el);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 { w as createLucideIcon, r as reactExports, aR as reactDomExports, aS as useReducedMotion, j as jsxRuntimeExports, aT as useQueryClient, o as useToast, u as useI18n, aA as useLabCopilotStore, aU as useLabGraphSelectionStore, aV as useChatSessionStore, aW as buildAvatarColorMap, aX as isLabWorkingStatus, aY as getLabAgentDirectSession, aZ as buildAgentDescriptor, a_ as resolveAgentLogo, aF as resolveAgentDisplayName, aG as resolveAgentMentionLabel, a$ as AnimatePresence, b0 as motion, aO as Button, b1 as pickAvatarFrameColor, aH as resolveQuestLabel, d as Check, b as cn, z as useAuthStore, b2 as useCopilotDockHeaderPortal, b3 as assignLabAgent, b4 as ScrollArea, L as LoaderCircle, b5 as likeLabMoment, b6 as unlikeLabMoment, b7 as commentLabMoment, b8 as Ellipsis, b9 as Plus, l as Search, ba as Dialog, bb as DialogContent, bc as DialogHeader, bd as DialogTitle, be as DialogFooter, bf as getLabGroupSession, bg as getLabFriendsSession } from './index-CLQauncb.js';
2
- import { P as Popover, a as PopoverTrigger, b as PopoverContent } from './popover-CWJbJuYY.js';
3
- import { S as Select, a as SelectTrigger, b as SelectValue, c as SelectContent, d as SelectItem } from './select-CoHB7pvH.js';
4
- 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-CnJcXynW.js';
5
- import './index-Dxa2eYMY.js';
6
- import './file-content-B57zsL9y.js';
1
+ import { w as createLucideIcon, r as reactExports, aR as reactDomExports, aS as useReducedMotion, j as jsxRuntimeExports, aT as useQueryClient, o as useToast, u as useI18n, aA as useLabCopilotStore, aU as useLabGraphSelectionStore, aV as useChatSessionStore, aW as buildAvatarColorMap, aX as isLabWorkingStatus, aY as getLabAgentDirectSession, aZ as buildAgentDescriptor, a_ as resolveAgentLogo, aF as resolveAgentDisplayName, aG as resolveAgentMentionLabel, a$ as AnimatePresence, b0 as motion, aO as Button, b1 as pickAvatarFrameColor, aH as resolveQuestLabel, d as Check, b as cn, z as useAuthStore, b2 as useCopilotDockHeaderPortal, b3 as assignLabAgent, b4 as ScrollArea, L as LoaderCircle, b5 as likeLabMoment, b6 as unlikeLabMoment, b7 as commentLabMoment, b8 as Ellipsis, b9 as Plus, l as Search, ba as Dialog, bb as DialogContent, bc as DialogHeader, bd as DialogTitle, be as DialogFooter, bf as getLabGroupSession, bg as getLabFriendsSession } from './index-Nt9hS4ck.js';
2
+ import { P as Popover, a as PopoverTrigger, b as PopoverContent } from './popover-BWlolyxo.js';
3
+ import { S as Select, a as SelectTrigger, b as SelectValue, c as SelectContent, d as SelectItem } from './select-D4dAtrA8.js';
4
+ 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-DaF9Nge_.js';
5
+ import './index-DVsMKK_y.js';
6
+ import './file-content-D1PxfOrp.js';
7
7
  import './file-jump-queue-r5XKgJEV.js';
8
- import './pdf-effect-queue-DlEr1_y5.js';
9
- import './file-diff-panel-DVoheLFq.js';
10
- import './bot-C_G4WtNI.js';
11
- import './NotebookEditor-BMXKrDRk.js';
12
- import './trash-ChU3SEE3.js';
8
+ import './pdf-effect-queue-BBTTQaO-.js';
9
+ import './file-diff-panel-DG1oT_Hj.js';
10
+ import './bot-v_RASACv.js';
11
+ import './NotebookEditor-SoJ8X-MO.js';
12
+ import './trash-DaB37xAz.js';
13
13
 
14
14
  /**
15
15
  * @license lucide-react v0.511.0 - ISC
@@ -1,5 +1,5 @@
1
- import { w as createLucideIcon, aN as useQuery, r as reactExports, j as jsxRuntimeExports, bh as Skeleton, bi as Badge, aQ as client, bj as ReactFlowProvider, u as useI18n, aF as resolveAgentDisplayName, a_ as resolveAgentLogo, b1 as pickAvatarFrameColor, aX as isLabWorkingStatus, bk as normalizeLabStatus, bl as useNodesState, bm as useReactFlow, bn as index, bo as Background, b as cn, bp as Handle, bq as Position, br as CircleHelp, bs as OrbitLogoStatus, bt as Clock, bu as Moon, aI as formatRelativeTime, m as ChevronDown, aT as useQueryClient, aA as useLabCopilotStore, aU as useLabGraphSelectionStore, bv as resolveLabCanvasSelectionSemantic, aO as Button, g as RefreshCw, bw as LabQuestGraphCanvas, bx as ArrowLeft, b4 as ScrollArea, N as Sparkles, by as GitBranch, bz as LAB_CANVAS_SEMANTIC_TONE_META, bA as getLabQuest, bB as getLabQuestSummary, bC as getLabQuestEventPayload, bD as getLabQuestNodeTrace, bE as isQuestRuntimeSurface, bF as getApiBaseUrl, bG as redirectToLanding, bH as useCliStore, bI as useActiveTab, v as BUILTIN_PLUGINS, bJ as listLabTemplates, aB as listLabAgents, aC as listLabQuests, bK as getLabOverview, bL as getProject, bM as useMaxEntitlement } from './index-CLQauncb.js';
2
- import { B as Bot } from './bot-C_G4WtNI.js';
1
+ import { w as createLucideIcon, aN as useQuery, r as reactExports, j as jsxRuntimeExports, bh as Skeleton, bi as Badge, aQ as client, bj as ReactFlowProvider, u as useI18n, aF as resolveAgentDisplayName, a_ as resolveAgentLogo, b1 as pickAvatarFrameColor, aX as isLabWorkingStatus, bk as normalizeLabStatus, bl as useNodesState, bm as useReactFlow, bn as index, bo as Background, b as cn, bp as Handle, bq as Position, br as CircleHelp, bs as OrbitLogoStatus, bt as Clock, bu as Moon, aI as formatRelativeTime, m as ChevronDown, aT as useQueryClient, aA as useLabCopilotStore, aU as useLabGraphSelectionStore, bv as resolveLabCanvasSelectionSemantic, aO as Button, g as RefreshCw, bw as LabQuestGraphCanvas, bx as ArrowLeft, b4 as ScrollArea, N as Sparkles, by as GitBranch, bz as LAB_CANVAS_SEMANTIC_TONE_META, bA as getLabQuest, bB as getLabQuestSummary, bC as getLabQuestEventPayload, bD as getLabQuestNodeTrace, bE as isQuestRuntimeSurface, bF as getApiBaseUrl, bG as redirectToLanding, bH as useCliStore, bI as useActiveTab, v as BUILTIN_PLUGINS, bJ as listLabTemplates, aB as listLabAgents, aC as listLabQuests, bK as getLabOverview, bL as getProject, bM as useMaxEntitlement } from './index-Nt9hS4ck.js';
2
+ import { B as Bot } from './bot-v_RASACv.js';
3
3
 
4
4
  /**
5
5
  * @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-BGGAEii3.js","assets/index-CLQauncb.js","assets/index-BQG-1s2o.css","assets/yjs-DncrqiZ8.js","assets/function-B5QZkkHC.js","assets/awareness-C0NPR2Dj.js"])))=>i.map(i=>d[i]);
2
- import { w as createLucideIcon, z as useAuthStore, u as useI18n, a as useWorkspaceSurfaceStore, r as reactExports, f as useFileTreeStore, x as supportsSocketIo, W as toFilesResourcePath, Y as checkProjectAccess, Z as listFiles, V as getFileContent, _ as __vitePreload, U as updateFileContent, $ as compileLatex, a0 as listLatexBuilds, j as jsxRuntimeExports, b as cn, k as FileText, a1 as Link2, L as LoaderCircle, S as Save, a2 as Play, T as TriangleAlert, a3 as Download, a4 as getLatexBuild, a5 as getLatexBuildPdfBlob, a6 as getLatexBuildLogText, h as dynamic } from './index-CLQauncb.js';
3
- import { P as ProjectSyncClient } from './project-sync-CRJiucYO.js';
4
- import { c as configureMonacoLoader } from './monaco-BGGAEii3.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-CvcjJHXv.js';
6
- import { Z as ZoomOut, a as ZoomIn } from './zoom-out-rtX0FKya.js';
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/monaco-DIXge1CP.js","assets/index-Nt9hS4ck.js","assets/index-BQG-1s2o.css","assets/yjs-DncrqiZ8.js","assets/function-B5QZkkHC.js","assets/awareness-C0NPR2Dj.js"])))=>i.map(i=>d[i]);
2
+ import { w as createLucideIcon, z as useAuthStore, u as useI18n, a as useWorkspaceSurfaceStore, r as reactExports, f as useFileTreeStore, x as supportsSocketIo, W as toFilesResourcePath, Y as checkProjectAccess, Z as listFiles, V as getFileContent, _ as __vitePreload, U as updateFileContent, $ as compileLatex, a0 as listLatexBuilds, j as jsxRuntimeExports, b as cn, k as FileText, a1 as Link2, L as LoaderCircle, S as Save, a2 as Play, T as TriangleAlert, a3 as Download, a4 as getLatexBuild, a5 as getLatexBuildPdfBlob, a6 as getLatexBuildLogText, h as dynamic } from './index-Nt9hS4ck.js';
3
+ import { P as ProjectSyncClient } from './project-sync-BM5PkFH4.js';
4
+ import { c as configureMonacoLoader } from './monaco-DIXge1CP.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-DElVuHl9.js';
6
+ import { Z as ZoomOut, a as ZoomIn } from './zoom-out-dMZQMXzc.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-BGGAEii3.js').then(n => n.i),true?__vite__mapDeps([0,1,2]):void 0), { });
22
+ const MonacoEditor = dynamic(() => __vitePreload(() => import('./monaco-DIXge1CP.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-CLQauncb.js","assets/index-BQG-1s2o.css"])))=>i.map(i=>d[i]);
2
- import { u as useI18n, a as useWorkspaceSurfaceStore, r as reactExports, R as React, a7 as getQuestMarkdownContextFromFileId, c as copyToClipboard, j as jsxRuntimeExports, L as LoaderCircle, C as CircleAlert, a8 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-CLQauncb.js';
3
- import { C as Code } from './code-Cd7WfiWq.js';
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-Nt9hS4ck.js","assets/index-BQG-1s2o.css"])))=>i.map(i=>d[i]);
2
+ import { u as useI18n, a as useWorkspaceSurfaceStore, r as reactExports, R as React, a7 as getQuestMarkdownContextFromFileId, c as copyToClipboard, j as jsxRuntimeExports, L as LoaderCircle, C as CircleAlert, a8 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-Nt9hS4ck.js';
3
+ import { C as Code } from './code-5hC9d0VH.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-CLQauncb.js').then(n => n.el);return { getFileContent }},true?__vite__mapDeps([0,1]):void 0);
220
+ const { getFileContent } = await __vitePreload(async () => { const { getFileContent } = await import('./index-Nt9hS4ck.js').then(n => n.el);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 { w as createLucideIcon, r as reactExports, aa as useNavigate, n as useTabsStore, ab as useOpenFile, f as useFileTreeStore, v as BUILTIN_PLUGINS, j as jsxRuntimeExports, l as Search, N as Sparkles, ac as Terminal, ad as Settings, ae as Puzzle, af as BookOpen, k as FileText, ag as FileCode2, b as cn } from './index-CLQauncb.js';
2
- import { S as Sigma } from './sigma-D5aJWR8J.js';
3
- import { I as Image } from './image-LLOjkMHF.js';
1
+ import { w as createLucideIcon, r as reactExports, aa as useNavigate, n as useTabsStore, ab as useOpenFile, f as useFileTreeStore, v as BUILTIN_PLUGINS, j as jsxRuntimeExports, l as Search, N as Sparkles, ac as Terminal, ad as Settings, ae as Puzzle, af as BookOpen, k as FileText, ag as FileCode2, b as cn } from './index-Nt9hS4ck.js';
2
+ import { S as Sigma } from './sigma-CKbE5jJT.js';
3
+ import { I as Image } from './image-Dqe2X2tW.js';
4
4
 
5
5
  /**
6
6
  * @license lucide-react v0.511.0 - ISC
@@ -1,16 +1,16 @@
1
- import { w as createLucideIcon, j as jsxRuntimeExports, aO as Button, m as ChevronDown, d as Check, b as cn, r as reactExports, bx as ArrowLeft, c6 as ArrowRight, c7 as Separator, c8 as ArrowUp, c9 as Trash2, u as useI18n, o as useToast, V as getFileContent, L as LoaderCircle, e as Copy, C as CircleAlert, f as useFileTreeStore, a7 as getQuestMarkdownContextFromFileId, ca as rewriteQuestMarkdownForDisplay, cb as rewriteQuestMarkdownForSave, cc as uploadQuestDocumentAsset, U as updateFileContent } from './index-CLQauncb.js';
2
- import { P as PluginKey, a as Plugin, S as Slice, F as Fragment, T as TextSelection, A as AllSelection, N as NodeSelection, E as Extension, m as me, l as le, u as useCurrentEditor, w, b as P, f as findParentNodeClosestToPos, g as getEditorMarkdown, s as setEditorMarkdown, q, c as uploadNotebookAsset, r as resolveNotebookAssetUrl, d as defaultExtensions, J, U, I, e as T, B, O, h as S, K as K$1, G, i as ce, j as isSupportedNotebookAsset } from './NotebookEditor-BMXKrDRk.js';
1
+ import { w as createLucideIcon, j as jsxRuntimeExports, aO as Button, m as ChevronDown, d as Check, b as cn, r as reactExports, bx as ArrowLeft, c6 as ArrowRight, c7 as Separator, c8 as ArrowUp, c9 as Trash2, u as useI18n, o as useToast, V as getFileContent, L as LoaderCircle, e as Copy, C as CircleAlert, f as useFileTreeStore, a7 as getQuestMarkdownContextFromFileId, ca as rewriteQuestMarkdownForDisplay, cb as rewriteQuestMarkdownForSave, cc as uploadQuestDocumentAsset, U as updateFileContent } from './index-Nt9hS4ck.js';
2
+ import { P as PluginKey, a as Plugin, S as Slice, F as Fragment, T as TextSelection, A as AllSelection, N as NodeSelection, E as Extension, m as me, l as le, u as useCurrentEditor, w, b as P, f as findParentNodeClosestToPos, g as getEditorMarkdown, s as setEditorMarkdown, q, c as uploadNotebookAsset, r as resolveNotebookAssetUrl, d as defaultExtensions, J, U, I, e as T, B, O, h as S, K as K$1, G, i as ce, j as isSupportedNotebookAsset } from './NotebookEditor-SoJ8X-MO.js';
3
3
  import { a4 as BIT8, ai as BIT30, ab as min, $ as max, y as unexpectedCase, n as methodUnimplemented, aj as keys, u as every, H as setIfUndefined, D as create } from './function-B5QZkkHC.js';
4
4
  import { t as toBase64, e as encodeAny, i as isBrowser, d as doc, s as snapshot, D as Doc, a as applyUpdateV2, f as findIndexSS, b as iterateDeletedStructs, c as typeListToArraySnapshot, S as Snapshot, U as UndoManager, g as createSnapshot, h as isDeleted, Y as YXmlElement, j as YXmlText, k as YText, o as oneOf, C as ContentString, l as ContentFormat, m as createDeleteSet, I as Item, n as createRelativePositionFromTypeIndex, R as RelativePosition, p as findRootTypeKey, q as createID, r as createAbsolutePositionFromRelativePosition, u as isParentOf, v as ContentType, w as encodeStateVector, x as applyUpdate, y as mergeUpdates } from './yjs-DncrqiZ8.js';
5
- import { P as ProjectSyncClient } from './project-sync-CRJiucYO.js';
6
- import { S as SquareCheckBig } from './square-check-big-DUK_mnkS.js';
7
- import { C as Code } from './code-Cd7WfiWq.js';
8
- import { I as Image } from './image-LLOjkMHF.js';
9
- import { P as Popover, a as PopoverTrigger, b as PopoverContent } from './popover-CWJbJuYY.js';
10
- import { T as Trash, A as ArrowDown } from './trash-ChU3SEE3.js';
11
- import { S as Sigma } from './sigma-D5aJWR8J.js';
12
- import { u as useFileDiffOverlay } from './useFileDiffOverlay-C2OQaVWc.js';
13
- import { F as FileDiffPanel } from './file-diff-panel-DVoheLFq.js';
5
+ import { P as ProjectSyncClient } from './project-sync-BM5PkFH4.js';
6
+ import { S as SquareCheckBig } from './square-check-big-CZNGMgiB.js';
7
+ import { C as Code } from './code-5hC9d0VH.js';
8
+ import { I as Image } from './image-Dqe2X2tW.js';
9
+ import { P as Popover, a as PopoverTrigger, b as PopoverContent } from './popover-BWlolyxo.js';
10
+ import { T as Trash, A as ArrowDown } from './trash-DaB37xAz.js';
11
+ import { S as Sigma } from './sigma-CKbE5jJT.js';
12
+ import { u as useFileDiffOverlay } from './useFileDiffOverlay-Dowd1Ij4.js';
13
+ import { F as FileDiffPanel } from './file-diff-panel-DG1oT_Hj.js';
14
14
 
15
15
  /**
16
16
  * @license lucide-react v0.511.0 - ISC
@@ -1,4 +1,4 @@
1
- import { R as React, r as reactExports, aR as reactDomExports, e8 as ReactDOM, Q as create, j as jsxRuntimeExports, e9 as createSlot, am as useId, ea as Root, eb as Portal, ec as Overlay, ed as Content, aj as composeRefs, d7 as getDefaultExportFromCjs$2, ee as clsx, ef as shimExports$1, eg as katex, eh as Slot, D as resolveApiBaseUrl, ei as uploadFileAuto, ej as nanoid, ek as cx } from './index-CLQauncb.js';
1
+ import { R as React, r as reactExports, aR as reactDomExports, e8 as ReactDOM, Q as create, j as jsxRuntimeExports, e9 as createSlot, am as useId, ea as Root, eb as Portal, ec as Overlay, ed as Content, aj as composeRefs, d7 as getDefaultExportFromCjs$2, ee as clsx, ef as shimExports$1, eg as katex, eh as Slot, D as resolveApiBaseUrl, ei as uploadFileAuto, ej as nanoid, ek as cx } from './index-Nt9hS4ck.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, d5 as createRoot, d6 as getAugmentedNamespace, aR as reactDomExports, d7 as getDefaultExportFromCjs } from './index-CLQauncb.js';
1
+ import { j as jsxRuntimeExports, r as reactExports, R as React$1, _ as __vitePreload, d5 as createRoot, d6 as getAugmentedNamespace, aR as reactDomExports, d7 as getDefaultExportFromCjs } from './index-Nt9hS4ck.js';
2
2
 
3
3
  const PAGE_DIMENSIONS = {
4
4
  /** A4 width in points */
@@ -1,5 +1,5 @@
1
- import { n as useTabsStore, a as useWorkspaceSurfaceStore, o as useToast, p as useArxivStore, r as reactExports, q as buildArxivSummaryMarkdown, s as generateBibTeX, c as copyToClipboard, t as apiClient, v as BUILTIN_PLUGINS, j as jsxRuntimeExports, k as FileText, I as InfoTriangleIcon, b as cn, M as MarkdownRenderer, A as ArxivInfoModal, g as RefreshCw } from './index-CLQauncb.js';
2
- import { d as defaultExtensions, s as setEditorMarkdown, U, I, r as resolveNotebookAssetUrl } from './NotebookEditor-BMXKrDRk.js';
1
+ import { n as useTabsStore, a as useWorkspaceSurfaceStore, o as useToast, p as useArxivStore, r as reactExports, q as buildArxivSummaryMarkdown, s as generateBibTeX, c as copyToClipboard, t as apiClient, v as BUILTIN_PLUGINS, j as jsxRuntimeExports, k as FileText, I as InfoTriangleIcon, b as cn, M as MarkdownRenderer, A as ArxivInfoModal, g as RefreshCw } from './index-Nt9hS4ck.js';
2
+ import { d as defaultExtensions, s as setEditorMarkdown, U, I, r as resolveNotebookAssetUrl } from './NotebookEditor-SoJ8X-MO.js';
3
3
 
4
4
  function rewriteMarkdownImages(markdown, fileId) {
5
5
  if (!markdown) return markdown;
@@ -1,11 +1,11 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-CLQauncb.js","assets/index-BQG-1s2o.css"])))=>i.map(i=>d[i]);
2
- import { w as createLucideIcon, r as reactExports, u as useI18n, j as jsxRuntimeExports, a3 as Download, I as InfoTriangleIcon, b as cn, k as FileText, l as Search, X, m as ChevronDown, Q as create, t as apiClient, aT as useQueryClient, aN as useQuery, bR as useMutation, bS as Card, aO as Button, bT as DropdownMenu, bU as DropdownMenuTrigger, bV as DropdownMenuContent, bW as DropdownMenuLabel, bX as DropdownMenuItem, bY as SegmentedControl, br as CircleHelp, bZ as Textarea, i as isCliFileId, b_ as isQuestNodeId, b$ as getQuestNodeProjectId, n as useTabsStore, f as useFileTreeStore, a as useWorkspaceSurfaceStore, o as useToast, p as useArxivStore, z as useAuthStore, s as generateBibTeX, c as copyToClipboard, W as toFilesResourcePath, v as BUILTIN_PLUGINS, c0 as getFile, c1 as listProjectMembers, _ as __vitePreload, A as ArxivInfoModal, c2 as createFileObjectUrl, N as Sparkles, T as TriangleAlert, c3 as DropdownMenuRadioGroup, c4 as DropdownMenuRadioItem, c5 as MarkdownPreview } from './index-CLQauncb.js';
3
- import { a as acquireFileSocket } from './file-socket-B5kXFxZP.js';
4
- import { M as MessageSquare, i as isPdfEffectHandled, m as markPdfEffectHandled, c as consumePdfEffects } from './pdf-effect-queue-DlEr1_y5.js';
5
- import { Z as ZOOM_LEVELS, R as Rnd, g as getPageFromElement, a as PdfLoader, e as PDF_CMAP_PACKED, b as PDF_CMAP_URL, c as PDF_WORKER_SRC, d as PdfHighlighter } from './PdfLoader-CvcjJHXv.js';
6
- import { Z as ZoomOut, a as ZoomIn } from './zoom-out-rtX0FKya.js';
7
- import { C as ChevronUp } from './index-Dxa2eYMY.js';
8
- import { S as SquareCheckBig } from './square-check-big-DUK_mnkS.js';
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-Nt9hS4ck.js","assets/index-BQG-1s2o.css"])))=>i.map(i=>d[i]);
2
+ import { w as createLucideIcon, r as reactExports, u as useI18n, j as jsxRuntimeExports, a3 as Download, I as InfoTriangleIcon, b as cn, k as FileText, l as Search, X, m as ChevronDown, Q as create, t as apiClient, aT as useQueryClient, aN as useQuery, bR as useMutation, bS as Card, aO as Button, bT as DropdownMenu, bU as DropdownMenuTrigger, bV as DropdownMenuContent, bW as DropdownMenuLabel, bX as DropdownMenuItem, bY as SegmentedControl, br as CircleHelp, bZ as Textarea, i as isCliFileId, b_ as isQuestNodeId, b$ as getQuestNodeProjectId, n as useTabsStore, f as useFileTreeStore, a as useWorkspaceSurfaceStore, o as useToast, p as useArxivStore, z as useAuthStore, s as generateBibTeX, c as copyToClipboard, W as toFilesResourcePath, v as BUILTIN_PLUGINS, c0 as getFile, c1 as listProjectMembers, _ as __vitePreload, A as ArxivInfoModal, c2 as createFileObjectUrl, N as Sparkles, T as TriangleAlert, c3 as DropdownMenuRadioGroup, c4 as DropdownMenuRadioItem, c5 as MarkdownPreview } from './index-Nt9hS4ck.js';
3
+ import { a as acquireFileSocket } from './file-socket-BmdFYQlk.js';
4
+ import { M as MessageSquare, i as isPdfEffectHandled, m as markPdfEffectHandled, c as consumePdfEffects } from './pdf-effect-queue-BBTTQaO-.js';
5
+ import { Z as ZOOM_LEVELS, R as Rnd, g as getPageFromElement, a as PdfLoader, e as PDF_CMAP_PACKED, b as PDF_CMAP_URL, c as PDF_WORKER_SRC, d as PdfHighlighter } from './PdfLoader-DElVuHl9.js';
6
+ import { Z as ZoomOut, a as ZoomIn } from './zoom-out-dMZQMXzc.js';
7
+ import { C as ChevronUp } from './index-DVsMKK_y.js';
8
+ import { S as SquareCheckBig } from './square-check-big-CZNGMgiB.js';
9
9
 
10
10
  /**
11
11
  * @license lucide-react v0.511.0 - ISC
@@ -2483,7 +2483,7 @@ function PdfViewerPlugin({
2483
2483
  setCliPdfError(null);
2484
2484
  const loadCliPdf = async () => {
2485
2485
  try {
2486
- const { createFileObjectUrl: createFileObjectUrl2 } = await __vitePreload(async () => { const { createFileObjectUrl: createFileObjectUrl2 } = await import('./index-CLQauncb.js').then(n => n.el);return { createFileObjectUrl: createFileObjectUrl2 }},true?__vite__mapDeps([0,1]):void 0);
2486
+ const { createFileObjectUrl: createFileObjectUrl2 } = await __vitePreload(async () => { const { createFileObjectUrl: createFileObjectUrl2 } = await import('./index-Nt9hS4ck.js').then(n => n.el);return { createFileObjectUrl: createFileObjectUrl2 }},true?__vite__mapDeps([0,1]):void 0);
2487
2487
  objectUrl = await createFileObjectUrl2(fileId);
2488
2488
  if (cancelled) {
2489
2489
  URL.revokeObjectURL(objectUrl);
@@ -2941,7 +2941,7 @@ function PdfViewerPlugin({
2941
2941
  return;
2942
2942
  }
2943
2943
  (async () => {
2944
- const { downloadFileById } = await __vitePreload(async () => { const { downloadFileById } = await import('./index-CLQauncb.js').then(n => n.el);return { downloadFileById }},true?__vite__mapDeps([0,1]):void 0);
2944
+ const { downloadFileById } = await __vitePreload(async () => { const { downloadFileById } = await import('./index-Nt9hS4ck.js').then(n => n.el);return { downloadFileById }},true?__vite__mapDeps([0,1]):void 0);
2945
2945
  await downloadFileById(fileId, fileName);
2946
2946
  })();
2947
2947
  }, [fileId, fileName, pdfUrl]);
@@ -1,4 +1,4 @@
1
- import { w as createLucideIcon, u as useI18n, r as reactExports, f as useFileTreeStore, n as useTabsStore, aA as useLabCopilotStore, ab as useOpenFile, aB as listLabAgents, aC as listLabQuests, aD as searchFiles, aE as searchLabQuest, v as BUILTIN_PLUGINS, aF as resolveAgentDisplayName, aG as resolveAgentMentionLabel, aH as resolveQuestLabel, aI as formatRelativeTime, j as jsxRuntimeExports, l as Search, X, b as cn, aJ as FileIcon } from './index-CLQauncb.js';
1
+ import { w as createLucideIcon, u as useI18n, r as reactExports, f as useFileTreeStore, n as useTabsStore, aA as useLabCopilotStore, ab as useOpenFile, aB as listLabAgents, aC as listLabQuests, aD as searchFiles, aE as searchLabQuest, v as BUILTIN_PLUGINS, aF as resolveAgentDisplayName, aG as resolveAgentMentionLabel, aH as resolveQuestLabel, aI as formatRelativeTime, j as jsxRuntimeExports, l as Search, X, b as cn, aJ as FileIcon } from './index-Nt9hS4ck.js';
2
2
 
3
3
  /**
4
4
  * @license lucide-react v0.511.0 - ISC
@@ -1,8 +1,8 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-CLQauncb.js","assets/index-BQG-1s2o.css"])))=>i.map(i=>d[i]);
2
- import { r as reactExports, c as copyToClipboard, j as jsxRuntimeExports, L as LoaderCircle, T as TriangleAlert, k as FileText, l as Search, b as cn, d as Check, e as Copy, m as ChevronDown, X, _ as __vitePreload } from './index-CLQauncb.js';
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-Nt9hS4ck.js","assets/index-BQG-1s2o.css"])))=>i.map(i=>d[i]);
2
+ import { r as reactExports, c as copyToClipboard, j as jsxRuntimeExports, L as LoaderCircle, T as TriangleAlert, k as FileText, l as Search, b as cn, d as Check, e as Copy, m as ChevronDown, X, _ as __vitePreload } from './index-Nt9hS4ck.js';
3
3
  import { c as consumeFileJumpEffects } from './file-jump-queue-r5XKgJEV.js';
4
- import { H as Hash, W as WrapText } from './wrap-text-C7Qqh-om.js';
5
- import { C as ChevronUp } from './index-Dxa2eYMY.js';
4
+ import { H as Hash, W as WrapText } from './wrap-text-BGjAhAUq.js';
5
+ import { C as ChevronUp } from './index-DVsMKK_y.js';
6
6
 
7
7
  const LARGE_FILE_THRESHOLD = 1024 * 1024;
8
8
  const MAX_RENDERED_LINES = 1e4;
@@ -45,7 +45,7 @@ function TextViewerPlugin({
45
45
  setLoading(false);
46
46
  return;
47
47
  }
48
- const { getFileContent } = await __vitePreload(async () => { const { getFileContent } = await import('./index-CLQauncb.js').then(n => n.el);return { getFileContent }},true?__vite__mapDeps([0,1]):void 0);
48
+ const { getFileContent } = await __vitePreload(async () => { const { getFileContent } = await import('./index-Nt9hS4ck.js').then(n => n.el);return { getFileContent }},true?__vite__mapDeps([0,1]):void 0);
49
49
  const text = await getFileContent(context.resourceId);
50
50
  setContent(text);
51
51
  setFileSize(text.length);
@@ -1,14 +1,14 @@
1
- import { d7 as getDefaultExportFromCjs, r as reactExports, j as jsxRuntimeExports } from './index-CLQauncb.js';
2
- import { g as getVncUrl } from './AiManusChatView-CnJcXynW.js';
3
- import './file-content-B57zsL9y.js';
4
- import './select-CoHB7pvH.js';
5
- import './index-Dxa2eYMY.js';
1
+ import { d7 as getDefaultExportFromCjs, r as reactExports, j as jsxRuntimeExports } from './index-Nt9hS4ck.js';
2
+ import { g as getVncUrl } from './AiManusChatView-DaF9Nge_.js';
3
+ import './file-content-D1PxfOrp.js';
4
+ import './select-D4dAtrA8.js';
5
+ import './index-DVsMKK_y.js';
6
6
  import './file-jump-queue-r5XKgJEV.js';
7
- import './pdf-effect-queue-DlEr1_y5.js';
8
- import './file-diff-panel-DVoheLFq.js';
9
- import './bot-C_G4WtNI.js';
10
- import './NotebookEditor-BMXKrDRk.js';
11
- import './trash-ChU3SEE3.js';
7
+ import './pdf-effect-queue-BBTTQaO-.js';
8
+ import './file-diff-panel-DG1oT_Hj.js';
9
+ import './bot-v_RASACv.js';
10
+ import './NotebookEditor-SoJ8X-MO.js';
11
+ import './trash-DaB37xAz.js';
12
12
 
13
13
  var rfb = {};
14
14
 
@@ -1,4 +1,4 @@
1
- import { w as createLucideIcon } from './index-CLQauncb.js';
1
+ import { w as createLucideIcon } from './index-Nt9hS4ck.js';
2
2
 
3
3
  /**
4
4
  * @license lucide-react v0.511.0 - ISC
@@ -1,4 +1,4 @@
1
- import { w as createLucideIcon } from './index-CLQauncb.js';
1
+ import { w as createLucideIcon } from './index-Nt9hS4ck.js';
2
2
 
3
3
  /**
4
4
  * @license lucide-react v0.511.0 - ISC
@@ -1,4 +1,4 @@
1
- import { Q as create, U as updateFileContent, V as getFileContent } from './index-CLQauncb.js';
1
+ import { Q as create, U as updateFileContent, V as getFileContent } from './index-Nt9hS4ck.js';
2
2
 
3
3
  function openDb({ dbName, version, storeName }) {
4
4
  return new Promise((resolve, reject) => {
@@ -1,4 +1,4 @@
1
- import { r as reactExports, j as jsxRuntimeExports, X, b as cn } from './index-CLQauncb.js';
1
+ import { r as reactExports, j as jsxRuntimeExports, X, b as cn } from './index-Nt9hS4ck.js';
2
2
 
3
3
  const CHANGE_LABELS = {
4
4
  create: "Created",
@@ -1,4 +1,4 @@
1
- import { x as supportsSocketIo, y as lookup, z as useAuthStore, D as resolveApiBaseUrl } from './index-CLQauncb.js';
1
+ import { x as supportsSocketIo, y as lookup, z as useAuthStore, D as resolveApiBaseUrl } from './index-Nt9hS4ck.js';
2
2
 
3
3
  const getApiBaseUrl = resolveApiBaseUrl;
4
4
  const SOCKET_CACHE = /* @__PURE__ */ new Map();
@@ -1,4 +1,4 @@
1
- import { w as createLucideIcon } from './index-CLQauncb.js';
1
+ import { w as createLucideIcon } from './index-Nt9hS4ck.js';
2
2
 
3
3
  /**
4
4
  * @license lucide-react v0.511.0 - ISC
@@ -1,4 +1,4 @@
1
- import { w as createLucideIcon } from './index-CLQauncb.js';
1
+ import { w as createLucideIcon } from './index-Nt9hS4ck.js';
2
2
 
3
3
  /**
4
4
  * @license lucide-react v0.511.0 - ISC
@@ -1,17 +1,17 @@
1
- export { E as EditorLoading, N as NotebookEditor, N as NotebookEditorComponent, a as NotebookToolbar, N as default } from './NotebookEditor-BTVYRGkm.js';
2
- import './index-CLQauncb.js';
3
- import './NotebookEditor-BMXKrDRk.js';
1
+ export { E as EditorLoading, N as NotebookEditor, N as NotebookEditorComponent, a as NotebookToolbar, N as default } from './NotebookEditor-3kVDSOBo.js';
2
+ import './index-Nt9hS4ck.js';
3
+ import './NotebookEditor-SoJ8X-MO.js';
4
4
  import './function-B5QZkkHC.js';
5
5
  import './yjs-DncrqiZ8.js';
6
- import './project-sync-CRJiucYO.js';
7
- import './square-check-big-DUK_mnkS.js';
8
- import './code-Cd7WfiWq.js';
9
- import './image-LLOjkMHF.js';
10
- import './popover-CWJbJuYY.js';
11
- import './trash-ChU3SEE3.js';
12
- import './sigma-D5aJWR8J.js';
13
- import './useFileDiffOverlay-C2OQaVWc.js';
14
- import './file-diff-panel-DVoheLFq.js';
6
+ import './project-sync-BM5PkFH4.js';
7
+ import './square-check-big-CZNGMgiB.js';
8
+ import './code-5hC9d0VH.js';
9
+ import './image-Dqe2X2tW.js';
10
+ import './popover-BWlolyxo.js';
11
+ import './trash-DaB37xAz.js';
12
+ import './sigma-CKbE5jJT.js';
13
+ import './useFileDiffOverlay-Dowd1Ij4.js';
14
+ import './file-diff-panel-DG1oT_Hj.js';
15
15
 
16
16
  const notebookPluginManifest = {
17
17
  // ============================================================