@saadnvd1/agent-os 0.3.601 → 0.3.603

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.
@@ -120,7 +120,7 @@ export function DesktopTabBar({
120
120
  className={cn(
121
121
  "group relative flex shrink-0 cursor-pointer items-center gap-1.5 rounded-md px-3 py-1.5 text-xs font-medium transition-colors",
122
122
  tab.id === activeTabId
123
- ? "bg-foreground/[0.07] text-foreground after:bg-primary after:absolute after:inset-x-3 after:-bottom-1.5 after:h-px"
123
+ ? "bg-foreground/[0.07] text-foreground [[data-split][data-focused]_&]:after:bg-primary [[data-split][data-focused]_&]:after:absolute [[data-split][data-focused]_&]:after:inset-x-3 [[data-split][data-focused]_&]:after:bottom-0 [[data-split][data-focused]_&]:after:h-0.5"
124
124
  : "text-muted-foreground hover:text-foreground/80 hover:bg-foreground/[0.04]"
125
125
  )}
126
126
  >
@@ -164,6 +164,7 @@ export const Pane = memo(function Pane({
164
164
  ? (terminalRefs.current.get(activeTab.id) ?? null)
165
165
  : null;
166
166
  const isFocused = focusedPaneId === paneId;
167
+ const isSplit = canClose;
167
168
  const session = activeTab
168
169
  ? sessions.find((s) => s.id === activeTab.sessionId)
169
170
  : null;
@@ -433,9 +434,17 @@ export const Pane = memo(function Pane({
433
434
  "flex h-full w-full flex-col overflow-hidden",
434
435
  !isMobile &&
435
436
  "bg-card rounded-xl shadow-(--elevation) ring-1 transition-shadow duration-200",
436
- !isMobile && (isFocused ? "ring-primary/40" : "ring-foreground/[0.07]")
437
+ !isMobile &&
438
+ (isSplit && isFocused
439
+ ? "ring-foreground/[0.16]"
440
+ : "ring-foreground/[0.07]"),
441
+ !isMobile &&
442
+ "[&>*]:transition-opacity [&>*]:duration-150 focus-within:[&>*]:opacity-100 hover:[&>*]:opacity-100",
443
+ !isMobile && isSplit && !isFocused && "[&>*]:opacity-60"
437
444
  )}
438
445
  data-pane-id={paneId}
446
+ data-split={isSplit || undefined}
447
+ data-focused={isFocused || undefined}
439
448
  onClick={handleFocus}
440
449
  >
441
450
  {/* Tab Bar - Mobile vs Desktop */}
@@ -14,6 +14,7 @@ import { cn } from "@/lib/utils";
14
14
  import { orchestratorOpenActions } from "@/stores/orchestratorOpen";
15
15
  import { useRowContext } from "./RowContext";
16
16
  import { SessionRowMenu } from "./SessionRowMenu";
17
+ import { ActiveTick } from "./RowShell";
17
18
  import { RowRename, UnreadDot } from "./RowParts";
18
19
  import { QuickChangeRow } from "./QuickChangeRow";
19
20
  import { NestRail } from "./RowParts";
@@ -59,10 +60,11 @@ export const OrchestratorPinRow = memo(function OrchestratorPinRow({
59
60
  onActivate={() => !renaming && ctx.onSelect(session.id)}
60
61
  className={
61
62
  active
62
- ? "bg-primary/10 border-primary/30"
63
+ ? "bg-foreground/[0.07]"
63
64
  : "bg-muted/50 hover:bg-muted has-[[data-chip]:hover]:bg-muted/50"
64
65
  }
65
66
  >
67
+ {active && <ActiveTick />}
66
68
  <Workflow
67
69
  aria-hidden
68
70
  className={cn(
@@ -7,6 +7,17 @@ import * as DM from "@/components/ui/dropdown-menu";
7
7
  import * as CM from "@/components/ui/context-menu";
8
8
  import { cn } from "@/lib/utils";
9
9
 
10
+ // The open row's accent: a thin rounded tick at the left edge, inside the
11
+ // row so the list's overflow can't clip it.
12
+ export function ActiveTick() {
13
+ return (
14
+ <span
15
+ aria-hidden
16
+ className="bg-primary pointer-events-none absolute inset-y-[9px] left-0 w-[3px] rounded-full"
17
+ />
18
+ );
19
+ }
20
+
10
21
  export type RowMenuKind = "dropdown" | "context";
11
22
 
12
23
  // Every sidebar row's frame: a leading mark, title over subtitle, what's on
@@ -66,10 +77,11 @@ export function RowShell({
66
77
  highlight === "selected"
67
78
  ? "bg-primary/15"
68
79
  : highlight === "active"
69
- ? "bg-primary/10"
70
- : "hover:bg-foreground/[0.04]"
80
+ ? "bg-foreground/[0.07]"
81
+ : "hover:bg-foreground/[0.025]"
71
82
  )}
72
83
  >
84
+ {highlight === "active" && <ActiveTick />}
73
85
  {leading}
74
86
  <span className="@container flex min-w-0 flex-1 flex-col leading-tight">
75
87
  {children}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@saadnvd1/agent-os",
3
- "version": "0.3.601",
3
+ "version": "0.3.603",
4
4
  "description": "Self-hosted web UI for managing Claude Code sessions",
5
5
  "bin": {
6
6
  "agent-os": "scripts/agent-os"