@volter-ai-dev/supercode-ui 0.1.57 → 0.1.58

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/components.mjs CHANGED
@@ -2345,31 +2345,32 @@ function SessionRow({ row, state, onOpen, onOpenSubagents, now = Date.now() }) {
2345
2345
  /* @__PURE__ */ jsxs7("button", { className: "scui-session-main", "data-session-key": row.key, type: "button", "aria-label": `${title} \xB7 ${harnessDisplayName(row.harness)}${row.writable ? "" : " \xB7 Read-only"}${working ? " \xB7 Working" : ""}${path.complete ? ` \xB7 ${path.complete}` : ""}${preview ? ` \xB7 ${preview}` : ""}${unreadCount ? ` \xB7 ${unreadCount} unread` : ""}${age ? ` \xB7 ${age}` : ""}`, "aria-current": row.active ? "true" : void 0, onClick: () => onOpen(row), children: [
2346
2346
  /* @__PURE__ */ jsx8(HarnessLogo, { id: row.harness, activity, size: 34 }),
2347
2347
  /* @__PURE__ */ jsxs7("span", { className: "scui-session-copy", children: [
2348
- /* @__PURE__ */ jsxs7("span", { className: "scui-session-title", children: [
2349
- /* @__PURE__ */ jsx8("strong", { children: title }),
2350
- /* @__PURE__ */ jsx8("span", { className: "scui-session-meta", children: age ? /* @__PURE__ */ jsx8("time", { children: age }) : null })
2351
- ] }),
2348
+ /* @__PURE__ */ jsx8("span", { className: "scui-session-title", children: /* @__PURE__ */ jsx8("strong", { children: title }) }),
2352
2349
  path.complete ? /* @__PURE__ */ jsxs7("small", { className: "scui-session-path", title: row.cwd, children: [
2353
2350
  /* @__PURE__ */ jsx8("span", { className: "scui-session-path-leading", children: path.leading }),
2354
2351
  path.separator ? /* @__PURE__ */ jsx8("span", { className: "scui-session-path-separator", children: path.separator }) : null,
2355
2352
  path.trailing ? /* @__PURE__ */ jsx8("span", { className: "scui-session-path-trailing", children: path.trailing }) : null
2356
2353
  ] }) : null,
2357
- working || preview || unreadCount ? /* @__PURE__ */ jsxs7("span", { className: "scui-session-preview", children: [
2354
+ working || preview ? /* @__PURE__ */ jsxs7("span", { className: "scui-session-preview", children: [
2358
2355
  working ? /* @__PURE__ */ jsxs7("span", { className: "scui-session-working", "aria-hidden": "true", children: [
2359
2356
  /* @__PURE__ */ jsx8("i", {}),
2360
2357
  /* @__PURE__ */ jsx8("i", {}),
2361
2358
  /* @__PURE__ */ jsx8("i", {})
2362
2359
  ] }) : null,
2363
- preview || working ? /* @__PURE__ */ jsx8("small", { children: preview || "Working\u2026" }) : null,
2364
- unreadCount ? /* @__PURE__ */ jsx8("b", { "aria-label": `${unreadCount} unread messages`, children: unreadLabel }) : null
2360
+ preview || working ? /* @__PURE__ */ jsx8("small", { children: preview || "Working\u2026" }) : null
2365
2361
  ] }) : null,
2366
2362
  state.attachError?.key === row.key ? /* @__PURE__ */ jsx8("em", { children: state.attachError.message }) : null
2367
2363
  ] })
2368
2364
  ] }),
2369
- row.subagentCount ? /* @__PURE__ */ jsxs7("button", { className: "scui-session-agents", type: "button", "aria-label": `Open ${row.subagentCount} agent sessions in ${title}`, onClick: () => onOpenSubagents?.(row), children: [
2370
- /* @__PURE__ */ jsx8(UiIcon, { name: "agents", size: 14 }),
2371
- "Agents \xB7 ",
2372
- row.subagentCount
2365
+ row.subagentCount || age || unreadCount ? /* @__PURE__ */ jsxs7("span", { className: "scui-session-rail", children: [
2366
+ /* @__PURE__ */ jsxs7("span", { className: "scui-session-rail-meta", children: [
2367
+ row.subagentCount ? /* @__PURE__ */ jsxs7("button", { className: "scui-session-agents", type: "button", title: `${row.subagentCount} agent sessions`, "aria-label": `Open ${row.subagentCount} agent sessions in ${title}`, onClick: () => onOpenSubagents?.(row), children: [
2368
+ /* @__PURE__ */ jsx8(UiIcon, { name: "agents", size: 14 }),
2369
+ /* @__PURE__ */ jsx8("span", { children: row.subagentCount })
2370
+ ] }) : null,
2371
+ age ? /* @__PURE__ */ jsx8("time", { children: age }) : null
2372
+ ] }),
2373
+ unreadCount ? /* @__PURE__ */ jsx8("b", { "aria-label": `${unreadCount} unread messages`, children: unreadLabel }) : null
2373
2374
  ] }) : null
2374
2375
  ] });
2375
2376
  }
package/embed.mjs CHANGED
@@ -2262,31 +2262,32 @@ function SessionRow({ row, state, onOpen, onOpenSubagents, now = Date.now() }) {
2262
2262
  /* @__PURE__ */ jsxs6("button", { className: "scui-session-main", "data-session-key": row.key, type: "button", "aria-label": `${title} \xB7 ${harnessDisplayName(row.harness)}${row.writable ? "" : " \xB7 Read-only"}${working ? " \xB7 Working" : ""}${path.complete ? ` \xB7 ${path.complete}` : ""}${preview ? ` \xB7 ${preview}` : ""}${unreadCount ? ` \xB7 ${unreadCount} unread` : ""}${age ? ` \xB7 ${age}` : ""}`, "aria-current": row.active ? "true" : void 0, onClick: () => onOpen(row), children: [
2263
2263
  /* @__PURE__ */ jsx7(HarnessLogo, { id: row.harness, activity, size: 34 }),
2264
2264
  /* @__PURE__ */ jsxs6("span", { className: "scui-session-copy", children: [
2265
- /* @__PURE__ */ jsxs6("span", { className: "scui-session-title", children: [
2266
- /* @__PURE__ */ jsx7("strong", { children: title }),
2267
- /* @__PURE__ */ jsx7("span", { className: "scui-session-meta", children: age ? /* @__PURE__ */ jsx7("time", { children: age }) : null })
2268
- ] }),
2265
+ /* @__PURE__ */ jsx7("span", { className: "scui-session-title", children: /* @__PURE__ */ jsx7("strong", { children: title }) }),
2269
2266
  path.complete ? /* @__PURE__ */ jsxs6("small", { className: "scui-session-path", title: row.cwd, children: [
2270
2267
  /* @__PURE__ */ jsx7("span", { className: "scui-session-path-leading", children: path.leading }),
2271
2268
  path.separator ? /* @__PURE__ */ jsx7("span", { className: "scui-session-path-separator", children: path.separator }) : null,
2272
2269
  path.trailing ? /* @__PURE__ */ jsx7("span", { className: "scui-session-path-trailing", children: path.trailing }) : null
2273
2270
  ] }) : null,
2274
- working || preview || unreadCount ? /* @__PURE__ */ jsxs6("span", { className: "scui-session-preview", children: [
2271
+ working || preview ? /* @__PURE__ */ jsxs6("span", { className: "scui-session-preview", children: [
2275
2272
  working ? /* @__PURE__ */ jsxs6("span", { className: "scui-session-working", "aria-hidden": "true", children: [
2276
2273
  /* @__PURE__ */ jsx7("i", {}),
2277
2274
  /* @__PURE__ */ jsx7("i", {}),
2278
2275
  /* @__PURE__ */ jsx7("i", {})
2279
2276
  ] }) : null,
2280
- preview || working ? /* @__PURE__ */ jsx7("small", { children: preview || "Working\u2026" }) : null,
2281
- unreadCount ? /* @__PURE__ */ jsx7("b", { "aria-label": `${unreadCount} unread messages`, children: unreadLabel }) : null
2277
+ preview || working ? /* @__PURE__ */ jsx7("small", { children: preview || "Working\u2026" }) : null
2282
2278
  ] }) : null,
2283
2279
  state.attachError?.key === row.key ? /* @__PURE__ */ jsx7("em", { children: state.attachError.message }) : null
2284
2280
  ] })
2285
2281
  ] }),
2286
- row.subagentCount ? /* @__PURE__ */ jsxs6("button", { className: "scui-session-agents", type: "button", "aria-label": `Open ${row.subagentCount} agent sessions in ${title}`, onClick: () => onOpenSubagents?.(row), children: [
2287
- /* @__PURE__ */ jsx7(UiIcon, { name: "agents", size: 14 }),
2288
- "Agents \xB7 ",
2289
- row.subagentCount
2282
+ row.subagentCount || age || unreadCount ? /* @__PURE__ */ jsxs6("span", { className: "scui-session-rail", children: [
2283
+ /* @__PURE__ */ jsxs6("span", { className: "scui-session-rail-meta", children: [
2284
+ row.subagentCount ? /* @__PURE__ */ jsxs6("button", { className: "scui-session-agents", type: "button", title: `${row.subagentCount} agent sessions`, "aria-label": `Open ${row.subagentCount} agent sessions in ${title}`, onClick: () => onOpenSubagents?.(row), children: [
2285
+ /* @__PURE__ */ jsx7(UiIcon, { name: "agents", size: 14 }),
2286
+ /* @__PURE__ */ jsx7("span", { children: row.subagentCount })
2287
+ ] }) : null,
2288
+ age ? /* @__PURE__ */ jsx7("time", { children: age }) : null
2289
+ ] }),
2290
+ unreadCount ? /* @__PURE__ */ jsx7("b", { "aria-label": `${unreadCount} unread messages`, children: unreadLabel }) : null
2290
2291
  ] }) : null
2291
2292
  ] });
2292
2293
  }
package/messenger.mjs CHANGED
@@ -2259,31 +2259,32 @@ function SessionRow({ row, state, onOpen, onOpenSubagents, now = Date.now() }) {
2259
2259
  /* @__PURE__ */ jsxs6("button", { className: "scui-session-main", "data-session-key": row.key, type: "button", "aria-label": `${title} \xB7 ${harnessDisplayName(row.harness)}${row.writable ? "" : " \xB7 Read-only"}${working ? " \xB7 Working" : ""}${path.complete ? ` \xB7 ${path.complete}` : ""}${preview ? ` \xB7 ${preview}` : ""}${unreadCount ? ` \xB7 ${unreadCount} unread` : ""}${age ? ` \xB7 ${age}` : ""}`, "aria-current": row.active ? "true" : void 0, onClick: () => onOpen(row), children: [
2260
2260
  /* @__PURE__ */ jsx7(HarnessLogo, { id: row.harness, activity, size: 34 }),
2261
2261
  /* @__PURE__ */ jsxs6("span", { className: "scui-session-copy", children: [
2262
- /* @__PURE__ */ jsxs6("span", { className: "scui-session-title", children: [
2263
- /* @__PURE__ */ jsx7("strong", { children: title }),
2264
- /* @__PURE__ */ jsx7("span", { className: "scui-session-meta", children: age ? /* @__PURE__ */ jsx7("time", { children: age }) : null })
2265
- ] }),
2262
+ /* @__PURE__ */ jsx7("span", { className: "scui-session-title", children: /* @__PURE__ */ jsx7("strong", { children: title }) }),
2266
2263
  path.complete ? /* @__PURE__ */ jsxs6("small", { className: "scui-session-path", title: row.cwd, children: [
2267
2264
  /* @__PURE__ */ jsx7("span", { className: "scui-session-path-leading", children: path.leading }),
2268
2265
  path.separator ? /* @__PURE__ */ jsx7("span", { className: "scui-session-path-separator", children: path.separator }) : null,
2269
2266
  path.trailing ? /* @__PURE__ */ jsx7("span", { className: "scui-session-path-trailing", children: path.trailing }) : null
2270
2267
  ] }) : null,
2271
- working || preview || unreadCount ? /* @__PURE__ */ jsxs6("span", { className: "scui-session-preview", children: [
2268
+ working || preview ? /* @__PURE__ */ jsxs6("span", { className: "scui-session-preview", children: [
2272
2269
  working ? /* @__PURE__ */ jsxs6("span", { className: "scui-session-working", "aria-hidden": "true", children: [
2273
2270
  /* @__PURE__ */ jsx7("i", {}),
2274
2271
  /* @__PURE__ */ jsx7("i", {}),
2275
2272
  /* @__PURE__ */ jsx7("i", {})
2276
2273
  ] }) : null,
2277
- preview || working ? /* @__PURE__ */ jsx7("small", { children: preview || "Working\u2026" }) : null,
2278
- unreadCount ? /* @__PURE__ */ jsx7("b", { "aria-label": `${unreadCount} unread messages`, children: unreadLabel }) : null
2274
+ preview || working ? /* @__PURE__ */ jsx7("small", { children: preview || "Working\u2026" }) : null
2279
2275
  ] }) : null,
2280
2276
  state.attachError?.key === row.key ? /* @__PURE__ */ jsx7("em", { children: state.attachError.message }) : null
2281
2277
  ] })
2282
2278
  ] }),
2283
- row.subagentCount ? /* @__PURE__ */ jsxs6("button", { className: "scui-session-agents", type: "button", "aria-label": `Open ${row.subagentCount} agent sessions in ${title}`, onClick: () => onOpenSubagents?.(row), children: [
2284
- /* @__PURE__ */ jsx7(UiIcon, { name: "agents", size: 14 }),
2285
- "Agents \xB7 ",
2286
- row.subagentCount
2279
+ row.subagentCount || age || unreadCount ? /* @__PURE__ */ jsxs6("span", { className: "scui-session-rail", children: [
2280
+ /* @__PURE__ */ jsxs6("span", { className: "scui-session-rail-meta", children: [
2281
+ row.subagentCount ? /* @__PURE__ */ jsxs6("button", { className: "scui-session-agents", type: "button", title: `${row.subagentCount} agent sessions`, "aria-label": `Open ${row.subagentCount} agent sessions in ${title}`, onClick: () => onOpenSubagents?.(row), children: [
2282
+ /* @__PURE__ */ jsx7(UiIcon, { name: "agents", size: 14 }),
2283
+ /* @__PURE__ */ jsx7("span", { children: row.subagentCount })
2284
+ ] }) : null,
2285
+ age ? /* @__PURE__ */ jsx7("time", { children: age }) : null
2286
+ ] }),
2287
+ unreadCount ? /* @__PURE__ */ jsx7("b", { "aria-label": `${unreadCount} unread messages`, children: unreadLabel }) : null
2287
2288
  ] }) : null
2288
2289
  ] });
2289
2290
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@volter-ai-dev/supercode-ui",
3
- "version": "0.1.57",
3
+ "version": "0.1.58",
4
4
  "type": "module",
5
5
  "description": "Composable default UI kit for Supercode-powered coding-agent experiences",
6
6
  "exports": {
@@ -2345,31 +2345,32 @@ function SessionRow({ row, state, onOpen, onOpenSubagents, now = Date.now() }) {
2345
2345
  /* @__PURE__ */ jsxs7("button", { className: "scui-session-main", "data-session-key": row.key, type: "button", "aria-label": `${title} \xB7 ${harnessDisplayName(row.harness)}${row.writable ? "" : " \xB7 Read-only"}${working ? " \xB7 Working" : ""}${path.complete ? ` \xB7 ${path.complete}` : ""}${preview ? ` \xB7 ${preview}` : ""}${unreadCount ? ` \xB7 ${unreadCount} unread` : ""}${age ? ` \xB7 ${age}` : ""}`, "aria-current": row.active ? "true" : void 0, onClick: () => onOpen(row), children: [
2346
2346
  /* @__PURE__ */ jsx8(HarnessLogo, { id: row.harness, activity, size: 34 }),
2347
2347
  /* @__PURE__ */ jsxs7("span", { className: "scui-session-copy", children: [
2348
- /* @__PURE__ */ jsxs7("span", { className: "scui-session-title", children: [
2349
- /* @__PURE__ */ jsx8("strong", { children: title }),
2350
- /* @__PURE__ */ jsx8("span", { className: "scui-session-meta", children: age ? /* @__PURE__ */ jsx8("time", { children: age }) : null })
2351
- ] }),
2348
+ /* @__PURE__ */ jsx8("span", { className: "scui-session-title", children: /* @__PURE__ */ jsx8("strong", { children: title }) }),
2352
2349
  path.complete ? /* @__PURE__ */ jsxs7("small", { className: "scui-session-path", title: row.cwd, children: [
2353
2350
  /* @__PURE__ */ jsx8("span", { className: "scui-session-path-leading", children: path.leading }),
2354
2351
  path.separator ? /* @__PURE__ */ jsx8("span", { className: "scui-session-path-separator", children: path.separator }) : null,
2355
2352
  path.trailing ? /* @__PURE__ */ jsx8("span", { className: "scui-session-path-trailing", children: path.trailing }) : null
2356
2353
  ] }) : null,
2357
- working || preview || unreadCount ? /* @__PURE__ */ jsxs7("span", { className: "scui-session-preview", children: [
2354
+ working || preview ? /* @__PURE__ */ jsxs7("span", { className: "scui-session-preview", children: [
2358
2355
  working ? /* @__PURE__ */ jsxs7("span", { className: "scui-session-working", "aria-hidden": "true", children: [
2359
2356
  /* @__PURE__ */ jsx8("i", {}),
2360
2357
  /* @__PURE__ */ jsx8("i", {}),
2361
2358
  /* @__PURE__ */ jsx8("i", {})
2362
2359
  ] }) : null,
2363
- preview || working ? /* @__PURE__ */ jsx8("small", { children: preview || "Working\u2026" }) : null,
2364
- unreadCount ? /* @__PURE__ */ jsx8("b", { "aria-label": `${unreadCount} unread messages`, children: unreadLabel }) : null
2360
+ preview || working ? /* @__PURE__ */ jsx8("small", { children: preview || "Working\u2026" }) : null
2365
2361
  ] }) : null,
2366
2362
  state.attachError?.key === row.key ? /* @__PURE__ */ jsx8("em", { children: state.attachError.message }) : null
2367
2363
  ] })
2368
2364
  ] }),
2369
- row.subagentCount ? /* @__PURE__ */ jsxs7("button", { className: "scui-session-agents", type: "button", "aria-label": `Open ${row.subagentCount} agent sessions in ${title}`, onClick: () => onOpenSubagents?.(row), children: [
2370
- /* @__PURE__ */ jsx8(UiIcon, { name: "agents", size: 14 }),
2371
- "Agents \xB7 ",
2372
- row.subagentCount
2365
+ row.subagentCount || age || unreadCount ? /* @__PURE__ */ jsxs7("span", { className: "scui-session-rail", children: [
2366
+ /* @__PURE__ */ jsxs7("span", { className: "scui-session-rail-meta", children: [
2367
+ row.subagentCount ? /* @__PURE__ */ jsxs7("button", { className: "scui-session-agents", type: "button", title: `${row.subagentCount} agent sessions`, "aria-label": `Open ${row.subagentCount} agent sessions in ${title}`, onClick: () => onOpenSubagents?.(row), children: [
2368
+ /* @__PURE__ */ jsx8(UiIcon, { name: "agents", size: 14 }),
2369
+ /* @__PURE__ */ jsx8("span", { children: row.subagentCount })
2370
+ ] }) : null,
2371
+ age ? /* @__PURE__ */ jsx8("time", { children: age }) : null
2372
+ ] }),
2373
+ unreadCount ? /* @__PURE__ */ jsx8("b", { "aria-label": `${unreadCount} unread messages`, children: unreadLabel }) : null
2373
2374
  ] }) : null
2374
2375
  ] });
2375
2376
  }
@@ -2259,31 +2259,32 @@ function SessionRow({ row, state, onOpen, onOpenSubagents, now = Date.now() }) {
2259
2259
  /* @__PURE__ */ jsxs6("button", { className: "scui-session-main", "data-session-key": row.key, type: "button", "aria-label": `${title} \xB7 ${harnessDisplayName(row.harness)}${row.writable ? "" : " \xB7 Read-only"}${working ? " \xB7 Working" : ""}${path.complete ? ` \xB7 ${path.complete}` : ""}${preview ? ` \xB7 ${preview}` : ""}${unreadCount ? ` \xB7 ${unreadCount} unread` : ""}${age ? ` \xB7 ${age}` : ""}`, "aria-current": row.active ? "true" : void 0, onClick: () => onOpen(row), children: [
2260
2260
  /* @__PURE__ */ jsx7(HarnessLogo, { id: row.harness, activity, size: 34 }),
2261
2261
  /* @__PURE__ */ jsxs6("span", { className: "scui-session-copy", children: [
2262
- /* @__PURE__ */ jsxs6("span", { className: "scui-session-title", children: [
2263
- /* @__PURE__ */ jsx7("strong", { children: title }),
2264
- /* @__PURE__ */ jsx7("span", { className: "scui-session-meta", children: age ? /* @__PURE__ */ jsx7("time", { children: age }) : null })
2265
- ] }),
2262
+ /* @__PURE__ */ jsx7("span", { className: "scui-session-title", children: /* @__PURE__ */ jsx7("strong", { children: title }) }),
2266
2263
  path.complete ? /* @__PURE__ */ jsxs6("small", { className: "scui-session-path", title: row.cwd, children: [
2267
2264
  /* @__PURE__ */ jsx7("span", { className: "scui-session-path-leading", children: path.leading }),
2268
2265
  path.separator ? /* @__PURE__ */ jsx7("span", { className: "scui-session-path-separator", children: path.separator }) : null,
2269
2266
  path.trailing ? /* @__PURE__ */ jsx7("span", { className: "scui-session-path-trailing", children: path.trailing }) : null
2270
2267
  ] }) : null,
2271
- working || preview || unreadCount ? /* @__PURE__ */ jsxs6("span", { className: "scui-session-preview", children: [
2268
+ working || preview ? /* @__PURE__ */ jsxs6("span", { className: "scui-session-preview", children: [
2272
2269
  working ? /* @__PURE__ */ jsxs6("span", { className: "scui-session-working", "aria-hidden": "true", children: [
2273
2270
  /* @__PURE__ */ jsx7("i", {}),
2274
2271
  /* @__PURE__ */ jsx7("i", {}),
2275
2272
  /* @__PURE__ */ jsx7("i", {})
2276
2273
  ] }) : null,
2277
- preview || working ? /* @__PURE__ */ jsx7("small", { children: preview || "Working\u2026" }) : null,
2278
- unreadCount ? /* @__PURE__ */ jsx7("b", { "aria-label": `${unreadCount} unread messages`, children: unreadLabel }) : null
2274
+ preview || working ? /* @__PURE__ */ jsx7("small", { children: preview || "Working\u2026" }) : null
2279
2275
  ] }) : null,
2280
2276
  state.attachError?.key === row.key ? /* @__PURE__ */ jsx7("em", { children: state.attachError.message }) : null
2281
2277
  ] })
2282
2278
  ] }),
2283
- row.subagentCount ? /* @__PURE__ */ jsxs6("button", { className: "scui-session-agents", type: "button", "aria-label": `Open ${row.subagentCount} agent sessions in ${title}`, onClick: () => onOpenSubagents?.(row), children: [
2284
- /* @__PURE__ */ jsx7(UiIcon, { name: "agents", size: 14 }),
2285
- "Agents \xB7 ",
2286
- row.subagentCount
2279
+ row.subagentCount || age || unreadCount ? /* @__PURE__ */ jsxs6("span", { className: "scui-session-rail", children: [
2280
+ /* @__PURE__ */ jsxs6("span", { className: "scui-session-rail-meta", children: [
2281
+ row.subagentCount ? /* @__PURE__ */ jsxs6("button", { className: "scui-session-agents", type: "button", title: `${row.subagentCount} agent sessions`, "aria-label": `Open ${row.subagentCount} agent sessions in ${title}`, onClick: () => onOpenSubagents?.(row), children: [
2282
+ /* @__PURE__ */ jsx7(UiIcon, { name: "agents", size: 14 }),
2283
+ /* @__PURE__ */ jsx7("span", { children: row.subagentCount })
2284
+ ] }) : null,
2285
+ age ? /* @__PURE__ */ jsx7("time", { children: age }) : null
2286
+ ] }),
2287
+ unreadCount ? /* @__PURE__ */ jsx7("b", { "aria-label": `${unreadCount} unread messages`, children: unreadLabel }) : null
2287
2288
  ] }) : null
2288
2289
  ] });
2289
2290
  }
@@ -351,31 +351,32 @@ function SessionRow({ row, state, onOpen, onOpenSubagents, now = Date.now() }) {
351
351
  /* @__PURE__ */ jsxs5("button", { className: "scui-session-main", "data-session-key": row.key, type: "button", "aria-label": `${title} \xB7 ${harnessDisplayName(row.harness)}${row.writable ? "" : " \xB7 Read-only"}${working ? " \xB7 Working" : ""}${path.complete ? ` \xB7 ${path.complete}` : ""}${preview ? ` \xB7 ${preview}` : ""}${unreadCount ? ` \xB7 ${unreadCount} unread` : ""}${age ? ` \xB7 ${age}` : ""}`, "aria-current": row.active ? "true" : void 0, onClick: () => onOpen(row), children: [
352
352
  /* @__PURE__ */ jsx6(HarnessLogo, { id: row.harness, activity, size: 34 }),
353
353
  /* @__PURE__ */ jsxs5("span", { className: "scui-session-copy", children: [
354
- /* @__PURE__ */ jsxs5("span", { className: "scui-session-title", children: [
355
- /* @__PURE__ */ jsx6("strong", { children: title }),
356
- /* @__PURE__ */ jsx6("span", { className: "scui-session-meta", children: age ? /* @__PURE__ */ jsx6("time", { children: age }) : null })
357
- ] }),
354
+ /* @__PURE__ */ jsx6("span", { className: "scui-session-title", children: /* @__PURE__ */ jsx6("strong", { children: title }) }),
358
355
  path.complete ? /* @__PURE__ */ jsxs5("small", { className: "scui-session-path", title: row.cwd, children: [
359
356
  /* @__PURE__ */ jsx6("span", { className: "scui-session-path-leading", children: path.leading }),
360
357
  path.separator ? /* @__PURE__ */ jsx6("span", { className: "scui-session-path-separator", children: path.separator }) : null,
361
358
  path.trailing ? /* @__PURE__ */ jsx6("span", { className: "scui-session-path-trailing", children: path.trailing }) : null
362
359
  ] }) : null,
363
- working || preview || unreadCount ? /* @__PURE__ */ jsxs5("span", { className: "scui-session-preview", children: [
360
+ working || preview ? /* @__PURE__ */ jsxs5("span", { className: "scui-session-preview", children: [
364
361
  working ? /* @__PURE__ */ jsxs5("span", { className: "scui-session-working", "aria-hidden": "true", children: [
365
362
  /* @__PURE__ */ jsx6("i", {}),
366
363
  /* @__PURE__ */ jsx6("i", {}),
367
364
  /* @__PURE__ */ jsx6("i", {})
368
365
  ] }) : null,
369
- preview || working ? /* @__PURE__ */ jsx6("small", { children: preview || "Working\u2026" }) : null,
370
- unreadCount ? /* @__PURE__ */ jsx6("b", { "aria-label": `${unreadCount} unread messages`, children: unreadLabel }) : null
366
+ preview || working ? /* @__PURE__ */ jsx6("small", { children: preview || "Working\u2026" }) : null
371
367
  ] }) : null,
372
368
  state.attachError?.key === row.key ? /* @__PURE__ */ jsx6("em", { children: state.attachError.message }) : null
373
369
  ] })
374
370
  ] }),
375
- row.subagentCount ? /* @__PURE__ */ jsxs5("button", { className: "scui-session-agents", type: "button", "aria-label": `Open ${row.subagentCount} agent sessions in ${title}`, onClick: () => onOpenSubagents?.(row), children: [
376
- /* @__PURE__ */ jsx6(UiIcon, { name: "agents", size: 14 }),
377
- "Agents \xB7 ",
378
- row.subagentCount
371
+ row.subagentCount || age || unreadCount ? /* @__PURE__ */ jsxs5("span", { className: "scui-session-rail", children: [
372
+ /* @__PURE__ */ jsxs5("span", { className: "scui-session-rail-meta", children: [
373
+ row.subagentCount ? /* @__PURE__ */ jsxs5("button", { className: "scui-session-agents", type: "button", title: `${row.subagentCount} agent sessions`, "aria-label": `Open ${row.subagentCount} agent sessions in ${title}`, onClick: () => onOpenSubagents?.(row), children: [
374
+ /* @__PURE__ */ jsx6(UiIcon, { name: "agents", size: 14 }),
375
+ /* @__PURE__ */ jsx6("span", { children: row.subagentCount })
376
+ ] }) : null,
377
+ age ? /* @__PURE__ */ jsx6("time", { children: age }) : null
378
+ ] }),
379
+ unreadCount ? /* @__PURE__ */ jsx6("b", { "aria-label": `${unreadCount} unread messages`, children: unreadLabel }) : null
379
380
  ] }) : null
380
381
  ] });
381
382
  }
package/sessions.mjs CHANGED
@@ -351,31 +351,32 @@ function SessionRow({ row, state, onOpen, onOpenSubagents, now = Date.now() }) {
351
351
  /* @__PURE__ */ jsxs5("button", { className: "scui-session-main", "data-session-key": row.key, type: "button", "aria-label": `${title} \xB7 ${harnessDisplayName(row.harness)}${row.writable ? "" : " \xB7 Read-only"}${working ? " \xB7 Working" : ""}${path.complete ? ` \xB7 ${path.complete}` : ""}${preview ? ` \xB7 ${preview}` : ""}${unreadCount ? ` \xB7 ${unreadCount} unread` : ""}${age ? ` \xB7 ${age}` : ""}`, "aria-current": row.active ? "true" : void 0, onClick: () => onOpen(row), children: [
352
352
  /* @__PURE__ */ jsx6(HarnessLogo, { id: row.harness, activity, size: 34 }),
353
353
  /* @__PURE__ */ jsxs5("span", { className: "scui-session-copy", children: [
354
- /* @__PURE__ */ jsxs5("span", { className: "scui-session-title", children: [
355
- /* @__PURE__ */ jsx6("strong", { children: title }),
356
- /* @__PURE__ */ jsx6("span", { className: "scui-session-meta", children: age ? /* @__PURE__ */ jsx6("time", { children: age }) : null })
357
- ] }),
354
+ /* @__PURE__ */ jsx6("span", { className: "scui-session-title", children: /* @__PURE__ */ jsx6("strong", { children: title }) }),
358
355
  path.complete ? /* @__PURE__ */ jsxs5("small", { className: "scui-session-path", title: row.cwd, children: [
359
356
  /* @__PURE__ */ jsx6("span", { className: "scui-session-path-leading", children: path.leading }),
360
357
  path.separator ? /* @__PURE__ */ jsx6("span", { className: "scui-session-path-separator", children: path.separator }) : null,
361
358
  path.trailing ? /* @__PURE__ */ jsx6("span", { className: "scui-session-path-trailing", children: path.trailing }) : null
362
359
  ] }) : null,
363
- working || preview || unreadCount ? /* @__PURE__ */ jsxs5("span", { className: "scui-session-preview", children: [
360
+ working || preview ? /* @__PURE__ */ jsxs5("span", { className: "scui-session-preview", children: [
364
361
  working ? /* @__PURE__ */ jsxs5("span", { className: "scui-session-working", "aria-hidden": "true", children: [
365
362
  /* @__PURE__ */ jsx6("i", {}),
366
363
  /* @__PURE__ */ jsx6("i", {}),
367
364
  /* @__PURE__ */ jsx6("i", {})
368
365
  ] }) : null,
369
- preview || working ? /* @__PURE__ */ jsx6("small", { children: preview || "Working\u2026" }) : null,
370
- unreadCount ? /* @__PURE__ */ jsx6("b", { "aria-label": `${unreadCount} unread messages`, children: unreadLabel }) : null
366
+ preview || working ? /* @__PURE__ */ jsx6("small", { children: preview || "Working\u2026" }) : null
371
367
  ] }) : null,
372
368
  state.attachError?.key === row.key ? /* @__PURE__ */ jsx6("em", { children: state.attachError.message }) : null
373
369
  ] })
374
370
  ] }),
375
- row.subagentCount ? /* @__PURE__ */ jsxs5("button", { className: "scui-session-agents", type: "button", "aria-label": `Open ${row.subagentCount} agent sessions in ${title}`, onClick: () => onOpenSubagents?.(row), children: [
376
- /* @__PURE__ */ jsx6(UiIcon, { name: "agents", size: 14 }),
377
- "Agents \xB7 ",
378
- row.subagentCount
371
+ row.subagentCount || age || unreadCount ? /* @__PURE__ */ jsxs5("span", { className: "scui-session-rail", children: [
372
+ /* @__PURE__ */ jsxs5("span", { className: "scui-session-rail-meta", children: [
373
+ row.subagentCount ? /* @__PURE__ */ jsxs5("button", { className: "scui-session-agents", type: "button", title: `${row.subagentCount} agent sessions`, "aria-label": `Open ${row.subagentCount} agent sessions in ${title}`, onClick: () => onOpenSubagents?.(row), children: [
374
+ /* @__PURE__ */ jsx6(UiIcon, { name: "agents", size: 14 }),
375
+ /* @__PURE__ */ jsx6("span", { children: row.subagentCount })
376
+ ] }) : null,
377
+ age ? /* @__PURE__ */ jsx6("time", { children: age }) : null
378
+ ] }),
379
+ unreadCount ? /* @__PURE__ */ jsx6("b", { "aria-label": `${unreadCount} unread messages`, children: unreadLabel }) : null
379
380
  ] }) : null
380
381
  ] });
381
382
  }
package/styles.css CHANGED
@@ -102,18 +102,18 @@
102
102
  .scui-search { display:flex; flex:1; min-width:0; align-items:center; gap:7px; padding:6px 8px; border:1px solid var(--scui-border); border-radius:8px; background:var(--scui-bg-raised); color:var(--scui-muted) }
103
103
  .scui-search input { flex:1; min-width:0; border:0; outline:0; background:transparent; color:var(--scui-fg) }
104
104
  .scui-session-rows { flex:1; min-height:0; overflow:auto; padding:0 6px 8px }
105
- .scui-session { display:flex; width:100%; align-items:center; border-radius:7px; background:transparent }
105
+ .scui-session { display:grid; grid-template-columns:minmax(0,1fr) auto; width:100%; align-items:stretch; border-radius:7px; background:transparent }
106
106
  .scui-session:hover,.scui-session[data-active="true"] { background:var(--scui-fill) }
107
- .scui-session-main { display:flex; min-width:0; flex:1; align-items:flex-start; gap:9px; padding:8px; border:0; background:transparent; text-align:left; cursor:pointer }
108
- .scui-session-agents { display:flex; flex:none; align-items:center; gap:4px; margin-right:6px; padding:4px 6px; border:0; border-radius:6px; background:transparent; color:var(--scui-muted); cursor:pointer; font-size:9px; white-space:nowrap }.scui-session-agents:hover { background:var(--scui-bg-raised); color:var(--scui-fg) }
107
+ .scui-session-main { display:flex; min-width:0; align-items:flex-start; gap:9px; padding:8px; border:0; background:transparent; text-align:left; cursor:pointer }
108
+ .scui-session-rail { display:grid; min-width:26px; align-content:space-between; justify-items:end; gap:4px; padding:8px 8px 8px 0 }.scui-session-rail-meta { display:flex; align-items:center; justify-content:flex-end; gap:4px }.scui-session-rail time { color:var(--scui-muted); font-size:10px; white-space:nowrap }.scui-session-rail > b { display:grid; min-width:16px; height:16px; padding:0 4px; place-items:center; border-radius:8px; background:var(--scui-accent); color:var(--scui-bg); font-size:9px; line-height:16px }
109
+ .scui-session-agents { display:flex; flex:none; align-items:center; gap:2px; padding:2px 4px; border:0; border-radius:6px; background:transparent; color:var(--scui-muted); cursor:pointer; font-size:9px; font-variant-numeric:tabular-nums; white-space:nowrap }.scui-session-agents:hover { background:var(--scui-bg-raised); color:var(--scui-fg) }
109
110
  .scui-session-copy { display:grid; flex:1; min-width:0; gap:1px }
110
111
  .scui-session-copy > span { display:flex; align-items:baseline; gap:7px; min-width:0 }
111
112
  .scui-session-copy strong,.scui-session-copy span > small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap }
112
- .scui-session-copy strong { flex:1; font-size:12.5px }.scui-session-meta { display:flex; flex:none; align-items:center }.scui-session-title time { color:var(--scui-muted); font-size:10px }.scui-session-working { display:flex; flex:none; width:14px; height:8px; align-self:center; align-items:center; justify-content:space-between; color:var(--scui-muted) }.scui-session-working > i { width:3px; height:3px; border-radius:50%; background:currentColor; animation:scui-session-dots 1.2s ease-in-out infinite }.scui-session-working > i:nth-child(2) { animation-delay:.15s }.scui-session-working > i:nth-child(3) { animation-delay:.3s }
113
+ .scui-session-copy strong { flex:1; font-size:12.5px }.scui-session-working { display:flex; flex:none; width:14px; height:8px; align-self:center; align-items:center; justify-content:space-between; color:var(--scui-muted) }.scui-session-working > i { width:3px; height:3px; border-radius:50%; background:currentColor; animation:scui-session-dots 1.2s ease-in-out infinite }.scui-session-working > i:nth-child(2) { animation-delay:.15s }.scui-session-working > i:nth-child(3) { animation-delay:.3s }
113
114
  .scui-session-path { display:flex; min-width:0; overflow:hidden; color:var(--scui-muted); font-size:9.5px; white-space:nowrap }
114
115
  .scui-session-path-leading { flex:0 1 auto; overflow:hidden; text-overflow:ellipsis }.scui-session-path-separator { flex:none }.scui-session-path-trailing { flex:none; max-width:58%; overflow:hidden; direction:rtl; text-align:left; text-overflow:ellipsis; unicode-bidi:plaintext }
115
- .scui-session-preview small { flex:1; min-width:0; color:var(--scui-muted); font-size:10.5px }.scui-session-preview b { display:grid; flex:none; min-width:16px; height:16px; padding:0 4px; place-items:center; border-radius:8px; background:var(--scui-accent); color:var(--scui-bg); font-size:9px; line-height:16px }
116
- .scui-session[data-writable="false"] .scui-session-preview b { background:var(--scui-muted) }
116
+ .scui-session-preview small { flex:1; min-width:0; color:var(--scui-muted); font-size:10.5px }.scui-session[data-writable="false"] .scui-session-rail > b { background:var(--scui-muted) }
117
117
  .scui-session-copy em { overflow:hidden; color:var(--scui-danger); font-size:10px; font-style:normal; text-overflow:ellipsis; white-space:nowrap }
118
118
  .scui-load { display:block; margin:7px auto; padding:5px 10px; border:1px solid var(--scui-border); border-radius:8px; background:var(--scui-bg-raised); color:var(--scui-muted); cursor:pointer }.scui-load:disabled { opacity:.65; cursor:default }
119
119