@oxy-hq/sdk 2.5.0 → 2.8.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/dist/shell.css CHANGED
@@ -30,6 +30,7 @@
30
30
  --oxy-shell-primary-fg: var(--primary-foreground, #fafafa);
31
31
  --oxy-shell-accent: var(--accent, #f5f5f5);
32
32
  --oxy-shell-border: var(--border, #d4d4d8);
33
+ --oxy-shell-border-strong: var(--border-strong, rgba(161, 161, 170, 0.5));
33
34
  --oxy-shell-ring: var(--ring, #a1a1a1);
34
35
  --oxy-shell-success: var(--success, #22c55e);
35
36
  --oxy-shell-destructive: var(--destructive, #e7000b);
@@ -56,6 +57,7 @@
56
57
  --oxy-shell-primary-fg: var(--primary-foreground, #0a0a0a);
57
58
  --oxy-shell-accent: var(--accent, #262626);
58
59
  --oxy-shell-border: var(--border, rgba(255, 255, 255, 0.145));
60
+ --oxy-shell-border-strong: var(--border-strong, #3f3f46);
59
61
  --oxy-shell-ring: var(--ring, #525252);
60
62
  --oxy-shell-success: var(--success, #22c55e);
61
63
  --oxy-shell-destructive: var(--destructive, #ff6467);
@@ -209,16 +211,29 @@
209
211
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--oxy-shell-ring) 50%, transparent);
210
212
  }
211
213
 
212
- .oxy-rail__item--active {
214
+ .oxy-rail__item--active,
215
+ .oxy-rail__item--active:hover {
213
216
  opacity: 1;
214
- background: var(--oxy-shell-sidebar-accent);
217
+ /* Selected = an opaque --muted chip outlined in --border-strong, the same
218
+ neutral pair the product uses for selected cards. Both tokens step away
219
+ from the rail in either theme (#e4e4e7 on #fafafa, #27272a on #000), and
220
+ the outline is what separates selected from a plain hover fill — the
221
+ half-transparent sidebar-accent this replaced was nearly invisible over
222
+ the near-white light rail. Deliberately no edge bar: an inset shadow bows
223
+ around the tile's corners and reads as a parenthesis, and a colored one
224
+ would be the only brand hue in otherwise neutral chrome. The ring is an
225
+ inset shadow rather than a border so the tile stays 2rem without relying
226
+ on the host app's box-sizing. */
227
+ background: var(--oxy-shell-muted);
215
228
  color: var(--oxy-shell-sidebar-accent-fg);
229
+ box-shadow: inset 0 0 0 1px var(--oxy-shell-border-strong);
216
230
  }
217
231
 
218
- .oxy-rail__item--active:hover {
219
- /* Matches the original ghost Button: hover:bg-accent applies even on the
220
- active item. */
221
- background: var(--oxy-shell-accent);
232
+ /* Focus ring still wins over the selected outline. */
233
+ .oxy-rail__item--active:focus-visible {
234
+ box-shadow:
235
+ inset 0 0 0 1px var(--oxy-shell-border-strong),
236
+ 0 0 0 3px color-mix(in srgb, var(--oxy-shell-ring) 50%, transparent);
222
237
  }
223
238
 
224
239
  .oxy-rail__item svg {
@@ -257,9 +272,16 @@
257
272
  justify-content: center;
258
273
  overflow: hidden;
259
274
  border-radius: calc(var(--oxy-shell-radius) - 2px);
275
+ /* Fill backs the letter fallback. A real logo (often a transparent PNG)
276
+ sits on its own — the `--logo` modifier drops the fill so it doesn't show
277
+ through as a grey square behind the mark. */
260
278
  background: color-mix(in srgb, var(--oxy-shell-primary) 10%, transparent);
261
279
  }
262
280
 
281
+ .oxy-workspace-tile--logo {
282
+ background: transparent;
283
+ }
284
+
263
285
  .oxy-workspace-tile__img {
264
286
  height: 100%;
265
287
  width: 100%;
package/dist/shell.d.cts CHANGED
@@ -1,5 +1,5 @@
1
1
 
2
- import { a as AppFetcher, n as AgentRunEvent } from "./react-BnpR8VRJ.cjs";
2
+ import { a as AppFetcher, n as AgentRunEvent } from "./react-kHG5gkd-.cjs";
3
3
  import * as React from "react";
4
4
  import { ReactNode } from "react";
5
5
  //#region src/shell/AnswerChart.d.ts
@@ -114,7 +114,7 @@ interface OxyShellProps {
114
114
  chromeForeground?: string;
115
115
  }
116
116
  /**
117
- * The workspace chrome around a customer app: icon rail + universal top bar
117
+ * The workspace chrome around a custom app: icon rail + universal top bar
118
118
  * + content column — visually identical to the main web-app shell.
119
119
  */
120
120
  declare function OxyShell({ children, pageLabel, topBarLeft, topBarExtra, railBottom, hideTopBar, askHotkey, productBaseUrl, className, chromeBackground, chromeForeground }: OxyShellProps): import("react").JSX.Element;
@@ -246,7 +246,7 @@ interface UseShellContextResult {
246
246
  error: Error | null;
247
247
  }
248
248
  /**
249
- * Fetch the shell bootstrap payload for the current customer app. Must be
249
+ * Fetch the shell bootstrap payload for the current custom app. Must be
250
250
  * called inside `<OxyAppProvider>`. Failure is non-fatal by design: the
251
251
  * shell degrades to chrome-less rendering (older servers don't have the
252
252
  * endpoint), so errors are surfaced on the result, never thrown.
@@ -1 +1 @@
1
- {"version":3,"file":"shell.d.cts","names":[],"sources":["../src/shell/AnswerChart.tsx","../src/shell/AskDock.tsx","../src/shell/logoUrl.ts","../src/shell/marks.tsx","../src/shell/OxyShell.tsx","../src/shell/trace.ts","../src/shell/ReasoningTrace.tsx","../src/shell/ShellRail.tsx","../src/shell/shellContext.ts","../src/shell/Tooltip.tsx","../src/shell/TopBar.tsx","../src/shell/threadHistory.ts","../src/shell/WorkspaceTile.tsx"],"mappings":";;;;;UAYiB;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;UAGe;EACf,QAAQ;EACR;EACA;;UA8ce;EACf,OAAO;EACP;;;;;iBAMc,cAAc,OAAO,aAAa,mBAAgB,MAAA,IAAA;;;UCzUjD;;EAEf;;EAEA;;EAEA;;EAEA;EACA;EACA;EACA;;;;;;iBAuEc,UACd,SACA,eACA,aACA,aACA,MACA,SACA,aACC,eAAY,MAAA,IAAA;;;;;;;;cC7PF,mBAAgB,oBAAsB,qBAAqB;;;;cCA3D;;;iBAKG,UAAU;EAAe;oBAAoB,IAAA;;;;;;iBAyB7C,oBAAoB;EAAe;oBAAoB,IAAA;;;UC+BtD;EACf,UAAU;;EAEV;;;;;EAKA,aAAa;;;EAGb,cAAc;;;EAGd,aAAa;;EAEb;;;EAGA;;;;;;;;EAQA;EACA;;;;;EAKA;;;;EAIA;;;;;;iBAsDc,WACd,UACA,WACA,YACA,aACA,YACA,YACA,WACA,gBACA,WACA,kBACA,oBACC,gCAAa,IAAA;;;KC9JJ;UAEK;EACf;EACA;EACA;;EAEA;;EAEA;;EAEA;;EAEA;;EAEA;EACA;EACA;;UAGe;EACf;EACA;EACA;EACA,QAAQ;EACR,OAAO;;;;iBA8IO,gBAAgB,QAAQ,kBAAkB;;;UCvDzC;EACf,OAAO;;EAEP;;EAEA;IAAQ;IAAe;;EACvB;;;;iBAKc,iBAAiB,OAAO,WAAmB,KAAK,aAAa,sCAAmB,IAAA;;;;;;;KCxHpF;EACV;EACA;;;EAGA;EACA;EACA;EACA,OAAO;EACP;EACA;EACA;EACA;;;;;;;iBAuDc,YACd,KACA,QACA,aACA,QACA;EAEA,MAAM;EACN,QAAQ;EACR,cAAc;EACd,SAAS;EACT;oBACD,IAAA;;;UC9EgB;EACf;EACA;EACA;;EAEA;EACA;;;EAGA;;EAEA;;UAGe;EACf;IAAa;IAAY;;EACzB;IAAO;IAAY;IAAc;;;EAEjC;;EAEA,MAAM;;;;EAIN;IAAS;IAAc;IAAiB;;;EAExC;IAAQ;IAAc;IAAe;;;UAGtB;EACf,MAAM;EACN;EACA,OAAO;;;;;;;;iBASO,mBAAmB;;;;;;;;iBC/CnB,eACd,SACA,MACA;EAEA,SAAS,MAAM;EACf;EACA,UAAU,MAAM;IACjB,MAAA,IAAA;;;;;iBCNe,SACd,MACA,OACA;EAEA,OAAO;EACP,QAAQ;EACR;oBACD,IAAA;;;;;;iBAqBe,aACd,gBACA,WACA,UACA;EAEA;EACA;EACA;EACA;oBACD,IAAA;;;;;;;iBAmDe,mCAAe,IAAA;;;;;;iBA+Bf,iBAAiB;EAAc;oBAAmB,IAAA;;;UCrHjD;EACf;EACA;EACA;;UAGe;EACf;EACA,QAAQ;;UAGO;EACf;EACA,OAAO;;UAGQ;EACf,SAAS;EACT;EACA,OAAO;;EAEP;;;;;;;iBAQc,oBAAoB;;;;;iBAyCd,sBACpB,SAAS,YACT,mBACA,mBACC,QAAQ;;;;;;iBCpFK,gBAAgB,MAAM;EAAa;EAAc;oBAAkB,IAAA"}
1
+ {"version":3,"file":"shell.d.cts","names":[],"sources":["../src/shell/AnswerChart.tsx","../src/shell/AskDock.tsx","../src/shell/logoUrl.ts","../src/shell/marks.tsx","../src/shell/OxyShell.tsx","../src/shell/trace.ts","../src/shell/ReasoningTrace.tsx","../src/shell/ShellRail.tsx","../src/shell/shellContext.ts","../src/shell/Tooltip.tsx","../src/shell/TopBar.tsx","../src/shell/threadHistory.ts","../src/shell/WorkspaceTile.tsx"],"mappings":";;;;;UAYiB;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;UAGe;EACf,QAAQ;EACR;EACA;;UA8ce;EACf,OAAO;EACP;;;;;iBAMc,cAAc,OAAO,aAAa,mBAAgB,MAAA,IAAA;;;UCzUjD;;EAEf;;EAEA;;EAEA;;EAEA;EACA;EACA;EACA;;;;;;iBAuEc,UACd,SACA,eACA,aACA,aACA,MACA,SACA,aACC,eAAY,MAAA,IAAA;;;;;;;;cC7PF,mBAAgB,oBAAsB,qBAAqB;;;;cCA3D;;;iBAKG,UAAU;EAAe;oBAAoB,IAAA;;;;;;iBAyB7C,oBAAoB;EAAe;oBAAoB,IAAA;;;UC+BtD;EACf,UAAU;;EAEV;;;;;EAKA,aAAa;;;EAGb,cAAc;;;EAGd,aAAa;;EAEb;;;EAGA;;;;;;;;EAQA;EACA;;;;;EAKA;;;;EAIA;;;;;;iBAsDc,WACd,UACA,WACA,YACA,aACA,YACA,YACA,WACA,gBACA,WACA,kBACA,oBACC,gCAAa,IAAA;;;KC9JJ;UAEK;EACf;EACA;EACA;;EAEA;;EAEA;;EAEA;;EAEA;;EAEA;EACA;EACA;;UAGe;EACf;EACA;EACA;EACA,QAAQ;EACR,OAAO;;;;iBA8IO,gBAAgB,QAAQ,kBAAkB;;;UCvDzC;EACf,OAAO;;EAEP;;EAEA;IAAQ;IAAe;;EACvB;;;;iBAKc,iBAAiB,OAAO,WAAmB,KAAK,aAAa,sCAAmB,IAAA;;;;;;;KCxHpF;EACV;EACA;;;EAGA;EACA;EACA;EACA,OAAO;EACP;EACA;EACA;EACA;;;;;;;iBAuDc,YACd,KACA,QACA,aACA,QACA;EAEA,MAAM;EACN,QAAQ;EACR,cAAc;EACd,SAAS;EACT;oBACD,IAAA;;;UC9EgB;EACf;EACA;EACA;;EAEA;EACA;;;EAGA;;EAEA;;UAGe;EACf;IAAa;IAAY;;EACzB;IAAO;IAAY;IAAc;;;EAEjC;;EAEA,MAAM;;;;EAIN;IAAS;IAAc;IAAiB;;;EAExC;IAAQ;IAAc;IAAe;;;UAGtB;EACf,MAAM;EACN;EACA,OAAO;;;;;;;;iBASO,mBAAmB;;;;;;;;iBC/CnB,eACd,SACA,MACA;EAEA,SAAS,MAAM;EACf;EACA,UAAU,MAAM;IACjB,MAAA,IAAA;;;;;iBCNe,SACd,MACA,OACA;EAEA,OAAO;EACP,QAAQ;EACR;oBACD,IAAA;;;;;;iBAqBe,aACd,gBACA,WACA,UACA;EAEA;EACA;EACA;EACA;oBACD,IAAA;;;;;;;iBAmDe,mCAAe,IAAA;;;;;;iBA+Bf,iBAAiB;EAAc;oBAAmB,IAAA;;;UCrHjD;EACf;EACA;EACA;;UAGe;EACf;EACA,QAAQ;;UAGO;EACf;EACA,OAAO;;UAGQ;EACf,SAAS;EACT;EACA,OAAO;;EAEP;;;;;;;iBAQc,oBAAoB;;;;;iBAyCd,sBACpB,SAAS,YACT,mBACA,mBACC,QAAQ;;;;;;iBCnFK,gBAAgB,MAAM;EAAa;EAAc;oBAAkB,IAAA"}
package/dist/shell.d.mts CHANGED
@@ -1,5 +1,5 @@
1
1
 
2
- import { a as AppFetcher, n as AgentRunEvent } from "./react-BnpR8VRJ.mjs";
2
+ import { a as AppFetcher, n as AgentRunEvent } from "./react-kHG5gkd-.mjs";
3
3
  import * as React from "react";
4
4
  import { ReactNode } from "react";
5
5
  //#region src/shell/AnswerChart.d.ts
@@ -114,7 +114,7 @@ interface OxyShellProps {
114
114
  chromeForeground?: string;
115
115
  }
116
116
  /**
117
- * The workspace chrome around a customer app: icon rail + universal top bar
117
+ * The workspace chrome around a custom app: icon rail + universal top bar
118
118
  * + content column — visually identical to the main web-app shell.
119
119
  */
120
120
  declare function OxyShell({ children, pageLabel, topBarLeft, topBarExtra, railBottom, hideTopBar, askHotkey, productBaseUrl, className, chromeBackground, chromeForeground }: OxyShellProps): import("react").JSX.Element;
@@ -246,7 +246,7 @@ interface UseShellContextResult {
246
246
  error: Error | null;
247
247
  }
248
248
  /**
249
- * Fetch the shell bootstrap payload for the current customer app. Must be
249
+ * Fetch the shell bootstrap payload for the current custom app. Must be
250
250
  * called inside `<OxyAppProvider>`. Failure is non-fatal by design: the
251
251
  * shell degrades to chrome-less rendering (older servers don't have the
252
252
  * endpoint), so errors are surfaced on the result, never thrown.
@@ -1 +1 @@
1
- {"version":3,"file":"shell.d.mts","names":[],"sources":["../src/shell/AnswerChart.tsx","../src/shell/AskDock.tsx","../src/shell/logoUrl.ts","../src/shell/marks.tsx","../src/shell/OxyShell.tsx","../src/shell/trace.ts","../src/shell/ReasoningTrace.tsx","../src/shell/ShellRail.tsx","../src/shell/shellContext.ts","../src/shell/Tooltip.tsx","../src/shell/TopBar.tsx","../src/shell/threadHistory.ts","../src/shell/WorkspaceTile.tsx"],"mappings":";;;;;UAYiB;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;UAGe;EACf,QAAQ;EACR;EACA;;UA8ce;EACf,OAAO;EACP;;;;;iBAMc,cAAc,OAAO,aAAa,mBAAgB,MAAA,IAAA;;;UCzUjD;;EAEf;;EAEA;;EAEA;;EAEA;EACA;EACA;EACA;;;;;;iBAuEc,UACd,SACA,eACA,aACA,aACA,MACA,SACA,aACC,eAAY,MAAA,IAAA;;;;;;;;cC7PF,mBAAgB,oBAAsB,qBAAqB;;;;cCA3D;;;iBAKG,UAAU;EAAe;oBAAoB,IAAA;;;;;;iBAyB7C,oBAAoB;EAAe;oBAAoB,IAAA;;;UC+BtD;EACf,UAAU;;EAEV;;;;;EAKA,aAAa;;;EAGb,cAAc;;;EAGd,aAAa;;EAEb;;;EAGA;;;;;;;;EAQA;EACA;;;;;EAKA;;;;EAIA;;;;;;iBAsDc,WACd,UACA,WACA,YACA,aACA,YACA,YACA,WACA,gBACA,WACA,kBACA,oBACC,gCAAa,IAAA;;;KC9JJ;UAEK;EACf;EACA;EACA;;EAEA;;EAEA;;EAEA;;EAEA;;EAEA;EACA;EACA;;UAGe;EACf;EACA;EACA;EACA,QAAQ;EACR,OAAO;;;;iBA8IO,gBAAgB,QAAQ,kBAAkB;;;UCvDzC;EACf,OAAO;;EAEP;;EAEA;IAAQ;IAAe;;EACvB;;;;iBAKc,iBAAiB,OAAO,WAAmB,KAAK,aAAa,sCAAmB,IAAA;;;;;;;KCxHpF;EACV;EACA;;;EAGA;EACA;EACA;EACA,OAAO;EACP;EACA;EACA;EACA;;;;;;;iBAuDc,YACd,KACA,QACA,aACA,QACA;EAEA,MAAM;EACN,QAAQ;EACR,cAAc;EACd,SAAS;EACT;oBACD,IAAA;;;UC9EgB;EACf;EACA;EACA;;EAEA;EACA;;;EAGA;;EAEA;;UAGe;EACf;IAAa;IAAY;;EACzB;IAAO;IAAY;IAAc;;;EAEjC;;EAEA,MAAM;;;;EAIN;IAAS;IAAc;IAAiB;;;EAExC;IAAQ;IAAc;IAAe;;;UAGtB;EACf,MAAM;EACN;EACA,OAAO;;;;;;;;iBASO,mBAAmB;;;;;;;;iBC/CnB,eACd,SACA,MACA;EAEA,SAAS,MAAM;EACf;EACA,UAAU,MAAM;IACjB,MAAA,IAAA;;;;;iBCNe,SACd,MACA,OACA;EAEA,OAAO;EACP,QAAQ;EACR;oBACD,IAAA;;;;;;iBAqBe,aACd,gBACA,WACA,UACA;EAEA;EACA;EACA;EACA;oBACD,IAAA;;;;;;;iBAmDe,mCAAe,IAAA;;;;;;iBA+Bf,iBAAiB;EAAc;oBAAmB,IAAA;;;UCrHjD;EACf;EACA;EACA;;UAGe;EACf;EACA,QAAQ;;UAGO;EACf;EACA,OAAO;;UAGQ;EACf,SAAS;EACT;EACA,OAAO;;EAEP;;;;;;;iBAQc,oBAAoB;;;;;iBAyCd,sBACpB,SAAS,YACT,mBACA,mBACC,QAAQ;;;;;;iBCpFK,gBAAgB,MAAM;EAAa;EAAc;oBAAkB,IAAA"}
1
+ {"version":3,"file":"shell.d.mts","names":[],"sources":["../src/shell/AnswerChart.tsx","../src/shell/AskDock.tsx","../src/shell/logoUrl.ts","../src/shell/marks.tsx","../src/shell/OxyShell.tsx","../src/shell/trace.ts","../src/shell/ReasoningTrace.tsx","../src/shell/ShellRail.tsx","../src/shell/shellContext.ts","../src/shell/Tooltip.tsx","../src/shell/TopBar.tsx","../src/shell/threadHistory.ts","../src/shell/WorkspaceTile.tsx"],"mappings":";;;;;UAYiB;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;UAGe;EACf,QAAQ;EACR;EACA;;UA8ce;EACf,OAAO;EACP;;;;;iBAMc,cAAc,OAAO,aAAa,mBAAgB,MAAA,IAAA;;;UCzUjD;;EAEf;;EAEA;;EAEA;;EAEA;EACA;EACA;EACA;;;;;;iBAuEc,UACd,SACA,eACA,aACA,aACA,MACA,SACA,aACC,eAAY,MAAA,IAAA;;;;;;;;cC7PF,mBAAgB,oBAAsB,qBAAqB;;;;cCA3D;;;iBAKG,UAAU;EAAe;oBAAoB,IAAA;;;;;;iBAyB7C,oBAAoB;EAAe;oBAAoB,IAAA;;;UC+BtD;EACf,UAAU;;EAEV;;;;;EAKA,aAAa;;;EAGb,cAAc;;;EAGd,aAAa;;EAEb;;;EAGA;;;;;;;;EAQA;EACA;;;;;EAKA;;;;EAIA;;;;;;iBAsDc,WACd,UACA,WACA,YACA,aACA,YACA,YACA,WACA,gBACA,WACA,kBACA,oBACC,gCAAa,IAAA;;;KC9JJ;UAEK;EACf;EACA;EACA;;EAEA;;EAEA;;EAEA;;EAEA;;EAEA;EACA;EACA;;UAGe;EACf;EACA;EACA;EACA,QAAQ;EACR,OAAO;;;;iBA8IO,gBAAgB,QAAQ,kBAAkB;;;UCvDzC;EACf,OAAO;;EAEP;;EAEA;IAAQ;IAAe;;EACvB;;;;iBAKc,iBAAiB,OAAO,WAAmB,KAAK,aAAa,sCAAmB,IAAA;;;;;;;KCxHpF;EACV;EACA;;;EAGA;EACA;EACA;EACA,OAAO;EACP;EACA;EACA;EACA;;;;;;;iBAuDc,YACd,KACA,QACA,aACA,QACA;EAEA,MAAM;EACN,QAAQ;EACR,cAAc;EACd,SAAS;EACT;oBACD,IAAA;;;UC9EgB;EACf;EACA;EACA;;EAEA;EACA;;;EAGA;;EAEA;;UAGe;EACf;IAAa;IAAY;;EACzB;IAAO;IAAY;IAAc;;;EAEjC;;EAEA,MAAM;;;;EAIN;IAAS;IAAc;IAAiB;;;EAExC;IAAQ;IAAc;IAAe;;;UAGtB;EACf,MAAM;EACN;EACA,OAAO;;;;;;;;iBASO,mBAAmB;;;;;;;;iBC/CnB,eACd,SACA,MACA;EAEA,SAAS,MAAM;EACf;EACA,UAAU,MAAM;IACjB,MAAA,IAAA;;;;;iBCNe,SACd,MACA,OACA;EAEA,OAAO;EACP,QAAQ;EACR;oBACD,IAAA;;;;;;iBAqBe,aACd,gBACA,WACA,UACA;EAEA;EACA;EACA;EACA;oBACD,IAAA;;;;;;;iBAmDe,mCAAe,IAAA;;;;;;iBA+Bf,iBAAiB;EAAc;oBAAmB,IAAA;;;UCrHjD;EACf;EACA;EACA;;UAGe;EACf;EACA,QAAQ;;UAGO;EACf;EACA,OAAO;;UAGQ;EACf,SAAS;EACT;EACA,OAAO;;EAEP;;;;;;;iBAQc,oBAAoB;;;;;iBAyCd,sBACpB,SAAS,YACT,mBACA,mBACC,QAAQ;;;;;;iBCnFK,gBAAgB,MAAM;EAAa;EAAc;oBAAkB,IAAA"}
package/dist/shell.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  // @oxy/sdk - TypeScript SDK for Oxy data platform
2
- import { i as useAgentRun, l as useResolvedManifest, o as useOxyApp, t as OxyAnswer, v as getOxyAppLogger } from "./react-CVdWXcu8.mjs";
2
+ import { i as useAgentRun, l as useResolvedManifest, o as useOxyApp, t as OxyAnswer, v as getOxyAppLogger } from "./react-sT7E4CbA.mjs";
3
3
  import * as React from "react";
4
4
  import { Fragment, useEffect, useMemo, useState } from "react";
5
5
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
@@ -1782,7 +1782,7 @@ function ShellRail({ top, groups, footerItems, bottom, className }) {
1782
1782
  //#endregion
1783
1783
  //#region src/shell/shellContext.ts
1784
1784
  /**
1785
- * Fetch the shell bootstrap payload for the current customer app. Must be
1785
+ * Fetch the shell bootstrap payload for the current custom app. Must be
1786
1786
  * called inside `<OxyAppProvider>`. Failure is non-fatal by design: the
1787
1787
  * shell degrades to chrome-less rendering (older servers don't have the
1788
1788
  * endpoint), so errors are surfaced on the result, never thrown.
@@ -1962,11 +1962,12 @@ function WorkspaceClock({ timezone }) {
1962
1962
  * app's concern (the rail `bottom` slot). */
1963
1963
  function WorkspaceTile({ name, logoUrl }) {
1964
1964
  const [failedUrl, setFailedUrl] = useState(null);
1965
+ const showLogo = !!logoUrl && failedUrl !== logoUrl;
1965
1966
  return /* @__PURE__ */ jsx("span", {
1966
1967
  "data-testid": "rail-workspace",
1967
1968
  title: name,
1968
- className: "oxy-shell-scope oxy-workspace-tile",
1969
- children: !!logoUrl && failedUrl !== logoUrl ? /* @__PURE__ */ jsx("img", {
1969
+ className: cx("oxy-shell-scope oxy-workspace-tile", showLogo && "oxy-workspace-tile--logo"),
1970
+ children: showLogo ? /* @__PURE__ */ jsx("img", {
1970
1971
  src: logoUrl,
1971
1972
  alt: name,
1972
1973
  onError: () => setFailedUrl(logoUrl ?? null),
@@ -2049,7 +2050,7 @@ function buildRailGroups(data, currentAppSlug, abs) {
2049
2050
  return appItems.length ? [[hq, chat], appItems] : [[hq, chat]];
2050
2051
  }
2051
2052
  /**
2052
- * The workspace chrome around a customer app: icon rail + universal top bar
2053
+ * The workspace chrome around a custom app: icon rail + universal top bar
2053
2054
  * + content column — visually identical to the main web-app shell.
2054
2055
  */
2055
2056
  function OxyShell({ children, pageLabel, topBarLeft, topBarExtra, railBottom, hideTopBar, askHotkey = true, productBaseUrl, className, chromeBackground, chromeForeground }) {