@researai/deepscientist 1.5.1 → 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.
- package/README.md +69 -1
- package/bin/ds.js +2239 -153
- package/docs/en/00_QUICK_START.md +60 -20
- package/docs/en/01_SETTINGS_REFERENCE.md +20 -20
- package/docs/en/02_START_RESEARCH_GUIDE.md +11 -11
- package/docs/en/03_QQ_CONNECTOR_GUIDE.md +10 -10
- package/docs/en/05_TUI_GUIDE.md +1 -1
- package/docs/en/09_DOCTOR.md +48 -4
- package/docs/en/90_ARCHITECTURE.md +4 -2
- package/docs/zh/00_QUICK_START.md +60 -20
- package/docs/zh/01_SETTINGS_REFERENCE.md +21 -21
- package/docs/zh/02_START_RESEARCH_GUIDE.md +19 -19
- package/docs/zh/03_QQ_CONNECTOR_GUIDE.md +10 -10
- package/docs/zh/05_TUI_GUIDE.md +1 -1
- package/docs/zh/09_DOCTOR.md +46 -4
- package/install.sh +125 -8
- package/package.json +2 -1
- package/pyproject.toml +1 -1
- package/src/deepscientist/__init__.py +6 -1
- package/src/deepscientist/artifact/service.py +553 -26
- package/src/deepscientist/bash_exec/monitor.py +23 -4
- package/src/deepscientist/bash_exec/runtime.py +3 -0
- package/src/deepscientist/bash_exec/service.py +132 -4
- package/src/deepscientist/bridges/base.py +10 -19
- package/src/deepscientist/channels/discord_gateway.py +25 -2
- package/src/deepscientist/channels/feishu_long_connection.py +41 -3
- package/src/deepscientist/channels/qq.py +524 -64
- package/src/deepscientist/channels/qq_gateway.py +22 -3
- package/src/deepscientist/channels/relay.py +429 -90
- package/src/deepscientist/channels/slack_socket.py +29 -5
- package/src/deepscientist/channels/telegram_polling.py +25 -2
- package/src/deepscientist/channels/whatsapp_local_session.py +32 -4
- package/src/deepscientist/cli.py +27 -0
- package/src/deepscientist/config/models.py +6 -40
- package/src/deepscientist/config/service.py +165 -156
- package/src/deepscientist/connector_profiles.py +346 -0
- package/src/deepscientist/connector_runtime.py +88 -43
- package/src/deepscientist/daemon/api/handlers.py +65 -11
- package/src/deepscientist/daemon/api/router.py +4 -2
- package/src/deepscientist/daemon/app.py +772 -219
- package/src/deepscientist/doctor.py +69 -2
- package/src/deepscientist/gitops/diff.py +3 -0
- package/src/deepscientist/home.py +25 -2
- package/src/deepscientist/mcp/context.py +3 -1
- package/src/deepscientist/mcp/server.py +66 -7
- package/src/deepscientist/migration.py +114 -0
- package/src/deepscientist/prompts/builder.py +71 -3
- package/src/deepscientist/qq_profiles.py +186 -0
- package/src/deepscientist/quest/layout.py +1 -0
- package/src/deepscientist/quest/service.py +70 -12
- package/src/deepscientist/quest/stage_views.py +46 -0
- package/src/deepscientist/runners/codex.py +2 -0
- package/src/deepscientist/shared.py +44 -17
- package/src/prompts/connectors/lingzhu.md +3 -0
- package/src/prompts/connectors/qq.md +42 -2
- package/src/prompts/system.md +123 -10
- package/src/skills/analysis-campaign/SKILL.md +35 -6
- package/src/skills/baseline/SKILL.md +73 -32
- package/src/skills/decision/SKILL.md +4 -3
- package/src/skills/experiment/SKILL.md +28 -6
- package/src/skills/finalize/SKILL.md +5 -2
- package/src/skills/idea/SKILL.md +2 -2
- package/src/skills/intake-audit/SKILL.md +2 -2
- package/src/skills/rebuttal/SKILL.md +4 -2
- package/src/skills/review/SKILL.md +4 -2
- package/src/skills/scout/SKILL.md +2 -2
- package/src/skills/write/SKILL.md +2 -2
- package/src/tui/package.json +1 -1
- package/src/ui/dist/assets/{AiManusChatView-w5lF2Ttt.js → AiManusChatView-qzChi9uh.js} +67 -94
- package/src/ui/dist/assets/{AnalysisPlugin-DJOED79I.js → AnalysisPlugin-CcC_-UqN.js} +1 -1
- package/src/ui/dist/assets/{AutoFigurePlugin-DaG61Y0M.js → AutoFigurePlugin-DD8LkJLe.js} +5 -5
- package/src/ui/dist/assets/{CliPlugin-CV4LqUB_.js → CliPlugin-DJJFfVmW.js} +17 -110
- package/src/ui/dist/assets/{CodeEditorPlugin-DylfAea4.js → CodeEditorPlugin-CrjkHNLh.js} +8 -8
- package/src/ui/dist/assets/{CodeViewerPlugin-F7saY0LM.js → CodeViewerPlugin-obnD6G5R.js} +5 -5
- package/src/ui/dist/assets/{DocViewerPlugin-COP0c7jf.js → DocViewerPlugin-DB9SUQVd.js} +3 -3
- package/src/ui/dist/assets/{GitDiffViewerPlugin-CAS05pT9.js → GitDiffViewerPlugin-DZLlNlD2.js} +1 -1
- package/src/ui/dist/assets/{ImageViewerPlugin-Bco1CN_w.js → ImageViewerPlugin-BGwfDZ0Y.js} +5 -5
- package/src/ui/dist/assets/{LabCopilotPanel-CvMlCD99.js → LabCopilotPanel-dfLptQcR.js} +10 -10
- package/src/ui/dist/assets/{LabPlugin-BYankkE4.js → LabPlugin-CeGjAl3A.js} +1 -1
- package/src/ui/dist/assets/{LatexPlugin-LDSMR-t-.js → LatexPlugin-BBJ7kd1V.js} +7 -7
- package/src/ui/dist/assets/{MarkdownViewerPlugin-B7o80jgm.js → MarkdownViewerPlugin-DKZi7BcB.js} +4 -4
- package/src/ui/dist/assets/{MarketplacePlugin-CM6ZOcpC.js → MarketplacePlugin-C_k-9jD0.js} +3 -3
- package/src/ui/dist/assets/{NotebookEditor-Dc61cXmK.js → NotebookEditor-4R88_BMO.js} +1 -1
- package/src/ui/dist/assets/{PdfLoader-DWowuQwx.js → PdfLoader-DwEFQLrw.js} +1 -1
- package/src/ui/dist/assets/{PdfMarkdownPlugin-BsJM1q_a.js → PdfMarkdownPlugin-D-jdsqF8.js} +3 -3
- package/src/ui/dist/assets/{PdfViewerPlugin-DB2eEEFQ.js → PdfViewerPlugin-CmeBGDY0.js} +10 -10
- package/src/ui/dist/assets/{SearchPlugin-CraThSvt.js → SearchPlugin-Dlz2WKJ4.js} +1 -1
- package/src/ui/dist/assets/{Stepper-CgocRTPq.js → Stepper-ClOgzWM3.js} +1 -1
- package/src/ui/dist/assets/{TextViewerPlugin-B1JGhKtd.js → TextViewerPlugin-DDQWxibk.js} +4 -4
- package/src/ui/dist/assets/{VNCViewer-CclFC7FM.js → VNCViewer-CJXT0Nm8.js} +9 -9
- package/src/ui/dist/assets/{bibtex-D3IKsMl7.js → bibtex-DLr4Rtk4.js} +1 -1
- package/src/ui/dist/assets/{code-BP37Xx0p.js → code-DgKK408Y.js} +1 -1
- package/src/ui/dist/assets/{file-content-BAJSu-9r.js → file-content-6HBqQnvQ.js} +1 -1
- package/src/ui/dist/assets/{file-diff-panel-DUGeCTuy.js → file-diff-panel-Dhu0TbBM.js} +1 -1
- package/src/ui/dist/assets/{file-socket-CXc1Ojf7.js → file-socket-CP3iwVZG.js} +1 -1
- package/src/ui/dist/assets/{file-utils-2J21jt7M.js → file-utils-BsS-Aw68.js} +1 -1
- package/src/ui/dist/assets/{image-CMMmgvcn.js → image-ByeK-Zcv.js} +1 -1
- package/src/ui/dist/assets/{index-DmwmJmbW.js → index-BLjo5--a.js} +33610 -31016
- package/src/ui/dist/assets/{index-CWgMgpow.js → index-BdsE0uRz.js} +11 -11
- package/src/ui/dist/assets/{index-s7aHnNQ4.js → index-C-eX-N6A.js} +1 -1
- package/src/ui/dist/assets/{index-KGt-z-dD.css → index-CuQhlrR-.css} +2747 -2
- package/src/ui/dist/assets/{index-BaVumsQT.js → index-DyremSIv.js} +2 -2
- package/src/ui/dist/assets/{message-square-CQRfX0Am.js → message-square-DnagiLnc.js} +1 -1
- package/src/ui/dist/assets/{monaco-B4TbdsrF.js → monaco-4kBFeprs.js} +1 -1
- package/src/ui/dist/assets/{popover-B8Rokodk.js → popover-hRCXZzs2.js} +1 -1
- package/src/ui/dist/assets/{project-sync-D_i96KH4.js → project-sync-O_85YuP6.js} +1 -1
- package/src/ui/dist/assets/{sigma-D12PnzCN.js → sigma-DvKopSnL.js} +1 -1
- package/src/ui/dist/assets/{tooltip-B6YrI4aJ.js → tooltip-BmlPc6kc.js} +1 -1
- package/src/ui/dist/assets/{trash-Bc8jGp0V.js → trash-n-UvdZFR.js} +1 -1
- package/src/ui/dist/assets/{useCliAccess-mXVCYSZ-.js → useCliAccess-WDd3_wIh.js} +1 -1
- package/src/ui/dist/assets/{useFileDiffOverlay-Bg6b9H9K.js → useFileDiffOverlay-rXLIL2NF.js} +1 -1
- package/src/ui/dist/assets/{wrap-text-Drh5GEnL.js → wrap-text-qIYQ4a_W.js} +1 -1
- package/src/ui/dist/assets/{zoom-out-CJj9DZLn.js → zoom-out-fZXCEFsy.js} +1 -1
- package/src/ui/dist/index.html +2 -2
- package/uv.lock +1155 -0
- package/src/ui/dist/assets/LabPlugin-D9jVIo0A.css +0 -2698
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-
|
|
2
|
-
import { z as createLucideIcon, r as reactExports,
|
|
3
|
-
import { u as useFileContentStore } from './file-content-
|
|
4
|
-
import { n as normalizePath$1, j as joinPath, s as splitPath, S as Server, L as Layers } from './file-utils-
|
|
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-
|
|
8
|
-
import { M as MessageSquare } from './message-square-
|
|
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-
|
|
10
|
-
import { T as TooltipProvider, a as Tooltip, b as TooltipTrigger, c as TooltipContent } from './tooltip-
|
|
11
|
-
import { T as Trash, A as ArrowDown } from './trash-
|
|
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
|
|
@@ -34,34 +34,10 @@ const Archive = createLucideIcon("archive", __iconNode$k);
|
|
|
34
34
|
|
|
35
35
|
|
|
36
36
|
const __iconNode$j = [
|
|
37
|
-
["path", { d: "M12 7v14", key: "1akyts" }],
|
|
38
|
-
["path", { d: "M16 12h2", key: "7q9ll5" }],
|
|
39
|
-
["path", { d: "M16 8h2", key: "msurwy" }],
|
|
40
|
-
[
|
|
41
|
-
"path",
|
|
42
|
-
{
|
|
43
|
-
d: "M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",
|
|
44
|
-
key: "ruj8y"
|
|
45
|
-
}
|
|
46
|
-
],
|
|
47
|
-
["path", { d: "M6 12h2", key: "32wvfc" }],
|
|
48
|
-
["path", { d: "M6 8h2", key: "30oboj" }]
|
|
49
|
-
];
|
|
50
|
-
const BookOpenText = createLucideIcon("book-open-text", __iconNode$j);
|
|
51
|
-
|
|
52
|
-
/**
|
|
53
|
-
* @license lucide-react v0.511.0 - ISC
|
|
54
|
-
*
|
|
55
|
-
* This source code is licensed under the ISC license.
|
|
56
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
57
|
-
*/
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
const __iconNode$i = [
|
|
61
37
|
["path", { d: "M21.801 10A10 10 0 1 1 17 3.335", key: "yps3ct" }],
|
|
62
38
|
["path", { d: "m9 11 3 3L22 4", key: "1pflzl" }]
|
|
63
39
|
];
|
|
64
|
-
const CircleCheckBig = createLucideIcon("circle-check-big", __iconNode$
|
|
40
|
+
const CircleCheckBig = createLucideIcon("circle-check-big", __iconNode$j);
|
|
65
41
|
|
|
66
42
|
/**
|
|
67
43
|
* @license lucide-react v0.511.0 - ISC
|
|
@@ -71,12 +47,12 @@ const CircleCheckBig = createLucideIcon("circle-check-big", __iconNode$i);
|
|
|
71
47
|
*/
|
|
72
48
|
|
|
73
49
|
|
|
74
|
-
const __iconNode$
|
|
50
|
+
const __iconNode$i = [
|
|
75
51
|
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
|
|
76
52
|
["line", { x1: "10", x2: "10", y1: "15", y2: "9", key: "c1nkhi" }],
|
|
77
53
|
["line", { x1: "14", x2: "14", y1: "15", y2: "9", key: "h65svq" }]
|
|
78
54
|
];
|
|
79
|
-
const CirclePause = createLucideIcon("circle-pause", __iconNode$
|
|
55
|
+
const CirclePause = createLucideIcon("circle-pause", __iconNode$i);
|
|
80
56
|
|
|
81
57
|
/**
|
|
82
58
|
* @license lucide-react v0.511.0 - ISC
|
|
@@ -86,13 +62,13 @@ const CirclePause = createLucideIcon("circle-pause", __iconNode$h);
|
|
|
86
62
|
*/
|
|
87
63
|
|
|
88
64
|
|
|
89
|
-
const __iconNode$
|
|
65
|
+
const __iconNode$h = [
|
|
90
66
|
[
|
|
91
67
|
"path",
|
|
92
68
|
{ d: "M15 6v12a3 3 0 1 0 3-3H6a3 3 0 1 0 3 3V6a3 3 0 1 0-3 3h12a3 3 0 1 0-3-3", key: "11bfej" }
|
|
93
69
|
]
|
|
94
70
|
];
|
|
95
|
-
const Command = createLucideIcon("command", __iconNode$
|
|
71
|
+
const Command = createLucideIcon("command", __iconNode$h);
|
|
96
72
|
|
|
97
73
|
/**
|
|
98
74
|
* @license lucide-react v0.511.0 - ISC
|
|
@@ -102,7 +78,7 @@ const Command = createLucideIcon("command", __iconNode$g);
|
|
|
102
78
|
*/
|
|
103
79
|
|
|
104
80
|
|
|
105
|
-
const __iconNode$
|
|
81
|
+
const __iconNode$g = [
|
|
106
82
|
["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }],
|
|
107
83
|
[
|
|
108
84
|
"path",
|
|
@@ -111,7 +87,7 @@ const __iconNode$f = [
|
|
|
111
87
|
["path", { d: "m9 18-1.5-1.5", key: "1j6qii" }],
|
|
112
88
|
["circle", { cx: "5", cy: "14", r: "3", key: "ufru5t" }]
|
|
113
89
|
];
|
|
114
|
-
const FileSearch = createLucideIcon("file-search", __iconNode$
|
|
90
|
+
const FileSearch = createLucideIcon("file-search", __iconNode$g);
|
|
115
91
|
|
|
116
92
|
/**
|
|
117
93
|
* @license lucide-react v0.511.0 - ISC
|
|
@@ -121,12 +97,12 @@ const FileSearch = createLucideIcon("file-search", __iconNode$f);
|
|
|
121
97
|
*/
|
|
122
98
|
|
|
123
99
|
|
|
124
|
-
const __iconNode$
|
|
100
|
+
const __iconNode$f = [
|
|
125
101
|
["circle", { cx: "12", cy: "12", r: "3", key: "1v7zrd" }],
|
|
126
102
|
["line", { x1: "3", x2: "9", y1: "12", y2: "12", key: "1dyftd" }],
|
|
127
103
|
["line", { x1: "15", x2: "21", y1: "12", y2: "12", key: "oup4p8" }]
|
|
128
104
|
];
|
|
129
|
-
const GitCommitHorizontal = createLucideIcon("git-commit-horizontal", __iconNode$
|
|
105
|
+
const GitCommitHorizontal = createLucideIcon("git-commit-horizontal", __iconNode$f);
|
|
130
106
|
|
|
131
107
|
/**
|
|
132
108
|
* @license lucide-react v0.511.0 - ISC
|
|
@@ -136,12 +112,12 @@ const GitCommitHorizontal = createLucideIcon("git-commit-horizontal", __iconNode
|
|
|
136
112
|
*/
|
|
137
113
|
|
|
138
114
|
|
|
139
|
-
const __iconNode$
|
|
115
|
+
const __iconNode$e = [
|
|
140
116
|
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
|
|
141
117
|
["path", { d: "M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20", key: "13o1zl" }],
|
|
142
118
|
["path", { d: "M2 12h20", key: "9i4pu4" }]
|
|
143
119
|
];
|
|
144
|
-
const Globe = createLucideIcon("globe", __iconNode$
|
|
120
|
+
const Globe = createLucideIcon("globe", __iconNode$e);
|
|
145
121
|
|
|
146
122
|
/**
|
|
147
123
|
* @license lucide-react v0.511.0 - ISC
|
|
@@ -151,7 +127,7 @@ const Globe = createLucideIcon("globe", __iconNode$d);
|
|
|
151
127
|
*/
|
|
152
128
|
|
|
153
129
|
|
|
154
|
-
const __iconNode$
|
|
130
|
+
const __iconNode$d = [
|
|
155
131
|
[
|
|
156
132
|
"path",
|
|
157
133
|
{
|
|
@@ -162,7 +138,7 @@ const __iconNode$c = [
|
|
|
162
138
|
["path", { d: "M22 10v6", key: "1lu8f3" }],
|
|
163
139
|
["path", { d: "M6 12.5V16a6 3 0 0 0 12 0v-3.5", key: "1r8lef" }]
|
|
164
140
|
];
|
|
165
|
-
const GraduationCap = createLucideIcon("graduation-cap", __iconNode$
|
|
141
|
+
const GraduationCap = createLucideIcon("graduation-cap", __iconNode$d);
|
|
166
142
|
|
|
167
143
|
/**
|
|
168
144
|
* @license lucide-react v0.511.0 - ISC
|
|
@@ -172,7 +148,7 @@ const GraduationCap = createLucideIcon("graduation-cap", __iconNode$c);
|
|
|
172
148
|
*/
|
|
173
149
|
|
|
174
150
|
|
|
175
|
-
const __iconNode$
|
|
151
|
+
const __iconNode$c = [
|
|
176
152
|
["path", { d: "M10 17H7l-4 4v-7", key: "1r71xu" }],
|
|
177
153
|
["path", { d: "M14 17h1", key: "nufu4t" }],
|
|
178
154
|
["path", { d: "M14 3h1", key: "1ec4yj" }],
|
|
@@ -183,7 +159,7 @@ const __iconNode$b = [
|
|
|
183
159
|
["path", { d: "M5 3a2 2 0 0 0-2 2", key: "y57alp" }],
|
|
184
160
|
["path", { d: "M9 3h1", key: "1yesri" }]
|
|
185
161
|
];
|
|
186
|
-
const MessageSquareDashed = createLucideIcon("message-square-dashed", __iconNode$
|
|
162
|
+
const MessageSquareDashed = createLucideIcon("message-square-dashed", __iconNode$c);
|
|
187
163
|
|
|
188
164
|
/**
|
|
189
165
|
* @license lucide-react v0.511.0 - ISC
|
|
@@ -193,7 +169,7 @@ const MessageSquareDashed = createLucideIcon("message-square-dashed", __iconNode
|
|
|
193
169
|
*/
|
|
194
170
|
|
|
195
171
|
|
|
196
|
-
const __iconNode$
|
|
172
|
+
const __iconNode$b = [
|
|
197
173
|
["path", { d: "M12 13v8", key: "1l5pq0" }],
|
|
198
174
|
["path", { d: "M12 3v3", key: "1n5kay" }],
|
|
199
175
|
[
|
|
@@ -204,7 +180,7 @@ const __iconNode$a = [
|
|
|
204
180
|
}
|
|
205
181
|
]
|
|
206
182
|
];
|
|
207
|
-
const Milestone = createLucideIcon("milestone", __iconNode$
|
|
183
|
+
const Milestone = createLucideIcon("milestone", __iconNode$b);
|
|
208
184
|
|
|
209
185
|
/**
|
|
210
186
|
* @license lucide-react v0.511.0 - ISC
|
|
@@ -214,13 +190,13 @@ const Milestone = createLucideIcon("milestone", __iconNode$a);
|
|
|
214
190
|
*/
|
|
215
191
|
|
|
216
192
|
|
|
217
|
-
const __iconNode$
|
|
193
|
+
const __iconNode$a = [
|
|
218
194
|
["path", { d: "m14 10 7-7", key: "oa77jy" }],
|
|
219
195
|
["path", { d: "M20 10h-6V4", key: "mjg0md" }],
|
|
220
196
|
["path", { d: "m3 21 7-7", key: "tjx5ai" }],
|
|
221
197
|
["path", { d: "M4 14h6v6", key: "rmj7iw" }]
|
|
222
198
|
];
|
|
223
|
-
const Minimize2 = createLucideIcon("minimize-2", __iconNode$
|
|
199
|
+
const Minimize2 = createLucideIcon("minimize-2", __iconNode$a);
|
|
224
200
|
|
|
225
201
|
/**
|
|
226
202
|
* @license lucide-react v0.511.0 - ISC
|
|
@@ -230,7 +206,7 @@ const Minimize2 = createLucideIcon("minimize-2", __iconNode$9);
|
|
|
230
206
|
*/
|
|
231
207
|
|
|
232
208
|
|
|
233
|
-
const __iconNode$
|
|
209
|
+
const __iconNode$9 = [
|
|
234
210
|
["path", { d: "M13.234 20.252 21 12.3", key: "1cbrk9" }],
|
|
235
211
|
[
|
|
236
212
|
"path",
|
|
@@ -240,7 +216,7 @@ const __iconNode$8 = [
|
|
|
240
216
|
}
|
|
241
217
|
]
|
|
242
218
|
];
|
|
243
|
-
const Paperclip = createLucideIcon("paperclip", __iconNode$
|
|
219
|
+
const Paperclip = createLucideIcon("paperclip", __iconNode$9);
|
|
244
220
|
|
|
245
221
|
/**
|
|
246
222
|
* @license lucide-react v0.511.0 - ISC
|
|
@@ -250,7 +226,7 @@ const Paperclip = createLucideIcon("paperclip", __iconNode$8);
|
|
|
250
226
|
*/
|
|
251
227
|
|
|
252
228
|
|
|
253
|
-
const __iconNode$
|
|
229
|
+
const __iconNode$8 = [
|
|
254
230
|
["path", { d: "M12 20h9", key: "t2du7b" }],
|
|
255
231
|
[
|
|
256
232
|
"path",
|
|
@@ -261,7 +237,7 @@ const __iconNode$7 = [
|
|
|
261
237
|
],
|
|
262
238
|
["path", { d: "m15 5 3 3", key: "1w25hb" }]
|
|
263
239
|
];
|
|
264
|
-
const PencilLine = createLucideIcon("pencil-line", __iconNode$
|
|
240
|
+
const PencilLine = createLucideIcon("pencil-line", __iconNode$8);
|
|
265
241
|
|
|
266
242
|
/**
|
|
267
243
|
* @license lucide-react v0.511.0 - ISC
|
|
@@ -271,7 +247,7 @@ const PencilLine = createLucideIcon("pencil-line", __iconNode$7);
|
|
|
271
247
|
*/
|
|
272
248
|
|
|
273
249
|
|
|
274
|
-
const __iconNode$
|
|
250
|
+
const __iconNode$7 = [
|
|
275
251
|
["path", { d: "M12 17v5", key: "bb1du9" }],
|
|
276
252
|
["path", { d: "M15 9.34V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H7.89", key: "znwnzq" }],
|
|
277
253
|
["path", { d: "m2 2 20 20", key: "1ooewy" }],
|
|
@@ -283,7 +259,7 @@ const __iconNode$6 = [
|
|
|
283
259
|
}
|
|
284
260
|
]
|
|
285
261
|
];
|
|
286
|
-
const PinOff = createLucideIcon("pin-off", __iconNode$
|
|
262
|
+
const PinOff = createLucideIcon("pin-off", __iconNode$7);
|
|
287
263
|
|
|
288
264
|
/**
|
|
289
265
|
* @license lucide-react v0.511.0 - ISC
|
|
@@ -293,7 +269,7 @@ const PinOff = createLucideIcon("pin-off", __iconNode$6);
|
|
|
293
269
|
*/
|
|
294
270
|
|
|
295
271
|
|
|
296
|
-
const __iconNode$
|
|
272
|
+
const __iconNode$6 = [
|
|
297
273
|
["path", { d: "M12 17v5", key: "bb1du9" }],
|
|
298
274
|
[
|
|
299
275
|
"path",
|
|
@@ -303,7 +279,7 @@ const __iconNode$5 = [
|
|
|
303
279
|
}
|
|
304
280
|
]
|
|
305
281
|
];
|
|
306
|
-
const Pin = createLucideIcon("pin", __iconNode$
|
|
282
|
+
const Pin = createLucideIcon("pin", __iconNode$6);
|
|
307
283
|
|
|
308
284
|
/**
|
|
309
285
|
* @license lucide-react v0.511.0 - ISC
|
|
@@ -313,13 +289,13 @@ const Pin = createLucideIcon("pin", __iconNode$5);
|
|
|
313
289
|
*/
|
|
314
290
|
|
|
315
291
|
|
|
316
|
-
const __iconNode$
|
|
292
|
+
const __iconNode$5 = [
|
|
317
293
|
["path", { d: "M12 22v-5", key: "1ega77" }],
|
|
318
294
|
["path", { d: "M9 8V2", key: "14iosj" }],
|
|
319
295
|
["path", { d: "M15 8V2", key: "18g5xt" }],
|
|
320
296
|
["path", { d: "M18 8v5a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V8Z", key: "osxo6l" }]
|
|
321
297
|
];
|
|
322
|
-
const Plug = createLucideIcon("plug", __iconNode$
|
|
298
|
+
const Plug = createLucideIcon("plug", __iconNode$5);
|
|
323
299
|
|
|
324
300
|
/**
|
|
325
301
|
* @license lucide-react v0.511.0 - ISC
|
|
@@ -329,13 +305,13 @@ const Plug = createLucideIcon("plug", __iconNode$4);
|
|
|
329
305
|
*/
|
|
330
306
|
|
|
331
307
|
|
|
332
|
-
const __iconNode$
|
|
308
|
+
const __iconNode$4 = [
|
|
333
309
|
["path", { d: "M21 12a9 9 0 0 0-9-9 9.75 9.75 0 0 0-6.74 2.74L3 8", key: "14sxne" }],
|
|
334
310
|
["path", { d: "M3 3v5h5", key: "1xhq8a" }],
|
|
335
311
|
["path", { d: "M3 12a9 9 0 0 0 9 9 9.75 9.75 0 0 0 6.74-2.74L21 16", key: "1hlbsb" }],
|
|
336
312
|
["path", { d: "M16 16h5v5", key: "ccwih5" }]
|
|
337
313
|
];
|
|
338
|
-
const RefreshCcw = createLucideIcon("refresh-ccw", __iconNode$
|
|
314
|
+
const RefreshCcw = createLucideIcon("refresh-ccw", __iconNode$4);
|
|
339
315
|
|
|
340
316
|
/**
|
|
341
317
|
* @license lucide-react v0.511.0 - ISC
|
|
@@ -345,12 +321,32 @@ const RefreshCcw = createLucideIcon("refresh-ccw", __iconNode$3);
|
|
|
345
321
|
*/
|
|
346
322
|
|
|
347
323
|
|
|
348
|
-
const __iconNode$
|
|
324
|
+
const __iconNode$3 = [
|
|
349
325
|
["circle", { cx: "6", cy: "19", r: "3", key: "1kj8tv" }],
|
|
350
326
|
["path", { d: "M9 19h8.5a3.5 3.5 0 0 0 0-7h-11a3.5 3.5 0 0 1 0-7H15", key: "1d8sl" }],
|
|
351
327
|
["circle", { cx: "18", cy: "5", r: "3", key: "gq8acd" }]
|
|
352
328
|
];
|
|
353
|
-
const Route = createLucideIcon("route", __iconNode$
|
|
329
|
+
const Route = createLucideIcon("route", __iconNode$3);
|
|
330
|
+
|
|
331
|
+
/**
|
|
332
|
+
* @license lucide-react v0.511.0 - ISC
|
|
333
|
+
*
|
|
334
|
+
* This source code is licensed under the ISC license.
|
|
335
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
336
|
+
*/
|
|
337
|
+
|
|
338
|
+
|
|
339
|
+
const __iconNode$2 = [
|
|
340
|
+
[
|
|
341
|
+
"path",
|
|
342
|
+
{
|
|
343
|
+
d: "M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",
|
|
344
|
+
key: "1ffxy3"
|
|
345
|
+
}
|
|
346
|
+
],
|
|
347
|
+
["path", { d: "m21.854 2.147-10.94 10.939", key: "12cjpa" }]
|
|
348
|
+
];
|
|
349
|
+
const Send = createLucideIcon("send", __iconNode$2);
|
|
354
350
|
|
|
355
351
|
/**
|
|
356
352
|
* @license lucide-react v0.511.0 - ISC
|
|
@@ -385,29 +381,6 @@ const __iconNode = [
|
|
|
385
381
|
];
|
|
386
382
|
const UserPlus = createLucideIcon("user-plus", __iconNode);
|
|
387
383
|
|
|
388
|
-
const notify = (node) => !node.isLayoutDirty && node.willUpdate(false);
|
|
389
|
-
function nodeGroup() {
|
|
390
|
-
const nodes = new Set();
|
|
391
|
-
const subscriptions = new WeakMap();
|
|
392
|
-
const dirtyAll = () => nodes.forEach(notify);
|
|
393
|
-
return {
|
|
394
|
-
add: (node) => {
|
|
395
|
-
nodes.add(node);
|
|
396
|
-
subscriptions.set(node, node.addEventListener("willUpdate", dirtyAll));
|
|
397
|
-
},
|
|
398
|
-
remove: (node) => {
|
|
399
|
-
nodes.delete(node);
|
|
400
|
-
const unsubscribe = subscriptions.get(node);
|
|
401
|
-
if (unsubscribe) {
|
|
402
|
-
unsubscribe();
|
|
403
|
-
subscriptions.delete(node);
|
|
404
|
-
}
|
|
405
|
-
dirtyAll();
|
|
406
|
-
},
|
|
407
|
-
dirty: dirtyAll,
|
|
408
|
-
};
|
|
409
|
-
}
|
|
410
|
-
|
|
411
384
|
/**
|
|
412
385
|
* Note: Still used by components generated by old versions of Framer
|
|
413
386
|
*
|
|
@@ -436,7 +409,7 @@ function useForceUpdate() {
|
|
|
436
409
|
* Defer this to the end of the next animation frame in case there are multiple
|
|
437
410
|
* synchronous calls.
|
|
438
411
|
*/
|
|
439
|
-
const deferredForceRender = reactExports.useCallback(() =>
|
|
412
|
+
const deferredForceRender = reactExports.useCallback(() => frame_1.postRender(forceRender), [forceRender]);
|
|
440
413
|
return [deferredForceRender, forcedRenderCount];
|
|
441
414
|
}
|
|
442
415
|
|
|
@@ -455,8 +428,8 @@ const LayoutGroup = ({ children, id, inherit = true }) => {
|
|
|
455
428
|
context.current = {
|
|
456
429
|
id,
|
|
457
430
|
group: shouldInheritGroup(inherit)
|
|
458
|
-
? layoutGroupContext.group ||
|
|
459
|
-
:
|
|
431
|
+
? layoutGroupContext.group || nodeGroup_1()
|
|
432
|
+
: nodeGroup_1(),
|
|
460
433
|
};
|
|
461
434
|
}
|
|
462
435
|
const memoizedContext = reactExports.useMemo(() => ({ ...context.current, forceRender }), [key]);
|
|
@@ -11471,7 +11444,7 @@ function SearchToolView({ toolContent, panelMode }) {
|
|
|
11471
11444
|
}
|
|
11472
11445
|
|
|
11473
11446
|
const CliToolTerminal = dynamic(
|
|
11474
|
-
() => __vitePreload(() => import('./index-
|
|
11447
|
+
() => __vitePreload(() => import('./index-DyremSIv.js'),true?__vite__mapDeps([0,1,2,3]):void 0).then((mod) => mod.CliToolTerminal),
|
|
11475
11448
|
{
|
|
11476
11449
|
loading: () => /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex h-full items-center justify-center text-xs text-[var(--text-tertiary)]", children: "Loading terminal..." })
|
|
11477
11450
|
}
|
|
@@ -18324,7 +18297,7 @@ function pickGreetingTemplate() {
|
|
|
18324
18297
|
return GREETING_TEMPLATES[index];
|
|
18325
18298
|
}
|
|
18326
18299
|
const VNCViewer = dynamic(
|
|
18327
|
-
() => __vitePreload(() => import('./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),
|
|
18328
18301
|
{
|
|
18329
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..." })
|
|
18330
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-
|
|
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-
|
|
2
|
-
import { T as TooltipProvider, a as Tooltip, b as TooltipTrigger, c as TooltipContent } from './tooltip-
|
|
3
|
-
import { S as Stepper, a as Step, C as CloudUpload } from './Stepper-
|
|
4
|
-
import { M as MessageSquare } from './message-square-
|
|
5
|
-
import { I as Image } from './image-
|
|
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-
|
|
2
|
-
import { z as createLucideIcon,
|
|
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-
|
|
4
|
-
import { S as SquareCheckBig } from './index-
|
|
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-
|
|
6
|
-
import { C as CloudUpload, S as Stepper, a as Step } from './Stepper-
|
|
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 = () =>
|
|
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
|
-
|
|
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
|
-
|
|
218
|
+
collectMotionValues_1.current = [];
|
|
312
219
|
compute();
|
|
313
|
-
const value = useCombineMotionValues(
|
|
220
|
+
const value = useCombineMotionValues(collectMotionValues_1.current, compute);
|
|
314
221
|
/**
|
|
315
222
|
* Synchronously close session of collectMotionValues.
|
|
316
223
|
*/
|
|
317
|
-
|
|
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 =
|
|
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 = () => (
|
|
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
|
|
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-
|
|
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-
|
|
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-
|
|
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,
|