@alivault/pico 0.8.0 → 0.9.0
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/.output/nitro.json +1 -1
- package/.output/public/assets/{index-C9hDHTUB.js → index-BXfOqRXc.js} +2 -2
- package/.output/public/assets/routes-CnNf4Tfg.js +2160 -0
- package/.output/server/_ssr/{router-eBcrorj-.mjs → router-DIdiRf-y.mjs} +2 -2
- package/.output/server/_ssr/{routes-BJQYLalK.mjs → routes-7x8dHcec.mjs} +140 -36
- package/.output/server/_ssr/{routes-D25nKlrc.mjs → routes-bPw2DezY.mjs} +2 -2
- package/.output/server/_ssr/ssr.mjs +2 -2
- package/.output/server/{_tanstack-start-manifest_v-CUbnqs2A.mjs → _tanstack-start-manifest_v-CMhyz9t-.mjs} +4 -4
- package/.output/server/index.mjs +515 -515
- package/package.json +1 -1
- package/.output/public/assets/routes-C7fvwg0x.js +0 -2160
|
@@ -2,7 +2,7 @@ import { i as __toESM } from "../_runtime.mjs";
|
|
|
2
2
|
import { X as require_react, Y as require_jsx_runtime } from "../_libs/@base-ui/react+[...].mjs";
|
|
3
3
|
import { a as createRouter, c as createRootRoute, n as Scripts, r as HeadContent, s as createFileRoute } from "../_libs/@tanstack/react-router+[...].mjs";
|
|
4
4
|
import { a as TriangleAlert, g as OctagonX, j as CircleCheck, y as Info } from "../_libs/lucide-react.mjs";
|
|
5
|
-
import { B as extractMessageText$1, I as createCompactionSummaryItem, N as assistantBlocksFromMessage, P as buildItemsFromSync, V as extractToolText, W as mergeAssistantBlocksForStreaming, _ as Route$49, bt as toolCategoryFromTool, k as TooltipProvider, n as APPLIED_THEME_STORAGE_KEY, t as APPLIED_THEME_CLASSES, x as Spinner, z as extractMessageImages } from "./routes-
|
|
5
|
+
import { B as extractMessageText$1, I as createCompactionSummaryItem, N as assistantBlocksFromMessage, P as buildItemsFromSync, V as extractToolText, W as mergeAssistantBlocksForStreaming, _ as Route$49, bt as toolCategoryFromTool, k as TooltipProvider, n as APPLIED_THEME_STORAGE_KEY, t as APPLIED_THEME_CLASSES, x as Spinner, z as extractMessageImages } from "./routes-bPw2DezY.mjs";
|
|
6
6
|
import { t as QueryClient } from "../_libs/tanstack__query-core.mjs";
|
|
7
7
|
import { t as setupRouterSsrQueryIntegration } from "../_libs/@tanstack/react-router-ssr-query+[...].mjs";
|
|
8
8
|
import { n as HotkeysProvider } from "../_libs/tanstack__react-hotkeys.mjs";
|
|
@@ -20,7 +20,7 @@ import os, { homedir } from "node:os";
|
|
|
20
20
|
import { performance } from "node:perf_hooks";
|
|
21
21
|
import { isMainThread } from "node:worker_threads";
|
|
22
22
|
import { execSync, spawn } from "node:child_process";
|
|
23
|
-
//#region node_modules/.nitro/vite/services/ssr/assets/router-
|
|
23
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/router-DIdiRf-y.js
|
|
24
24
|
var import_react = /* @__PURE__ */ __toESM(require_react());
|
|
25
25
|
var import_jsx_runtime = require_jsx_runtime();
|
|
26
26
|
var Toaster$1 = ({ ...props }) => {
|
|
@@ -2,7 +2,7 @@ import { i as __toESM } from "../_runtime.mjs";
|
|
|
2
2
|
import { A as DialogRoot, C as MenuPortal, D as TabsTab, E as TabsList$1, F as DialogBackdrop, I as Separator, K as mergeProps, L as Input, M as DialogPopup, N as DialogDescription$1, O as TabsRoot, P as DialogClose, R as Button, S as MenuPositioner, T as MenuItem, X as require_react, Y as require_jsx_runtime, _ as AccordionRoot, a as CollapsiblePanel, b as MenuSubmenuRoot, c as PopoverPopup, d as PopoverTrigger$1, f as PopoverRoot, g as AccordionItem$1, h as AccordionHeader, i as ContextMenuRoot, j as DialogPortal$1, k as DialogTitle$1, l as PopoverPositioner, m as AccordionTrigger$1, n as Toggle, o as CollapsibleTrigger$1, p as AccordionPanel, r as ContextMenuTrigger$1, s as CollapsibleRoot, t as ToggleGroup, u as PopoverPortal, v as MenuSubmenuTrigger, w as MenuPopup, x as MenuRoot, y as MenuTrigger, z as useRender } from "../_libs/@base-ui/react+[...].mjs";
|
|
3
3
|
import { t as cva } from "../_libs/class-variance-authority+clsx.mjs";
|
|
4
4
|
import { A as Command, C as Folder, D as EllipsisVertical, E as Ellipsis, F as ChevronRight, H as ArrowDown, I as ChevronDown, L as Check, M as ChevronsUpDown, N as ChevronsDownUp, O as Download, R as ArrowUp, S as GitCommitHorizontal, T as FileInput, V as ArrowLeft, _ as ListStart, b as ImagePlus, c as Settings2, d as PanelRight, f as PanelLeft, g as OctagonX, i as Undo2, k as Copy, l as Search, m as PanelLeftClose, n as WandSparkles, o as Square, p as PanelLeftOpen, r as Upload, s as SquarePen, t as X, u as Plus, v as ListEnd, w as FolderPlus, x as GitBranch, z as ArrowUpToLine } from "../_libs/lucide-react.mjs";
|
|
5
|
-
import { $ as readStoredCenterMessages, A as TooltipTrigger, C as THEME_COLOR_MODE_STORAGE_KEY, D as Tooltip$1, E as TitleTooltip, F as cn, G as normalizePromptImage, H as flattenTree, J as normalizeThemeColorMode, K as normalizeSessionSelectionKeys, L as createContextId, M as appliedThemeClass, O as TooltipContent, P as buildItemsFromSync, Q as readStoredAutoScrollEnabled, R as createInitialSessionState, S as THEME_COLOR_MODES, T as THEME_STORAGE_KEY, U as getSessionTitle, X as previewUrlForImage, Y as normalizeThemeFamily, Z as promptDraftKey, _ as Route, _t as themeColorModeLabel, a as COLLAPSED_DIRECTORIES_STORAGE_KEY, at as readStoredRecentDirectories, b as SIDEBAR_DIRECTORIES_STORAGE_KEY, c as Kbd, ct as readStoredSessionDoneSoundEnabled, d as RECENT_DIRECTORIES_STORAGE_KEY, dt as readStoredThemeColorMode, et as readStoredCollapsedDirectories, f as RIGHT_SIDEBAR_ACTIVE_TAB_STORAGE_KEY, ft as rememberStoredPromptDraft, g as RIGHT_SIDEBAR_WIDTHS_STORAGE_KEY, gt as sessionListEntryKey, h as RIGHT_SIDEBAR_OPEN_STORAGE_KEY, ht as sameContextUsage, i as CENTER_MESSAGES_STORAGE_KEY, it as readStoredPromptDraft, j as VIEWER_CONTEXT_STORAGE_KEY, l as KeyboardShortcutContent, lt as readStoredSidebarDirectories, m as RIGHT_SIDEBAR_HISTORY_HEIGHT_STORAGE_KEY, mt as safeLocalStorageSetItem, n as APPLIED_THEME_STORAGE_KEY, nt as readStoredHideToolBlocks, o as DRAFT_DIRECTORY_STORAGE_KEY, ot as readStoredRightSidebarOpen, p as RIGHT_SIDEBAR_FILE_TREE_WIDTH_STORAGE_KEY, pt as safeLocalStorageGetItem, q as normalizeStoredDirectoryList, r as AUTO_SCROLL_ENABLED_STORAGE_KEY, rt as readStoredPinnedSessionKeys, s as HIDE_TOOL_BLOCKS_STORAGE_KEY, st as readStoredSessionDoneDesktopNotificationsEnabled, tt as readStoredDraftDirectory, u as PINNED_SESSIONS_STORAGE_KEY, ut as readStoredTheme, v as SESSION_DONE_DESKTOP_NOTIFICATIONS_ENABLED_STORAGE_KEY, vt as themeFamilyLabel, w as THEME_FAMILIES, x as Spinner, y as SESSION_DONE_SOUND_ENABLED_STORAGE_KEY, yt as thinkingSummaryText } from "./routes-
|
|
5
|
+
import { $ as readStoredCenterMessages, A as TooltipTrigger, C as THEME_COLOR_MODE_STORAGE_KEY, D as Tooltip$1, E as TitleTooltip, F as cn, G as normalizePromptImage, H as flattenTree, J as normalizeThemeColorMode, K as normalizeSessionSelectionKeys, L as createContextId, M as appliedThemeClass, O as TooltipContent, P as buildItemsFromSync, Q as readStoredAutoScrollEnabled, R as createInitialSessionState, S as THEME_COLOR_MODES, T as THEME_STORAGE_KEY, U as getSessionTitle, X as previewUrlForImage, Y as normalizeThemeFamily, Z as promptDraftKey, _ as Route, _t as themeColorModeLabel, a as COLLAPSED_DIRECTORIES_STORAGE_KEY, at as readStoredRecentDirectories, b as SIDEBAR_DIRECTORIES_STORAGE_KEY, c as Kbd, ct as readStoredSessionDoneSoundEnabled, d as RECENT_DIRECTORIES_STORAGE_KEY, dt as readStoredThemeColorMode, et as readStoredCollapsedDirectories, f as RIGHT_SIDEBAR_ACTIVE_TAB_STORAGE_KEY, ft as rememberStoredPromptDraft, g as RIGHT_SIDEBAR_WIDTHS_STORAGE_KEY, gt as sessionListEntryKey, h as RIGHT_SIDEBAR_OPEN_STORAGE_KEY, ht as sameContextUsage, i as CENTER_MESSAGES_STORAGE_KEY, it as readStoredPromptDraft, j as VIEWER_CONTEXT_STORAGE_KEY, l as KeyboardShortcutContent, lt as readStoredSidebarDirectories, m as RIGHT_SIDEBAR_HISTORY_HEIGHT_STORAGE_KEY, mt as safeLocalStorageSetItem, n as APPLIED_THEME_STORAGE_KEY, nt as readStoredHideToolBlocks, o as DRAFT_DIRECTORY_STORAGE_KEY, ot as readStoredRightSidebarOpen, p as RIGHT_SIDEBAR_FILE_TREE_WIDTH_STORAGE_KEY, pt as safeLocalStorageGetItem, q as normalizeStoredDirectoryList, r as AUTO_SCROLL_ENABLED_STORAGE_KEY, rt as readStoredPinnedSessionKeys, s as HIDE_TOOL_BLOCKS_STORAGE_KEY, st as readStoredSessionDoneDesktopNotificationsEnabled, tt as readStoredDraftDirectory, u as PINNED_SESSIONS_STORAGE_KEY, ut as readStoredTheme, v as SESSION_DONE_DESKTOP_NOTIFICATIONS_ENABLED_STORAGE_KEY, vt as themeFamilyLabel, w as THEME_FAMILIES, x as Spinner, y as SESSION_DONE_SOUND_ENABLED_STORAGE_KEY, yt as thinkingSummaryText } from "./routes-bPw2DezY.mjs";
|
|
6
6
|
import { i as useQuery, n as useIsMutating, o as useQueryClient, r as useIsFetching, t as useMutation } from "../_libs/tanstack__react-query.mjs";
|
|
7
7
|
import { t as useHotkeys } from "../_libs/tanstack__react-hotkeys.mjs";
|
|
8
8
|
import { a as matchesKeyboardEvent, i as batch, o as formatForDisplay, r as createStore } from "../_libs/@tanstack/hotkeys+[...].mjs";
|
|
@@ -22,7 +22,7 @@ import { t as remarkGfm } from "../_libs/remark-gfm.mjs";
|
|
|
22
22
|
import { a as getBuiltInSpriteSheet, i as getBuiltInFileIconColor, n as FileTree, r as createFileTreeIconResolver, t as useFileTree } from "../_libs/@pierre/trees+[...].mjs";
|
|
23
23
|
import { a as closestCenter, c as useDraggable, d as useSensors, f as CSS$1, i as PointerSensor, n as DragOverlay, t as DndContext, u as useSensor } from "../_libs/@dnd-kit/core+[...].mjs";
|
|
24
24
|
import { a as verticalListSortingStrategy, i as useSortable, n as arrayMove, r as horizontalListSortingStrategy, t as SortableContext } from "../_libs/dnd-kit__sortable.mjs";
|
|
25
|
-
//#region node_modules/.nitro/vite/services/ssr/assets/routes-
|
|
25
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/routes-7x8dHcec.js
|
|
26
26
|
var import_react = /* @__PURE__ */ __toESM(require_react());
|
|
27
27
|
var import_jsx_runtime = require_jsx_runtime();
|
|
28
28
|
var MOBILE_BREAKPOINT = 768;
|
|
@@ -1083,7 +1083,7 @@ function directoryCompletionInputValue(item) {
|
|
|
1083
1083
|
const displayPath = formatDirectoryDisplayPath(item.value);
|
|
1084
1084
|
return displayPath.endsWith("/") ? displayPath : `${displayPath}/`;
|
|
1085
1085
|
}
|
|
1086
|
-
function AppShellAddDirectoryDialog({ open, onOpenChange, directoryInput, onDirectoryInputChange, openedDirectories, currentDirectory, recentDirectories, knownDirectories, useForNewSession = false, onAddDirectoryPath, onRequestPathCompletions, onSearchDirectories }) {
|
|
1086
|
+
function AppShellAddDirectoryDialog({ open, onOpenChange, directoryInput, onDirectoryInputChange, openedDirectories, currentDirectory, recentDirectories, knownDirectories, useForNewSession = false, useForMoveSession = false, onAddDirectoryPath, onRequestPathCompletions, onSearchDirectories }) {
|
|
1087
1087
|
const isMobile = useIsMobile();
|
|
1088
1088
|
const directoryInputRef = import_react.useRef(directoryInput);
|
|
1089
1089
|
const pathCompletionRequestIdRef = import_react.useRef(0);
|
|
@@ -1138,10 +1138,14 @@ function AppShellAddDirectoryDialog({ open, onOpenChange, directoryInput, onDire
|
|
|
1138
1138
|
const hasPathCompletionResults = shouldShowPathCompletions && (pathCompletionLoading || pathCompletionItems.length > 0);
|
|
1139
1139
|
const hasDirectorySearchResults = shouldShowDirectorySearch && (directorySearchLoading || directorySearchItems.length > 0);
|
|
1140
1140
|
const hasDirectoryResults = Boolean(manualPath) || hasDirectoryMatches || hasPathCompletionResults || hasDirectorySearchResults;
|
|
1141
|
-
const addPathDescription = useForNewSession ? "Add to sidebar and use for this new session." : "Resolve and add this path to the sidebar.";
|
|
1142
|
-
const openedDescription = useForNewSession ? "Use for this new session." : "Expand and show it in the sidebar.";
|
|
1143
|
-
const currentDescription = useForNewSession ? "Use the current Pico working directory for this new session." : "Use the current Pico working directory.";
|
|
1144
|
-
const addKnownDescription = useForNewSession ? "Add to sidebar and use for this new session." : "";
|
|
1141
|
+
const addPathDescription = useForMoveSession ? "Resolve and move this session to this directory." : useForNewSession ? "Add to sidebar and use for this new session." : "Resolve and add this path to the sidebar.";
|
|
1142
|
+
const openedDescription = useForMoveSession ? "Move this session here." : useForNewSession ? "Use for this new session." : "Expand and show it in the sidebar.";
|
|
1143
|
+
const currentDescription = useForMoveSession ? "Move this session to the current Pico working directory." : useForNewSession ? "Use the current Pico working directory for this new session." : "Use the current Pico working directory.";
|
|
1144
|
+
const addKnownDescription = useForMoveSession ? "Move this session here." : useForNewSession ? "Add to sidebar and use for this new session." : "";
|
|
1145
|
+
const manualGroupHeading = useForMoveSession ? "Move to path" : "Add path";
|
|
1146
|
+
const manualPathPrefix = useForMoveSession ? "Move to" : "Add";
|
|
1147
|
+
const dialogTitle = useForMoveSession ? "Move session" : "Add directory";
|
|
1148
|
+
const dialogDescription = useForMoveSession ? "Search recent and known directories or paste any path to move this session." : "Search recent and known directories or add a new path to the sidebar.";
|
|
1145
1149
|
import_react.useEffect(() => {
|
|
1146
1150
|
if (!shouldShowPathCompletions) {
|
|
1147
1151
|
pathCompletionRequestIdRef.current += 1;
|
|
@@ -1325,7 +1329,7 @@ function AppShellAddDirectoryDialog({ open, onOpenChange, directoryInput, onDire
|
|
|
1325
1329
|
}, `directory-search:${completion.value}`))]
|
|
1326
1330
|
}) : null,
|
|
1327
1331
|
manualPath ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(CommandGroup, {
|
|
1328
|
-
heading:
|
|
1332
|
+
heading: manualGroupHeading,
|
|
1329
1333
|
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(CommandItem, {
|
|
1330
1334
|
value: `add ${manualPath}`,
|
|
1331
1335
|
onSelect: () => onAddDirectoryPath(manualPath),
|
|
@@ -1333,7 +1337,7 @@ function AppShellAddDirectoryDialog({ open, onOpenChange, directoryInput, onDire
|
|
|
1333
1337
|
className: "flex min-w-0 flex-1 flex-col gap-0.5",
|
|
1334
1338
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(DirectoryPathLabel$1, {
|
|
1335
1339
|
path: manualPath,
|
|
1336
|
-
prefix: /* @__PURE__ */ (0, import_jsx_runtime.
|
|
1340
|
+
prefix: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [manualPathPrefix, "\xA0"] })
|
|
1337
1341
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
1338
1342
|
className: "truncate text-xs text-muted-foreground",
|
|
1339
1343
|
children: addPathDescription
|
|
@@ -1428,7 +1432,7 @@ function AppShellAddDirectoryDialog({ open, onOpenChange, directoryInput, onDire
|
|
|
1428
1432
|
autoFocus: false,
|
|
1429
1433
|
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(DrawerContent, {
|
|
1430
1434
|
className: "max-h-[90svh] overflow-hidden",
|
|
1431
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(DrawerHeader, { children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(DrawerTitle, { children:
|
|
1435
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(DrawerHeader, { children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(DrawerTitle, { children: dialogTitle }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DrawerDescription, { children: dialogDescription })] }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
1432
1436
|
className: "flex min-h-0 flex-1 flex-col overflow-hidden px-4 pb-4",
|
|
1433
1437
|
children: directoryPicker
|
|
1434
1438
|
})]
|
|
@@ -1437,14 +1441,14 @@ function AppShellAddDirectoryDialog({ open, onOpenChange, directoryInput, onDire
|
|
|
1437
1441
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(CommandDialog, {
|
|
1438
1442
|
open,
|
|
1439
1443
|
onOpenChange,
|
|
1440
|
-
title:
|
|
1441
|
-
description:
|
|
1444
|
+
title: dialogTitle,
|
|
1445
|
+
description: dialogDescription,
|
|
1442
1446
|
className: "sm:max-w-2xl",
|
|
1443
1447
|
initialFocus: true,
|
|
1444
1448
|
children: directoryPicker
|
|
1445
1449
|
});
|
|
1446
1450
|
}
|
|
1447
|
-
function AppShellAddDirectoryDialogController({ ref, openStateRef, openedDirectories, currentDirectory, recentDirectories, knownDirectories, useForNewSession, onAddDirectoryPath, onRequestPathCompletions, onSearchDirectories }) {
|
|
1451
|
+
function AppShellAddDirectoryDialogController({ ref, openStateRef, openedDirectories, currentDirectory, recentDirectories, knownDirectories, useForNewSession, useForMoveSession, onAddDirectoryPath, onRequestPathCompletions, onSearchDirectories }) {
|
|
1448
1452
|
const [open, setOpen] = import_react.useState(false);
|
|
1449
1453
|
const [directoryInput, setDirectoryInput] = import_react.useState("");
|
|
1450
1454
|
const openRef = import_react.useRef(open);
|
|
@@ -1478,6 +1482,7 @@ function AppShellAddDirectoryDialogController({ ref, openStateRef, openedDirecto
|
|
|
1478
1482
|
recentDirectories,
|
|
1479
1483
|
knownDirectories,
|
|
1480
1484
|
useForNewSession,
|
|
1485
|
+
useForMoveSession,
|
|
1481
1486
|
onAddDirectoryPath: (path) => {
|
|
1482
1487
|
addDirectoryPath(path);
|
|
1483
1488
|
},
|
|
@@ -7143,6 +7148,42 @@ var AppShellAddDirectoryDialogHost = import_react.memo(function AppShellAddDirec
|
|
|
7143
7148
|
})
|
|
7144
7149
|
});
|
|
7145
7150
|
});
|
|
7151
|
+
var AppShellMoveSessionDirectoryDialogHost = import_react.memo(function AppShellMoveSessionDirectoryDialogHost({ activeSessionId, baseSidebarDirectories, knownDirectories, moveSessionDirectoryDialogRef, moveSessionDirectoryOpenRef, moveSessionDirectoryTargetToPath, recentDirectoriesStore, sessionCwd, viewerContextId }) {
|
|
7152
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(AppShellAddDirectoryDialogController, {
|
|
7153
|
+
ref: moveSessionDirectoryDialogRef,
|
|
7154
|
+
openStateRef: moveSessionDirectoryOpenRef,
|
|
7155
|
+
openedDirectories: baseSidebarDirectories,
|
|
7156
|
+
currentDirectory: sessionCwd,
|
|
7157
|
+
recentDirectories: useSelector(recentDirectoriesStore),
|
|
7158
|
+
knownDirectories,
|
|
7159
|
+
useForMoveSession: true,
|
|
7160
|
+
onAddDirectoryPath: moveSessionDirectoryTargetToPath,
|
|
7161
|
+
onRequestPathCompletions: useStableEvent(async (prefix) => {
|
|
7162
|
+
if (!viewerContextId) return [];
|
|
7163
|
+
const response = await fetchJson(buildRequestUrl("/api/path-completions", {
|
|
7164
|
+
contextId: viewerContextId,
|
|
7165
|
+
sessionId: activeSessionId
|
|
7166
|
+
}), {
|
|
7167
|
+
method: "POST",
|
|
7168
|
+
headers: { "content-type": "application/json" },
|
|
7169
|
+
body: JSON.stringify({ prefix })
|
|
7170
|
+
});
|
|
7171
|
+
return isApiErrorResponse(response) ? [] : response.items;
|
|
7172
|
+
}),
|
|
7173
|
+
onSearchDirectories: useStableEvent(async (query) => {
|
|
7174
|
+
if (!viewerContextId) return [];
|
|
7175
|
+
const response = await fetchJson(buildRequestUrl("/api/directory-search", {
|
|
7176
|
+
contextId: viewerContextId,
|
|
7177
|
+
sessionId: activeSessionId
|
|
7178
|
+
}), {
|
|
7179
|
+
method: "POST",
|
|
7180
|
+
headers: { "content-type": "application/json" },
|
|
7181
|
+
body: JSON.stringify({ query })
|
|
7182
|
+
});
|
|
7183
|
+
return isApiErrorResponse(response) ? [] : response.items;
|
|
7184
|
+
})
|
|
7185
|
+
});
|
|
7186
|
+
});
|
|
7146
7187
|
var AppShellRenameSessionDialogHost = import_react.memo(function AppShellRenameSessionDialogHost({ renameDialogRef, renameOpenRef, renameSessionPath }) {
|
|
7147
7188
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(RenameSessionDialogController, {
|
|
7148
7189
|
ref: renameDialogRef,
|
|
@@ -7231,7 +7272,7 @@ var AppShellUiRequestDialogHost = import_react.memo(function AppShellUiRequestDi
|
|
|
7231
7272
|
onAuthBack: () => authDialogRef.current?.open("login")
|
|
7232
7273
|
});
|
|
7233
7274
|
});
|
|
7234
|
-
var AppShellFloatingControllers = import_react.memo(function AppShellFloatingControllers({ activeSessionId, addDirectoryDialogRef, addDirectoryOpenRef, addDirectoryPath, baseSidebarDirectories, commandPaletteCommandsRef, commandPaletteOpenRef, commandPaletteRef, currentSessionQueryScope, currentTheme, currentThemeColorMode, authDialogRef, authOpenRef, deleteDialogRef, deleteOpenRef, deleteSessions, deleteOldDirectorySessionsDialogRef, deleteOldDirectorySessionsOpenRef, notificationStore, forkDialogRef, forkOpenRef, gitCommitDialogRef, gitCommitOpenRef, displaySettingsStore, knownDirectories, onAutoScrollEnabledChange, onCenterMessagesChange, onHideThinkingBlocksChange, onHideToolBlocksChange, onSessionDoneDesktopNotificationsEnabledChange, onSessionDoneSoundEnabledChange, onSessionDialogSelect, onThemeChange, onThemeColorModeChange, onThemePreviewChange, recentDirectoriesStore, renameDialogRef, renameOpenRef, renameSessionPath, sessionCwd, sessionsDialogDirectory, sessionsDialogRef, sessionsOpenRef, sessionStore, settingsDialogRef, settingsOpenRef, sidebarStore, treeDialogRef, treeOpenRef, uiRequestDialogRef, uiRequestOpenRef, viewerContextId, systemTheme }) {
|
|
7275
|
+
var AppShellFloatingControllers = import_react.memo(function AppShellFloatingControllers({ activeSessionId, addDirectoryDialogRef, addDirectoryOpenRef, addDirectoryPath, baseSidebarDirectories, commandPaletteCommandsRef, commandPaletteOpenRef, commandPaletteRef, currentSessionQueryScope, currentTheme, currentThemeColorMode, authDialogRef, authOpenRef, deleteDialogRef, deleteOpenRef, deleteSessions, deleteOldDirectorySessionsDialogRef, deleteOldDirectorySessionsOpenRef, notificationStore, forkDialogRef, forkOpenRef, gitCommitDialogRef, gitCommitOpenRef, displaySettingsStore, knownDirectories, moveSessionDirectoryDialogRef, moveSessionDirectoryOpenRef, moveSessionDirectoryTargetToPath, onAutoScrollEnabledChange, onCenterMessagesChange, onHideThinkingBlocksChange, onHideToolBlocksChange, onSessionDoneDesktopNotificationsEnabledChange, onSessionDoneSoundEnabledChange, onSessionDialogSelect, onThemeChange, onThemeColorModeChange, onThemePreviewChange, recentDirectoriesStore, renameDialogRef, renameOpenRef, renameSessionPath, sessionCwd, sessionsDialogDirectory, sessionsDialogRef, sessionsOpenRef, sessionStore, settingsDialogRef, settingsOpenRef, sidebarStore, treeDialogRef, treeOpenRef, uiRequestDialogRef, uiRequestOpenRef, viewerContextId, systemTheme }) {
|
|
7235
7276
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
|
|
7236
7277
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(AppShellCommandPaletteHost, {
|
|
7237
7278
|
commandPaletteCommandsRef,
|
|
@@ -7274,6 +7315,17 @@ var AppShellFloatingControllers = import_react.memo(function AppShellFloatingCon
|
|
|
7274
7315
|
sessionStore,
|
|
7275
7316
|
viewerContextId
|
|
7276
7317
|
}),
|
|
7318
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(AppShellMoveSessionDirectoryDialogHost, {
|
|
7319
|
+
activeSessionId,
|
|
7320
|
+
baseSidebarDirectories,
|
|
7321
|
+
knownDirectories,
|
|
7322
|
+
moveSessionDirectoryDialogRef,
|
|
7323
|
+
moveSessionDirectoryOpenRef,
|
|
7324
|
+
moveSessionDirectoryTargetToPath,
|
|
7325
|
+
recentDirectoriesStore,
|
|
7326
|
+
sessionCwd,
|
|
7327
|
+
viewerContextId
|
|
7328
|
+
}),
|
|
7277
7329
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(AppShellRenameSessionDialogHost, {
|
|
7278
7330
|
renameDialogRef,
|
|
7279
7331
|
renameOpenRef,
|
|
@@ -16854,12 +16906,9 @@ var AppShellSessionHeader = import_react.memo(function AppShellSessionHeader({ a
|
|
|
16854
16906
|
},
|
|
16855
16907
|
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: currentSessionPinned ? "Unpin from sidebar" : "Pin to sidebar" })
|
|
16856
16908
|
}),
|
|
16857
|
-
|
|
16858
|
-
disabled: !sessionHeaderState.sessionHasFile,
|
|
16859
|
-
children: "Move to…"
|
|
16860
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DropdownMenuSubContent, {
|
|
16909
|
+
sessionHeaderState.sessionHasFile ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(DropdownMenuSub, { children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(DropdownMenuSubTrigger, { children: "Move to…" }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(DropdownMenuSubContent, {
|
|
16861
16910
|
className: "w-72",
|
|
16862
|
-
children: moveSessionDirectoryOptions.map((option) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DropdownMenuItem, {
|
|
16911
|
+
children: [moveSessionDirectoryOptions.map((option) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DropdownMenuItem, {
|
|
16863
16912
|
onClick: () => {
|
|
16864
16913
|
actionsRef.current.onMoveCurrentSession(option.path);
|
|
16865
16914
|
},
|
|
@@ -16873,7 +16922,12 @@ var AppShellSessionHeader = import_react.memo(function AppShellSessionHeader({ a
|
|
|
16873
16922
|
children: formatDisplayPath$1(option.path)
|
|
16874
16923
|
})]
|
|
16875
16924
|
})
|
|
16876
|
-
}, option.path))
|
|
16925
|
+
}, option.path)), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DropdownMenuItem, {
|
|
16926
|
+
onClick: () => {
|
|
16927
|
+
actionsRef.current.onMoveCurrentSessionToAnyDirectory();
|
|
16928
|
+
},
|
|
16929
|
+
children: "Other directory…"
|
|
16930
|
+
})]
|
|
16877
16931
|
})] }) : null,
|
|
16878
16932
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(DropdownMenuItem, {
|
|
16879
16933
|
onClick: () => {
|
|
@@ -17229,7 +17283,7 @@ function useSidebarSessionActive(store, entryKey, sessionId) {
|
|
|
17229
17283
|
return Boolean(active.sessionId && sessionId === active.sessionId);
|
|
17230
17284
|
});
|
|
17231
17285
|
}
|
|
17232
|
-
function SidebarSessionItem({ entryKey, directorySessionsStore, activeSessionStore, selectedSessionKeyStore, isPinned, isMobile, overlay, moveTargetDirectories, setOpenMobile, onSessionClick, onRenameSession, onDeleteSession, onMoveSession, onTogglePinnedSession }) {
|
|
17286
|
+
function SidebarSessionItem({ entryKey, directorySessionsStore, activeSessionStore, selectedSessionKeyStore, isPinned, isMobile, overlay, moveTargetDirectories, setOpenMobile, onSessionClick, onRenameSession, onDeleteSession, onMoveSession, onMoveSessionAnyDirectory, onTogglePinnedSession }) {
|
|
17233
17287
|
const entry = useDirectorySessionEntry(directorySessionsStore, entryKey);
|
|
17234
17288
|
const isSelected = useSidebarSessionSelected(selectedSessionKeyStore, entryKey);
|
|
17235
17289
|
const isActive = useSidebarSessionActive(activeSessionStore, entryKey, entry?.id);
|
|
@@ -17251,8 +17305,9 @@ function SidebarSessionItem({ entryKey, directorySessionsStore, activeSessionSto
|
|
|
17251
17305
|
const exactTimestamp = hasTimestamp && timestamp ? new Date(timestamp).toLocaleString() : void 0;
|
|
17252
17306
|
const showUnread = Boolean(entry.unread) && !entry.streaming;
|
|
17253
17307
|
const availableMoveTargetDirectories = moveTargetDirectories.filter((directory) => directory && directory !== entry.cwd);
|
|
17254
|
-
const
|
|
17255
|
-
const
|
|
17308
|
+
const canMoveAnyDirectory = Boolean(entry.path && onMoveSessionAnyDirectory);
|
|
17309
|
+
const hasMoveActions = Boolean(entry.path && onMoveSession) && availableMoveTargetDirectories.length > 0 || canMoveAnyDirectory;
|
|
17310
|
+
const hasSessionActions = Boolean(onTogglePinnedSession || entry.path && (onRenameSession || onDeleteSession) || hasMoveActions) && !overlay;
|
|
17256
17311
|
const sessionButton = /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(SidebarMenuButton, {
|
|
17257
17312
|
type: "button",
|
|
17258
17313
|
"data-sidebar-session-item": true,
|
|
@@ -17329,15 +17384,18 @@ function SidebarSessionItem({ entryKey, directorySessionsStore, activeSessionSto
|
|
|
17329
17384
|
onClick: () => onTogglePinnedSession(entry),
|
|
17330
17385
|
children: isPinned ? "Unpin" : "Pin to sidebar"
|
|
17331
17386
|
}) : null,
|
|
17332
|
-
|
|
17387
|
+
hasMoveActions ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(ContextMenuSub, { children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(ContextMenuSubTrigger, { children: "Move to…" }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(ContextMenuSubContent, {
|
|
17333
17388
|
className: "w-72",
|
|
17334
|
-
children: availableMoveTargetDirectories.map((directory) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ContextMenuItem, {
|
|
17389
|
+
children: [availableMoveTargetDirectories.map((directory) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ContextMenuItem, {
|
|
17335
17390
|
onClick: () => onMoveSession?.(entry, directory),
|
|
17336
17391
|
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
17337
17392
|
className: "truncate",
|
|
17338
17393
|
children: formatDisplayPath$1(directory)
|
|
17339
17394
|
})
|
|
17340
|
-
}, directory))
|
|
17395
|
+
}, directory)), canMoveAnyDirectory ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ContextMenuItem, {
|
|
17396
|
+
onClick: () => onMoveSessionAnyDirectory?.(entry),
|
|
17397
|
+
children: "Other directory…"
|
|
17398
|
+
}) : null]
|
|
17341
17399
|
})] }) : null,
|
|
17342
17400
|
onRenameSession && entry.path ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ContextMenuItem, {
|
|
17343
17401
|
onClick: () => onRenameSession(entry),
|
|
@@ -17409,7 +17467,7 @@ function useDirectorySessions(store, directory) {
|
|
|
17409
17467
|
function useDirectorySessionEntry(store, entryKey) {
|
|
17410
17468
|
return useSelector(store, (state) => state.entriesByKey.get(entryKey), { compare: sameDirectorySessionEntry });
|
|
17411
17469
|
}
|
|
17412
|
-
var DirectorySessionGroup = import_react.memo(function DirectorySessionGroup({ directory, directorySessionsStore, collapsedDirectoryStore, searchActive, directoryOrderingEnabled, moveTargetDirectories, activeSessionStore, selectedSessionKeyStore, pinnedSessionKeys, isMobile, setOpenMobile, isDragging, isSessionDropTarget, overlay = false, attributes, listeners, onSessionClick, onRenameSession, onDeleteSession, onMoveSession, onTogglePinnedSession, onCreateSessionInDirectory, onDeleteOldSessionsInDirectory, onRemoveDirectory }) {
|
|
17470
|
+
var DirectorySessionGroup = import_react.memo(function DirectorySessionGroup({ directory, directorySessionsStore, collapsedDirectoryStore, searchActive, directoryOrderingEnabled, moveTargetDirectories, activeSessionStore, selectedSessionKeyStore, pinnedSessionKeys, isMobile, setOpenMobile, isDragging, isSessionDropTarget, overlay = false, attributes, listeners, onSessionClick, onRenameSession, onDeleteSession, onMoveSession, onMoveSessionAnyDirectory, onTogglePinnedSession, onCreateSessionInDirectory, onDeleteOldSessionsInDirectory, onRemoveDirectory }) {
|
|
17413
17471
|
const [renderCount, setRenderCount] = import_react.useState(5);
|
|
17414
17472
|
const { isLoadingSessions, sessionKeys } = useDirectorySessions(directorySessionsStore, directory);
|
|
17415
17473
|
const collapsed = useDirectoryCollapsed(collapsedDirectoryStore, directory, searchActive);
|
|
@@ -17528,6 +17586,7 @@ var DirectorySessionGroup = import_react.memo(function DirectorySessionGroup({ d
|
|
|
17528
17586
|
onRenameSession,
|
|
17529
17587
|
onDeleteSession,
|
|
17530
17588
|
onMoveSession,
|
|
17589
|
+
onMoveSessionAnyDirectory,
|
|
17531
17590
|
onTogglePinnedSession
|
|
17532
17591
|
}, entryKey)) }), hasMoreSessions ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Button$1, {
|
|
17533
17592
|
variant: "ghost",
|
|
@@ -17550,7 +17609,7 @@ var DirectorySessionGroup = import_react.memo(function DirectorySessionGroup({ d
|
|
|
17550
17609
|
})
|
|
17551
17610
|
});
|
|
17552
17611
|
});
|
|
17553
|
-
function PinnedSessionGroup({ pinnedSessionKeys, directorySessionsStore, collapsedDirectoryStore, searchActive, activeSessionStore, selectedSessionKeyStore, isMobile, moveTargetDirectories, setOpenMobile, onSessionClick, onRenameSession, onDeleteSession, onMoveSession, onTogglePinnedSession }) {
|
|
17612
|
+
function PinnedSessionGroup({ pinnedSessionKeys, directorySessionsStore, collapsedDirectoryStore, searchActive, activeSessionStore, selectedSessionKeyStore, isMobile, moveTargetDirectories, setOpenMobile, onSessionClick, onRenameSession, onDeleteSession, onMoveSession, onMoveSessionAnyDirectory, onTogglePinnedSession }) {
|
|
17554
17613
|
const collapsed = useDirectoryCollapsed(collapsedDirectoryStore, PINNED_SESSION_GROUP_COLLAPSE_KEY, searchActive);
|
|
17555
17614
|
if (pinnedSessionKeys.length === 0) return null;
|
|
17556
17615
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Collapsible$1, {
|
|
@@ -17587,6 +17646,7 @@ function PinnedSessionGroup({ pinnedSessionKeys, directorySessionsStore, collaps
|
|
|
17587
17646
|
onRenameSession,
|
|
17588
17647
|
onDeleteSession,
|
|
17589
17648
|
onMoveSession,
|
|
17649
|
+
onMoveSessionAnyDirectory,
|
|
17590
17650
|
onTogglePinnedSession
|
|
17591
17651
|
}, entryKey)) }) }) })]
|
|
17592
17652
|
})
|
|
@@ -17673,7 +17733,7 @@ function AppSidebarDirectoriesHeader({ sessionSearch, visibleDirectories, matchi
|
|
|
17673
17733
|
})]
|
|
17674
17734
|
});
|
|
17675
17735
|
}
|
|
17676
|
-
function AppSidebar({ sessionSearch, onOpenSessionsDialog, visibleDirectories, directorySessionsStore, matchingSessionCount, selectedSessionKeys, activeSessionId, activeSessionKey, pinnedSessionKeys, emptyStateText, onCreateSession, onOpenAddDirectoryDialog, onOpenCommandPalette, onOpenSettings, onSessionClick, onRenameSession, onDeleteSession, onMoveSession, onTogglePinnedSession, onCreateSessionInDirectory, onDeleteOldSessionsInDirectory, onRemoveDirectory, onReorderDirectories }) {
|
|
17736
|
+
function AppSidebar({ sessionSearch, onOpenSessionsDialog, visibleDirectories, directorySessionsStore, matchingSessionCount, selectedSessionKeys, activeSessionId, activeSessionKey, pinnedSessionKeys, emptyStateText, onCreateSession, onOpenAddDirectoryDialog, onOpenCommandPalette, onOpenSettings, onSessionClick, onRenameSession, onDeleteSession, onMoveSession, onMoveSessionAnyDirectory, onTogglePinnedSession, onCreateSessionInDirectory, onDeleteOldSessionsInDirectory, onRemoveDirectory, onReorderDirectories }) {
|
|
17677
17737
|
const { isMobile, setOpenMobile } = useSidebar();
|
|
17678
17738
|
const searchActive = sessionSearch.trim().length > 0;
|
|
17679
17739
|
const directoryOrderingEnabled = !searchActive && visibleDirectories.length > 1;
|
|
@@ -17874,6 +17934,7 @@ function AppSidebar({ sessionSearch, onOpenSessionsDialog, visibleDirectories, d
|
|
|
17874
17934
|
onRenameSession,
|
|
17875
17935
|
onDeleteSession,
|
|
17876
17936
|
onMoveSession,
|
|
17937
|
+
onMoveSessionAnyDirectory,
|
|
17877
17938
|
onTogglePinnedSession,
|
|
17878
17939
|
onCreateSessionInDirectory,
|
|
17879
17940
|
onDeleteOldSessionsInDirectory,
|
|
@@ -17901,6 +17962,7 @@ function AppSidebar({ sessionSearch, onOpenSessionsDialog, visibleDirectories, d
|
|
|
17901
17962
|
onRenameSession,
|
|
17902
17963
|
onDeleteSession,
|
|
17903
17964
|
onMoveSession,
|
|
17965
|
+
onMoveSessionAnyDirectory,
|
|
17904
17966
|
onTogglePinnedSession,
|
|
17905
17967
|
onCreateSessionInDirectory,
|
|
17906
17968
|
onDeleteOldSessionsInDirectory,
|
|
@@ -17921,6 +17983,7 @@ function AppSidebar({ sessionSearch, onOpenSessionsDialog, visibleDirectories, d
|
|
|
17921
17983
|
onRenameSession,
|
|
17922
17984
|
onDeleteSession,
|
|
17923
17985
|
onMoveSession,
|
|
17986
|
+
onMoveSessionAnyDirectory,
|
|
17924
17987
|
onTogglePinnedSession
|
|
17925
17988
|
})
|
|
17926
17989
|
}) : null })
|
|
@@ -18338,6 +18401,9 @@ function AppShellSidebarController({ viewerContextId, sidebarStore, sessionWorks
|
|
|
18338
18401
|
onMoveSession: (entry, directory) => {
|
|
18339
18402
|
sessionWorkspaceRef.current?.moveSessionToDirectory(entry, directory);
|
|
18340
18403
|
},
|
|
18404
|
+
onMoveSessionAnyDirectory: (entry) => {
|
|
18405
|
+
sessionWorkspaceRef.current?.openMoveSessionDirectoryDialogForEntry(entry);
|
|
18406
|
+
},
|
|
18341
18407
|
onTogglePinnedSession: togglePinnedSession,
|
|
18342
18408
|
onCreateSessionInDirectory: (directory) => {
|
|
18343
18409
|
sessionWorkspaceRef.current?.createSession(directory, { closeMobileSidebar: true });
|
|
@@ -20427,12 +20493,12 @@ function hasSelectedText(target) {
|
|
|
20427
20493
|
}
|
|
20428
20494
|
return false;
|
|
20429
20495
|
}
|
|
20430
|
-
function useAppShellShortcuts({ addDirectoryOpenRef, commandPaletteOpenRef, compactRunningRef, deleteOpenRef, forkOpenRef, gitCommitOpenRef, pendingUiRequestOpenRef, renameOpenRef, sessionSearchInputRef, sessionsOpenRef, settingsOpenRef, shortcutActionsRef, shortcutStateRef, treeOpenRef }) {
|
|
20496
|
+
function useAppShellShortcuts({ addDirectoryOpenRef, commandPaletteOpenRef, compactRunningRef, deleteOpenRef, forkOpenRef, gitCommitOpenRef, moveSessionDirectoryOpenRef, pendingUiRequestOpenRef, renameOpenRef, sessionSearchInputRef, sessionsOpenRef, settingsOpenRef, shortcutActionsRef, shortcutStateRef, treeOpenRef }) {
|
|
20431
20497
|
const lastEscapeKeyDownAtRef = import_react.useRef(0);
|
|
20432
20498
|
const getShortcutContext = (event) => {
|
|
20433
20499
|
const shortcutState = shortcutStateRef.current;
|
|
20434
20500
|
const commandPaletteOpen = commandPaletteOpenRef.current;
|
|
20435
|
-
const blockingModalOpen = addDirectoryOpenRef.current || renameOpenRef.current || deleteOpenRef.current || forkOpenRef.current || gitCommitOpenRef.current || treeOpenRef.current || sessionsOpenRef.current || settingsOpenRef.current || pendingUiRequestOpenRef.current;
|
|
20501
|
+
const blockingModalOpen = addDirectoryOpenRef.current || renameOpenRef.current || deleteOpenRef.current || forkOpenRef.current || gitCommitOpenRef.current || moveSessionDirectoryOpenRef.current || treeOpenRef.current || sessionsOpenRef.current || settingsOpenRef.current || pendingUiRequestOpenRef.current;
|
|
20436
20502
|
const activeElement = document.activeElement;
|
|
20437
20503
|
const activeElementIsConversationViewport = activeElement instanceof HTMLElement && activeElement.closest("[data-conversation-viewport=\"true\"]") !== null;
|
|
20438
20504
|
const focusedSidebarSessionKey = activeElement instanceof HTMLElement ? activeElement.dataset.sessionKey?.trim() ?? "" : "";
|
|
@@ -20960,6 +21026,9 @@ var AppShellSessionWorkspace = import_react.forwardRef(function AppShellSessionW
|
|
|
20960
21026
|
const commandPaletteOpenRef = import_react.useRef(false);
|
|
20961
21027
|
const addDirectoryDialogRef = import_react.useRef(null);
|
|
20962
21028
|
const addDirectoryOpenRef = import_react.useRef(false);
|
|
21029
|
+
const moveSessionDirectoryDialogRef = import_react.useRef(null);
|
|
21030
|
+
const moveSessionDirectoryOpenRef = import_react.useRef(false);
|
|
21031
|
+
const moveSessionDirectoryTargetRef = import_react.useRef(null);
|
|
20963
21032
|
const renameDialogRef = import_react.useRef(null);
|
|
20964
21033
|
const renameOpenRef = import_react.useRef(false);
|
|
20965
21034
|
const deleteDialogRef = import_react.useRef(null);
|
|
@@ -21488,20 +21557,36 @@ var AppShellSessionWorkspace = import_react.forwardRef(function AppShellSessionW
|
|
|
21488
21557
|
const openDeleteOldDirectorySessionsDialog = (directory) => {
|
|
21489
21558
|
deleteOldDirectorySessionsDialogRef.current?.open(directory);
|
|
21490
21559
|
};
|
|
21491
|
-
const
|
|
21560
|
+
const currentSessionListEntry = () => {
|
|
21492
21561
|
const currentState = sessionStateRef.current;
|
|
21493
|
-
if (!currentState.sessionFile) return;
|
|
21494
|
-
|
|
21562
|
+
if (!currentState.sessionFile) return void 0;
|
|
21563
|
+
return {
|
|
21495
21564
|
path: currentState.sessionFile,
|
|
21496
21565
|
id: currentState.sessionId,
|
|
21566
|
+
cwd: currentState.cwd,
|
|
21497
21567
|
title: getCurrentSessionTitleFromState(currentState),
|
|
21498
21568
|
name: currentState.sessionName,
|
|
21499
21569
|
modified: currentState.modified
|
|
21500
|
-
}
|
|
21570
|
+
};
|
|
21571
|
+
};
|
|
21572
|
+
const openDeleteDialogForCurrentSession = () => {
|
|
21573
|
+
const currentEntry = currentSessionListEntry();
|
|
21574
|
+
if (!currentEntry) return;
|
|
21575
|
+
openDeleteDialog([currentEntry]);
|
|
21501
21576
|
};
|
|
21502
21577
|
const openAddDirectoryDialog = () => {
|
|
21503
21578
|
addDirectoryDialogRef.current?.open();
|
|
21504
21579
|
};
|
|
21580
|
+
const openMoveSessionDirectoryDialogForEntry = (entry) => {
|
|
21581
|
+
if (!entry.path) return;
|
|
21582
|
+
moveSessionDirectoryTargetRef.current = entry;
|
|
21583
|
+
moveSessionDirectoryDialogRef.current?.open();
|
|
21584
|
+
};
|
|
21585
|
+
const openMoveSessionDirectoryDialogForCurrentSession = () => {
|
|
21586
|
+
const currentEntry = currentSessionListEntry();
|
|
21587
|
+
if (!currentEntry) return;
|
|
21588
|
+
openMoveSessionDirectoryDialogForEntry(currentEntry);
|
|
21589
|
+
};
|
|
21505
21590
|
const openForkDialog = async () => {
|
|
21506
21591
|
await forkDialogRef.current?.open();
|
|
21507
21592
|
};
|
|
@@ -21978,7 +22063,18 @@ var AppShellSessionWorkspace = import_react.forwardRef(function AppShellSessionW
|
|
|
21978
22063
|
setCompactWorkingState,
|
|
21979
22064
|
isCompactAbortRequested
|
|
21980
22065
|
});
|
|
21981
|
-
const moveSessionToDirectory = async (entry, directory) =>
|
|
22066
|
+
const moveSessionToDirectory = async (entry, directory) => {
|
|
22067
|
+
const moved = await moveSessionPath(entry, directory);
|
|
22068
|
+
if (moved) rememberRecentDirectory(directory);
|
|
22069
|
+
return moved;
|
|
22070
|
+
};
|
|
22071
|
+
const moveSessionDirectoryTargetToPath = async (directory) => {
|
|
22072
|
+
const target = moveSessionDirectoryTargetRef.current;
|
|
22073
|
+
if (!target) return false;
|
|
22074
|
+
const moved = await moveSessionToDirectory(target, directory);
|
|
22075
|
+
if (moved) moveSessionDirectoryTargetRef.current = null;
|
|
22076
|
+
return moved;
|
|
22077
|
+
};
|
|
21982
22078
|
const moveCurrentSessionToDirectory = async (directory) => {
|
|
21983
22079
|
const currentState = sessionStateRef.current;
|
|
21984
22080
|
if (!currentState.sessionFile) return false;
|
|
@@ -22604,6 +22700,7 @@ var AppShellSessionWorkspace = import_react.forwardRef(function AppShellSessionW
|
|
|
22604
22700
|
onDeleteCurrentSession: openDeleteDialogForCurrentSession,
|
|
22605
22701
|
onForkSession: openForkDialog,
|
|
22606
22702
|
onMoveCurrentSession: moveCurrentSessionToDirectory,
|
|
22703
|
+
onMoveCurrentSessionToAnyDirectory: openMoveSessionDirectoryDialogForCurrentSession,
|
|
22607
22704
|
onRenameSession: openRenameDialog,
|
|
22608
22705
|
onRunCompact: runCompact,
|
|
22609
22706
|
onToggleCurrentSessionPinned: toggleCurrentSessionPinned,
|
|
@@ -22618,6 +22715,7 @@ var AppShellSessionWorkspace = import_react.forwardRef(function AppShellSessionW
|
|
|
22618
22715
|
deleteOpenRef,
|
|
22619
22716
|
forkOpenRef,
|
|
22620
22717
|
gitCommitOpenRef,
|
|
22718
|
+
moveSessionDirectoryOpenRef,
|
|
22621
22719
|
pendingUiRequestOpenRef: uiRequestOpenRef,
|
|
22622
22720
|
renameOpenRef,
|
|
22623
22721
|
sessionSearchInputRef,
|
|
@@ -22659,6 +22757,7 @@ var AppShellSessionWorkspace = import_react.forwardRef(function AppShellSessionW
|
|
|
22659
22757
|
openDeleteDialog,
|
|
22660
22758
|
moveSessionToDirectory,
|
|
22661
22759
|
openDeleteOldDirectorySessionsDialog,
|
|
22760
|
+
openMoveSessionDirectoryDialogForEntry,
|
|
22662
22761
|
openRenameDialogForEntry,
|
|
22663
22762
|
openSessionsDialog,
|
|
22664
22763
|
openSettingsDialog,
|
|
@@ -22674,6 +22773,7 @@ var AppShellSessionWorkspace = import_react.forwardRef(function AppShellSessionW
|
|
|
22674
22773
|
openDeleteDialog: actions?.openDeleteDialog ?? openDeleteDialog,
|
|
22675
22774
|
openDeleteOldDirectorySessionsDialog: actions?.openDeleteOldDirectorySessionsDialog ?? openDeleteOldDirectorySessionsDialog,
|
|
22676
22775
|
moveSessionToDirectory: actions?.moveSessionToDirectory ?? moveSessionToDirectory,
|
|
22776
|
+
openMoveSessionDirectoryDialogForEntry: actions?.openMoveSessionDirectoryDialogForEntry ?? openMoveSessionDirectoryDialogForEntry,
|
|
22677
22777
|
openRenameDialogForEntry: actions?.openRenameDialogForEntry ?? openRenameDialogForEntry,
|
|
22678
22778
|
openSessionsDialog: actions?.openSessionsDialog ?? openSessionsDialog,
|
|
22679
22779
|
openSettingsDialog: actions?.openSettingsDialog ?? openSettingsDialog,
|
|
@@ -22687,6 +22787,7 @@ var AppShellSessionWorkspace = import_react.forwardRef(function AppShellSessionW
|
|
|
22687
22787
|
moveSessionToDirectory,
|
|
22688
22788
|
openDeleteDialog,
|
|
22689
22789
|
openDeleteOldDirectorySessionsDialog,
|
|
22790
|
+
openMoveSessionDirectoryDialogForEntry,
|
|
22690
22791
|
openRenameDialogForEntry,
|
|
22691
22792
|
openSessionsDialog,
|
|
22692
22793
|
openSettingsDialog
|
|
@@ -22781,6 +22882,9 @@ var AppShellSessionWorkspace = import_react.forwardRef(function AppShellSessionW
|
|
|
22781
22882
|
gitCommitOpenRef,
|
|
22782
22883
|
displaySettingsStore,
|
|
22783
22884
|
knownDirectories,
|
|
22885
|
+
moveSessionDirectoryDialogRef,
|
|
22886
|
+
moveSessionDirectoryOpenRef,
|
|
22887
|
+
moveSessionDirectoryTargetToPath,
|
|
22784
22888
|
onAutoScrollEnabledChange: setAutoScroll,
|
|
22785
22889
|
onCenterMessagesChange: setMessagesCentered,
|
|
22786
22890
|
onHideThinkingBlocksChange: (hidden) => {
|
|
@@ -5,7 +5,7 @@ import { n as clsx } from "../_libs/class-variance-authority+clsx.mjs";
|
|
|
5
5
|
import { t as twMerge } from "../_libs/tailwind-merge.mjs";
|
|
6
6
|
import { A as Command, B as ArrowRight, H as ArrowDown, P as ChevronUp, R as ArrowUp, U as ArrowBigUp, V as ArrowLeft, h as Option } from "../_libs/lucide-react.mjs";
|
|
7
7
|
import { n as string, t as object } from "../_libs/zod.mjs";
|
|
8
|
-
//#region node_modules/.nitro/vite/services/ssr/assets/routes-
|
|
8
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/routes-bPw2DezY.js
|
|
9
9
|
var import_react = /* @__PURE__ */ __toESM(require_react());
|
|
10
10
|
var import_jsx_runtime = require_jsx_runtime();
|
|
11
11
|
function cn(...inputs) {
|
|
@@ -1303,7 +1303,7 @@ function getSessionTitle(summary) {
|
|
|
1303
1303
|
if (summary?.name?.trim()) return summary.name.trim();
|
|
1304
1304
|
return "New session";
|
|
1305
1305
|
}
|
|
1306
|
-
var $$splitComponentImporter = () => import("./routes-
|
|
1306
|
+
var $$splitComponentImporter = () => import("./routes-7x8dHcec.mjs");
|
|
1307
1307
|
var indexSearchSchema = object({ session: string().optional() });
|
|
1308
1308
|
var Route = createFileRoute("/")({
|
|
1309
1309
|
validateSearch: indexSearchSchema,
|
|
@@ -3813,7 +3813,7 @@ var defaultSerovalPlugins = [
|
|
|
3813
3813
|
* the dev styles URL for route-scoped CSS collection.
|
|
3814
3814
|
*/
|
|
3815
3815
|
async function getStartManifest(matchedRoutes) {
|
|
3816
|
-
const { tsrStartManifest } = await import("../_tanstack-start-manifest_v-
|
|
3816
|
+
const { tsrStartManifest } = await import("../_tanstack-start-manifest_v-CMhyz9t-.mjs");
|
|
3817
3817
|
const startManifest = tsrStartManifest();
|
|
3818
3818
|
const rootRoute = startManifest.routes[rootRouteId] = startManifest.routes["__root__"] || {};
|
|
3819
3819
|
rootRoute.assets = rootRoute.assets || [];
|
|
@@ -4799,7 +4799,7 @@ var baseManifestPromise;
|
|
|
4799
4799
|
var cachedFinalManifestPromise;
|
|
4800
4800
|
async function loadEntries() {
|
|
4801
4801
|
const [routerEntry, startEntry, pluginAdapters] = await Promise.all([
|
|
4802
|
-
import("./router-
|
|
4802
|
+
import("./router-DIdiRf-y.mjs"),
|
|
4803
4803
|
import("./start-Captdpmb.mjs"),
|
|
4804
4804
|
import("../__23tanstack-start-plugin-adapters-y_fshQDY.mjs")
|
|
4805
4805
|
]);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
//#region node_modules/.nitro/vite/services/ssr/assets/_tanstack-start-manifest_v-
|
|
1
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/_tanstack-start-manifest_v-CMhyz9t-.js
|
|
2
2
|
var tsrStartManifest = () => ({
|
|
3
3
|
routes: {
|
|
4
4
|
__root__: {
|
|
@@ -53,16 +53,16 @@ var tsrStartManifest = () => ({
|
|
|
53
53
|
"/api/ui/$id"
|
|
54
54
|
],
|
|
55
55
|
assets: void 0,
|
|
56
|
-
preloads: ["/assets/index-
|
|
56
|
+
preloads: ["/assets/index-BXfOqRXc.js", "/assets/rolldown-runtime-S-ySWqyJ.js"]
|
|
57
57
|
},
|
|
58
58
|
"/": {
|
|
59
59
|
filePath: "/home/runner/work/pico/pico/src/routes/index.tsx",
|
|
60
60
|
children: void 0,
|
|
61
61
|
assets: void 0,
|
|
62
|
-
preloads: ["/assets/routes-
|
|
62
|
+
preloads: ["/assets/routes-CnNf4Tfg.js"]
|
|
63
63
|
}
|
|
64
64
|
},
|
|
65
|
-
clientEntry: "/assets/index-
|
|
65
|
+
clientEntry: "/assets/index-BXfOqRXc.js"
|
|
66
66
|
});
|
|
67
67
|
//#endregion
|
|
68
68
|
export { tsrStartManifest };
|