Skip to content
Open
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/toolkits-page-description.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@executor-js/plugin-toolkits": patch
---

The Toolkits page now says what a toolkit is. Every other console page carries a line under its title explaining the surface; this one had only the title, so an empty grid left the feature to be guessed at.
17 changes: 16 additions & 1 deletion packages/plugins/toolkits/src/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -618,6 +618,9 @@ function AddToolkitCard(props: { owner: Owner; showOwnerLabels: boolean; onClick
function ToolkitSection(props: {
owner: Owner;
title?: string;
/** Who a toolkit on this shelf belongs to — the same distinction, and the
* same words, the connection owner picker uses. */
subtitle?: string;
showOwnerLabels: boolean;
toolkits: readonly ToolkitResponse[];
onCreate: (input: { owner: Owner; name: string }) => Promise<void>;
Expand All @@ -632,6 +635,9 @@ function ToolkitSection(props: {
<h2 className="text-xs font-semibold uppercase tracking-widest text-muted-foreground">
{props.title}
</h2>
{props.subtitle ? (
<p className="mt-1 text-xs text-muted-foreground">{props.subtitle}</p>
) : null}
</div>
) : null}

Expand Down Expand Up @@ -687,13 +693,15 @@ function ToolkitGrid(props: {
owner="org"
showOwnerLabels
title="Workspace"
subtitle="Shared with everyone in this workspace."
toolkits={workspaceToolkits}
onCreate={props.onCreate}
/>
<ToolkitSection
owner="user"
showOwnerLabels
title="Personal"
subtitle="Saved only for your account."
toolkits={personalToolkits}
onCreate={props.onCreate}
/>
Expand Down Expand Up @@ -1415,7 +1423,7 @@ export function ToolkitsPage(props: PluginPageProps) {
return (
<div className="flex min-h-0 flex-1 flex-col overflow-hidden">
{selectedToolkitSlug === null ? (
<div className="flex h-12 shrink-0 items-center gap-3 border-b border-border bg-background/95 px-4 backdrop-blur-sm">
<div className="shrink-0 border-b border-border bg-background/95 px-4 py-3 backdrop-blur-sm">
<div className="flex min-w-0 items-center gap-3">
<h1 className="truncate text-sm font-semibold text-foreground">Toolkits</h1>
{AsyncResult.isSuccess(toolkits) && (
Expand All @@ -1424,6 +1432,13 @@ export function ToolkitsPage(props: PluginPageProps) {
</span>
)}
</div>
{/* Every other console page says what it is for in a line under its
title; this one had only the title, which left the feature to be
guessed at from an empty grid. */}
<p className="mt-0.5 max-w-3xl text-xs text-muted-foreground">
A named set of tools with its own MCP endpoint. Point an agent at a toolkit and it sees
only those tools, under the toolkit&apos;s own policies and connections.
</p>
</div>
) : null}

Expand Down
Loading