@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.
@@ -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-D25nKlrc.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-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-eBcrorj-.js
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-D25nKlrc.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-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-BJQYLalK.js
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: "Add path",
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.jsx)(import_jsx_runtime.Fragment, { children: "Add\xA0" })
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: "Add directory" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DrawerDescription, { children: "Search recent and known directories or add a new path to the sidebar." })] }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
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: "Add directory",
1441
- description: "Search recent and known directories or add a new path to the sidebar.",
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
- moveSessionDirectoryOptions.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(DropdownMenuSub, { children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(DropdownMenuSubTrigger, {
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 hasMoveTargets = Boolean(entry.path && onMoveSession) && availableMoveTargetDirectories.length > 0;
17255
- const hasSessionActions = Boolean(onTogglePinnedSession || entry.path && (onRenameSession || onDeleteSession) || hasMoveTargets) && !overlay;
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
- hasMoveTargets ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(ContextMenuSub, { children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(ContextMenuSubTrigger, { children: "Move to…" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ContextMenuSubContent, {
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 openDeleteDialogForCurrentSession = () => {
21560
+ const currentSessionListEntry = () => {
21492
21561
  const currentState = sessionStateRef.current;
21493
- if (!currentState.sessionFile) return;
21494
- openDeleteDialog([{
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) => await moveSessionPath(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-D25nKlrc.js
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-BJQYLalK.mjs");
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-CUbnqs2A.mjs");
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-eBcrorj-.mjs"),
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-CUbnqs2A.js
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-C9hDHTUB.js", "/assets/rolldown-runtime-S-ySWqyJ.js"]
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-C7fvwg0x.js"]
62
+ preloads: ["/assets/routes-CnNf4Tfg.js"]
63
63
  }
64
64
  },
65
- clientEntry: "/assets/index-C9hDHTUB.js"
65
+ clientEntry: "/assets/index-BXfOqRXc.js"
66
66
  });
67
67
  //#endregion
68
68
  export { tsrStartManifest };