@truefoundry/trueforge-ui 0.1.0-rc.2 → 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.
Files changed (50) hide show
  1. package/CHANGELOG.md +41 -14
  2. package/README.md +38 -38
  3. package/dist/{ConnectorSettings-H37ZFC6Z.js → ConnectorSettings-4CYGRWPH.js} +6 -4
  4. package/dist/{ConnectorSettings-H37ZFC6Z.js.map → ConnectorSettings-4CYGRWPH.js.map} +1 -1
  5. package/dist/{DockLayout-KEMFRWIR.js → DockLayout-FEDQX2UT.js} +8 -6
  6. package/dist/{DockLayout-KEMFRWIR.js.map → DockLayout-FEDQX2UT.js.map} +1 -1
  7. package/dist/{DrawerLayout-ZVWCKEIS.js → DrawerLayout-NMA7P64K.js} +10 -7
  8. package/dist/{DrawerLayout-ZVWCKEIS.js.map → DrawerLayout-NMA7P64K.js.map} +1 -1
  9. package/dist/{ModelSettings-QJMYHCMD.js → ModelSettings-H5FKRZLK.js} +6 -4
  10. package/dist/{ModelSettings-QJMYHCMD.js.map → ModelSettings-H5FKRZLK.js.map} +1 -1
  11. package/dist/{SandboxSettings-BUBMLW7Q.js → SandboxSettings-CBSC3C3G.js} +6 -4
  12. package/dist/{SandboxSettings-BUBMLW7Q.js.map → SandboxSettings-CBSC3C3G.js.map} +1 -1
  13. package/dist/{SettingsBuilder-26XSGIHK.js → SettingsBuilder-EGSH7BUA.js} +9 -7
  14. package/dist/{SettingsBuilder-26XSGIHK.js.map → SettingsBuilder-EGSH7BUA.js.map} +1 -1
  15. package/dist/ShellRouteSync-53FTXNZZ.js +172 -0
  16. package/dist/ShellRouteSync-53FTXNZZ.js.map +1 -0
  17. package/dist/{SidebarLayout-F3XFXW7B.js → SidebarLayout-5WM2BHZG.js} +10 -7
  18. package/dist/{SidebarLayout-F3XFXW7B.js.map → SidebarLayout-5WM2BHZG.js.map} +1 -1
  19. package/dist/{SkillSettings-IRMGDFRG.js → SkillSettings-A2OQSQUT.js} +6 -4
  20. package/dist/{SkillSettings-IRMGDFRG.js.map → SkillSettings-A2OQSQUT.js.map} +1 -1
  21. package/dist/TrueForgeUIWithRouter-2AQ3HW6L.js +30 -0
  22. package/dist/TrueForgeUIWithRouter-2AQ3HW6L.js.map +1 -0
  23. package/dist/{WidgetLayout-SZMABKIR.js → WidgetLayout-IKGVAZFV.js} +8 -6
  24. package/dist/{WidgetLayout-SZMABKIR.js.map → WidgetLayout-IKGVAZFV.js.map} +1 -1
  25. package/dist/{chunk-7EEOWDLE.js → chunk-4STVL6W6.js} +9 -7
  26. package/dist/{chunk-7EEOWDLE.js.map → chunk-4STVL6W6.js.map} +1 -1
  27. package/dist/chunk-7LAVNBJC.js +477 -0
  28. package/dist/chunk-7LAVNBJC.js.map +1 -0
  29. package/dist/{chunk-LRQHHZDX.js → chunk-BMLCISMH.js} +6 -4
  30. package/dist/{chunk-LRQHHZDX.js.map → chunk-BMLCISMH.js.map} +1 -1
  31. package/dist/chunk-EK6OUU24.js +441 -0
  32. package/dist/chunk-EK6OUU24.js.map +1 -0
  33. package/dist/chunk-FXCYLEFB.js +64 -0
  34. package/dist/chunk-FXCYLEFB.js.map +1 -0
  35. package/dist/{chunk-H7DR64W3.js → chunk-GJ3SK4G3.js} +38 -93
  36. package/dist/chunk-GJ3SK4G3.js.map +1 -0
  37. package/dist/chunk-IDXUUOSM.js +436 -0
  38. package/dist/chunk-IDXUUOSM.js.map +1 -0
  39. package/dist/{chunk-QGNLP2EE.js → chunk-MIHHZQOQ.js} +6 -4
  40. package/dist/{chunk-QGNLP2EE.js.map → chunk-MIHHZQOQ.js.map} +1 -1
  41. package/dist/chunk-YIWUG6MC.js +101 -0
  42. package/dist/chunk-YIWUG6MC.js.map +1 -0
  43. package/dist/index.d.ts +54 -9
  44. package/dist/index.js +39 -426
  45. package/dist/index.js.map +1 -1
  46. package/dist/plugins/trueforge-agent-server-adapter/index.js.map +1 -1
  47. package/package.json +15 -7
  48. package/dist/chunk-H7DR64W3.js.map +0 -1
  49. package/dist/chunk-XAZ5HJXV.js +0 -862
  50. package/dist/chunk-XAZ5HJXV.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,10 +1,37 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.2.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 9a4d1a7: Add opt-in `withRouter` URL sync for shell places (`/`, `/agents/:agentName`, `/sessions/:sessionId`, `/settings`), with path customization via `routes` and `react-router-dom` as an optional peer. Serve the app shell for client-side deep links from the TrueForge server.
8
+
9
+ ### Patch Changes
10
+
11
+ - Updated dependencies [5100c59]
12
+ - @truefoundry/trueforge-sdk@0.1.1
13
+
14
+ ## 0.1.0
15
+
16
+ ### Minor Changes
17
+
18
+ - 2f08a99: Remember plain-draft composer choices (model, skills, MCP connectors, config) across New Chat and reloads via localStorage. Edit-flow and immutable library agents are unchanged. `TrueForgeUI` `layout` is optional and defaults to `"sidebar"`.
19
+ - b56c003: Initial 0.1.0-rc.1 prerelease of all public packages.
20
+
21
+ ### Patch Changes
22
+
23
+ - e9bf976: Wrap settings MCP, skills, model-provider, and sandbox create/put bodies as `{ manifest }`. List/get items nest the stored document (`name` plus `manifest`, plus derived fields). Create returns 201. Chat lists and catalogs stay flat. Adapter catalogs follow the new SDK shapes.
24
+ - a9e8187: Improve nested tool approval handling and bump `@truefoundry/assistant-ui-runtime`.
25
+ - 0730213: Save Agent dialog: add a per-connector **preload** toggle (writes `mcp_servers[].preload`), render the capabilities as side-by-side cards, and declutter the modal — inline model/connector/skill chips (model shows its provider logo), the "Connectors" label, no subtitle, content-sized height, and tighter spacing. Tooltips now portal into the nearest `<dialog>` so they render above modal content.
26
+ - Updated dependencies [e9bf976]
27
+ - Updated dependencies [b56c003]
28
+ - @truefoundry/trueforge-sdk@0.1.0
29
+
3
30
  ## 0.1.0-rc.2
4
31
 
5
32
  ### Minor Changes
6
33
 
7
- - 2f08a99: Remember plain-draft composer choices (model, skills, MCP connectors, config) across New Chat and reloads via localStorage. Edit-flow and immutable library agents are unchanged. `TrueforgeUI` `layout` is optional and defaults to `"sidebar"`.
34
+ - 2f08a99: Remember plain-draft composer choices (model, skills, MCP connectors, config) across New Chat and reloads via localStorage. Edit-flow and immutable library agents are unchanged. `TrueForgeUI` `layout` is optional and defaults to `"sidebar"`.
8
35
 
9
36
  ### Patch Changes
10
37
 
@@ -67,8 +94,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
67
94
  config choices are remembered (in-memory + `localStorage`) and seed the next
68
95
  New Chat after reload. Stale catalog entries are pruned once catalogs load.
69
96
  Edit-flow (`agentId` set) and immutable library agents are unchanged.
70
- - **Optional `layout`** — `<TrueforgeUI />` `layout` prop defaults to `"sidebar"`.
71
- - **`type: "trueforge"` built-in server** — `<TrueforgeUI server={{ type: 'trueforge', baseUrl?, token?, fetch? }} />`
97
+ - **Optional `layout`** — `<TrueForgeUI />` `layout` prop defaults to `"sidebar"`.
98
+ - **`type: "trueforge"` built-in server** — `<TrueForgeUI server={{ type: 'trueforge', baseUrl?, token?, fetch? }} />`
72
99
  resolves a full Harness `AgentUIServer` via
73
100
  `@truefoundry/trueforge-ui/plugins/trueforge-agent-server-adapter`
74
101
  (`createTrueForgeAgentUIServer`), including chat, builder, and default settings
@@ -148,9 +175,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
148
175
  Save Agent / welcome chrome key off `isMutable`, not draft|named.
149
176
  Hosts that inspected `mode.type` must switch to `mode.status` /
150
177
  `mode.isMutable` (see `shellIsMutable`).
151
- - **Renamed `TrueFoundryAssistantUI` → `TrueforgeUI`** (props type
152
- `TrueFoundryAssistantUIProps` → `TrueforgeUIProps`). Update imports and JSX.
153
- - **`TrueforgeUI` agent props** — replaced top-level `agentName` and
178
+ - **Renamed `TrueFoundryAssistantUI` → `TrueForgeUI`** (props type
179
+ `TrueFoundryAssistantUIProps` → `TrueForgeUIProps`). Update imports and JSX.
180
+ - **`TrueForgeUI` agent props** — replaced top-level `agentName` and
154
181
  `defaultAgentSpec` with a single discriminated `agentConfig`. There is no
155
182
  compat shim; hosts must update call sites.
156
183
  - **Icons use Lucide** (`lucide-react`) instead of Font Awesome. Default
@@ -204,10 +231,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
204
231
  `CreateSandboxRequest`, `UpdateSandboxRequest`, `SandboxCatalogServer`.
205
232
  `apiKey` is never stored in the catalog and is optional on update (blank keeps
206
233
  the existing key).
207
- - `TrueforgeBuiltInServerConfig` exported for hosts that build the built-in
234
+ - `TrueForgeBuiltInServerConfig` exported for hosts that build the built-in
208
235
  config separately.
209
236
 
210
- - **`agentConfig` shell modes** on `TrueforgeUI` /
237
+ - **`agentConfig` shell modes** on `TrueForgeUI` /
211
238
  `ShellModeProvider`:
212
239
  - `SingleAgent` — locked named agent (`name` required)
213
240
  - `AgentLibrary` — Agents Library only; idle empty state until pick; no New Chat
@@ -243,8 +270,8 @@ import { TrueFoundryAssistantUI } from '@truefoundry/trueforge-ui';
243
270
  <TrueFoundryAssistantUI server={server} layout="sidebar" />;
244
271
 
245
272
  // After
246
- import { TrueforgeUI } from '@truefoundry/trueforge-ui';
247
- <TrueforgeUI server={server} layout="sidebar" />;
273
+ import { TrueForgeUI } from '@truefoundry/trueforge-ui';
274
+ <TrueForgeUI server={server} layout="sidebar" />;
248
275
  ```
249
276
 
250
277
  #### `agentConfig` (host must update)
@@ -266,12 +293,12 @@ import { TrueforgeUI } from '@truefoundry/trueforge-ui';
266
293
  />
267
294
 
268
295
  // After
269
- <TrueforgeUI
296
+ <TrueForgeUI
270
297
  server={server}
271
298
  layout="sidebar"
272
299
  agentConfig={{ mode: "SingleAgent", name: "support-agent" }}
273
300
  />
274
- <TrueforgeUI
301
+ <TrueForgeUI
275
302
  server={server}
276
303
  layout="sidebar"
277
304
  agentConfig={{
@@ -320,7 +347,7 @@ import { TrueforgeUI } from '@truefoundry/trueforge-ui';
320
347
 
321
348
  ### Added
322
349
 
323
- - `TrueforgeUI` quick-start component with `layout`: `sidebar` | `drawer` |
350
+ - `TrueForgeUI` quick-start component with `layout`: `sidebar` | `drawer` |
324
351
  `dock` | `widget` (slots outside the chat provider so toast overrides apply).
325
352
  - Curated re-exports: `useAui`, `useAuiState`, `AssistantState` from the main
326
353
  barrel and `@truefoundry/trueforge-ui/assistant-ui`; `useTheme` from the main
@@ -352,7 +379,7 @@ import { TrueforgeUI } from '@truefoundry/trueforge-ui';
352
379
  - Font Awesome packages this SDK imports (`fontawesome-svg-core`,
353
380
  `free-solid-svg-icons`) moved to `dependencies`.
354
381
  - `SlotOverrides` is `Partial<AtomSlots>` only (no `Record<string, unknown>`).
355
- - `TrueforgeUI` lazy-layout `Suspense` fallback is a pulse skeleton
382
+ - `TrueForgeUI` lazy-layout `Suspense` fallback is a pulse skeleton
356
383
  instead of blank.
357
384
  - README reordered: quick start (prefer `client`) before advanced sections.
358
385
 
package/README.md CHANGED
@@ -12,7 +12,7 @@ Powered by [assistant-ui](https://www.assistant-ui.com/), it follows the familia
12
12
 
13
13
  - **Fully themeable** — Use built-in themes inspired by **TrueFoundry**, **ChatGPT**, **Claude**, and **Gemini**, or create your own brand identity.
14
14
  - **Composable by design** — Swap layouts, components, and interaction patterns to fit your product.
15
- - **Backend agnostic** — Connect to **TrueFoundry**, **TrueForge**, or any custom API via `TrueforgeServerConfig`.
15
+ - **Backend agnostic** — Connect to **TrueFoundry**, **TrueForge**, or any custom API via `TrueForgeServerConfig`.
16
16
  - **Open source** — Extend, customize, and contribute without vendor lock-in.
17
17
  - **Built on assistant-ui** — Leverage a modern React foundation with seamless shadcn/ui and Tailwind CSS integration.
18
18
  - **Production ready** — Focus on your agents while the SDK handles the chat experience.
@@ -27,7 +27,7 @@ Bring your own **brand, colors, layout, components, and server**—the Agent SDK
27
27
 
28
28
  - [Installation](#installation)
29
29
  - [Getting started](#getting-started)
30
- - [`<TrueforgeUI />` props](#trueforgeui--props)
30
+ - [`<TrueForgeUI />` props](#trueforgeui--props)
31
31
  - [Theming](#theming)
32
32
  - [Content classNames](#content-classnames)
33
33
  - [Brand / logo](#brand--logo)
@@ -60,7 +60,7 @@ and your app chrome work alongside the SDK. In the host stylesheet:
60
60
  @import 'tailwindcss';
61
61
  ```
62
62
 
63
- SDK styles (tokens, utilities, OpenUI) load automatically when `TrueforgeUI` /
63
+ SDK styles (tokens, utilities, OpenUI) load automatically when `TrueForgeUI` /
64
64
  `ThemeProvider` mounts — you do **not** need to import the SDK stylesheet for
65
65
  client-only apps.
66
66
 
@@ -83,12 +83,12 @@ Zero-config path: the SDK builds the agent UI server from your API key and
83
83
  control plane URL (optional explicit gateway URL).
84
84
 
85
85
  ```tsx
86
- import { TrueforgeUI } from '@truefoundry/trueforge-ui';
86
+ import { TrueForgeUI } from '@truefoundry/trueforge-ui';
87
87
 
88
88
  export default function App() {
89
89
  return (
90
90
  <div style={{ height: '100dvh' }}>
91
- <TrueforgeUI
91
+ <TrueForgeUI
92
92
  server={{
93
93
  type: 'truefoundry',
94
94
  apiKey: process.env.TFY_API_KEY!,
@@ -118,12 +118,12 @@ pnpm add @truefoundry/trueforge-sdk
118
118
  **Bearer token (embeds / remote API):**
119
119
 
120
120
  ```tsx
121
- import { TrueforgeUI } from '@truefoundry/trueforge-ui';
121
+ import { TrueForgeUI } from '@truefoundry/trueforge-ui';
122
122
 
123
123
  export default function App() {
124
124
  return (
125
125
  <div style={{ height: '100dvh' }}>
126
- <TrueforgeUI
126
+ <TrueForgeUI
127
127
  server={{
128
128
  type: 'trueforge',
129
129
  baseUrl: process.env.TRUEFORGE_BASE_URL, // optional; default '/'
@@ -140,7 +140,7 @@ export default function App() {
140
140
  auth-aware wrapper that follows OIDC cookies):
141
141
 
142
142
  ```tsx
143
- <TrueforgeUI
143
+ <TrueForgeUI
144
144
  server={{
145
145
  type: 'trueforge',
146
146
  baseUrl: '/',
@@ -157,7 +157,7 @@ auth-aware wrapper that follows OIDC cookies):
157
157
  Optional: pass `catalog` to override the built-in settings catalogs, or import
158
158
  `createTrueForgeAgentUIServer` from
159
159
  `@truefoundry/trueforge-ui/plugins/trueforge-agent-server-adapter` when you need
160
- the factory outside `<TrueforgeUI />`.
160
+ the factory outside `<TrueForgeUI />`.
161
161
 
162
162
  **Custom** — bring your own `AgentUIServer`
163
163
 
@@ -165,7 +165,7 @@ Use this when you compose chat + builder yourself (e.g. chat-only gateway
165
165
  adapter + stub catalog, or a full host BFF). Pass the server object directly.
166
166
 
167
167
  ```tsx
168
- import { TrueforgeUI, createTrueFoundryServer } from '@truefoundry/trueforge-ui';
168
+ import { TrueForgeUI, createTrueFoundryServer } from '@truefoundry/trueforge-ui';
169
169
  import { createTrueFoundryChatServer } from '@truefoundry/assistant-ui-runtime/plugins/truefoundry-agent-server-adapter';
170
170
 
171
171
  const chatServer = createTrueFoundryChatServer({
@@ -185,18 +185,18 @@ const server = createTrueFoundryServer({
185
185
  export default function App() {
186
186
  return (
187
187
  <div style={{ height: '100dvh' }}>
188
- <TrueforgeUI server={server} layout="sidebar" />
188
+ <TrueForgeUI server={server} layout="sidebar" />
189
189
  </div>
190
190
  );
191
191
  }
192
192
  ```
193
193
 
194
- ## `<TrueforgeUI />` props
194
+ ## `<TrueForgeUI />` props
195
195
 
196
- `<TrueforgeUI />` is the single entry point. Every capability is driven by a prop.
196
+ `<TrueForgeUI />` is the single entry point. Every capability is driven by a prop.
197
197
 
198
198
  ```tsx
199
- <TrueforgeUI
199
+ <TrueForgeUI
200
200
  server={{
201
201
  type: 'truefoundry',
202
202
  apiKey: process.env.TFY_API_KEY!,
@@ -218,7 +218,7 @@ export default function App() {
218
218
 
219
219
  | Prop | Type | Required | Description |
220
220
  | ------------------ | -------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------ |
221
- | `server` | `TrueforgeServerConfig` | ✅ | Built-in config (`truefoundry` / `trueforge`) **or** a ready `AgentUIServer`. |
221
+ | `server` | `TrueForgeServerConfig` | ✅ | Built-in config (`truefoundry` / `trueforge`) **or** a ready `AgentUIServer`. |
222
222
  | `layout` | `LayoutProp` | ✅ | Built-in layout string **or** a custom React component. |
223
223
  | `agentConfig` | `AgentConfig` | — | Shell mode: SingleAgent / AgentLibrary / AgentComposer / AgentLibraryWithComposer. Defaults to library + composer. |
224
224
  | `theme` | `ThemeConfig` | — | Preset, mode, tokens, brand, icons, **content `classNames`** (see [Theming](#theming)). |
@@ -227,7 +227,7 @@ export default function App() {
227
227
  | `initialSessionId` | `string` | — | Resume a specific session. |
228
228
  | `onError` | `(error: unknown) => void` | — | Host error hook (runtime + server init). |
229
229
 
230
- Later sections use `server` as a `TrueforgeServerConfig` (usually `type: "truefoundry"`). For a host-built port, pass the `AgentUIServer` directly.
230
+ Later sections use `server` as a `TrueForgeServerConfig` (usually `type: "truefoundry"`). For a host-built port, pass the `AgentUIServer` directly.
231
231
 
232
232
  ---
233
233
 
@@ -242,7 +242,7 @@ const server = {
242
242
  controlPlaneURL: process.env.TFY_CONTROL_PLANE_URL!,
243
243
  };
244
244
 
245
- <TrueforgeUI
245
+ <TrueForgeUI
246
246
  server={server}
247
247
  layout="sidebar"
248
248
  theme={{
@@ -280,11 +280,11 @@ See [docs/theming.md](./docs/theming.md) for presets, controlled vs uncontrolled
280
280
  ## Content classNames
281
281
 
282
282
  Style content renderers (markdown, code fences, OpenUI, Monaco) without swapping
283
- slots. Pass `theme.classNames` on `<TrueforgeUI />` — values merge onto the
283
+ slots. Pass `theme.classNames` on `<TrueForgeUI />` — values merge onto the
284
284
  defaults via `cn()`:
285
285
 
286
286
  ```tsx
287
- <TrueforgeUI
287
+ <TrueForgeUI
288
288
  server={server}
289
289
  layout="sidebar"
290
290
  theme={{
@@ -324,7 +324,7 @@ package). Host CSS on `.aui-markdown` / `.aui-syntax-highlighter` / `.aui-openui
324
324
  **Base layouts** — pass `theme.brand` and the SDK positions the mark + name in the default slots:
325
325
 
326
326
  ```tsx
327
- <TrueforgeUI
327
+ <TrueForgeUI
328
328
  server={server}
329
329
  layout="sidebar"
330
330
  theme={{
@@ -340,7 +340,7 @@ package). Host CSS on `.aui-markdown` / `.aui-syntax-highlighter` / `.aui-openui
340
340
  the resolved mode. `href` wraps the logo in a same-tab link:
341
341
 
342
342
  ```tsx
343
- <TrueforgeUI
343
+ <TrueForgeUI
344
344
  server={server}
345
345
  layout="sidebar"
346
346
  theme={{
@@ -358,7 +358,7 @@ Set only one mode and it is used for both. `name` labels the image, so no `alt`
358
358
  component, override the `BrandLogo` slot, the same way you replace any other atom:
359
359
 
360
360
  ```tsx
361
- <TrueforgeUI server={server} layout="sidebar" overrides={{ BrandLogo: MyMark }} />
361
+ <TrueForgeUI server={server} layout="sidebar" overrides={{ BrandLogo: MyMark }} />
362
362
  ```
363
363
 
364
364
  **Custom layouts** — import `BrandLogo` and place it anywhere; pair it with `useBrandName()` when you also want the name as text (see [Custom layouts](#custom-layouts)).
@@ -384,22 +384,22 @@ In library modes, picking an agent from the Agents Library switches to a named c
384
384
  {
385
385
  /* Library + draft (default) */
386
386
  }
387
- <TrueforgeUI server={server} layout="sidebar" />;
387
+ <TrueForgeUI server={server} layout="sidebar" />;
388
388
 
389
389
  {
390
390
  /* Named-only lock */
391
391
  }
392
- <TrueforgeUI server={server} layout="sidebar" agentConfig={{ mode: 'SingleAgent', name: 'support-agent' }} />;
392
+ <TrueForgeUI server={server} layout="sidebar" agentConfig={{ mode: 'SingleAgent', name: 'support-agent' }} />;
393
393
 
394
394
  {
395
395
  /* Library only — select an agent to start */
396
396
  }
397
- <TrueforgeUI server={server} layout="sidebar" agentConfig={{ mode: 'AgentLibrary' }} />;
397
+ <TrueForgeUI server={server} layout="sidebar" agentConfig={{ mode: 'AgentLibrary' }} />;
398
398
 
399
399
  {
400
400
  /* Composer only */
401
401
  }
402
- <TrueforgeUI
402
+ <TrueForgeUI
403
403
  server={server}
404
404
  layout="sidebar"
405
405
  agentConfig={{
@@ -456,10 +456,10 @@ function Layout({ className }: { className?: string }) {
456
456
  );
457
457
  }
458
458
 
459
- <TrueforgeUI server={server} layout={Layout} />;
459
+ <TrueForgeUI server={server} layout={Layout} />;
460
460
  ```
461
461
 
462
- For deeper composition without `TrueforgeUI`, nest `SlotsProvider` outside `TrueFoundryChatProvider` — see [docs/customization.md](./docs/customization.md).
462
+ For deeper composition without `TrueForgeUI`, nest `SlotsProvider` outside `TrueFoundryChatProvider` — see [docs/customization.md](./docs/customization.md).
463
463
 
464
464
  > _Screenshot: a custom layout assembled from_ `BrandLogo`_,_ `ThreadListContainer`_, and_ `Thread`_._
465
465
 
@@ -470,7 +470,7 @@ For deeper composition without `TrueforgeUI`, nest `SlotsProvider` outside `True
470
470
  Every curated feature atom is overridable. Provide an `overrides` map to swap any single component while inheriting the rest.
471
471
 
472
472
  ```tsx
473
- import { TrueforgeUI, type AssistantMessageBubbleProps } from '@truefoundry/trueforge-ui';
473
+ import { TrueForgeUI, type AssistantMessageBubbleProps } from '@truefoundry/trueforge-ui';
474
474
 
475
475
  function MyBubble({ children, error, actionBar, className }: AssistantMessageBubbleProps) {
476
476
  return (
@@ -482,7 +482,7 @@ function MyBubble({ children, error, actionBar, className }: AssistantMessageBub
482
482
  );
483
483
  }
484
484
 
485
- <TrueforgeUI
485
+ <TrueForgeUI
486
486
  server={server}
487
487
  layout="sidebar"
488
488
  overrides={{
@@ -500,11 +500,11 @@ See [docs/customization.md](./docs/customization.md) for the full slot list.
500
500
 
501
501
  ## Server
502
502
 
503
- `<TrueforgeUI />` takes a **`TrueforgeServerConfig`**: built-in backends init
503
+ `<TrueForgeUI />` takes a **`TrueForgeServerConfig`**: built-in backends init
504
504
  inside the component, or pass a ready `AgentUIServer` directly.
505
505
 
506
506
  ```ts
507
- type TrueforgeServerConfig =
507
+ type TrueForgeServerConfig =
508
508
  | {
509
509
  type: 'truefoundry';
510
510
  apiKey: string;
@@ -539,7 +539,7 @@ host-owned: pass `token` and/or `fetch`.
539
539
  **Compose your own `AgentUIServer` (custom):**
540
540
 
541
541
  ```tsx
542
- import { TrueforgeUI, createTrueFoundryServer } from '@truefoundry/trueforge-ui';
542
+ import { TrueForgeUI, createTrueFoundryServer } from '@truefoundry/trueforge-ui';
543
543
  import { createTrueFoundryChatServer } from '@truefoundry/assistant-ui-runtime/plugins/truefoundry-agent-server-adapter';
544
544
 
545
545
  const chatServer = createTrueFoundryChatServer({ apiKey, baseUrl });
@@ -552,13 +552,13 @@ const agentServer = createTrueFoundryServer({
552
552
  saveAgent,
553
553
  });
554
554
 
555
- <TrueforgeUI server={agentServer} layout="sidebar" />;
555
+ <TrueForgeUI server={agentServer} layout="sidebar" />;
556
556
  ```
557
557
 
558
558
  **Implement `AgentUIServer` yourself:**
559
559
 
560
560
  ```tsx
561
- import { TrueforgeUI, type AgentUIServer } from '@truefoundry/trueforge-ui';
561
+ import { TrueForgeUI, type AgentUIServer } from '@truefoundry/trueforge-ui';
562
562
 
563
563
  const agentServer: AgentUIServer = {
564
564
  // AgentChatServer methods…
@@ -576,7 +576,7 @@ const agentServer: AgentUIServer = {
576
576
  saveAgent: async ({ agentName, agentSpec }) => ({ ok: true }),
577
577
  };
578
578
 
579
- <TrueforgeUI server={agentServer} layout="sidebar" />;
579
+ <TrueForgeUI server={agentServer} layout="sidebar" />;
580
580
  ```
581
581
 
582
582
  See [docs/server.md](./docs/server.md) for the full method list and BYO guidance.
@@ -587,8 +587,8 @@ See [docs/server.md](./docs/server.md) for the full method list and BYO guidance
587
587
 
588
588
  | Export | Kind | Purpose |
589
589
  | ------------------------------------------------------------------ | ---------- | ------------------------------------------------------------ |
590
- | `TrueforgeUI` | Component | Root component — accepts all props above |
591
- | `TrueforgeServerConfig` | Type | `server` prop: `truefoundry` / `trueforge` / `AgentUIServer` |
590
+ | `TrueForgeUI` | Component | Root component — accepts all props above |
591
+ | `TrueForgeServerConfig` | Type | `server` prop: `truefoundry` / `trueforge` / `AgentUIServer` |
592
592
  | `createTrueFoundryServer` | Function | Compose chat + builder into `AgentUIServer` |
593
593
  | `Thread`, `ThreadListContainer`, `BrandLogo` | Components | Layout primitives for custom layouts |
594
594
  | Composer / message / tool atoms | Components | Overridable, themeable building blocks |
@@ -7,12 +7,14 @@ import {
7
7
  auiInputClass,
8
8
  useMCPAuth,
9
9
  useToasterOptional
10
- } from "./chunk-QGNLP2EE.js";
10
+ } from "./chunk-MIHHZQOQ.js";
11
11
  import {
12
12
  Icon,
13
- getErrorMessage,
13
+ getErrorMessage
14
+ } from "./chunk-EK6OUU24.js";
15
+ import {
14
16
  useCatalogServer
15
- } from "./chunk-XAZ5HJXV.js";
17
+ } from "./chunk-IDXUUOSM.js";
16
18
  import "./chunk-HT5HKQXE.js";
17
19
  import {
18
20
  cn
@@ -918,4 +920,4 @@ var ConnectorSettings_default = ConnectorSettings;
918
920
  export {
919
921
  ConnectorSettings_default as default
920
922
  };
921
- //# sourceMappingURL=ConnectorSettings-H37ZFC6Z.js.map
923
+ //# sourceMappingURL=ConnectorSettings-4CYGRWPH.js.map