@ai-matrx/coding-sessions 0.1.87 → 0.1.89

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/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @ai-matrx/coding-sessions
2
2
 
3
+ ## 0.1.89
4
+
5
+ Automatic changed-only republish (docs/metadata drift since the last tag — see
6
+ `git diff npm/coding-sessions/v0.1.88..npm/coding-sessions/v0.1.89 -- apps/shared/coding-sessions`).
7
+ No source changes intended and no consumer action required.
8
+
9
+ ## 0.1.88
10
+
11
+ Automatic changed-only republish (docs/metadata drift since the last tag — see
12
+ `git diff npm/coding-sessions/v0.1.87..npm/coding-sessions/v0.1.88 -- apps/shared/coding-sessions`).
13
+ No source changes intended and no consumer action required.
14
+
3
15
  ## 0.1.87
4
16
 
5
17
  Automatic changed-only republish (docs/metadata drift since the last tag — see
@@ -2477,8 +2477,14 @@ function useSessionUsage(sessionId, lastRunKey) {
2477
2477
  }
2478
2478
  function HeaderMenu(props) {
2479
2479
  return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(import_design_system6.DropdownMenu, { children: [
2480
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_design_system6.DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("button", { type: "button", className: "cs-icon-button", "aria-label": "More for this chat", title: "More", children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(MoreIcon, { size: 16 }) }) }),
2481
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_design_system6.DropdownMenuContent, { align: "end", className: "w-64", onCloseAutoFocus: (e) => e.preventDefault(), children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(ChatMenuItems, { entry: props.entry, variant: "dropdown", onRename: props.onRename }) })
2480
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_design_system6.DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("button", { type: "button", className: "cs-icon-button shrink-0", "aria-label": "More for this chat", title: "More", children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(MoreIcon, { size: 16 }) }) }),
2481
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(import_design_system6.DropdownMenuContent, { align: "end", className: "w-64", onCloseAutoFocus: (e) => e.preventDefault(), children: [
2482
+ props.onChanges ? /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(import_design_system6.DropdownMenuItem, { onSelect: props.onChanges, children: [
2483
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(FileIcon, { size: 14 }),
2484
+ props.changesOpen ? "Hide changed files" : "Files this chat changed"
2485
+ ] }) : null,
2486
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(ChatMenuItems, { entry: props.entry, variant: "dropdown", onRename: props.onRename })
2487
+ ] })
2482
2488
  ] });
2483
2489
  }
2484
2490
  function HeaderTitle(props) {
@@ -2584,7 +2590,7 @@ function SessionView({ session, changesOpen, setChangesOpen }) {
2584
2590
  const usageTitle = usage ? `${(0, import_format3.formatCount)(usage.tokens)} tokens over ${usage.runs} ${usage.runs === 1 ? "message" : "messages"} sent from here.` + (usage.cost !== null ? usage.billing === "subscription" ? ` ${(0, import_format3.formatUsd)(usage.cost)} is what this would cost at API prices \u2014 it's covered by your ${provider?.plan ?? ""} plan.`.replace(" ", " ") : ` Billed ${(0, import_format3.formatUsd)(usage.cost)} to your API key.` : "") : "";
2585
2591
  return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { className: "flex min-w-0 flex-1", children: [
2586
2592
  /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("section", { className: "flex min-w-0 flex-1 flex-col", "aria-label": entry.title, children: [
2587
- /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("header", { className: "flex flex-wrap items-center gap-2 border-b border-border px-5 pt-2.5 pb-2.5", children: [
2593
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("header", { className: "@container/header flex items-center gap-2 border-b border-border px-5 pt-2.5 pb-2.5", children: [
2588
2594
  /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(ProviderMark, { provider: session.provider, size: 22 }),
2589
2595
  /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { className: "min-w-0 flex-1 overflow-hidden", children: [
2590
2596
  /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(HeaderTitle, { entry, renaming, setRenaming }),
@@ -2613,7 +2619,7 @@ function SessionView({ session, changesOpen, setChangesOpen }) {
2613
2619
  "button",
2614
2620
  {
2615
2621
  type: "button",
2616
- className: (0, import_design_system6.cn)("cs-chip-button", changesOpen && "cs-chip-button--on"),
2622
+ className: (0, import_design_system6.cn)("cs-chip-button shrink-0 @max-[620px]/header:hidden", changesOpen && "cs-chip-button--on"),
2617
2623
  onClick: () => setChangesOpen(!changesOpen),
2618
2624
  "aria-pressed": changesOpen,
2619
2625
  title: "Files this chat changed",
@@ -2628,7 +2634,7 @@ function SessionView({ session, changesOpen, setChangesOpen }) {
2628
2634
  stopping ? /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(SpinnerIcon, { size: 13 }) : /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(StopIcon, { size: 13 }),
2629
2635
  stopping ? "Stopping\u2026" : "Stop"
2630
2636
  ] }) : null,
2631
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(HeaderMenu, { entry, onRename: () => setRenaming(true) })
2637
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(HeaderMenu, { entry, onRename: () => setRenaming(true), onChanges: () => setChangesOpen(!changesOpen), changesOpen })
2632
2638
  ] }),
2633
2639
  /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: "mx-chat flex min-h-0 flex-1 flex-col", children: /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(import_react9.ChatProvider, { thread: transcript.thread, ports: { notifier, toolLabel: friendlyToolName }, children: [
2634
2640
  /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: "min-h-0 flex-1 overflow-hidden", children: transcript.state.loading ? /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { className: "flex h-full items-center justify-center gap-2 text-[13px] text-muted-foreground", children: [
@@ -2798,7 +2804,7 @@ function DiscoveredView(props) {
2798
2804
  };
2799
2805
  return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { className: "flex min-w-0 flex-1", children: [
2800
2806
  /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("section", { className: "flex min-w-0 flex-1 flex-col", "aria-label": entry.title, children: [
2801
- /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("header", { className: "flex flex-wrap items-center gap-2 border-b border-border px-5 pt-2.5 pb-2.5", children: [
2807
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("header", { className: "@container/header flex items-center gap-2 border-b border-border px-5 pt-2.5 pb-2.5", children: [
2802
2808
  /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(ProviderMark, { provider: props.provider, size: 22 }),
2803
2809
  /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { className: "min-w-0 flex-1", children: [
2804
2810
  /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(HeaderTitle, { entry, renaming, setRenaming }),
@@ -3234,35 +3240,32 @@ function Home({ onNew }) {
3234
3240
  /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("kbd", { className: "cs-kbd", children: "\u2318/" }),
3235
3241
  " all shortcuts"
3236
3242
  ] }),
3237
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: "mt-6 grid grid-cols-[repeat(auto-fit,minmax(220px,1fr))] gap-1.5 text-left", children: state.providers.data.map((p) => /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { className: "flex min-w-[220px] items-start gap-2.5 rounded-lg border border-border px-3 py-2.5", children: [
3238
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(ProviderMark, { provider: p.provider, size: 16 }),
3239
- /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { className: "min-w-0 flex-1 text-[12.5px] leading-5", children: [
3240
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("span", { className: "font-medium", children: p.label }),
3241
- p.ready ? /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("span", { className: "text-muted-foreground", children: [
3242
- " ",
3243
- "\u2014 ready",
3244
- p.plan ? ` on your ${p.plan} plan` : "",
3245
- p.billing === "api" ? " (API key, billed per use)" : ""
3246
- ] }) : null,
3247
- p.installed && p.version ? /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(
3248
- "span",
3249
- {
3250
- className: "block text-[11.5px] text-muted-foreground",
3251
- title: newerWords(p) ?? p.binary?.path ?? void 0,
3252
- children: [
3253
- binaryWords(p),
3243
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: "mt-6 flex flex-wrap justify-center gap-2 text-left", children: state.providers.data.map((p) => /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(
3244
+ "div",
3245
+ {
3246
+ "data-provider-card": p.provider,
3247
+ title: p.installed && p.version ? [binaryWords(p), newerWords(p) ?? p.binary?.path].filter(Boolean).join(" \xB7 ") : void 0,
3248
+ className: "flex w-[260px] items-start gap-2.5 rounded-lg border border-border bg-card px-3 py-2.5",
3249
+ children: [
3250
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(ProviderMark, { provider: p.provider, size: 16 }),
3251
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { className: "min-w-0 flex-1 leading-5", children: [
3252
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("span", { className: "block truncate text-[14px] font-semibold", children: p.label }),
3253
+ p.ready ? /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("span", { className: "block truncate text-[12px] text-muted-foreground", children: [
3254
+ "Ready",
3255
+ p.plan ? ` on your ${p.plan} plan` : "",
3256
+ p.billing === "api" ? " (API key, billed per use)" : "",
3254
3257
  p.binary?.newer ? ` \xB7 ${p.binary.newer.version} available` : ""
3255
- ]
3256
- }
3257
- ) : null,
3258
- p.ready ? null : /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("span", { className: "block text-muted-foreground", children: [
3259
- p.problem,
3260
- " ",
3261
- p.fix
3262
- ] })
3263
- ] }),
3264
- p.ready ? /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(CheckIcon, { size: 15, className: "mt-0.5 text-success" }) : /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(AlertIcon, { size: 15, className: "mt-0.5 text-warning" })
3265
- ] }, p.provider)) })
3258
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("span", { className: "block text-[12px] text-muted-foreground", children: [
3259
+ p.problem,
3260
+ " ",
3261
+ p.fix
3262
+ ] })
3263
+ ] }),
3264
+ p.ready ? /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(CheckIcon, { size: 15, className: "mt-0.5 text-success" }) : /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(AlertIcon, { size: 15, className: "mt-0.5 text-warning" })
3265
+ ]
3266
+ },
3267
+ p.provider
3268
+ )) })
3266
3269
  ] }) });
3267
3270
  }
3268
3271
  function useToast() {