@alivault/pico 0.1.7 → 0.2.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 { h as OctagonX, i as TriangleAlert, k as CircleCheck, v as Info } from "../_libs/lucide-react.mjs";
5
- import { A as extractToolText, C as buildItemsFromSync, N as mergeAssistantBlocksForStreaming, O as extractMessageImages, S as assistantBlocksFromMessage, T as createCompactionSummaryItem, h as THEME_STORAGE_KEY, k as extractMessageText$1, m as Spinner, nt as toolCategoryFromTool, u as Route$46, y as TooltipProvider } from "./routes-Di-eYVLe.mjs";
5
+ import { C as TooltipProvider, D as buildItemsFromSync, E as assistantBlocksFromMessage, L as mergeAssistantBlocksForStreaming, M as extractMessageImages, N as extractMessageText$1, P as extractToolText, k as createCompactionSummaryItem, m as Route$46, st as toolCategoryFromTool, v as Spinner, y as THEME_STORAGE_KEY } from "./routes-C7FEKcrl.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-CvoH1TXL.js
23
+ //#region node_modules/.nitro/vite/services/ssr/assets/router-BDJ6CDfq.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 }) => {
@@ -513,7 +513,7 @@ async function clearContextDraft(options) {
513
513
  await disposeDraftIfUnused(draftEntry);
514
514
  }
515
515
  async function resolveRequestedEntry(options) {
516
- const { url, context, getSessionEntryByKey, ensureSessionEntryById, getActiveEntry, getOrCreateDraftEntry, activateContextSession, notifyOnActivate = true } = options;
516
+ const { url, context, getSessionEntryByKey, ensureSessionEntryById, getActiveEntry, isDraftEntry, getOrCreateDraftEntry, activateContextSession, notifyOnActivate = true, preferActiveDraft = false } = options;
517
517
  const activateRequestedEntry = async (entry) => {
518
518
  await activateContextSession(context, entry, { notify: notifyOnActivate });
519
519
  return entry;
@@ -523,6 +523,10 @@ async function resolveRequestedEntry(options) {
523
523
  const requestedEntry = getSessionEntryByKey(requestedSessionKey);
524
524
  if (requestedEntry) return await activateRequestedEntry(requestedEntry);
525
525
  }
526
+ if (preferActiveDraft && context.draftKey) {
527
+ const draftEntry = getSessionEntryByKey(context.draftKey);
528
+ if (draftEntry && isDraftEntry(draftEntry)) return await activateRequestedEntry(draftEntry);
529
+ }
526
530
  const requestedSessionId = url.searchParams.get("session");
527
531
  if (requestedSessionId) {
528
532
  const requestedEntry = await ensureSessionEntryById(requestedSessionId);
@@ -4161,9 +4165,11 @@ var PicoRuntime = class {
4161
4165
  getSessionEntryByKey: (key) => this.sessionEntries.get(key),
4162
4166
  ensureSessionEntryById: async (sessionId) => await this.ensureSessionEntryById(sessionId),
4163
4167
  getActiveEntry: (activeContext) => this.getActiveEntry(activeContext),
4168
+ isDraftEntry: (entry) => this.isDraftEntry(entry),
4164
4169
  getOrCreateDraftEntry: async (activeContext) => await this.getOrCreateDraftEntry(activeContext),
4165
4170
  activateContextSession: async (activeContext, entry, activateOptions) => await this.activateContextSession(activeContext, entry, activateOptions),
4166
- notifyOnActivate: options?.notifyOnActivate
4171
+ notifyOnActivate: options?.notifyOnActivate,
4172
+ preferActiveDraft: options?.preferActiveDraft
4167
4173
  });
4168
4174
  }
4169
4175
  async resolveRequest(request, options) {
@@ -4180,7 +4186,10 @@ var PicoRuntime = class {
4180
4186
  scope: context.sessionScope
4181
4187
  });
4182
4188
  try {
4183
- const activeEntry = await this.resolveRequestedEntry(url, context, { notifyOnActivate: options?.notifyOnActivate ?? false });
4189
+ const activeEntry = await this.resolveRequestedEntry(url, context, {
4190
+ notifyOnActivate: options?.notifyOnActivate ?? false,
4191
+ preferActiveDraft: options?.preferActiveDraft ?? true
4192
+ });
4184
4193
  this.logSessionLoadDebug("request_resolve:done", {
4185
4194
  pathname: url.pathname,
4186
4195
  contextId: context.id,
@@ -4564,6 +4573,9 @@ var PicoRuntime = class {
4564
4573
  await this.broadcastEntryState(entry);
4565
4574
  return entry.pendingUserMessages;
4566
4575
  }
4576
+ refreshRetainedConversationItems(entry) {
4577
+ entry.retainedConversationItems = createRetainedConversationState(entry.session.messages.map((message) => sanitizeSessionMessage(message))).items;
4578
+ }
4567
4579
  async bindSessionEntry(entry) {
4568
4580
  const startedAt = performance.now();
4569
4581
  const unsubscribeStartedAt = performance.now();
@@ -4573,7 +4585,7 @@ var PicoRuntime = class {
4573
4585
  ...this.sessionDebugDetails(entry)
4574
4586
  });
4575
4587
  const session = entry.session;
4576
- entry.retainedConversationItems = createRetainedConversationState(session.messages.map((message) => sanitizeSessionMessage(message))).items;
4588
+ this.refreshRetainedConversationItems(entry);
4577
4589
  const viewers = () => [...this.contexts.values()].filter((context) => context.activeKey === entry.key);
4578
4590
  const uiRequestBridge = createUiRequestBridge({
4579
4591
  entryKey: entry.key,
@@ -4696,6 +4708,7 @@ var PicoRuntime = class {
4696
4708
  },
4697
4709
  navigateTree: async (targetId, navigateOptions) => {
4698
4710
  const result = await session.navigateTree(targetId, navigateOptions);
4711
+ this.refreshRetainedConversationItems(entry);
4699
4712
  if (result.editorText != null) entry.uiState.editorText = result.editorText;
4700
4713
  await this.broadcastEntryState(entry);
4701
4714
  if (result.summaryEntry) {
@@ -4864,7 +4877,7 @@ var PicoRuntime = class {
4864
4877
  }
4865
4878
  async createEventsResponse(request) {
4866
4879
  const startedAt = performance.now();
4867
- const { url, context, activeEntry } = await this.resolveRequest(request);
4880
+ const { url, context, activeEntry } = await this.resolveRequest(request, { preferActiveDraft: false });
4868
4881
  context.sidebarBootstrapDirectories = normalizeRequestedDirectories(url.searchParams.getAll("sidebarDirectory"));
4869
4882
  this.logSessionLoadDebug("events_response:create", {
4870
4883
  contextId: context.id,
@@ -4943,7 +4956,7 @@ var PicoRuntime = class {
4943
4956
  }
4944
4957
  }
4945
4958
  async prompt(request, body) {
4946
- const { context, activeEntry } = await this.resolveRequest(request);
4959
+ const { context, activeEntry } = await this.resolveRequest(request, { preferActiveDraft: true });
4947
4960
  const message = typeof body.message === "string" ? body.message : "";
4948
4961
  const images = normalizePromptImages(body.images);
4949
4962
  if (!message.trim() && images.length === 0) throw new Error("message or image is required");
@@ -5271,6 +5284,7 @@ var PicoRuntime = class {
5271
5284
  replaceInstructions: Boolean(body.replaceInstructions),
5272
5285
  label: typeof body.label === "string" ? body.label : void 0
5273
5286
  });
5287
+ this.refreshRetainedConversationItems(activeEntry);
5274
5288
  if (result.editorText != null) activeEntry.uiState.editorText = result.editorText;
5275
5289
  if (result.summaryEntry) {
5276
5290
  this.touchSessionEntry(activeEntry);
@@ -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 { B as ArrowDown, I as ArrowUp, M as ChevronUp, O as Command, R as ArrowRight, V as ArrowBigUp, m as Option, z as ArrowLeft } 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-Di-eYVLe.js
8
+ //#region node_modules/.nitro/vite/services/ssr/assets/routes-C7FEKcrl.js
9
9
  var import_react = /* @__PURE__ */ __toESM(require_react());
10
10
  var import_jsx_runtime = require_jsx_runtime();
11
11
  function cn(...inputs) {
@@ -265,6 +265,10 @@ var HIDE_TOOL_BLOCKS_STORAGE_KEY = "pico-hide-tools";
265
265
  var CENTER_MESSAGES_STORAGE_KEY = "pico-center-messages";
266
266
  var AUTO_SCROLL_ENABLED_STORAGE_KEY = "pico-auto-scroll";
267
267
  var RIGHT_SIDEBAR_OPEN_STORAGE_KEY = "pico-right-sidebar-open";
268
+ var RIGHT_SIDEBAR_ACTIVE_TAB_STORAGE_KEY = "pico-right-sidebar-active-tab";
269
+ var RIGHT_SIDEBAR_WIDTHS_STORAGE_KEY = "pico-right-sidebar-widths";
270
+ var RIGHT_SIDEBAR_FILE_TREE_WIDTH_STORAGE_KEY = "pico-right-sidebar-file-tree-width";
271
+ var RIGHT_SIDEBAR_HISTORY_HEIGHT_STORAGE_KEY = "pico-right-sidebar-history-height";
268
272
  var PROMPT_DRAFTS_STORAGE_KEY = "pico-prompt-drafts";
269
273
  var VIEWER_CONTEXT_STORAGE_KEY = "pico-context-id";
270
274
  function createContextId() {
@@ -1265,11 +1269,11 @@ function getSessionTitle(summary) {
1265
1269
  if (summary?.name?.trim()) return summary.name.trim();
1266
1270
  return "New session";
1267
1271
  }
1268
- var $$splitComponentImporter = () => import("./routes-DJqUmK-U.mjs");
1272
+ var $$splitComponentImporter = () => import("./routes-D0o-mw7d.mjs");
1269
1273
  var indexSearchSchema = object({ session: string().optional() });
1270
1274
  var Route = createFileRoute("/")({
1271
1275
  validateSearch: indexSearchSchema,
1272
1276
  component: lazyRouteComponent($$splitComponentImporter, "component")
1273
1277
  });
1274
1278
  //#endregion
1275
- export { sameContextUsage as $, extractToolText as A, readStoredAutoScrollEnabled as B, buildItemsFromSync as C, createInitialSessionState as D, createContextId as E, normalizeSessionSelectionKeys as F, readStoredPromptDraft as G, readStoredCollapsedDirectories as H, normalizeStoredDirectoryList as I, readStoredSessionDoneDesktopNotificationsEnabled as J, readStoredRecentDirectories as K, normalizeThemeMode as L, getSessionTitle as M, mergeAssistantBlocksForStreaming as N, extractMessageImages as O, normalizePromptImage as P, safeLocalStorageSetItem as Q, previewUrlForImage as R, assistantBlocksFromMessage as S, createCompactionSummaryItem as T, readStoredDraftDirectory as U, readStoredCenterMessages as V, readStoredHideToolBlocks as W, readStoredSidebarDirectories as X, readStoredSessionDoneSoundEnabled as Y, rememberStoredPromptDraft as Z, Tooltip$1 as _, HIDE_TOOL_BLOCKS_STORAGE_KEY as a, TooltipTrigger as b, RECENT_DIRECTORIES_STORAGE_KEY as c, SESSION_DONE_DESKTOP_NOTIFICATIONS_ENABLED_STORAGE_KEY as d, sessionListEntryKey as et, SESSION_DONE_SOUND_ENABLED_STORAGE_KEY as f, TitleTooltip as g, THEME_STORAGE_KEY as h, DRAFT_DIRECTORY_STORAGE_KEY as i, flattenTree as j, extractMessageText as k, RIGHT_SIDEBAR_OPEN_STORAGE_KEY as l, Spinner as m, CENTER_MESSAGES_STORAGE_KEY as n, toolCategoryFromTool as nt, Kbd as o, SIDEBAR_DIRECTORIES_STORAGE_KEY as p, readStoredRightSidebarOpen as q, COLLAPSED_DIRECTORIES_STORAGE_KEY as r, KeyboardShortcutContent as s, AUTO_SCROLL_ENABLED_STORAGE_KEY as t, thinkingSummaryText as tt, Route as u, TooltipContent as v, cn as w, VIEWER_CONTEXT_STORAGE_KEY as x, TooltipProvider as y, promptDraftKey as z };
1279
+ export { readStoredSessionDoneSoundEnabled as $, createContextId as A, normalizeStoredDirectoryList as B, TooltipProvider as C, buildItemsFromSync as D, assistantBlocksFromMessage as E, flattenTree as F, readStoredCenterMessages as G, previewUrlForImage as H, getSessionTitle as I, readStoredHideToolBlocks as J, readStoredCollapsedDirectories as K, mergeAssistantBlocksForStreaming as L, extractMessageImages as M, extractMessageText as N, cn as O, extractToolText as P, readStoredSessionDoneDesktopNotificationsEnabled as Q, normalizePromptImage as R, TooltipContent as S, VIEWER_CONTEXT_STORAGE_KEY as T, promptDraftKey as U, normalizeThemeMode as V, readStoredAutoScrollEnabled as W, readStoredRecentDirectories as X, readStoredPromptDraft as Y, readStoredRightSidebarOpen as Z, SIDEBAR_DIRECTORIES_STORAGE_KEY as _, HIDE_TOOL_BLOCKS_STORAGE_KEY as a, sessionListEntryKey as at, TitleTooltip as b, RECENT_DIRECTORIES_STORAGE_KEY as c, RIGHT_SIDEBAR_HISTORY_HEIGHT_STORAGE_KEY as d, readStoredSidebarDirectories as et, RIGHT_SIDEBAR_OPEN_STORAGE_KEY as f, SESSION_DONE_SOUND_ENABLED_STORAGE_KEY as g, SESSION_DONE_DESKTOP_NOTIFICATIONS_ENABLED_STORAGE_KEY as h, DRAFT_DIRECTORY_STORAGE_KEY as i, sameContextUsage as it, createInitialSessionState as j, createCompactionSummaryItem as k, RIGHT_SIDEBAR_ACTIVE_TAB_STORAGE_KEY as l, Route as m, CENTER_MESSAGES_STORAGE_KEY as n, safeLocalStorageGetItem as nt, Kbd as o, thinkingSummaryText as ot, RIGHT_SIDEBAR_WIDTHS_STORAGE_KEY as p, readStoredDraftDirectory as q, COLLAPSED_DIRECTORIES_STORAGE_KEY as r, safeLocalStorageSetItem as rt, KeyboardShortcutContent as s, toolCategoryFromTool as st, AUTO_SCROLL_ENABLED_STORAGE_KEY as t, rememberStoredPromptDraft as tt, RIGHT_SIDEBAR_FILE_TREE_WIDTH_STORAGE_KEY as u, Spinner as v, TooltipTrigger as w, Tooltip$1 as x, THEME_STORAGE_KEY as y, normalizeSessionSelectionKeys as z };
@@ -2,7 +2,7 @@ import { i as __toESM } from "../_runtime.mjs";
2
2
  import { A as Input, C as MenuTrigger, D as MenuPortal, E as MenuPositioner, F as DialogDescription$1, I as DialogClose, K as mergeProps, L as DialogBackdrop, M as DialogRoot, N as DialogPortal$1, O as MenuPopup, P as DialogPopup, R as Button, S as Separator, T as MenuRoot, X as require_react, Y as require_jsx_runtime, _ as AccordionRoot, a as CollapsiblePanel, b as TabsRoot, c as PopoverPopup, d as PopoverTrigger$1, f as PopoverRoot, g as AccordionItem$1, h as AccordionHeader, i as ContextMenuRoot, j as DialogTitle$1, k as MenuItem, 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 TabsList$1, w as MenuSubmenuRoot, x as MenuSubmenuTrigger, y as TabsTab, 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 ChevronsUpDown, B as ArrowDown, C as FolderPlus, D as Copy, E as Download, F as Check, I as ArrowUp, L as ArrowUpToLine, M as ChevronUp, N as ChevronRight, O as Command, P as ChevronDown, S as Folder, T as EllipsisVertical, _ as ListEnd, a as Square, b as GitBranch, c as Settings2, d as PanelLeft, f as PanelLeftOpen, g as ListStart, h as OctagonX, j as ChevronsDownUp, l as Search, n as WandSparkles, o as SquarePen, p as PanelLeftClose, r as Upload, s as SquareArrowOutUpRight, t as X, u as PanelRight, w as Ellipsis, x as GitCommitHorizontal, y as ImagePlus, z as ArrowLeft } from "../_libs/lucide-react.mjs";
5
- import { $ as sameContextUsage, B as readStoredAutoScrollEnabled, C as buildItemsFromSync, D as createInitialSessionState, E as createContextId, F as normalizeSessionSelectionKeys, G as readStoredPromptDraft, H as readStoredCollapsedDirectories, I as normalizeStoredDirectoryList, J as readStoredSessionDoneDesktopNotificationsEnabled, K as readStoredRecentDirectories, L as normalizeThemeMode, M as getSessionTitle, P as normalizePromptImage, Q as safeLocalStorageSetItem, R as previewUrlForImage, U as readStoredDraftDirectory, V as readStoredCenterMessages, W as readStoredHideToolBlocks, X as readStoredSidebarDirectories, Y as readStoredSessionDoneSoundEnabled, Z as rememberStoredPromptDraft, _ as Tooltip$1, a as HIDE_TOOL_BLOCKS_STORAGE_KEY, b as TooltipTrigger, c as RECENT_DIRECTORIES_STORAGE_KEY, d as SESSION_DONE_DESKTOP_NOTIFICATIONS_ENABLED_STORAGE_KEY, et as sessionListEntryKey, f as SESSION_DONE_SOUND_ENABLED_STORAGE_KEY, g as TitleTooltip, i as DRAFT_DIRECTORY_STORAGE_KEY, j as flattenTree, l as RIGHT_SIDEBAR_OPEN_STORAGE_KEY, m as Spinner, n as CENTER_MESSAGES_STORAGE_KEY, o as Kbd, p as SIDEBAR_DIRECTORIES_STORAGE_KEY, q as readStoredRightSidebarOpen, r as COLLAPSED_DIRECTORIES_STORAGE_KEY, s as KeyboardShortcutContent, t as AUTO_SCROLL_ENABLED_STORAGE_KEY, tt as thinkingSummaryText, u as Route, v as TooltipContent, w as cn, x as VIEWER_CONTEXT_STORAGE_KEY, z as promptDraftKey } from "./routes-Di-eYVLe.mjs";
5
+ import { $ as readStoredSessionDoneSoundEnabled, A as createContextId, B as normalizeStoredDirectoryList, D as buildItemsFromSync, F as flattenTree, G as readStoredCenterMessages, H as previewUrlForImage, I as getSessionTitle, J as readStoredHideToolBlocks, K as readStoredCollapsedDirectories, O as cn, Q as readStoredSessionDoneDesktopNotificationsEnabled, R as normalizePromptImage, S as TooltipContent, T as VIEWER_CONTEXT_STORAGE_KEY, U as promptDraftKey, V as normalizeThemeMode, W as readStoredAutoScrollEnabled, X as readStoredRecentDirectories, Y as readStoredPromptDraft, Z as readStoredRightSidebarOpen, _ as SIDEBAR_DIRECTORIES_STORAGE_KEY, a as HIDE_TOOL_BLOCKS_STORAGE_KEY, at as sessionListEntryKey, b as TitleTooltip, c as RECENT_DIRECTORIES_STORAGE_KEY, d as RIGHT_SIDEBAR_HISTORY_HEIGHT_STORAGE_KEY, et as readStoredSidebarDirectories, f as RIGHT_SIDEBAR_OPEN_STORAGE_KEY, g as SESSION_DONE_SOUND_ENABLED_STORAGE_KEY, h as SESSION_DONE_DESKTOP_NOTIFICATIONS_ENABLED_STORAGE_KEY, i as DRAFT_DIRECTORY_STORAGE_KEY, it as sameContextUsage, j as createInitialSessionState, l as RIGHT_SIDEBAR_ACTIVE_TAB_STORAGE_KEY, m as Route, n as CENTER_MESSAGES_STORAGE_KEY, nt as safeLocalStorageGetItem, o as Kbd, ot as thinkingSummaryText, p as RIGHT_SIDEBAR_WIDTHS_STORAGE_KEY, q as readStoredDraftDirectory, r as COLLAPSED_DIRECTORIES_STORAGE_KEY, rt as safeLocalStorageSetItem, s as KeyboardShortcutContent, t as AUTO_SCROLL_ENABLED_STORAGE_KEY, tt as rememberStoredPromptDraft, u as RIGHT_SIDEBAR_FILE_TREE_WIDTH_STORAGE_KEY, v as Spinner, w as TooltipTrigger, x as Tooltip$1, z as normalizeSessionSelectionKeys } from "./routes-C7FEKcrl.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";
@@ -19,7 +19,7 @@ import { t as remarkGfm } from "../_libs/remark-gfm.mjs";
19
19
  import { a as getBuiltInSpriteSheet, i as getBuiltInFileIconColor, n as FileTree, r as createFileTreeIconResolver, t as useFileTree } from "../_libs/@pierre/trees+[...].mjs";
20
20
  import { a as closestCenter, 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";
21
21
  import { a as verticalListSortingStrategy, i as useSortable, n as arrayMove, r as horizontalListSortingStrategy, t as SortableContext } from "../_libs/dnd-kit__sortable.mjs";
22
- //#region node_modules/.nitro/vite/services/ssr/assets/routes-DJqUmK-U.js
22
+ //#region node_modules/.nitro/vite/services/ssr/assets/routes-D0o-mw7d.js
23
23
  var import_react = /* @__PURE__ */ __toESM(require_react());
24
24
  var import_jsx_runtime = require_jsx_runtime();
25
25
  var SIDEBAR_RESIZE_START_THRESHOLD_PX = 4;
@@ -11964,7 +11964,15 @@ function RightSidebarTabStrip({ activeFilePath, activeTab, filePreviewPath = "",
11964
11964
  }
11965
11965
  function clampProjectFileTreeWidth(width) {
11966
11966
  if (!Number.isFinite(width)) return PROJECT_FILE_TREE_DEFAULT_WIDTH;
11967
- return Math.min(PROJECT_FILE_TREE_MAX_WIDTH, Math.max(PROJECT_FILE_TREE_MIN_WIDTH, width));
11967
+ return Math.round(Math.min(PROJECT_FILE_TREE_MAX_WIDTH, Math.max(PROJECT_FILE_TREE_MIN_WIDTH, width)));
11968
+ }
11969
+ function readStoredProjectFileTreeWidth() {
11970
+ const storedWidth = safeLocalStorageGetItem(RIGHT_SIDEBAR_FILE_TREE_WIDTH_STORAGE_KEY);
11971
+ if (storedWidth == null) return PROJECT_FILE_TREE_DEFAULT_WIDTH;
11972
+ return clampProjectFileTreeWidth(Number(storedWidth));
11973
+ }
11974
+ function storeProjectFileTreeWidth(width) {
11975
+ safeLocalStorageSetItem(RIGHT_SIDEBAR_FILE_TREE_WIDTH_STORAGE_KEY, String(clampProjectFileTreeWidth(width)));
11968
11976
  }
11969
11977
  function FileTreeResizeHandle({ onResize, width }) {
11970
11978
  const resizeTo = (nextWidth) => {
@@ -12010,7 +12018,15 @@ function FileTreeResizeHandle({ onResize, width }) {
12010
12018
  });
12011
12019
  }
12012
12020
  function ProjectFileTreePane({ viewerContextId, cwd, active, activeFilePath, onOpenFile, previewMode }) {
12013
- const [fileTreeWidth, setFileTreeWidth] = import_react.useState(PROJECT_FILE_TREE_DEFAULT_WIDTH);
12021
+ const [fileTreeWidth, setFileTreeWidthState] = import_react.useState(PROJECT_FILE_TREE_DEFAULT_WIDTH);
12022
+ import_react.useEffect(() => {
12023
+ setFileTreeWidthState(readStoredProjectFileTreeWidth());
12024
+ }, []);
12025
+ const setFileTreeWidth = (nextWidth) => {
12026
+ const width = clampProjectFileTreeWidth(nextWidth);
12027
+ setFileTreeWidthState(width);
12028
+ storeProjectFileTreeWidth(width);
12029
+ };
12014
12030
  return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
12015
12031
  className: "relative min-h-0 shrink-0 overflow-visible border-r border-border/70",
12016
12032
  style: {
@@ -12080,6 +12096,21 @@ function FilePathBreadcrumb({ fileTreeCollapsed = false, onFileTreeCollapsedChan
12080
12096
  });
12081
12097
  }
12082
12098
  var GIT_HISTORY_PANEL_MIN_HEIGHT = 160;
12099
+ var GIT_HISTORY_PANEL_MAX_STORED_HEIGHT = 1600;
12100
+ function clampStoredGitHistoryPanelHeight(height) {
12101
+ if (!Number.isFinite(height)) return void 0;
12102
+ return Math.round(Math.min(GIT_HISTORY_PANEL_MAX_STORED_HEIGHT, Math.max(GIT_HISTORY_PANEL_MIN_HEIGHT, height)));
12103
+ }
12104
+ function readStoredGitHistoryPanelHeight() {
12105
+ const storedHeight = safeLocalStorageGetItem(RIGHT_SIDEBAR_HISTORY_HEIGHT_STORAGE_KEY);
12106
+ if (storedHeight == null) return void 0;
12107
+ return clampStoredGitHistoryPanelHeight(Number(storedHeight));
12108
+ }
12109
+ function storeGitHistoryPanelHeight(height) {
12110
+ const nextHeight = clampStoredGitHistoryPanelHeight(height);
12111
+ if (typeof nextHeight !== "number") return;
12112
+ safeLocalStorageSetItem(RIGHT_SIDEBAR_HISTORY_HEIGHT_STORAGE_KEY, String(nextHeight));
12113
+ }
12083
12114
  function reviewFileValue(file) {
12084
12115
  return `${file.status}:${file.previousPath || ""}:${file.path}`;
12085
12116
  }
@@ -12094,7 +12125,7 @@ function FileReviewContent({ viewerContextId, cwd, active, onOpenFile }) {
12094
12125
  const isMobile = useIsMobile();
12095
12126
  const [diffStyle, setDiffStyle] = import_react.useState("unified");
12096
12127
  const [historyOpen, setHistoryOpen] = import_react.useState(true);
12097
- const [historyPanelHeight, setHistoryPanelHeight] = import_react.useState(void 0);
12128
+ const [historyPanelHeight, setHistoryPanelHeight] = import_react.useState(() => readStoredGitHistoryPanelHeight());
12098
12129
  const [defaultHistoryPanelHeight, setDefaultHistoryPanelHeight] = import_react.useState(void 0);
12099
12130
  const [verticalResizeCursor, setVerticalResizeCursor] = import_react.useState("row-resize");
12100
12131
  const [openFiles, setOpenFiles] = import_react.useState([]);
@@ -12125,7 +12156,7 @@ function FileReviewContent({ viewerContextId, cwd, active, onOpenFile }) {
12125
12156
  if (previousNormalizedCwdRef.current === normalizedCwd) return;
12126
12157
  previousNormalizedCwdRef.current = normalizedCwd;
12127
12158
  setHistoryOpen(true);
12128
- setHistoryPanelHeight(void 0);
12159
+ setHistoryPanelHeight(readStoredGitHistoryPanelHeight());
12129
12160
  setDefaultHistoryPanelHeight(void 0);
12130
12161
  setOpenFiles([]);
12131
12162
  setStickyReviewFileValue("");
@@ -12176,13 +12207,16 @@ function FileReviewContent({ viewerContextId, cwd, active, onOpenFile }) {
12176
12207
  const previousUserSelect = document.body.style.userSelect;
12177
12208
  const cursor = getSidebarVerticalResizeCursor();
12178
12209
  const cleanupGlobalResizeCursor = installGlobalResizeCursor(cursor);
12210
+ let latestHeight = Math.min(maxHeight, Math.max(minHeight, startHeight));
12179
12211
  document.body.style.cursor = cursor;
12180
12212
  document.body.style.userSelect = "none";
12181
12213
  const handlePointerMove = (moveEvent) => {
12182
12214
  const nextHeight = startHeight - (moveEvent.clientY - startY);
12183
- setHistoryPanelHeight(Math.min(maxHeight, Math.max(minHeight, nextHeight)));
12215
+ latestHeight = Math.min(maxHeight, Math.max(minHeight, nextHeight));
12216
+ setHistoryPanelHeight(latestHeight);
12184
12217
  };
12185
12218
  const handlePointerUp = () => {
12219
+ storeGitHistoryPanelHeight(latestHeight);
12186
12220
  cleanupGlobalResizeCursor();
12187
12221
  document.body.style.cursor = previousCursor;
12188
12222
  document.body.style.userSelect = previousUserSelect;
@@ -13821,6 +13855,14 @@ function DirectoryPathLabel({ path }) {
13821
13855
  });
13822
13856
  }
13823
13857
  var EMPTY_DIRECTORY_SESSION_KEYS = [];
13858
+ function isMacPlatform() {
13859
+ if (typeof window === "undefined") return false;
13860
+ const platform = window.navigator.platform || window.navigator.userAgent;
13861
+ return /mac|iphone|ipad|ipod/i.test(platform);
13862
+ }
13863
+ function isSidebarMultiSelectModifier(event) {
13864
+ return isMacPlatform() ? event.metaKey : event.ctrlKey;
13865
+ }
13824
13866
  function formatSidebarSessionTime(value, now = Date.now()) {
13825
13867
  if (!value) return "";
13826
13868
  const timestamp = new Date(value).getTime();
@@ -14042,7 +14084,7 @@ function SidebarSessionItem({ entryKey, directorySessionsStore, activeSessionSto
14042
14084
  className: cn("relative h-auto min-w-0 items-start gap-2 py-2 pr-2 pl-8", (isActive || isSelected) && "bg-sidebar-accent text-sidebar-accent-foreground"),
14043
14085
  onClick: (event) => {
14044
14086
  onSessionClick?.(entry, {
14045
- ctrlKey: event.ctrlKey,
14087
+ multiSelectKey: isSidebarMultiSelectModifier(event),
14046
14088
  shiftKey: event.shiftKey
14047
14089
  });
14048
14090
  if (isMobile) setOpenMobile(false);
@@ -14909,6 +14951,15 @@ function createLocalPendingId() {
14909
14951
  if (typeof crypto !== "undefined" && typeof crypto.randomUUID === "function") return `optimistic:${crypto.randomUUID()}`;
14910
14952
  return `optimistic:${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 10)}`;
14911
14953
  }
14954
+ function buildCurrentSessionRequestUrl(path, { contextId, sessionState, fallbackSessionId }) {
14955
+ const sessionKey = sessionState.sessionKey && !sessionState.sessionKey.startsWith("optimistic:") ? sessionState.sessionKey : void 0;
14956
+ const shouldUseSessionKey = Boolean(sessionKey && (sessionState.draft || !sessionState.sessionId));
14957
+ return buildRequestUrl(path, {
14958
+ contextId,
14959
+ sessionId: shouldUseSessionKey ? void 0 : sessionState.sessionId ?? fallbackSessionId,
14960
+ searchParams: shouldUseSessionKey ? { sessionKey } : void 0
14961
+ });
14962
+ }
14912
14963
  function isPendingPromptNotFoundError(error) {
14913
14964
  return error instanceof Error && error.message.toLowerCase().includes("pending prompt not found");
14914
14965
  }
@@ -15164,9 +15215,10 @@ function useAppShellPromptMutations({ viewerContextId, activeSessionId, defaultN
15164
15215
  ]);
15165
15216
  const promptMutation = useMutation({ mutationFn: async ({ message, images, streamingBehavior, pendingId, thinkingLevel }) => {
15166
15217
  if (!viewerContextId) throw new Error("Viewer context unavailable");
15167
- return await fetchJson(buildRequestUrl("/api/prompt", {
15218
+ return await fetchJson(buildCurrentSessionRequestUrl("/api/prompt", {
15168
15219
  contextId: viewerContextId,
15169
- sessionId: activeSessionId
15220
+ sessionState: sessionStateRef.current,
15221
+ fallbackSessionId: activeSessionId
15170
15222
  }), {
15171
15223
  method: "POST",
15172
15224
  headers: { "content-type": "application/json" },
@@ -15358,9 +15410,10 @@ function useAppShellPromptMutations({ viewerContextId, activeSessionId, defaultN
15358
15410
  ]);
15359
15411
  const abortSessionMutation = useMutation({ mutationFn: async () => {
15360
15412
  if (!viewerContextId) throw new Error("Viewer context unavailable");
15361
- return await fetchJson(buildRequestUrl("/api/abort", {
15413
+ return await fetchJson(buildCurrentSessionRequestUrl("/api/abort", {
15362
15414
  contextId: viewerContextId,
15363
- sessionId: activeSessionId
15415
+ sessionState: sessionStateRef.current,
15416
+ fallbackSessionId: activeSessionId
15364
15417
  }), { method: "POST" });
15365
15418
  } });
15366
15419
  const abortSession = import_react.useCallback(async () => {
@@ -15373,9 +15426,10 @@ function useAppShellPromptMutations({ viewerContextId, activeSessionId, defaultN
15373
15426
  }, [abortSessionMutation, viewerContextId]);
15374
15427
  const editPendingMessagesMutation = useMutation({ mutationFn: async (nextPendingMessages) => {
15375
15428
  if (!viewerContextId) throw new Error("Viewer context unavailable");
15376
- return await fetchJson(buildRequestUrl("/api/pending-messages/reorder", {
15429
+ return await fetchJson(buildCurrentSessionRequestUrl("/api/pending-messages/reorder", {
15377
15430
  contextId: viewerContextId,
15378
- sessionId: activeSessionId
15431
+ sessionState: sessionStateRef.current,
15432
+ fallbackSessionId: activeSessionId
15379
15433
  }), {
15380
15434
  method: "POST",
15381
15435
  headers: { "content-type": "application/json" },
@@ -15413,9 +15467,10 @@ function useAppShellPromptMutations({ viewerContextId, activeSessionId, defaultN
15413
15467
  ]);
15414
15468
  const removePendingMessageMutation = useMutation({ mutationFn: async (pendingId) => {
15415
15469
  if (!viewerContextId) throw new Error("Viewer context unavailable");
15416
- return await fetchJson(buildRequestUrl("/api/pending-message/remove", {
15470
+ return await fetchJson(buildCurrentSessionRequestUrl("/api/pending-message/remove", {
15417
15471
  contextId: viewerContextId,
15418
- sessionId: activeSessionId
15472
+ sessionState: sessionStateRef.current,
15473
+ fallbackSessionId: activeSessionId
15419
15474
  }), {
15420
15475
  method: "POST",
15421
15476
  headers: { "content-type": "application/json" },
@@ -17611,7 +17666,7 @@ var AppShellGitPanelController = import_react.memo(function AppShellGitPanelCont
17611
17666
  setStoreField(rightSidebarStore, "fileActivePath", path);
17612
17667
  },
17613
17668
  onActiveTabChange: (tab) => {
17614
- setStoreField(rightSidebarStore, "activeTab", tab);
17669
+ setRightSidebarActiveTab(rightSidebarStore, tab);
17615
17670
  },
17616
17671
  onCloseAllFiles,
17617
17672
  onCloseFile,
@@ -18280,7 +18335,7 @@ function AppShellDesktopGitPanel({ active, onCloseAllFiles, onCloseFile, onClose
18280
18335
  setStoreField(rightSidebarStore, "fileActivePath", path);
18281
18336
  },
18282
18337
  onActiveTabChange: (tab) => {
18283
- setStoreField(rightSidebarStore, "activeTab", tab);
18338
+ setRightSidebarActiveTab(rightSidebarStore, tab);
18284
18339
  },
18285
18340
  onCloseAllFiles,
18286
18341
  onCloseFile,
@@ -18299,6 +18354,41 @@ var DESKTOP_DEFAULT_FILE_VIEW_WIDTH = 520;
18299
18354
  var DESKTOP_DEFAULT_GIT_PANEL_WIDTH = 320;
18300
18355
  var DESKTOP_MIN_SESSION_WIDTH = 320;
18301
18356
  var DESKTOP_MIN_SIDE_PANEL_WIDTH = 260;
18357
+ var DESKTOP_MAX_STORED_SIDE_PANEL_WIDTH = 1600;
18358
+ function defaultDesktopSidePanelWidths() {
18359
+ return {
18360
+ fileViewWidth: DESKTOP_DEFAULT_FILE_VIEW_WIDTH,
18361
+ gitPanelWidth: DESKTOP_DEFAULT_GIT_PANEL_WIDTH
18362
+ };
18363
+ }
18364
+ function clampStoredDesktopPanelWidth(value, fallback) {
18365
+ const width = typeof value === "number" ? value : Number(value);
18366
+ if (!Number.isFinite(width)) return fallback;
18367
+ return Math.round(Math.min(DESKTOP_MAX_STORED_SIDE_PANEL_WIDTH, Math.max(DESKTOP_MIN_SIDE_PANEL_WIDTH, width)));
18368
+ }
18369
+ function normalizeDesktopSidePanelWidths(value) {
18370
+ if (!value || typeof value !== "object") return defaultDesktopSidePanelWidths();
18371
+ const widths = value;
18372
+ return {
18373
+ fileViewWidth: clampStoredDesktopPanelWidth(widths.fileViewWidth, DESKTOP_DEFAULT_FILE_VIEW_WIDTH),
18374
+ gitPanelWidth: clampStoredDesktopPanelWidth(widths.gitPanelWidth, DESKTOP_DEFAULT_GIT_PANEL_WIDTH)
18375
+ };
18376
+ }
18377
+ function readStoredDesktopSidePanelWidths() {
18378
+ try {
18379
+ const raw = safeLocalStorageGetItem(RIGHT_SIDEBAR_WIDTHS_STORAGE_KEY);
18380
+ if (!raw) return defaultDesktopSidePanelWidths();
18381
+ return normalizeDesktopSidePanelWidths(JSON.parse(raw));
18382
+ } catch {
18383
+ return defaultDesktopSidePanelWidths();
18384
+ }
18385
+ }
18386
+ function storeDesktopSidePanelWidths(widths) {
18387
+ safeLocalStorageSetItem(RIGHT_SIDEBAR_WIDTHS_STORAGE_KEY, JSON.stringify(normalizeDesktopSidePanelWidths(widths)));
18388
+ }
18389
+ function sameDesktopSidePanelWidths(left, right) {
18390
+ return left.fileViewWidth === right.fileViewWidth && left.gitPanelWidth === right.gitPanelWidth;
18391
+ }
18302
18392
  function clampDesktopPanelSize(value, min, max) {
18303
18393
  if (!Number.isFinite(value)) return min;
18304
18394
  if (max <= min) return Math.max(0, max);
@@ -18429,10 +18519,40 @@ function AppShellTabsController({ actionsRef, appUiStore, awaitingFirstTurn, com
18429
18519
  const desktopSideWorkspaceOpen = desktopFileViewOpen || desktopGitPanelOpen;
18430
18520
  const desktopLayoutRef = import_react.useRef(null);
18431
18521
  const [desktopLayoutWidth, setDesktopLayoutWidth] = import_react.useState(0);
18432
- const [desktopFileViewWidth, setDesktopFileViewWidth] = import_react.useState(DESKTOP_DEFAULT_FILE_VIEW_WIDTH);
18433
- const [desktopGitPanelWidth, setDesktopGitPanelWidth] = import_react.useState(DESKTOP_DEFAULT_GIT_PANEL_WIDTH);
18522
+ const [desktopSidePanelWidths, setDesktopSidePanelWidthsState] = import_react.useState(() => defaultDesktopSidePanelWidths());
18523
+ const desktopSidePanelWidthsLoadedRef = import_react.useRef(false);
18524
+ const desktopSidePanelWidthsRef = import_react.useRef(desktopSidePanelWidths);
18525
+ desktopSidePanelWidthsRef.current = desktopSidePanelWidths;
18526
+ const desktopFileViewWidth = desktopSidePanelWidths.fileViewWidth;
18527
+ const desktopGitPanelWidth = desktopSidePanelWidths.gitPanelWidth;
18528
+ const setDesktopSidePanelWidths = (action) => {
18529
+ const current = desktopSidePanelWidthsRef.current;
18530
+ const next = normalizeDesktopSidePanelWidths(applyStoreAction(current, action));
18531
+ if (sameDesktopSidePanelWidths(current, next)) return;
18532
+ desktopSidePanelWidthsRef.current = next;
18533
+ setDesktopSidePanelWidthsState(next);
18534
+ if (desktopSidePanelWidthsLoadedRef.current) storeDesktopSidePanelWidths(next);
18535
+ };
18536
+ const setDesktopFileViewWidth = (action) => {
18537
+ setDesktopSidePanelWidths((current) => ({
18538
+ ...current,
18539
+ fileViewWidth: clampStoredDesktopPanelWidth(applyStoreAction(current.fileViewWidth, action), DESKTOP_DEFAULT_FILE_VIEW_WIDTH)
18540
+ }));
18541
+ };
18542
+ const setDesktopGitPanelWidth = (action) => {
18543
+ setDesktopSidePanelWidths((current) => ({
18544
+ ...current,
18545
+ gitPanelWidth: clampStoredDesktopPanelWidth(applyStoreAction(current.gitPanelWidth, action), DESKTOP_DEFAULT_GIT_PANEL_WIDTH)
18546
+ }));
18547
+ };
18434
18548
  const [desktopGitPanelMounted, setDesktopGitPanelMounted] = import_react.useState(desktopGitPanelOpen);
18435
18549
  const [desktopPanelResizing, setDesktopPanelResizing] = import_react.useState(false);
18550
+ import_react.useEffect(() => {
18551
+ const storedWidths = readStoredDesktopSidePanelWidths();
18552
+ desktopSidePanelWidthsLoadedRef.current = true;
18553
+ desktopSidePanelWidthsRef.current = storedWidths;
18554
+ setDesktopSidePanelWidthsState((current) => sameDesktopSidePanelWidths(current, storedWidths) ? current : storedWidths);
18555
+ }, []);
18436
18556
  const sessionPane = /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
18437
18557
  className: "flex h-full min-h-0 min-w-0 flex-1 flex-col overflow-hidden",
18438
18558
  children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
@@ -18848,9 +18968,22 @@ function createInitialAppShellComposerSnapshot(viewerContextId) {
18848
18968
  viewerContextId
18849
18969
  };
18850
18970
  }
18971
+ function normalizeRightSidebarActiveTab(value) {
18972
+ return value === "files" || value === "review" ? value : "review";
18973
+ }
18974
+ function readStoredRightSidebarActiveTab() {
18975
+ return normalizeRightSidebarActiveTab(safeLocalStorageGetItem(RIGHT_SIDEBAR_ACTIVE_TAB_STORAGE_KEY));
18976
+ }
18977
+ function storeRightSidebarActiveTab(tab) {
18978
+ safeLocalStorageSetItem(RIGHT_SIDEBAR_ACTIVE_TAB_STORAGE_KEY, tab);
18979
+ }
18980
+ function setRightSidebarActiveTab(store, tab) {
18981
+ setStoreField(store, "activeTab", tab);
18982
+ storeRightSidebarActiveTab(tab);
18983
+ }
18851
18984
  function createInitialRightSidebarState() {
18852
18985
  return {
18853
- activeTab: "review",
18986
+ activeTab: readStoredRightSidebarActiveTab(),
18854
18987
  fileActivePath: "",
18855
18988
  filePreviewPath: "",
18856
18989
  fileTabs: [],
@@ -18874,6 +19007,7 @@ function resetRightSidebarFiles(store) {
18874
19007
  }
18875
19008
  function openRightSidebarFile(store, path, options) {
18876
19009
  if (!path) return;
19010
+ storeRightSidebarActiveTab("files");
18877
19011
  setStoreState(store, (state) => {
18878
19012
  const shouldPin = Boolean(options?.pin) || state.fileTabs.includes(path) || state.fileActivePath === path;
18879
19013
  const fileTabs = shouldPin ? state.fileTabs.includes(path) ? state.fileTabs : [...state.fileTabs, path] : state.fileTabs;
@@ -19414,7 +19548,7 @@ var AppShellSessionWorkspace = import_react.forwardRef(function AppShellSessionW
19414
19548
  const toggleReviewPane = () => {
19415
19549
  const activeTab = rightSidebarStore.state.activeTab;
19416
19550
  if (isMobile) {
19417
- setStoreField(rightSidebarStore, "activeTab", "review");
19551
+ setRightSidebarActiveTab(rightSidebarStore, "review");
19418
19552
  setCurrentTab((tab) => tab === "git" && activeTab === "review" ? "session" : "git");
19419
19553
  return;
19420
19554
  }
@@ -19423,7 +19557,7 @@ var AppShellSessionWorkspace = import_react.forwardRef(function AppShellSessionW
19423
19557
  return;
19424
19558
  }
19425
19559
  batch(() => {
19426
- setStoreField(rightSidebarStore, "activeTab", "review");
19560
+ setRightSidebarActiveTab(rightSidebarStore, "review");
19427
19561
  setGitPanelOpen(true);
19428
19562
  });
19429
19563
  };
@@ -21677,7 +21811,7 @@ function AppShellSidebarController({ viewerContextId, sidebarStore, sessionWorks
21677
21811
  selectSidebarSessionRange(key);
21678
21812
  return;
21679
21813
  }
21680
- if (modifiers.ctrlKey) {
21814
+ if (modifiers.multiSelectKey) {
21681
21815
  setSidebarSelection(selectedSidebarSessionKeys.includes(key) ? selectedSidebarSessionKeys.filter((currentKey) => currentKey !== key) : [...selectedSidebarSessionKeys, key], key);
21682
21816
  return;
21683
21817
  }
@@ -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-f3QaV5ex.mjs");
3816
+ const { tsrStartManifest } = await import("../_tanstack-start-manifest_v-Bgeq0HT6.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-CvoH1TXL.mjs"),
4802
+ import("./router-BDJ6CDfq.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-f3QaV5ex.js
1
+ //#region node_modules/.nitro/vite/services/ssr/assets/_tanstack-start-manifest_v-Bgeq0HT6.js
2
2
  var tsrStartManifest = () => ({
3
3
  routes: {
4
4
  __root__: {
@@ -50,16 +50,16 @@ var tsrStartManifest = () => ({
50
50
  "/api/ui/$id"
51
51
  ],
52
52
  assets: void 0,
53
- preloads: ["/assets/index-BWtOMO0B.js", "/assets/rolldown-runtime-S-ySWqyJ.js"]
53
+ preloads: ["/assets/index-BTAh2ZbA.js", "/assets/rolldown-runtime-S-ySWqyJ.js"]
54
54
  },
55
55
  "/": {
56
56
  filePath: "/home/runner/work/pico/pico/src/routes/index.tsx",
57
57
  children: void 0,
58
58
  assets: void 0,
59
- preloads: ["/assets/routes-5c_6T6hK.js"]
59
+ preloads: ["/assets/routes-rD8LJ5B7.js"]
60
60
  }
61
61
  },
62
- clientEntry: "/assets/index-BWtOMO0B.js"
62
+ clientEntry: "/assets/index-BTAh2ZbA.js"
63
63
  });
64
64
  //#endregion
65
65
  export { tsrStartManifest };