Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .changeset/fresh-agents-delete.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@truefoundry/trueforge-ui': minor
---

Add deletion controls to the Agents Library and wire the bundled TrueForge adapter to the existing agent delete API.
4 changes: 2 additions & 2 deletions docs/ui-sdk/reference/server.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ createTrueFoundryServer(options: CreateTrueFoundryServerOptions): TrueFoundrySer

Options: `{ chatServer, getCapabilities, getModels, getSkills, getMcp, searchAgents, saveAgent, deleteAgent?, catalog? }`.
Combines a chat server with your agent-management callbacks into a complete `AgentUIServer`.
`deleteAgent` and `catalog` are the only optional entries; if you omit `deleteAgent`, calling it
throws.
`deleteAgent` and `catalog` are the only optional entries; if you omit `deleteAgent`, the Agents
Library hides its delete controls.

## Context

Expand Down
4 changes: 2 additions & 2 deletions docs/ui-sdk/setup-custom-servers/custom-server.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -167,7 +167,7 @@ Spreading `nextPageToken` in only when present keeps the result valid under `exa

<AccordionGroup>
<Accordion title="deleteSession / deleteAgent">
In a hand-written `AgentUIServer` like the one above, omitting these leaves the corresponding affordances unavailable rather than broken. (This differs from the [`createTrueFoundryServer` composition helper](/ui-sdk/setup-custom-servers/connect-with-truefoundry#truefoundry-chat-your-own-builder), where an omitted `deleteAgent` throws when called.)
Omitting these leaves the corresponding affordances unavailable rather than broken, including when using the [`createTrueFoundryServer` composition helper](/ui-sdk/setup-custom-servers/connect-with-truefoundry#truefoundry-chat-your-own-builder).
</Accordion>

<Accordion title="downloadSandboxFile">
Expand Down Expand Up @@ -208,4 +208,4 @@ Attachment handling defaults to `trueFoundryAttachmentAdapter`. Override it thro

```tsx
<TrueForgeUI server={server} layout="sidebar" adapters={{ attachments: myAdapter }} />
```
```
Original file line number Diff line number Diff line change
Expand Up @@ -279,12 +279,7 @@ export function createTrueFoundryServer<
getMcp: opts.getMcp,
searchAgents: opts.searchAgents,
saveAgent: opts.saveAgent,
async deleteAgent(req: { agentName: string }) {
if (!opts.deleteAgent) {
throw new Error('deleteAgent is host-owned. Pass deleteAgent to createTrueFoundryServer.');
}
await opts.deleteAgent(req);
},
...(opts.deleteAgent !== undefined ? { deleteAgent: opts.deleteAgent } : {}),

getGatewayClients: () => ({ client, privateClient }),
};
Expand Down
18 changes: 9 additions & 9 deletions packages/trueforge-ui/docs/server.md
Original file line number Diff line number Diff line change
Expand Up @@ -567,13 +567,14 @@ const server = createTrueFoundryServer({

### Catalog — complete for this UI

| UI call | Required response fields |
| --------------------------- | ---------------------------------------------------------- |
| `getModels()` | `name`, `provider`, `apiModel`, `modelId` |
| `getSkills()` | `id`, `name`; `fqn?`, `description?` |
| `getMcp()` | `id`, `name`; `description?` |
| `searchAgents(req?)` | `name`; optional display fields on `AgentLibraryEntry` |
| `saveAgent` / `deleteAgent` | On port; **not called by UI yet** (optional until Save UI) |
| UI call | Required response fields |
| -------------------- | --------------------------------------------------------- |
| `getModels()` | `name`, `provider`, `apiModel`, `modelId` |
| `getSkills()` | `id`, `name`; `fqn?`, `description?` |
| `getMcp()` | `id`, `name`; `description?` |
| `searchAgents(req?)` | `name`; optional display fields on `AgentLibraryEntry` |
| `saveAgent` | Called by the Save Agent flow |
| `deleteAgent` | Called from the Agents Library when the method is present |

### Chat — method list complete; standalone BYO is not

Expand All @@ -593,8 +594,7 @@ const server = createTrueFoundryServer({
enabled.

**On the port but unused by this UI today:**
`listOwnedSessions`, non-stream `createTurn`, `deleteSession`,
`saveAgent`, `deleteAgent`.
`listOwnedSessions`, non-stream `createTurn`.

### v1 BYO guidance

Expand Down
Loading