@brander/mcp-demo 0.1.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/README.md +112 -0
- package/dist/create-server.d.ts +2 -0
- package/dist/create-server.js +22 -0
- package/dist/data/components.d.ts +15 -0
- package/dist/data/components.js +282 -0
- package/dist/data/integrations.d.ts +31 -0
- package/dist/data/integrations.js +225 -0
- package/dist/data/platform-analytics.d.ts +47 -0
- package/dist/data/platform-analytics.js +176 -0
- package/dist/data/scenarios.d.ts +18 -0
- package/dist/data/scenarios.js +196 -0
- package/dist/index.d.ts +21 -0
- package/dist/index.js +25 -0
- package/dist/tools/capability-tools.d.ts +2 -0
- package/dist/tools/capability-tools.js +98 -0
- package/dist/tools/component-tools.d.ts +2 -0
- package/dist/tools/component-tools.js +109 -0
- package/dist/tools/platform-tools.d.ts +2 -0
- package/dist/tools/platform-tools.js +123 -0
- package/dist/tools/scenario-tools.d.ts +2 -0
- package/dist/tools/scenario-tools.js +113 -0
- package/package.json +37 -0
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
// ============================================================================
|
|
2
|
+
// BranderUX Demo — Integration Methods & AI Capabilities
|
|
3
|
+
// ============================================================================
|
|
4
|
+
export const INTEGRATION_METHODS = [
|
|
5
|
+
{
|
|
6
|
+
id: "int-sdk",
|
|
7
|
+
name: "SDK",
|
|
8
|
+
slug: "sdk",
|
|
9
|
+
tagline: "React component — drop-in integration",
|
|
10
|
+
description: "The @brander/sdk NPM package provides a <Brander /> React component and a <BranderChatWidget /> " +
|
|
11
|
+
"that you drop into your app. It handles AI streaming, screen rendering, brand theming, and " +
|
|
12
|
+
"click-to-query interactions out of the box. Works with Anthropic, OpenAI, and Gemini.",
|
|
13
|
+
bestFor: ["React / Next.js apps", "Full-featured AI assistants", "Chat-based interfaces"],
|
|
14
|
+
setupTime: "5 minutes",
|
|
15
|
+
techStack: ["React 18+", "Next.js 14+", "TypeScript"],
|
|
16
|
+
codeExample: [
|
|
17
|
+
'import { Brander } from "@brander/sdk";',
|
|
18
|
+
'import { anthropicStream } from "@brander/sdk/adapters";',
|
|
19
|
+
"",
|
|
20
|
+
"function App() {",
|
|
21
|
+
" return (",
|
|
22
|
+
" <Brander",
|
|
23
|
+
' projectId="your_project_id"',
|
|
24
|
+
" onQueryStream={({ query, tools, systemPrompt }) =>",
|
|
25
|
+
" anthropicStream({ query, tools, systemPrompt, apiKey })",
|
|
26
|
+
" }",
|
|
27
|
+
" />",
|
|
28
|
+
" );",
|
|
29
|
+
"}",
|
|
30
|
+
].join("\n"),
|
|
31
|
+
steps: [
|
|
32
|
+
{ step: 1, title: "Install the package", description: "npm install @brander/sdk" },
|
|
33
|
+
{ step: 2, title: "Add the component", description: "Import and render <Brander /> with your project ID" },
|
|
34
|
+
{ step: 3, title: "Connect your AI", description: "Pass an onQueryStream handler using one of the built-in adapters (Anthropic, OpenAI, Gemini)" },
|
|
35
|
+
{ step: 4, title: "Customize", description: "Configure brand settings, screens, and element visibility in the BranderUX dashboard" },
|
|
36
|
+
],
|
|
37
|
+
features: [
|
|
38
|
+
"Full React component with AG-UI streaming",
|
|
39
|
+
"Built-in adapters for Anthropic, OpenAI, Gemini",
|
|
40
|
+
"Progressive rendering — elements appear as data streams in",
|
|
41
|
+
"Click-to-query — every element is interactive",
|
|
42
|
+
"Chat widget variant for floating assistant",
|
|
43
|
+
"Brand theming applied automatically",
|
|
44
|
+
"Conversation history management",
|
|
45
|
+
],
|
|
46
|
+
limitations: [
|
|
47
|
+
"Requires React 18+",
|
|
48
|
+
"Client-side rendering only",
|
|
49
|
+
],
|
|
50
|
+
adoptionRate: 52,
|
|
51
|
+
status: "stable",
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
id: "int-mcp",
|
|
55
|
+
name: "MCP Tools",
|
|
56
|
+
slug: "mcp",
|
|
57
|
+
tagline: "Composable library — add branded UI to any MCP server",
|
|
58
|
+
description: "The @brander/mcp-tools package is a composable library that adds BranderUX branded UI rendering " +
|
|
59
|
+
"to any MCP server with a single function call. It registers a generate_screen tool and a " +
|
|
60
|
+
"ui://brander/element-renderer resource that renders 14 element types as interactive HTML panels " +
|
|
61
|
+
"inside Claude's chat.",
|
|
62
|
+
bestFor: ["Claude Desktop integrations", "MCP server ecosystems", "AI assistant tools"],
|
|
63
|
+
setupTime: "10 minutes",
|
|
64
|
+
techStack: ["Node.js", "@modelcontextprotocol/sdk", "TypeScript"],
|
|
65
|
+
codeExample: [
|
|
66
|
+
'import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";',
|
|
67
|
+
'import { registerBranderTools } from "@brander/mcp-tools";',
|
|
68
|
+
"",
|
|
69
|
+
'const server = new McpServer({ name: "my-server", version: "1.0.0" });',
|
|
70
|
+
"",
|
|
71
|
+
"// Register your own business tools",
|
|
72
|
+
"registerMyTools(server);",
|
|
73
|
+
"",
|
|
74
|
+
"// One line adds branded UI rendering",
|
|
75
|
+
"await registerBranderTools(server, {",
|
|
76
|
+
' projectId: "your_project_id",',
|
|
77
|
+
' betaKey: "bux_dp_your_key",',
|
|
78
|
+
"});",
|
|
79
|
+
].join("\n"),
|
|
80
|
+
steps: [
|
|
81
|
+
{ step: 1, title: "Install the package", description: "npm install @brander/mcp-tools" },
|
|
82
|
+
{ step: 2, title: "Create your MCP server", description: "Set up an McpServer and register your business tools" },
|
|
83
|
+
{ step: 3, title: "Add BranderUX", description: "Call registerBranderTools(server, config) — one line, done" },
|
|
84
|
+
{ step: 4, title: "Configure Claude Desktop", description: "Add the server to your claude_desktop_config.json with BRANDER_PROJECT_ID and BRANDER_BETA_KEY env vars" },
|
|
85
|
+
],
|
|
86
|
+
features: [
|
|
87
|
+
"Single function call integration",
|
|
88
|
+
"14 element types rendered as interactive HTML",
|
|
89
|
+
"Works inside Claude Desktop chat",
|
|
90
|
+
"Streaming support with progressive rendering",
|
|
91
|
+
"Brand settings loaded from BranderUX API",
|
|
92
|
+
"Works alongside your existing MCP tools",
|
|
93
|
+
],
|
|
94
|
+
limitations: [
|
|
95
|
+
"Requires MCP-compatible AI client (Claude Desktop)",
|
|
96
|
+
"Currently stdio transport — HTTP transport coming soon",
|
|
97
|
+
],
|
|
98
|
+
adoptionRate: 31,
|
|
99
|
+
status: "stable",
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
id: "int-embed",
|
|
103
|
+
name: "Embed",
|
|
104
|
+
slug: "embed",
|
|
105
|
+
tagline: "Zero-dependency iframe — works anywhere",
|
|
106
|
+
description: "Embed BranderUX as an iframe in any web application with zero dependencies. " +
|
|
107
|
+
"Communication happens through the PostMessage API with token-based authentication. " +
|
|
108
|
+
"Perfect for adding AI-powered UI to existing apps without framework requirements.",
|
|
109
|
+
bestFor: ["Any web application", "No-framework sites", "Quick prototyping"],
|
|
110
|
+
setupTime: "2 minutes",
|
|
111
|
+
techStack: ["HTML", "Any framework or none"],
|
|
112
|
+
codeExample: [
|
|
113
|
+
"<!-- Add to your HTML -->",
|
|
114
|
+
'<iframe',
|
|
115
|
+
' src="https://branderux.com/embed?token=YOUR_TOKEN&config=BASE64_CONFIG"',
|
|
116
|
+
' style="width: 100%; height: 600px; border: none;"',
|
|
117
|
+
"></iframe>",
|
|
118
|
+
"",
|
|
119
|
+
"<script>",
|
|
120
|
+
" // Listen for events from BranderUX",
|
|
121
|
+
' window.addEventListener("message", (event) => {',
|
|
122
|
+
' if (event.data.type === "branderux:query") {',
|
|
123
|
+
" // Handle AI query from user interaction",
|
|
124
|
+
" console.log(event.data.query);",
|
|
125
|
+
" }",
|
|
126
|
+
" });",
|
|
127
|
+
"</script>",
|
|
128
|
+
].join("\n"),
|
|
129
|
+
steps: [
|
|
130
|
+
{ step: 1, title: "Get an API token", description: "Create a token in the BranderUX dashboard with your allowed domains" },
|
|
131
|
+
{ step: 2, title: "Add the iframe", description: "Embed the BranderUX iframe with your token and configuration" },
|
|
132
|
+
{ step: 3, title: "Handle events", description: "Listen for PostMessage events to integrate with your app logic" },
|
|
133
|
+
],
|
|
134
|
+
features: [
|
|
135
|
+
"Zero dependencies — just an iframe",
|
|
136
|
+
"Works with any framework or plain HTML",
|
|
137
|
+
"PostMessage API for two-way communication",
|
|
138
|
+
"Token-based authentication with domain whitelisting",
|
|
139
|
+
"Full brand theming",
|
|
140
|
+
],
|
|
141
|
+
limitations: [
|
|
142
|
+
"Limited customization compared to SDK",
|
|
143
|
+
"Requires internet connection to BranderUX servers",
|
|
144
|
+
"iframe sandboxing may limit some interactions",
|
|
145
|
+
],
|
|
146
|
+
adoptionRate: 17,
|
|
147
|
+
status: "stable",
|
|
148
|
+
},
|
|
149
|
+
];
|
|
150
|
+
export const AI_CAPABILITIES = [
|
|
151
|
+
{
|
|
152
|
+
id: "ai-screen-select",
|
|
153
|
+
name: "Intelligent Screen Selection",
|
|
154
|
+
category: "Core AI",
|
|
155
|
+
description: "BranderUX AI analyzes the user's query and automatically selects the best screen layout from your configured screens. " +
|
|
156
|
+
"It scores each screen's fit (0.0–1.0) and picks the top matches, ensuring the right combination of elements for every response.",
|
|
157
|
+
howItWorks: "When a query arrives, BranderUX's screen selection AI evaluates it against all available screen configurations. " +
|
|
158
|
+
"Each screen has selection criteria (whenToUse, clickedElements, exampleQueries) that the AI scores. " +
|
|
159
|
+
"The top 2–3 screens are selected, and their element tools are sent to the customer's AI.",
|
|
160
|
+
technicalDetail: "Uses Claude Haiku for fast selection (< 200ms). Returns fitScores, reasoning, and confidence level.",
|
|
161
|
+
status: "ga",
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
id: "ai-query-enhance",
|
|
165
|
+
name: "Query Enhancement",
|
|
166
|
+
category: "Core AI",
|
|
167
|
+
description: "Automatically enhances user queries with context from the selected screen and available tools. " +
|
|
168
|
+
"The AI rewrites vague queries into precise, tool-optimized prompts — improving response quality without user effort.",
|
|
169
|
+
howItWorks: "After screen selection, the original query is enriched with screen context (available elements, data fields) " +
|
|
170
|
+
"and conversation history. The enhanced query guides the customer's AI to produce better-structured responses.",
|
|
171
|
+
technicalDetail: "Enhancement is optional (enableQueryEnhancement flag). Adds ~50ms to processing time.",
|
|
172
|
+
status: "ga",
|
|
173
|
+
},
|
|
174
|
+
{
|
|
175
|
+
id: "ai-streaming",
|
|
176
|
+
name: "AG-UI Streaming Protocol",
|
|
177
|
+
category: "Streaming",
|
|
178
|
+
description: "Progressive rendering via the AG-UI (Agent-UI) streaming protocol. Elements appear on screen as data streams in, " +
|
|
179
|
+
"not after the full response completes. Users see partial results immediately for a fluid, real-time experience.",
|
|
180
|
+
howItWorks: "The customer's AI streams tool call arguments as JSON fragments via SSE (Server-Sent Events). " +
|
|
181
|
+
"BranderUX's JsonFragmentParser incrementally extracts element data from the stream. " +
|
|
182
|
+
"Each element renders progressively — tables show rows as they arrive, charts update with new data points.",
|
|
183
|
+
technicalDetail: "17 AG-UI event types. Uses TOOL_CALL_ARGS events with delta JSON fragments parsed incrementally.",
|
|
184
|
+
status: "ga",
|
|
185
|
+
},
|
|
186
|
+
{
|
|
187
|
+
id: "ai-multi-provider",
|
|
188
|
+
name: "Multi-Provider AI Support",
|
|
189
|
+
category: "Compatibility",
|
|
190
|
+
description: "Works with Anthropic Claude, OpenAI GPT, and Google Gemini out of the box. " +
|
|
191
|
+
"Built-in stream adapters normalize each provider's streaming format into the AG-UI protocol, " +
|
|
192
|
+
"so you can switch AI providers without changing your UI code.",
|
|
193
|
+
howItWorks: "Each AI provider has a dedicated stream adapter (anthropicStream, openaiStream, geminiStream) " +
|
|
194
|
+
"that converts provider-specific SSE events into standardized AG-UI events. " +
|
|
195
|
+
"Tool schemas are also generated in each provider's format automatically.",
|
|
196
|
+
technicalDetail: "Adapters: anthropic.ts (218 lines), openai.ts (266 lines), gemini.ts (336 lines), sse.ts (141 lines).",
|
|
197
|
+
status: "ga",
|
|
198
|
+
},
|
|
199
|
+
{
|
|
200
|
+
id: "ai-click-to-query",
|
|
201
|
+
name: "Click-to-Query Interactions",
|
|
202
|
+
category: "Interactivity",
|
|
203
|
+
description: "Every rendered element is interactive. Click a table row, chart segment, grid card, or button — " +
|
|
204
|
+
"BranderUX auto-generates a contextual follow-up query and sends it back to the AI. " +
|
|
205
|
+
"This creates a fluid exploration loop where users drill deeper with zero typing.",
|
|
206
|
+
howItWorks: "Each element type has a registered behavior template (e.g., DataTable: 'Show details for [title] (ID: [id])'). " +
|
|
207
|
+
"When a user clicks, BranderUX fills the template with the clicked item's data and submits a new query. " +
|
|
208
|
+
"The AI receives the query, selects the appropriate detail screen, and renders the response.",
|
|
209
|
+
technicalDetail: "Defined in ELEMENT_BEHAVIOR_REGISTRY. Supports queryTemplate patterns with [field] placeholders.",
|
|
210
|
+
status: "ga",
|
|
211
|
+
},
|
|
212
|
+
{
|
|
213
|
+
id: "ai-flexible-mode",
|
|
214
|
+
name: "A2UI Flexible Mode",
|
|
215
|
+
category: "Advanced",
|
|
216
|
+
description: "An alternative to deterministic screen selection. In A2UI mode, the AI emits declarative UI trees directly — " +
|
|
217
|
+
"choosing which elements to use, how to lay them out (rows/columns), and what data to display. " +
|
|
218
|
+
"No predefined screens needed. The AI has full creative control over the layout.",
|
|
219
|
+
howItWorks: "Instead of selecting from predefined screens, the customer's AI receives an A2UI prompt describing all available " +
|
|
220
|
+
"components and layout primitives (Column, Row). The AI responds with a JSON structure defining the component tree, " +
|
|
221
|
+
"adjacency list, data model, and element configurations. BranderUX renders this declarative surface.",
|
|
222
|
+
technicalDetail: "Uses updateComponents, updateDataModel, and setRootComponent operations. Currently in beta.",
|
|
223
|
+
status: "beta",
|
|
224
|
+
},
|
|
225
|
+
];
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
export interface PlatformAnalytics {
|
|
2
|
+
period: string;
|
|
3
|
+
overview: {
|
|
4
|
+
totalProjects: number;
|
|
5
|
+
monthlyActiveProjects: number;
|
|
6
|
+
totalScreenGenerations: number;
|
|
7
|
+
avgResponseTimeMs: number;
|
|
8
|
+
uptimePercentage: number;
|
|
9
|
+
};
|
|
10
|
+
componentPopularity: Array<{
|
|
11
|
+
component: string;
|
|
12
|
+
elementType: string;
|
|
13
|
+
usageCount: number;
|
|
14
|
+
percentage: number;
|
|
15
|
+
}>;
|
|
16
|
+
integrationBreakdown: Array<{
|
|
17
|
+
method: string;
|
|
18
|
+
count: number;
|
|
19
|
+
percentage: number;
|
|
20
|
+
}>;
|
|
21
|
+
aiProviderBreakdown: Array<{
|
|
22
|
+
provider: string;
|
|
23
|
+
count: number;
|
|
24
|
+
percentage: number;
|
|
25
|
+
}>;
|
|
26
|
+
monthlyGrowth: Array<{
|
|
27
|
+
month: string;
|
|
28
|
+
projects: number;
|
|
29
|
+
screenGenerations: number;
|
|
30
|
+
apiCalls: number;
|
|
31
|
+
}>;
|
|
32
|
+
screenTypeUsage: Array<{
|
|
33
|
+
screenType: string;
|
|
34
|
+
count: number;
|
|
35
|
+
percentage: number;
|
|
36
|
+
}>;
|
|
37
|
+
}
|
|
38
|
+
export declare const PLATFORM_ANALYTICS: PlatformAnalytics;
|
|
39
|
+
export interface PlatformFeature {
|
|
40
|
+
id: string;
|
|
41
|
+
name: string;
|
|
42
|
+
category: string;
|
|
43
|
+
description: string;
|
|
44
|
+
status: "ga" | "beta" | "coming-soon";
|
|
45
|
+
highlight: boolean;
|
|
46
|
+
}
|
|
47
|
+
export declare const PLATFORM_FEATURES: PlatformFeature[];
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
// ============================================================================
|
|
2
|
+
// BranderUX Demo — Platform Analytics & Features
|
|
3
|
+
// ============================================================================
|
|
4
|
+
export const PLATFORM_ANALYTICS = {
|
|
5
|
+
period: "Q1 2026",
|
|
6
|
+
overview: {
|
|
7
|
+
totalProjects: 1247,
|
|
8
|
+
monthlyActiveProjects: 834,
|
|
9
|
+
totalScreenGenerations: 2_340_000,
|
|
10
|
+
avgResponseTimeMs: 187,
|
|
11
|
+
uptimePercentage: 99.97,
|
|
12
|
+
},
|
|
13
|
+
componentPopularity: [
|
|
14
|
+
{ component: "Header", elementType: "header", usageCount: 45_200, percentage: 19.3 },
|
|
15
|
+
{ component: "DataTable", elementType: "data-table", usageCount: 41_300, percentage: 17.6 },
|
|
16
|
+
{ component: "ItemGrid", elementType: "item-grid", usageCount: 39_700, percentage: 17.0 },
|
|
17
|
+
{ component: "StatsGrid", elementType: "stats-grid", usageCount: 38_400, percentage: 16.4 },
|
|
18
|
+
{ component: "DetailsData", elementType: "details-data", usageCount: 35_200, percentage: 15.0 },
|
|
19
|
+
{ component: "LineChart", elementType: "line-chart", usageCount: 29_800, percentage: 12.7 },
|
|
20
|
+
{ component: "PieChart", elementType: "pie-chart", usageCount: 22_100, percentage: 9.4 },
|
|
21
|
+
{ component: "BarChart", elementType: "bar-chart", usageCount: 18_600, percentage: 7.9 },
|
|
22
|
+
{ component: "Alert", elementType: "alert", usageCount: 16_900, percentage: 7.2 },
|
|
23
|
+
{ component: "Image", elementType: "image", usageCount: 15_400, percentage: 6.6 },
|
|
24
|
+
{ component: "Button", elementType: "button", usageCount: 14_300, percentage: 6.1 },
|
|
25
|
+
{ component: "ChatBubble", elementType: "chat-bubble", usageCount: 12_800, percentage: 5.5 },
|
|
26
|
+
{ component: "Form", elementType: "form", usageCount: 11_200, percentage: 4.8 },
|
|
27
|
+
{ component: "ItemCard", elementType: "item-card", usageCount: 28_400, percentage: 12.1 },
|
|
28
|
+
],
|
|
29
|
+
integrationBreakdown: [
|
|
30
|
+
{ method: "SDK", count: 649, percentage: 52 },
|
|
31
|
+
{ method: "MCP Tools", count: 387, percentage: 31 },
|
|
32
|
+
{ method: "Embed", count: 211, percentage: 17 },
|
|
33
|
+
],
|
|
34
|
+
aiProviderBreakdown: [
|
|
35
|
+
{ provider: "Anthropic (Claude)", count: 561, percentage: 45 },
|
|
36
|
+
{ provider: "OpenAI (GPT)", count: 449, percentage: 36 },
|
|
37
|
+
{ provider: "Google (Gemini)", count: 237, percentage: 19 },
|
|
38
|
+
],
|
|
39
|
+
monthlyGrowth: [
|
|
40
|
+
{ month: "Aug 2025", projects: 312, screenGenerations: 89_000, apiCalls: 445_000 },
|
|
41
|
+
{ month: "Sep 2025", projects: 398, screenGenerations: 142_000, apiCalls: 710_000 },
|
|
42
|
+
{ month: "Oct 2025", projects: 487, screenGenerations: 231_000, apiCalls: 1_155_000 },
|
|
43
|
+
{ month: "Nov 2025", projects: 589, screenGenerations: 298_000, apiCalls: 1_490_000 },
|
|
44
|
+
{ month: "Dec 2025", projects: 712, screenGenerations: 387_000, apiCalls: 1_935_000 },
|
|
45
|
+
{ month: "Jan 2026", projects: 834, screenGenerations: 456_000, apiCalls: 2_280_000 },
|
|
46
|
+
{ month: "Feb 2026", projects: 923, screenGenerations: 512_000, apiCalls: 2_560_000 },
|
|
47
|
+
],
|
|
48
|
+
screenTypeUsage: [
|
|
49
|
+
{ screenType: "admin-dashboard", count: 31_200, percentage: 28 },
|
|
50
|
+
{ screenType: "table", count: 25_800, percentage: 23 },
|
|
51
|
+
{ screenType: "analytics", count: 19_400, percentage: 17 },
|
|
52
|
+
{ screenType: "details", count: 16_100, percentage: 14 },
|
|
53
|
+
{ screenType: "items-catalog", count: 12_700, percentage: 11 },
|
|
54
|
+
{ screenType: "text", count: 7_800, percentage: 7 },
|
|
55
|
+
],
|
|
56
|
+
};
|
|
57
|
+
export const PLATFORM_FEATURES = [
|
|
58
|
+
{
|
|
59
|
+
id: "feat-elements",
|
|
60
|
+
name: "14 Built-in Element Types",
|
|
61
|
+
category: "Core",
|
|
62
|
+
description: "From headers to charts to forms, every AI response is rendered as branded, interactive UI. " +
|
|
63
|
+
"Includes data tables, stat grids, line/pie/bar charts, item grids, cards, images, forms, buttons, alerts, and chat bubbles.",
|
|
64
|
+
status: "ga",
|
|
65
|
+
highlight: true,
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
id: "feat-click-to-query",
|
|
69
|
+
name: "Click-to-Query Interactions",
|
|
70
|
+
category: "Core",
|
|
71
|
+
description: "Every element is clickable. One click auto-generates a contextual query back to the AI, " +
|
|
72
|
+
"creating a fluid exploration loop. Click a table row → see details. Click a chart segment → see breakdown.",
|
|
73
|
+
status: "ga",
|
|
74
|
+
highlight: true,
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
id: "feat-streaming",
|
|
78
|
+
name: "AG-UI Streaming",
|
|
79
|
+
category: "Core",
|
|
80
|
+
description: "Progressive rendering via the AG-UI protocol. Elements appear as data streams in, not after. " +
|
|
81
|
+
"Tables show rows as they arrive, charts update with new data points — instant visual feedback.",
|
|
82
|
+
status: "ga",
|
|
83
|
+
highlight: true,
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
id: "feat-multi-provider",
|
|
87
|
+
name: "Multi-Provider AI Support",
|
|
88
|
+
category: "AI",
|
|
89
|
+
description: "Works with Anthropic Claude, OpenAI GPT, and Google Gemini. Built-in stream adapters normalize " +
|
|
90
|
+
"each provider's format, so you can switch AI providers without changing your UI code.",
|
|
91
|
+
status: "ga",
|
|
92
|
+
highlight: false,
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
id: "feat-screen-select",
|
|
96
|
+
name: "Intelligent Screen Selection",
|
|
97
|
+
category: "AI",
|
|
98
|
+
description: "BranderUX AI analyzes user queries and automatically selects the best screen layout. " +
|
|
99
|
+
"Scores each screen's fit and picks the optimal combination of elements for every response.",
|
|
100
|
+
status: "ga",
|
|
101
|
+
highlight: false,
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
id: "feat-query-enhance",
|
|
105
|
+
name: "Query Enhancement",
|
|
106
|
+
category: "AI",
|
|
107
|
+
description: "Automatically enhances user queries with context from available screens and tools. " +
|
|
108
|
+
"Vague questions become precise, tool-optimized prompts — better responses with zero user effort.",
|
|
109
|
+
status: "ga",
|
|
110
|
+
highlight: false,
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
id: "feat-brand-studio",
|
|
114
|
+
name: "Brand Studio",
|
|
115
|
+
category: "Customization",
|
|
116
|
+
description: "Full brand customization: colors, fonts, logos, border radius, and layout patterns. " +
|
|
117
|
+
"AI can even generate your brand identity from a text description of your company.",
|
|
118
|
+
status: "ga",
|
|
119
|
+
highlight: false,
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
id: "feat-screen-builder",
|
|
123
|
+
name: "Screen Builder",
|
|
124
|
+
category: "Customization",
|
|
125
|
+
description: "Visual drag-and-drop screen designer. Compose custom screen layouts from the 14 element types " +
|
|
126
|
+
"without writing code. Configure element positions, sizes, and default props.",
|
|
127
|
+
status: "ga",
|
|
128
|
+
highlight: false,
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
id: "feat-custom-screens",
|
|
132
|
+
name: "Custom Screens",
|
|
133
|
+
category: "Customization",
|
|
134
|
+
description: "Build unlimited custom screen layouts stored in your project. Go beyond the 6 predefined screens " +
|
|
135
|
+
"with layouts tailored to your specific business needs.",
|
|
136
|
+
status: "ga",
|
|
137
|
+
highlight: false,
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
id: "feat-custom-elements",
|
|
141
|
+
name: "Custom Elements (Vibe Coding)",
|
|
142
|
+
category: "Customization",
|
|
143
|
+
description: "Create your own custom element types using AI-assisted vibe coding. Describe the component you need " +
|
|
144
|
+
"in natural language and BranderUX generates a fully functional, branded element — complete with " +
|
|
145
|
+
"click-to-query, streaming, and brand theming integration.",
|
|
146
|
+
status: "coming-soon",
|
|
147
|
+
highlight: true,
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
id: "feat-deterministic",
|
|
151
|
+
name: "Deterministic Mode",
|
|
152
|
+
category: "Developer",
|
|
153
|
+
description: "Screen tools with predictable layouts. The AI picks from your configured screens and fills them " +
|
|
154
|
+
"with data. You control exactly which screen types are available and what elements they contain.",
|
|
155
|
+
status: "ga",
|
|
156
|
+
highlight: false,
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
id: "feat-a2ui",
|
|
160
|
+
name: "A2UI Flexible Mode",
|
|
161
|
+
category: "Developer",
|
|
162
|
+
description: "The AI emits declarative UI trees directly — choosing elements, layouts (rows/columns), and data. " +
|
|
163
|
+
"No predefined screens needed. Full creative control for the AI over the layout.",
|
|
164
|
+
status: "beta",
|
|
165
|
+
highlight: false,
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
id: "feat-project-gen",
|
|
169
|
+
name: "AI Project Generation",
|
|
170
|
+
category: "AI",
|
|
171
|
+
description: "Describe your project in natural language and the AI generates complete screen configurations, " +
|
|
172
|
+
"brand settings, and element layouts. Go from idea to working AI UI in minutes.",
|
|
173
|
+
status: "ga",
|
|
174
|
+
highlight: true,
|
|
175
|
+
},
|
|
176
|
+
];
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export interface Scenario {
|
|
2
|
+
id: string;
|
|
3
|
+
name: string;
|
|
4
|
+
industry: string;
|
|
5
|
+
description: string;
|
|
6
|
+
integrationMethod: "SDK" | "MCP" | "Embed";
|
|
7
|
+
aiProvider: string;
|
|
8
|
+
componentsUsed: string[];
|
|
9
|
+
screensConfigured: number;
|
|
10
|
+
expectedResults: {
|
|
11
|
+
engagementLift: number;
|
|
12
|
+
responseTimeMs: number;
|
|
13
|
+
userSatisfaction: number;
|
|
14
|
+
monthlyInteractions: number;
|
|
15
|
+
};
|
|
16
|
+
tags: string[];
|
|
17
|
+
}
|
|
18
|
+
export declare const SCENARIOS: Scenario[];
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
// ============================================================================
|
|
2
|
+
// BranderUX Demo — Example Scenarios
|
|
3
|
+
// ============================================================================
|
|
4
|
+
export const SCENARIOS = [
|
|
5
|
+
{
|
|
6
|
+
id: "sc-001",
|
|
7
|
+
name: "Fintech Transaction Dashboard",
|
|
8
|
+
industry: "Fintech",
|
|
9
|
+
description: "Real-time transaction monitoring dashboard with fraud alert notifications. " +
|
|
10
|
+
"Users ask natural language questions about payments, and the AI responds with " +
|
|
11
|
+
"interactive charts, sortable transaction tables, and actionable alerts — all " +
|
|
12
|
+
"rendered in the company's brand.",
|
|
13
|
+
integrationMethod: "SDK",
|
|
14
|
+
aiProvider: "Anthropic (Claude)",
|
|
15
|
+
componentsUsed: ["header", "stats-grid", "data-table", "line-chart", "alert"],
|
|
16
|
+
screensConfigured: 4,
|
|
17
|
+
expectedResults: {
|
|
18
|
+
engagementLift: 47,
|
|
19
|
+
responseTimeMs: 180,
|
|
20
|
+
userSatisfaction: 4.8,
|
|
21
|
+
monthlyInteractions: 125_000,
|
|
22
|
+
},
|
|
23
|
+
tags: ["finance", "real-time", "dashboards", "alerts"],
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
id: "sc-002",
|
|
27
|
+
name: "Healthcare Patient Portal",
|
|
28
|
+
industry: "Healthcare",
|
|
29
|
+
description: "Patient-facing AI assistant with appointment scheduling, health metric tracking, " +
|
|
30
|
+
"and care plan summaries. Patients interact through natural language and receive " +
|
|
31
|
+
"structured forms for booking, stats grids for vitals, and detail cards for records.",
|
|
32
|
+
integrationMethod: "Embed",
|
|
33
|
+
aiProvider: "OpenAI (GPT)",
|
|
34
|
+
componentsUsed: ["header", "form", "stats-grid", "details-data", "chat-bubble", "button"],
|
|
35
|
+
screensConfigured: 5,
|
|
36
|
+
expectedResults: {
|
|
37
|
+
engagementLift: 62,
|
|
38
|
+
responseTimeMs: 220,
|
|
39
|
+
userSatisfaction: 4.7,
|
|
40
|
+
monthlyInteractions: 89_000,
|
|
41
|
+
},
|
|
42
|
+
tags: ["healthcare", "patient-portal", "forms", "scheduling"],
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
id: "sc-003",
|
|
46
|
+
name: "E-commerce Product Assistant",
|
|
47
|
+
industry: "E-commerce",
|
|
48
|
+
description: "Visual product catalog assistant with inventory tracking and order management. " +
|
|
49
|
+
"Shoppers browse products through interactive grids, view analytics on popular items, " +
|
|
50
|
+
"and track orders — all through conversational AI with branded UI rendering.",
|
|
51
|
+
integrationMethod: "MCP",
|
|
52
|
+
aiProvider: "Anthropic (Claude)",
|
|
53
|
+
componentsUsed: ["item-grid", "item-card", "data-table", "stats-grid", "pie-chart"],
|
|
54
|
+
screensConfigured: 5,
|
|
55
|
+
expectedResults: {
|
|
56
|
+
engagementLift: 38,
|
|
57
|
+
responseTimeMs: 150,
|
|
58
|
+
userSatisfaction: 4.6,
|
|
59
|
+
monthlyInteractions: 210_000,
|
|
60
|
+
},
|
|
61
|
+
tags: ["e-commerce", "catalog", "inventory", "orders"],
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
id: "sc-004",
|
|
65
|
+
name: "Supply Chain Fleet Tracker",
|
|
66
|
+
industry: "Supply Chain & Logistics",
|
|
67
|
+
description: "Fleet tracking dashboard with shipment analytics and route performance comparisons. " +
|
|
68
|
+
"Operations teams ask about delivery status, compare route efficiency with bar charts, " +
|
|
69
|
+
"and receive proactive alerts for delays — all within a branded interface.",
|
|
70
|
+
integrationMethod: "SDK",
|
|
71
|
+
aiProvider: "Google (Gemini)",
|
|
72
|
+
componentsUsed: ["header", "stats-grid", "line-chart", "bar-chart", "data-table", "alert"],
|
|
73
|
+
screensConfigured: 4,
|
|
74
|
+
expectedResults: {
|
|
75
|
+
engagementLift: 55,
|
|
76
|
+
responseTimeMs: 195,
|
|
77
|
+
userSatisfaction: 4.9,
|
|
78
|
+
monthlyInteractions: 78_000,
|
|
79
|
+
},
|
|
80
|
+
tags: ["logistics", "fleet", "real-time", "analytics"],
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
id: "sc-005",
|
|
84
|
+
name: "Developer Docs Explorer",
|
|
85
|
+
industry: "Developer Tools",
|
|
86
|
+
description: "Interactive API documentation explorer where developers ask questions in natural language " +
|
|
87
|
+
"and receive structured responses — endpoint details as key-value cards, architecture diagrams " +
|
|
88
|
+
"as images, code examples in chat bubbles, and quick-action buttons for common operations.",
|
|
89
|
+
integrationMethod: "MCP",
|
|
90
|
+
aiProvider: "Anthropic (Claude)",
|
|
91
|
+
componentsUsed: ["header", "details-data", "chat-bubble", "button", "image", "alert"],
|
|
92
|
+
screensConfigured: 3,
|
|
93
|
+
expectedResults: {
|
|
94
|
+
engagementLift: 41,
|
|
95
|
+
responseTimeMs: 130,
|
|
96
|
+
userSatisfaction: 4.5,
|
|
97
|
+
monthlyInteractions: 156_000,
|
|
98
|
+
},
|
|
99
|
+
tags: ["devtools", "documentation", "API", "interactive"],
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
id: "sc-006",
|
|
103
|
+
name: "EdTech Learning Dashboard",
|
|
104
|
+
industry: "Education",
|
|
105
|
+
description: "Student progress tracking and course recommendation system. Teachers view class performance " +
|
|
106
|
+
"through stats grids and line charts, browse course catalogs with item grids, and configure " +
|
|
107
|
+
"assignment settings through forms — all AI-driven with branded visuals.",
|
|
108
|
+
integrationMethod: "Embed",
|
|
109
|
+
aiProvider: "OpenAI (GPT)",
|
|
110
|
+
componentsUsed: ["header", "stats-grid", "line-chart", "item-grid", "pie-chart", "form"],
|
|
111
|
+
screensConfigured: 4,
|
|
112
|
+
expectedResults: {
|
|
113
|
+
engagementLift: 52,
|
|
114
|
+
responseTimeMs: 200,
|
|
115
|
+
userSatisfaction: 4.7,
|
|
116
|
+
monthlyInteractions: 67_000,
|
|
117
|
+
},
|
|
118
|
+
tags: ["education", "progress-tracking", "courses", "analytics"],
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
id: "sc-007",
|
|
122
|
+
name: "Insurance Claims Processor",
|
|
123
|
+
industry: "Insurance",
|
|
124
|
+
description: "Claims processing dashboard with approval workflows. Adjusters view claim details " +
|
|
125
|
+
"through structured cards, manage workload via data tables, submit evaluations through " +
|
|
126
|
+
"forms, and receive priority alerts — reducing manual processing time significantly.",
|
|
127
|
+
integrationMethod: "SDK",
|
|
128
|
+
aiProvider: "Anthropic (Claude)",
|
|
129
|
+
componentsUsed: ["header", "data-table", "details-data", "form", "stats-grid", "alert", "button"],
|
|
130
|
+
screensConfigured: 6,
|
|
131
|
+
expectedResults: {
|
|
132
|
+
engagementLift: 59,
|
|
133
|
+
responseTimeMs: 250,
|
|
134
|
+
userSatisfaction: 4.8,
|
|
135
|
+
monthlyInteractions: 94_000,
|
|
136
|
+
},
|
|
137
|
+
tags: ["insurance", "claims", "workflows", "processing"],
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
id: "sc-008",
|
|
141
|
+
name: "Marketing Campaign Dashboard",
|
|
142
|
+
industry: "Marketing & Analytics",
|
|
143
|
+
description: "Campaign performance dashboard with real-time metrics. Marketers ask about campaign ROI " +
|
|
144
|
+
"and receive stats grids with KPIs, line charts showing trends over time, pie charts for " +
|
|
145
|
+
"channel distribution, and bar charts comparing A/B test results.",
|
|
146
|
+
integrationMethod: "Embed",
|
|
147
|
+
aiProvider: "OpenAI (GPT)",
|
|
148
|
+
componentsUsed: ["header", "stats-grid", "line-chart", "bar-chart", "pie-chart", "data-table"],
|
|
149
|
+
screensConfigured: 3,
|
|
150
|
+
expectedResults: {
|
|
151
|
+
engagementLift: 44,
|
|
152
|
+
responseTimeMs: 175,
|
|
153
|
+
userSatisfaction: 4.6,
|
|
154
|
+
monthlyInteractions: 183_000,
|
|
155
|
+
},
|
|
156
|
+
tags: ["marketing", "campaigns", "real-time", "ROI"],
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
id: "sc-009",
|
|
160
|
+
name: "Smart Grid Energy Monitor",
|
|
161
|
+
industry: "Energy & Utilities",
|
|
162
|
+
description: "Smart grid monitoring with consumption analytics and anomaly detection. Operators view " +
|
|
163
|
+
"real-time consumption trends, compare regional performance with bar charts, and receive " +
|
|
164
|
+
"visual anomaly alerts before issues escalate — all through AI-driven branded interfaces.",
|
|
165
|
+
integrationMethod: "MCP",
|
|
166
|
+
aiProvider: "Google (Gemini)",
|
|
167
|
+
componentsUsed: ["header", "stats-grid", "line-chart", "bar-chart", "alert", "image"],
|
|
168
|
+
screensConfigured: 3,
|
|
169
|
+
expectedResults: {
|
|
170
|
+
engagementLift: 48,
|
|
171
|
+
responseTimeMs: 210,
|
|
172
|
+
userSatisfaction: 4.5,
|
|
173
|
+
monthlyInteractions: 42_000,
|
|
174
|
+
},
|
|
175
|
+
tags: ["energy", "monitoring", "anomaly-detection", "real-time"],
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
id: "sc-010",
|
|
179
|
+
name: "SaaS CRM Pipeline Manager",
|
|
180
|
+
industry: "SaaS / CRM",
|
|
181
|
+
description: "Customer relationship management with visual pipeline tracking. Sales teams ask about " +
|
|
182
|
+
"deal status and receive pipeline visualizations as pie charts, lead tables with status " +
|
|
183
|
+
"chips, customer detail cards, and grid views of accounts — all branded to match the CRM.",
|
|
184
|
+
integrationMethod: "SDK",
|
|
185
|
+
aiProvider: "Anthropic (Claude)",
|
|
186
|
+
componentsUsed: ["header", "stats-grid", "data-table", "pie-chart", "details-data", "item-grid"],
|
|
187
|
+
screensConfigured: 5,
|
|
188
|
+
expectedResults: {
|
|
189
|
+
engagementLift: 51,
|
|
190
|
+
responseTimeMs: 165,
|
|
191
|
+
userSatisfaction: 4.7,
|
|
192
|
+
monthlyInteractions: 137_000,
|
|
193
|
+
},
|
|
194
|
+
tags: ["SaaS", "CRM", "pipeline", "sales"],
|
|
195
|
+
},
|
|
196
|
+
];
|