@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.
- package/.output/nitro.json +1 -1
- package/.output/public/assets/{index-BWtOMO0B.js → index-BTAh2ZbA.js} +8 -8
- package/.output/public/assets/routes-rD8LJ5B7.js +2150 -0
- package/.output/server/_ssr/{router-CvoH1TXL.mjs → router-BDJ6CDfq.mjs} +22 -8
- package/.output/server/_ssr/{routes-Di-eYVLe.mjs → routes-C7FEKcrl.mjs} +7 -3
- package/.output/server/_ssr/{routes-DJqUmK-U.mjs → routes-D0o-mw7d.mjs} +158 -24
- package/.output/server/_ssr/ssr.mjs +2 -2
- package/.output/server/{_tanstack-start-manifest_v-f3QaV5ex.mjs → _tanstack-start-manifest_v-Bgeq0HT6.mjs} +4 -4
- package/.output/server/index.mjs +492 -492
- package/package.json +1 -1
- package/.output/public/assets/routes-5c_6T6hK.js +0 -2150
|
@@ -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 {
|
|
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-
|
|
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, {
|
|
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
|
-
|
|
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-
|
|
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-
|
|
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 {
|
|
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
|
|
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-
|
|
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,
|
|
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(
|
|
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(
|
|
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
|
-
|
|
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
|
-
|
|
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(
|
|
15218
|
+
return await fetchJson(buildCurrentSessionRequestUrl("/api/prompt", {
|
|
15168
15219
|
contextId: viewerContextId,
|
|
15169
|
-
|
|
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(
|
|
15413
|
+
return await fetchJson(buildCurrentSessionRequestUrl("/api/abort", {
|
|
15362
15414
|
contextId: viewerContextId,
|
|
15363
|
-
|
|
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(
|
|
15429
|
+
return await fetchJson(buildCurrentSessionRequestUrl("/api/pending-messages/reorder", {
|
|
15377
15430
|
contextId: viewerContextId,
|
|
15378
|
-
|
|
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(
|
|
15470
|
+
return await fetchJson(buildCurrentSessionRequestUrl("/api/pending-message/remove", {
|
|
15417
15471
|
contextId: viewerContextId,
|
|
15418
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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 [
|
|
18433
|
-
const
|
|
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:
|
|
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
|
-
|
|
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
|
-
|
|
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.
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
59
|
+
preloads: ["/assets/routes-rD8LJ5B7.js"]
|
|
60
60
|
}
|
|
61
61
|
},
|
|
62
|
-
clientEntry: "/assets/index-
|
|
62
|
+
clientEntry: "/assets/index-BTAh2ZbA.js"
|
|
63
63
|
});
|
|
64
64
|
//#endregion
|
|
65
65
|
export { tsrStartManifest };
|